Resizable
v1.0.2NewUpdated 26 Aug 2026Resizable split-pane layout built on react-resizable-panels v4. Compose ResizablePanelGroup → ResizablePanel + ResizableHandle for master-detail workspaces, collapsible sidebars, and IDE-like layouts. Handles are keyboar
Preview
Live · 9 stories▸Why this is recommendedresizesplit-panepanelslayout+4
The default, out-of-the-box Resizable.
- ✓Master-detail workspaces (invoice list + preview)
- ✓Collapsible app sidebars
- ✓Dashboards with user-adjustable panes
- ✓POS / editor split views
- Horizontal & vertical groups
- Keyboard resize (Arrows step, Home/End snap, Enter toggles collapsible neighbor)
- Full role="separator" ARIA (aria-valuenow/min/max, aria-controls, orientation)
- min / max size constraints in px, %, rem, vh…
- Collapsible panels with collapsedSize snap
- Layout persistence via autoSaveId (localStorage or custom storage, SSR-safe)
- Nested groups
- Grip pill visual via withHandle + hover/active/focus token states
- Imperative API: useResizablePanelRef (collapse/expand/resize), useResizableGroupRef (get/setLayout)
- Double-click a handle to reset the panel to its default size
- ✕Static page layout (use CSS grid/flex)
- ✕Single-column mobile screens
- ✕Simple show/hide panels (use Collapsible or Sheet)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
directionGroup layout axis; defaults to horizontal
—autoSaveIdPersist group layout under this key (give each Panel a stable id)
—storageCustom getItem/setItem store for persistence; defaults to localStorage
—defaultSizePanel: initial size (number = px, "35" / "35%" = percent, any CSS unit string)
—minSizePanel: minimum size
—maxSizePanel: maximum size
—collapsiblePanel: snap to collapsedSize when dragged below minSize
—collapsedSizePanel: size while collapsed; defaults to 0%
—withHandleHandle: render the grip pill visual
—disabledHandle/Panel: prevent resizing
—