diff --git a/.changeset/perf-buttongroup-has-selector.md b/.changeset/perf-buttongroup-has-selector.md new file mode 100644 index 00000000000..d9b7e1e546b --- /dev/null +++ b/.changeset/perf-buttongroup-has-selector.md @@ -0,0 +1,5 @@ +--- +'@primer/react': patch +--- + +perf(ButtonGroup): Scope :has() selector to direct child for O(1) lookup diff --git a/packages/react/src/ButtonGroup/ButtonGroup.module.css b/packages/react/src/ButtonGroup/ButtonGroup.module.css index 7c289b69544..490b13cf49c 100644 --- a/packages/react/src/ButtonGroup/ButtonGroup.module.css +++ b/packages/react/src/ButtonGroup/ButtonGroup.module.css @@ -38,7 +38,8 @@ } /* this is a workaround until portal based tooltips are fully removed from dotcom */ - &:has(div:last-child:empty) { + /* PERFORMANCE: Scope to direct child for O(1) lookup */ + &:has(> div:last-child:empty) { button, a { border-radius: var(--borderRadius-medium);