Rows of a list of records, one table-column per field, for things like inventory, orders or expenses. With sort= and direction=, pressing a header sorts by it; with bind= and key=, pressing a row selects it; columns too wide for the space scroll sideways, the first one staying in view.
No problems. The parser accepted every line.
"text"textA title above the table.optionalitemsexpressionThe list of records, e.g. items=equipment. At most 200 rows; show a page of a longer list with slice() and pagination.requiredkeynameThe field that identifies each row, e.g. key=id. Needed for bind=.—bindstateState that holds the selected row's key. Pressing a row sets it.—sortstateState that holds the field to sort by. Pressing a header sets it; missing values sort last.—directionstateState that holds asc or desc. Pressing the sorted header again flips it.—onactionActions to run after a row is selected, with bind= already set, e.g. emit:changed. Separate several with ;—ifconditionShow only when this expression is true, e.g. if=done or if={count>0}. Every element takes it.—tipstringA short explanation shown on hover, keyboard focus or a tap, e.g. tip="Orders not yet shipped": for a term or a number some people won't know, instead of more words on screen. It makes the element a Tab stop if it isn't one. Every element takes it.—Children: table-column