layout — wyrd.component.split

Split

Resizable two-pane workbench splitter with controlled ratio support and keyboard-accessible divider semantics.

Install @wyrd-company/react or the Flutter package and use it directly — your DESIGN.md does the styling.

01

Examples

Generated from the contract's examples block. Previews are the published @wyrd-company/react component, themed by the brand's role tokens — flip the site's light/dark toggle and they follow.

Code target Applies to every example on component pages.
row-default state: default
Navigation
Editor
Usage
import { WyrdSplit } from "@wyrd-company/react";

<WyrdSplit defaultRatio={50} start="Navigation" end="Editor" />

// events: onRatioChange
column state: column
Editor
Console
Usage
import { WyrdSplit } from "@wyrd-company/react";

<WyrdSplit direction="column" defaultRatio={35} start="Editor" end="Console" />

// events: onRatioChange
constrained state: default
Outline
Preview
Usage
import { WyrdSplit } from "@wyrd-company/react";

<WyrdSplit defaultRatio={60} minRatio={20} maxRatio={80} start="Outline" end="Preview" />

// events: onRatioChange
02

Properties

NameTypeDefaultSummary
direction row | column row Split axis; row places panes side-by-side, column stacks panes vertically.
ratio integer undefined Controlled first-pane share as a percentage.
default-ratio integer 50 Initial uncontrolled first-pane share as a percentage.
min-ratio integer 20 Minimum first-pane share enforced by implementations.
max-ratio integer 80 Maximum first-pane share enforced by implementations.
03

Slots & events

SlotCardinalityAcceptsSummary
start exactly-one component First pane content sized by the ratio.
end exactly-one component Second pane content sized to the remaining share.
EventPayloadSummary
ratio-change ratio Emitted from drag and keyboard resizing with the clamped first-pane ratio.
04

Tokens

The contract's token bindings. Open the shared contextual sidebar from any example; primary swatches reflect the color you pick there. Error swatches show the active preset's values; editing any knob switches to custom and resets error to TWW · Ink.

BindingToken
divider.color color.outline
divider.hover-color color.primary
divider.thickness 1px
divider.hit-area spacing.md
05

States

StateSourceSummary
default platform Enabled row splitter.
column property Column direction derived from direction.
focus-visible platform Keyboard-visible focus on the divider.
dragging platform Pointer drag is actively resizing panes.
06

Accessibility

From the contract's accessibility obligations. Role separator

  • Tab moves focus to the divider.
  • ArrowLeft and ArrowRight adjust row splits by 1 following visual direction, so RTL reverses the physical-key effect.
  • ArrowUp and ArrowDown adjust column splits by 1.
  • Home moves the ratio to min-ratio.
  • End moves the ratio to max-ratio.
  • Divider is focusable with tabindex=0.
  • Divider exposes aria-orientation vertical for row direction and horizontal for column direction.
  • Divider exposes aria-valuenow from the clamped ratio and aria-valuemin/aria-valuemax from min-ratio/max-ratio.
  • The splitter is unnamed in v1; surrounding workbench chrome owns contextual labeling.
  • Verified under: rtl, density-compact, text-expansion.
07

SDUI

Status: blocked. Split is workbench chrome, not a Layout DSL node. Static SDUI splits are served by Grid and Stack; revisit if authored UIs need resizable split panes.

SerializableMembers
Properties
Slots
Events
The Wyrding Way — a contract-first design system. © Wyrd Company