Grid
Atom
The container-measured auto-fit tile grid. minTileWidth sets the floor (default 240): the grid fits as many equal-width columns of at least that width as its own measured container allows, and re-fits as the container changes, so the same grid renders three-up on a desktop, two-up on a tablet, and a single column on a phone with no breakpoint at the call site.
Playground
Every control sets a real prop of GridProps. The JSX below updates as you go.
Web
iOS
Android
JSX · GridProps
Variants
4 examples from src/atoms/grid/grid.md, each rendered live from its own JSX.
Anatomy
1
Grid
2
Tile
Dimmed parts appear only in some states or variants.
Props
32 props on GridProps, grouped as they are declared in source. Required props are marked *.
Accessibility and keyboard
Keyboard
Not focusable. It has no interaction of its own and takes the semantics of what it wraps.
Semantics
No role of its own in source; it reads as the content it renders.
Platform skins
The playground's props on each platform: same tree, native shapes, type and touch sizes.
Usage
columns caps the count at the desktop number, the gap scale is Row and Column's own (flush / tight / snug / cozy / relaxed / loose), and a GridItem child with wide spans two cells. The grid spans its parent's full width (it is a FILL component, so it needs no wrapper to reach the edges), and its tiles are equal-height as well as equal-width: every cell stretches to the height of the row it wrapped onto, and a Card in a cell grows to fill it, so a row of cards shares a flush bottom edge however unevenly their content runs (CSS Grid's align-items: stretch). A field or a hug component keeps its own height. Equal-width tiles belong here; content-sized rows that should stack at narrow widths belong to Row stacks.
flow preserves natural card heights and the original Argus one-pixel allowance when fitting columns. GridItem full spans a whole row; raised and front keep banner and lifted-card shadows above adjacent cells. rowsCozy and rowsSection set the vertical rhythm to 12 or 26 independently of the horizontal gap.
The shared gap scale also includes comfortable (10), roomy (14), generous (22), panel (28), apart (32), ample (40, the step under a section page's hero) and broad (48), preserving the original application layout measurements, and Row and Column's widest step, chapter (64), which wins over every other step.
Tokens
Read from the playground render. Values follow the scheme and the ion hue.
--fd
--fm
--ft
--ion-ring
--ion-soft
--ion-tx
--ln2