diff --git a/.changeset/funny-areas-doubt.md b/.changeset/funny-areas-doubt.md deleted file mode 100644 index 63a6cd2c1ac..00000000000 --- a/.changeset/funny-areas-doubt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -Remove render phase setStates on SelectPanel diff --git a/.changeset/pagelayout-remove-reflow.md b/.changeset/pagelayout-remove-reflow.md deleted file mode 100644 index 25b3fec052f..00000000000 --- a/.changeset/pagelayout-remove-reflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@primer/react": patch ---- - -**PageLayout**: Eliminate forced reflow (~614ms) on mount by replacing `getComputedStyle` call with a pure JS viewport width check for the `--pane-max-width-diff` CSS variable. diff --git a/.changeset/perf-use-slots-short-circuit.md b/.changeset/perf-use-slots-short-circuit.md deleted file mode 100644 index 7abed22ce45..00000000000 --- a/.changeset/perf-use-slots-short-circuit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -perf(useSlots): short-circuit iteration and skip filled slots diff --git a/.changeset/perf-usescrollflash-raf.md b/.changeset/perf-usescrollflash-raf.md deleted file mode 100644 index af1e061c806..00000000000 --- a/.changeset/perf-usescrollflash-raf.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -perf(useScrollFlash): defer scroll read/write to requestAnimationFrame to avoid forced reflow diff --git a/.changeset/selectpanel-built-in-virtualization.md b/.changeset/selectpanel-built-in-virtualization.md deleted file mode 100644 index d995b8324aa..00000000000 --- a/.changeset/selectpanel-built-in-virtualization.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@primer/react": minor ---- - -SelectPanel: Add built-in client-side list virtualization via a new `virtualized` prop. When enabled, only the visible items plus a small overscan buffer are rendered in the DOM, dramatically improving performance for large lists. diff --git a/.changeset/some-zebras-roll.md b/.changeset/some-zebras-roll.md deleted file mode 100644 index 0c838d06637..00000000000 --- a/.changeset/some-zebras-roll.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -Improve SelectPanel performance diff --git a/.changeset/text-remove-hooks.md b/.changeset/text-remove-hooks.md deleted file mode 100644 index 0f7bb6c49d3..00000000000 --- a/.changeset/text-remove-hooks.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -perf(Text): remove unnecessary useRef and useImperativeHandle hooks diff --git a/.changeset/two-doodles-find.md b/.changeset/two-doodles-find.md deleted file mode 100644 index da8bd63969b..00000000000 --- a/.changeset/two-doodles-find.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -AnchoredOverlay: changed `overflow` from `hidden` to `auto` to prevent content clipping at small viewports. diff --git a/.changeset/use-ref-object-add-deps.md b/.changeset/use-ref-object-add-deps.md deleted file mode 100644 index 625dd825785..00000000000 --- a/.changeset/use-ref-object-add-deps.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -perf(useRefObjectAsForwardedRef): add dependency array to useImperativeHandle diff --git a/examples/codesandbox/package.json b/examples/codesandbox/package.json index 4d729cb3f2e..fc97ab14e12 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.13.0", + "@primer/react": "38.14.0", "@primer/styled-react": "1.0.3", "styled-components": "5.x", "typescript": "^5.9.2", diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 96dea8cb17c..b2bf752960c 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -10,7 +10,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@primer/react": "38.13.0", + "@primer/react": "38.14.0", "@primer/styled-react": "1.0.3", "next": "^16.1.5", "react": "^19.2.0", diff --git a/examples/theming/package.json b/examples/theming/package.json index b424fa1eb02..00741026a00 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.13.0", + "@primer/react": "38.14.0", "@primer/styled-react": "1.0.3", "clsx": "^2.1.1", "next": "^16.1.5", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 97bfe4f2cb5..1eb64517f28 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,29 @@ # @primer/react +## 38.14.0 + +### Minor Changes + +- [#7531](https://github.com/primer/react/pull/7531) [`0cfb938`](https://github.com/primer/react/commit/0cfb938704ec7589b6453a23ba8a9f2c8ab7d824) Thanks [@hectahertz](https://github.com/hectahertz)! - SelectPanel: Add built-in client-side list virtualization via a new `virtualized` prop. When enabled, only the visible items plus a small overscan buffer are rendered in the DOM, dramatically improving performance for large lists. + +### Patch Changes + +- [#7497](https://github.com/primer/react/pull/7497) [`931740b`](https://github.com/primer/react/commit/931740bc6d96dd3bb6f335ea98eedd4b64eb1859) Thanks [@hectahertz](https://github.com/hectahertz)! - Remove render phase setStates on SelectPanel + +- [#7532](https://github.com/primer/react/pull/7532) [`39a2151`](https://github.com/primer/react/commit/39a21512f71083649bdb00b1d3a6c05e40ec5bfb) Thanks [@hectahertz](https://github.com/hectahertz)! - **PageLayout**: Eliminate forced reflow (~614ms) on mount by replacing `getComputedStyle` call with a pure JS viewport width check for the `--pane-max-width-diff` CSS variable. + +- [#7555](https://github.com/primer/react/pull/7555) [`64c2243`](https://github.com/primer/react/commit/64c2243d07fc580a5565493b917b27081ef6a191) Thanks [@hectahertz](https://github.com/hectahertz)! - perf(useSlots): short-circuit iteration and skip filled slots + +- [#7547](https://github.com/primer/react/pull/7547) [`4943d67`](https://github.com/primer/react/commit/4943d671ddb590461e59f9745e6093d47e770f7a) Thanks [@hectahertz](https://github.com/hectahertz)! - perf(useScrollFlash): defer scroll read/write to requestAnimationFrame to avoid forced reflow + +- [#7497](https://github.com/primer/react/pull/7497) [`931740b`](https://github.com/primer/react/commit/931740bc6d96dd3bb6f335ea98eedd4b64eb1859) Thanks [@hectahertz](https://github.com/hectahertz)! - Improve SelectPanel performance + +- [#7551](https://github.com/primer/react/pull/7551) [`2fbfc49`](https://github.com/primer/react/commit/2fbfc49fad6f11edc51850e32e9c0b2ade8ca1f1) Thanks [@hectahertz](https://github.com/hectahertz)! - perf(Text): remove unnecessary useRef and useImperativeHandle hooks + +- [#7571](https://github.com/primer/react/pull/7571) [`59ab235`](https://github.com/primer/react/commit/59ab235cb8089442652daca33746b11cea3e6a5f) Thanks [@liuliu-dev](https://github.com/liuliu-dev)! - AnchoredOverlay: changed `overflow` from `hidden` to `auto` to prevent content clipping at small viewports. + +- [#7553](https://github.com/primer/react/pull/7553) [`6225ba2`](https://github.com/primer/react/commit/6225ba231cfdbe6ef7fa41dd62734d5a970bdc7d) Thanks [@hectahertz](https://github.com/hectahertz)! - perf(useRefObjectAsForwardedRef): add dependency array to useImperativeHandle + ## 38.13.0 ### Minor Changes diff --git a/packages/react/package.json b/packages/react/package.json index 11bf248f6d3..dc741d23341 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,7 +1,7 @@ { "name": "@primer/react", "type": "module", - "version": "38.13.0", + "version": "38.14.0", "description": "An implementation of GitHub's Primer Design System using React", "main": "./dist/index.js", "module": "./dist/index.js",