From 7ee35aa8124d312c371a9a124ede9d5918e2b670 Mon Sep 17 00:00:00 2001 From: Matthew Costabile Date: Mon, 15 Dec 2025 14:53:25 +0000 Subject: [PATCH] perf(ButtonGroup): Scope :has() selector to direct child for O(1) lookup Part of #7312 --- .changeset/perf-buttongroup-has-selector.md | 5 +++++ packages/react/src/ButtonGroup/ButtonGroup.module.css | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/perf-buttongroup-has-selector.md 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);