diff --git a/.changeset/dialog-escape-close-button-tooltip.md b/.changeset/dialog-escape-close-button-tooltip.md deleted file mode 100644 index ba84ed77970..00000000000 --- a/.changeset/dialog-escape-close-button-tooltip.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -Dialog: Fix `Escape` key not closing the dialog on the first keypress when the close button is focused diff --git a/.changeset/keybinding-hint-platform-keys.md b/.changeset/keybinding-hint-platform-keys.md deleted file mode 100644 index e8fb56afe8d..00000000000 --- a/.changeset/keybinding-hint-platform-keys.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -`KeybindingHint`: display the `Meta` key correctly on platforms other than macOS and Windows. The `Meta`, `Alt`, and `Mod` keys are now resolved based on the detected platform: Apple platforms (macOS and iOS) show `⌘`/`⌥`, Windows shows `Win`, and all other platforms show `Meta`/`Alt`. diff --git a/.changeset/pagelayout-sidebar-controlled-width.md b/.changeset/pagelayout-sidebar-controlled-width.md deleted file mode 100644 index fb8a5174e1c..00000000000 --- a/.changeset/pagelayout-sidebar-controlled-width.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': minor ---- - -`PageLayout.Sidebar` (and `SplitPageLayout.Sidebar`): add controlled-width support via `currentWidth` + `onResizeEnd`, matching the discriminated-union API already on `PageLayout.Pane`. The underlying `usePaneWidth` hook already supported these options; this wires them through the component's prop surface. Existing usage is unchanged — the props are opt-in and the uncontrolled (default or `widthStorageKey`-backed) behavior is preserved exactly. diff --git a/.changeset/perf-actionlist-has-selectors.md b/.changeset/perf-actionlist-has-selectors.md deleted file mode 100644 index 9fe169d9189..00000000000 --- a/.changeset/perf-actionlist-has-selectors.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -ActionList: Replace `:has(...)` selectors on `ActionList.Item`, `InactiveButtonWrap`, and `TrailingActionButton` with JS-derived data attributes (`data-has-trailing-action`, `data-trailing-action-loading`, `data-position`, `data-has-label`). Reduces style-recalculation cost on lists that render many items. No visual or behavioral changes. diff --git a/.changeset/text-white-space-prop.md b/.changeset/text-white-space-prop.md deleted file mode 100644 index eb44f170e05..00000000000 --- a/.changeset/text-white-space-prop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': minor ---- - -Text: Add `whiteSpace` prop to control the CSS `white-space` property diff --git a/.changeset/treeview-indicator-paint-safe.md b/.changeset/treeview-indicator-paint-safe.md deleted file mode 100644 index 269c75c1a0b..00000000000 --- a/.changeset/treeview-indicator-paint-safe.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@primer/react': patch ---- - -`TreeView`: make rows safer to use with `contain: paint` / `content-visibility: auto` and reduce style-recalc cost on hover/focus in large trees. No visual or layout changes; all changes are either invisible at the default rendering or behind an opt-in CSS containment property the consumer sets. - -- The current-item indicator (positioned at `left: -8px` of the row container) was being clipped when a consumer applied `contain: paint` to the `
  • ` or when the documented `containIntrinsicSize` prop on `TreeView.Item` triggered `content-visibility: auto` on the row container — including for `current` items. Both `.TreeViewItem` and `.TreeViewItemContainer` now declare `overflow-clip-margin: var(--base-size-8)`, which extends the paint-clip edge by 8px on the side the indicator paints. The property is a no-op when no paint containment is active, so default rendering is byte-identical. -- Skeleton-row hover suppression no longer relies on `:has(.TreeViewItemSkeleton)`, which forced subtree invalidation on every row. `LoadingItem` now communicates with the placeholder `Item` via a module-private context that emits a positive `data-loading` attribute on the `
  • `, and the CSS selector targets that directly. No new public prop. -- Nesting indicator lines no longer use a root-scope `:hover`/`:focus-within` descendant selector. Color is driven by an inherited `--tree-line-color` custom property set on the root `