Lists
Rows of what a page holds: what each is, a line under it, and where it goes.
Desktop
arkui::table · arkui::outline


arkui::table
Rows of cells cut to their columns at layout, headings over them, section labels and a gutter for a row's mark.
cell(body, width, on_cursor, accent, dim)cell_cut(…, cut, …)heading(label, width)section(label, indent)gutter()row(line, on_cursor, focused, odd)GUTTER, ROW_PADDING, SPACING, CELL_SIZE, HEADING_SIZE
Rules
- A cell loses its middle and a heading its end, each to its own column.
- Columns are portions, so no text column pushes another off a narrow window.
arkui::outline
A table whose rows are gathered under group headings: the cursor walks the rows alone, and rows and groups are dragged, or shifted from the keyboard, into a new order.
Group { head, rows, foot }Look { line, zebra, rules }view(groups, lit, focused, look, drag, settle, now, grab, menu, row)Drag::press, drag, drop -> Droppedshift(sizes, first, last, down) -> Shiftgroups(count, first, last, down)rows(groups), group_of(sizes, n), rows_of(sizes, g), progress(sizes, n)
Rules
- A heading is drawn, not a row: the cursor's n counts rows, so j crosses a heading without stopping on it.
- Every line is one height, so a drag is reorder's arithmetic; a heading held folds every group to its heading.
- Every row of whole groups selected is the groups: they are what a shift moves.
Mobile
Asking for the latest capture…
Where
ui/Components.kt: ListRow, Chevron
How
- ListRow(onClick, title, under, trailing = { Chevron() }) { picture }
Nothing shared for this on iOS yet.