Layouts
Introduction
Section titled “Introduction”Layout components from almasix.orbit.schemas nest inside any schema — forms, infolists, and custom pages. Prefer Section for titled panels, Tabs / Wizard for progressive disclosure, and Grid / Flex / Group / Split for alignment without extra chrome.
from almasix.orbit.schemas import Flex, Group, Split, Section, Fieldsetfrom almasix.orbit.forms import TextInput
Section.make("profile").heading("Profile").collapsible().schema([ Flex.make().from_breakpoint("md").schema([ TextInput.make("first_name"), TextInput.make("last_name"), ]), Group.make().columns(2).schema([ TextInput.make("city"), TextInput.make("country"), ]), Split.make().from_("lg").schema([ Fieldset.make().label("Contact").schema([TextInput.make("email")]), Fieldset.make().label("Notes").schema([TextInput.make("notes")]), ]),])

Shared layout APIs
Section titled “Shared layout APIs”Every layout inherits from Layout:
| Method | Role |
|---|---|
.schema |
Nested child components |
.dense |
Tighter spacing (or-dense) |
.gap |
True (default), False (none), or a named gap token string |
.defer_loading |
Emit data-defer for async chrome |
Grid.make().dense().gap(False).columns(2).schema([...])Flex.make().gap("sm").from_breakpoint("md").schema([...])Component map
Section titled “Component map”| Component | Role |
|---|---|
| Grid | Responsive columns, dense / gap, grid container |
| Flex | Flex row with breakpoint stacking |
| Group | Fuse children (optional columns) |
| Split | Side-by-side panes that stack |
| Section | Heading, icon, compact / aside, collapsible |
| Fieldset | Native fieldset + legend; optional bare mode |
| Tabs | Icons, badges, persist |
| Wizard | Nav, continue / back, skip |
More layout shots
Section titled “More layout shots”

