01
Overview
Measured splitter layout for editor-style panes. The component keeps sizing state in pixels internally, exposes structured size payloads for persistence, and leaves storage up to the caller.
Usage
Editor
02
When to use
Use when
- Building editor, inspector, or dashboard layouts where neighboring panes must be resized directly by dragging a separator.
- Persisting a multi-pane workspace layout without coupling the component to localStorage.
Avoid when
- You only need a static two-column or stack layout with no interactive resizing.
- Content should wrap naturally instead of claiming a fixed share of a measured container.
03
Examples
Basic horizontal layout
Two panes with a draggable separator and persisted layout payloads.
Double-click collapse
Double-click the handle to collapse or restore the leading pane.
Nested panes
Compose outer and inner splitters without cross-talk.
Vertical layout
Stack panes and resize them along the block axis.
04
Props
Name | Type | Default | Description |
|---|---|---|---|
panes required | ResizablePanelDefinition[] | ||
orientation | 'horizontal' | 'vertical' | 'horizontal' | |
keyboardStep | {
value: number;
unit: ResizablePanelSizeUnit;
} | ||
snapThreshold | {
value: number;
unit: ResizablePanelSizeUnit;
} | {"value":8,"unit":"px"} | |
collapseOnDoubleClick | boolean | false | |
collapseTarget | 'leading''trailing''nearest-collapsible' | 'nearest-collapsible' | |
onLayoutChange | (event: ResizablePanelsResizeEvent) => void | ||
onLayoutCommit | (event: ResizablePanelsResizeEvent) => void | ||
children required | snippet |