For AI agents: the complete documentation index is available at https://a3s-lab.github.io/UI/en/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/UI/en/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/UI/en/harness/split-view.md.

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.

Live preview
One-dimensional split layoutDrag the separators to resize

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 proportionalLayout when 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.