@primer/react@38.12.0
·
24 commits
to main
since this release
Minor Changes
-
#7348
3c160b2Thanks @mattcosta7! - AddcurrentWidthandonResizeEndprops to PageLayout.Pane for controlled resizable widthThe
PageLayout.Panecomponent now supports controlled width:onResizeEnd— callback fired when a resize operation ends (pointer release or keyboard key up). Replaces localStorage persistence. RequirescurrentWidth.currentWidth— sets the current displayed width in pixels (number | undefined). Passundefinedwhen the persisted value hasn't loaded yet. RequiresonResizeEnd.
Both props must be provided together (enforced by TypeScript).
resizableremains a plainbooleanprop.These props are only meaningful when
resizable={true}— without it, no drag handle renders soonResizeEndnever fires.New export:
defaultPaneWidth— Record of preset width values:{small: 256, medium: 296, large: 320}
Example usage:
import {PageLayout, defaultPaneWidth} from '@primer/react' // Default behavior (unchanged) — localStorage persistence <PageLayout.Pane resizable /> // Controlled width with custom persistence const [width, setWidth] = useState(defaultPaneWidth.medium) <PageLayout.Pane resizable currentWidth={width} onResizeEnd={(newWidth) => { setWidth(newWidth) myStorage.save('pane-width', newWidth) }} /> // Async load — pass undefined until value is fetched <PageLayout.Pane resizable currentWidth={savedWidth ?? undefined} onResizeEnd={handleResizeEnd} />
Patch Changes
-
#7527
c87db98Thanks @llastflowers! - Update PageHeader story to have semantic headings -
#7535
d86c970Thanks @francinelucca! - fix: ActionBar overflow menu not closing on select