Founding price: $35, then $79.99 after 23:59 UTC on 4 November, then $79.99
Get ProA table with expandable parent rows (role treegrid), sortable columns that sort within each parent and row navigation by keyboard.
This item has no props to tune. Use the lens above to change theme, density, direction and more.
Use it for hierarchical figures: budgets by team, file sizes by folder, tasks with subtasks, orders with line items.
Do not use it for a flat table (use a data grid) or when cells hold many interactive controls; row-level focus is not meant for that.
It uses tree-view, which the CLI installs for you.
| Prop | Type | Default | Description |
|---|---|---|---|
nodes | TreeNode<T>[] | - | Rows. Put the figures in data. |
columns | TreeTableColumn<T>[] | - | id, header, cell, sortValue, align. The first column holds the indent, chevron and label. |
sort / defaultSort / onSortChange | { columnId, direction } | null | null | Sorting state. |
indent | number | 20 | Pixels per level. |
aria-label | string | - | Required name of the grid. |
... | - | - | All useTree options (expansion, selection, dir). |
Motion respects prefers-reduced-motion: the only animation is the loading spinner, which is switched off. Layout uses logical properties, so the component works in right-to-left languages.
The component ships with a Testing Library test (tree-table.test.tsx) that covers its keyboard paths, roles and states.