BookletLayout
A booklet layout: with outlined, an outline select on the left and a page stack on the right; without it, a plain stacked panel. Suits settings pages and multi-section content.
Basic usage
An options item is { value, label, children } plus the PageLayout panel fields; the active page rides the value / defaultValue / onChange channels.
In the expanded form (on by default) the layout fills its parent via absolute positioning, so the parent must be positioned and sized (the demo wrapper above exists for exactly that). The expanded={false} static form works only for MenuLayout's own flow content — the panels in the page stack are absolutely positioned panels with no content height in static mode, so don't use it here. The editable outline's select widget and controls are absolutely positioned in the theme CSS, likewise usable only in the expanded form.
Editable outline
editable shows move-up/move-down/remove controls at the bottom of the outline: each option declares its own movable / removable ability, the operations are handed back via onMoveOption / onRemoveOption for the caller to update options, and outlineControlsExtra adds extra buttons beside them (such as "Add").
Continuous mode and auto-focus
continuous makes all pages visible and smooth-scrolls to the target page when switching; in continuous mode, focus entering a page (via Tab or clicking a focusable element inside it) selects that page in reverse. autoFocus (default true) focuses the first focusable element inside the page after every switch (the first frame does not grab focus; skipped when focus is already inside the page, and suppressed in the mobile form). Both can be turned off.
When the active page is removed, a page is auto-selected: the next surviving page, or the new last page when the last one was removed — the outline and the page stack stay in sync.
API
Inherits all MenuLayout props (except menu / children), plus:
See also
- The page stack on the right: StackLayout
- The outline select on the left: OutlineSelect
- The top-tabs variant: IndexLayout