Split View
Split View arranges continuous resizable regions on one axis. It suits stable compositions such as explorer and editor, document and inspector, or canvas and preview. It intentionally has no tabs, collapsible headers, or two-dimensional docking.
Framework usage
React useSplitview and the Vue composable expose the native SplitviewApi; they do not duplicate size, order, or business state.
Sizing strategy
- Give context rails an explicit initial size and useful
minimumSize, then let the primary canvas absorb remaining space. - Enable
proportionalLayoutwhen regions should scale with the container. Keep it off when tool widths must remain stable. - Loading, error, and empty states inside remote content must not restructure the split, or spatial memory will drift.
- Do not squeeze three regions into one narrow row. Switching to one panel, tabs, or a drawer is a host-level responsive decision.
Lifecycle
Use addPanel(), removePanel(), movePanel(), and panel APIs for order, size, and visibility. Vanilla integrations pass container measurements to api.layout() through ResizeObserver; React and Vue adapters observe their component container.
Accessibility
A splitter changes layout; it is not navigation. Titles, landmarks, and focus order still come from panel content. If keyboard resizing is unavailable for a frequent task, provide equivalent size presets or a Reset layout action.
