Split Pane

Two panes side by side, or one over the other, and a handle to share the room between them. Specification: docs/components/split-pane.md

Basics

A .canon-split-pane: a pane, a handle and a pane. The handle is a separator people can move: role="separator", tabindex="0", named, aria-controls the first pane, its size in percent (aria-valuenow) between aria-valuemin and aria-valuemax. Drag it, or focus it and use the arrows (Shift for bigger steps), Home and End for the limits, Enter to fold the first pane to its minimum and back. A double click goes back to where it started. Each pane scrolls on its own.

INV-2041

Globex Corporation · Due 3 Oct 2026 · €12,400.00

The detail of what's chosen on the other side.

Resize it to see canon-resize.

One over the other

A horizontal handle (aria-orientation="horizontal") stacks the panes: a query over its results. The arrows are Up and Down.

SELECT number, customer, due, amount
FROM invoices
WHERE status = 'overdue'
ORDER BY due;

2 rows · 14 ms
INV-2041 · Globex Corporation · 3 Oct 2026 · €12,400.00
INV-2035 · Stark Industries · 28 Sep 2026 · €45,000.00

Three panes

A pane can be a Split Pane itself: a list beside a record with its activity under it.

Edge cases

Right to left, the first pane is on the right and Left grows it. The limits keep each pane usable: here the list is between 20% and 60%.

INV-2041

Globex Corporation · Due 3 Oct 2026 · €12,400.00

The detail of what's chosen on the other side.