From 380490a3d3908d0acf53cb55dfc7f805585072c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 30 Dec 2025 21:52:58 +0000 Subject: [PATCH] Version Packages --- .changeset/fresh-spiders-push.md | 5 --- .changeset/perf-autocomplete-context-split.md | 8 ----- .changeset/perf-basestyles-has-selector.md | 8 ----- .changeset/perf-dialog-has-selector.md | 10 ------ .../perf-hasinteractivenodes-cleanup.md | 9 ------ .changeset/swift-keys-thank.md | 5 --- examples/codesandbox/package.json | 2 +- examples/nextjs/package.json | 2 +- examples/theming/package.json | 2 +- packages/react/CHANGELOG.md | 31 +++++++++++++++++++ packages/react/package.json | 2 +- 11 files changed, 35 insertions(+), 49 deletions(-) delete mode 100644 .changeset/fresh-spiders-push.md delete mode 100644 .changeset/perf-autocomplete-context-split.md delete mode 100644 .changeset/perf-basestyles-has-selector.md delete mode 100644 .changeset/perf-dialog-has-selector.md delete mode 100644 .changeset/perf-hasinteractivenodes-cleanup.md delete mode 100644 .changeset/swift-keys-thank.md diff --git a/.changeset/fresh-spiders-push.md b/.changeset/fresh-spiders-push.md deleted file mode 100644 index 48f5067f5f6..00000000000 --- a/.changeset/fresh-spiders-push.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@primer/react": patch ---- - -update SelectPanel Multi Select Modal story diff --git a/.changeset/perf-autocomplete-context-split.md b/.changeset/perf-autocomplete-context-split.md deleted file mode 100644 index 81745b0bbdb..00000000000 --- a/.changeset/perf-autocomplete-context-split.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@primer/react': patch ---- - -perf(Autocomplete): Split context to reduce unnecessary re-renders - -Split AutocompleteContext into separate contexts for static values, setters, and dynamic state. -Components now subscribe only to the context slices they need, reducing re-renders. diff --git a/.changeset/perf-basestyles-has-selector.md b/.changeset/perf-basestyles-has-selector.md deleted file mode 100644 index f16c623c300..00000000000 --- a/.changeset/perf-basestyles-has-selector.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@primer/react': patch ---- - -perf(BaseStyles): Remove expensive :has([data-color-mode]) selectors - -Remove `:has([data-color-mode])` selectors that scanned the entire DOM on every style recalculation. -Input color-scheme is already handled by global selectors in the codebase. diff --git a/.changeset/perf-dialog-has-selector.md b/.changeset/perf-dialog-has-selector.md deleted file mode 100644 index bc6b83d2b5e..00000000000 --- a/.changeset/perf-dialog-has-selector.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -'@primer/react': patch ---- - -perf(Dialog): Add feature flag for CSS :has() selector performance optimization - -- Add `primer_react_css_has_selector_perf` feature flag (default: false) -- When flag is OFF: uses legacy `body:has(.Dialog.DisableScroll)` selector -- When flag is ON: uses optimized direct `body[data-dialog-scroll-disabled]` data attribute with ref counting -- Enables gradual rollout and easy rollback of performance optimization diff --git a/.changeset/perf-hasinteractivenodes-cleanup.md b/.changeset/perf-hasinteractivenodes-cleanup.md deleted file mode 100644 index 22c65c21226..00000000000 --- a/.changeset/perf-hasinteractivenodes-cleanup.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@primer/react': patch ---- - -perf(hasInteractiveNodes): Optimize with combined selector and early attribute checks - -- Use combined querySelectorAll selector instead of recursive traversal -- Check attribute-based states (disabled, hidden, inert) before getComputedStyle -- Only call getComputedStyle when CSS-based visibility check is needed diff --git a/.changeset/swift-keys-thank.md b/.changeset/swift-keys-thank.md deleted file mode 100644 index b9c58bde4a1..00000000000 --- a/.changeset/swift-keys-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -ToggleSwitch: Adds `overflow: hidden` to `.StatusTextItem` when hidden diff --git a/examples/codesandbox/package.json b/examples/codesandbox/package.json index 70cf7289f8f..330eab9aaf5 100644 --- a/examples/codesandbox/package.json +++ b/examples/codesandbox/package.json @@ -17,7 +17,7 @@ "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.3", - "@primer/react": "38.6.2", + "@primer/react": "38.6.3", "@primer/styled-react": "1.0.2", "styled-components": "5.x", "typescript": "^5.9.2", diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index ed2d90d4f0b..88910f4f58e 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -10,7 +10,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@primer/react": "38.6.2", + "@primer/react": "38.6.3", "@primer/styled-react": "1.0.2", "next": "^16.0.10", "react": "^19.2.0", diff --git a/examples/theming/package.json b/examples/theming/package.json index 5f0cf621ad7..710ab3d013b 100644 --- a/examples/theming/package.json +++ b/examples/theming/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@primer/octicons-react": "^19.21.0", - "@primer/react": "38.6.2", + "@primer/react": "38.6.3", "@primer/styled-react": "1.0.2", "clsx": "^2.1.1", "next": "^16.0.10", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index cb0790dd2ea..8f2e7e74ad2 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,36 @@ # @primer/react +## 38.6.3 + +### Patch Changes + +- [#7354](https://github.com/primer/react/pull/7354) [`efbebdf`](https://github.com/primer/react/commit/efbebdf6589bf454ab78f17c83dc84ce88145e7b) Thanks [@llastflowers](https://github.com/llastflowers)! - update SelectPanel Multi Select Modal story + +- [#7337](https://github.com/primer/react/pull/7337) [`de970d6`](https://github.com/primer/react/commit/de970d6682f4e9a3aa5e3c637e0245da2a7a9d84) Thanks [@mattcosta7](https://github.com/mattcosta7)! - perf(Autocomplete): Split context to reduce unnecessary re-renders + + Split AutocompleteContext into separate contexts for static values, setters, and dynamic state. + Components now subscribe only to the context slices they need, reducing re-renders. + +- [#7325](https://github.com/primer/react/pull/7325) [`cc7e10e`](https://github.com/primer/react/commit/cc7e10e7c0bee7ef9694ca94928446f704ada552) Thanks [@mattcosta7](https://github.com/mattcosta7)! - perf(BaseStyles): Remove expensive :has([data-color-mode]) selectors + + Remove `:has([data-color-mode])` selectors that scanned the entire DOM on every style recalculation. + Input color-scheme is already handled by global selectors in the codebase. + +- [#7329](https://github.com/primer/react/pull/7329) [`501a41f`](https://github.com/primer/react/commit/501a41fc44e5c0edfca69af022676e0d26e1a1a0) Thanks [@mattcosta7](https://github.com/mattcosta7)! - perf(Dialog): Add feature flag for CSS :has() selector performance optimization + + - Add `primer_react_css_has_selector_perf` feature flag (default: false) + - When flag is OFF: uses legacy `body:has(.Dialog.DisableScroll)` selector + - When flag is ON: uses optimized direct `body[data-dialog-scroll-disabled]` data attribute with ref counting + - Enables gradual rollout and easy rollback of performance optimization + +- [#7342](https://github.com/primer/react/pull/7342) [`a8b42b2`](https://github.com/primer/react/commit/a8b42b2e4cff9575eae8df897e64c1ca67ee180a) Thanks [@mattcosta7](https://github.com/mattcosta7)! - perf(hasInteractiveNodes): Optimize with combined selector and early attribute checks + + - Use combined querySelectorAll selector instead of recursive traversal + - Check attribute-based states (disabled, hidden, inert) before getComputedStyle + - Only call getComputedStyle when CSS-based visibility check is needed + +- [#7399](https://github.com/primer/react/pull/7399) [`06c8320`](https://github.com/primer/react/commit/06c83203cd3f200b337aa34618174934317494e2) Thanks [@TylerJDev](https://github.com/TylerJDev)! - ToggleSwitch: Adds `overflow: hidden` to `.StatusTextItem` when hidden + ## 38.6.2 ### Patch Changes diff --git a/packages/react/package.json b/packages/react/package.json index 674a73e6c47..d90868af45a 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,7 +1,7 @@ { "name": "@primer/react", "type": "module", - "version": "38.6.2", + "version": "38.6.3", "description": "An implementation of GitHub's Primer Design System using React", "main": "./dist/index.js", "module": "./dist/index.js",