Row

fun TileSchemaBuilderScope.Row(id: String = randomId(), events: EventSchemaBuilderScope.() -> Unit = {}, style: StyleSchemaBuilderScope.() -> Unit = {}, visibility: TileSchema.Visibility = visible(), searchableTerms: List<String>? = null, filterChildrenByTerm: String? = null, arrangement: ArrangementSchema.Horizontal = arrangeHorizontallyToStart(), alignment: AlignmentSchema.Vertical = alignVerticallyToTop(), scrollable: Boolean = false, tiles: TileSchemaBuilderScope.() -> Unit)

Renders a Compose Row laying tiles out horizontally, spaced by arrangement and aligned vertically by alignment. When scrollable is true the row becomes horizontally scrollable — every child is composed eagerly, so prefer LazyRow for long lists. Publishes its row scope to children so they can use scope modifiers such as weight. When filterChildrenByTerm is set, only children whose searchableTerms contain that term (case-insensitive substring match) are rendered — children without searchableTerms are filtered out. Listens for scroll-to-start/end/offset broadcasts addressed to its id. Dispatches onDisplay once when composed, onClick/onLongPress only when declared, and onScrolled on scroll direction changes while scrollable is true.

Parameters

id

Unique identifier of the tile. Defaults to a random id.

events

Events owned by this tile, wired to its triggers (onDisplay, onClick, onLongPress, onScrolled).

style

Layout/appearance modifiers (size, padding, background, etc).

visibility

Whether the tile is shown, hidden but occupies space, or removed from layout. Defaults to visible.

searchableTerms

Terms used by an ancestor's search/filter to decide whether this tile matches. Defaults to none.

filterChildrenByTerm

Term used to filter tiles by their own searchableTerms. Defaults to none (no filtering).

arrangement

Horizontal spacing/positioning of the children. Defaults to arranged to the start.

alignment

Vertical alignment of the children. Defaults to aligned to the top.

scrollable

Whether the row scrolls horizontally when content overflows. Defaults to false.

tiles

Child tiles laid out horizontally inside the row.