Grid
Presentations
v1.0
zero-schema
Lays children out in a reflowing grid. The grid scrolls vertically, so its MAIN axis is vertical: the per-item extent along it is a height, and the gap along it separates rows. Item width is not set directly — it follows from ItemsPerLine and the available width.
Required fields
PresentationType
Properties
PresentationType
string
required
In grid multiple items are displayed (such as images or text) in a structured way, with control over the number of items per row and the aspect ratio of each item.
Allowed Grid
ItemsPerLine
integer, object
optional
Columns per row. An integer fixes the count at every width. An object varies it by viewport using the five-step scale — {"ExtraSmall": 1, "Small": 2, "Medium": 3, "Large": 4, "ExtraLarge": 5} for <576, <768, <992, <1200 and >=1200 px. Note this scale differs from the sm/md/lg scale used by responsive value maps elsewhere.
Default
1MinItemWidth
number
optional
Adaptive columns: fit as many equal columns as the available width allows, each at least this many logical pixels wide. When set, it takes precedence over ItemsPerLine. Prefer this over ItemsPerLine — it is the same model every platform implements natively (CSS auto-fill/minmax, SwiftUI GridItem(.adaptive), Flutter maxCrossAxisExtent) and needs no per-breakpoint tuning.
ItemHeight
number, object
optional
Fixed height of every item, in logical pixels. Takes precedence over ChildAspectRatio, which is ignored when this is set. Accepts a responsive value map.
RowGap
number, object
optional
Vertical gap between rows, in logical pixels. Accepts a responsive value map.
Default
0ColumnGap
number, object
optional
Horizontal gap between columns, in logical pixels. Accepts a responsive value map.
Default
0ChildAspectRatio
number, object
optional
Width-to-height ratio of each grid cell. Ignored whenever ItemHeight is set, since a fixed extent wins over a ratio.
Default
1ItemWidth
number, object
optional
deprecated
Deprecated: named the wrong axis — this always set the item HEIGHT. Use ItemHeight.
ColumnSpacing
number, object
optional
deprecated
Deprecated: named the wrong axis — this always set the gap between ROWS. Use RowGap.
RowSpacing
number, object
optional
deprecated
Deprecated: named the wrong axis — this always set the gap between COLUMNS. Use ColumnGap.
Children
array
optional
The list of widgets to be displayed in this Column.