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
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 |