@jsvision/ui / SplitViewOptions
Interface: SplitViewOptions
Defined in: ui/src/split/split-view.ts:53
Construction options for SplitView.
Properties
children
children:
View[]
Defined in: ui/src/split/split-view.ts:57
The pane views, in order. N children produce N−1 splitters.
direction
direction:
Direction
Defined in: ui/src/split/split-view.ts:55
Split axis: 'row' = side-by-side panes, 'col' = stacked panes.
grabMark?
optionalgrabMark?:boolean
Defined in: ui/src/split/split-view.ts:71
Whether each splitter draws the ▓ grab mark at its midpoint. Defaults to true. This is only the initial value — the live state lives in the public SplitView.grabMark signal, so you can flip it at runtime.
minSize?
optionalminSize?:number|number[]
Defined in: ui/src/split/split-view.ts:65
Minimum pane size in cells — a scalar applies to every pane, an array is per-pane.
onResize?
optionalonResize?: (sizes) =>void
Defined in: ui/src/split/split-view.ts:77
Fired on every live change: each drag move that actually changes the sizes, and each keyboard step. Never fires when the sizes are unchanged — a drag held against a minimum is a silent no-op. Use this to mirror the layout live; use SplitViewOptions.onResizeEnd to persist it.
Parameters
sizes
number[]
Returns
void
onResizeEnd?
optionalonResizeEnd?: (sizes) =>void
Defined in: ui/src/split/split-view.ts:83
Fired once per commit: the pointer-up that ends a drag, and each discrete keyboard step. One drag gesture fires this exactly once however far the pointer travelled — so this, not SplitViewOptions.onResize, is the hook to persist a layout from.
Parameters
sizes
number[]
Returns
void
sizes
sizes:
Signal<number[]>
Defined in: ui/src/split/split-view.ts:63
Two-way pane sizing as fr weights. Seed it with ratios (signal([1, 1]) = equal, [2, 1] = 2:1); a drag rewrites it with the resolved cell counts. Restoring saved weights into a differently-sized container rescales them proportionally.