Database
Table View
Spreadsheet layout: resizable columns, editable cells, row selection, an OPEN button on the title and an optional calculation footer.
Tasks
Design tokens audit
High
Design
October 2, 2026
Sidebar rebuild
High
Frontend
October 9, 2026
Command palette
Medium
Frontend
October 12, 2026
Docs shell
Medium
Docs
October 16, 2026
Icon extraction
Low
Design
October 20, 2026
Database views
High
Frontend
October 23, 2026
Screenshot diffing
Low
QA
September 28, 2026
Release notes
Low
Docs
October 30, 2026
Usage
- Use the table layout when people compare many properties across rows or edit values in place.
- Keep the title column first and hide rarely used properties with view visibility rather than removing them from the schema.
- Don’t use a table for visual content such as covers or images; use the gallery layout instead.
- Don’t rely on column resizing for essential information; it is pointer-only.
Installation
Install the package (React 19):
terminal
terminal
terminal
Import the styles once, in your app entry or root layout:
/src/main.tsx
Use it anywhere inside your app's <Theme> (see Installation):
/src/TableViewExample.tsx
Examples
Hover, selection and calculations
Tasks
Design tokens audit
High
Design
October 2, 2026
Sidebar rebuild
High
Frontend
October 9, 2026
Command palette
Medium
Frontend
October 12, 2026
Docs shell
Medium
Docs
October 16, 2026
Icon extraction
Low
Design
October 20, 2026
Database views
High
Frontend
October 23, 2026
Screenshot diffing
Low
QA
September 28, 2026
Release notes
Low
Docs
October 30, 2026
Count8
Property menu open
Tasks
Design tokens audit
High
Design
October 2, 2026
Sidebar rebuild
High
Frontend
October 9, 2026
Command palette
Medium
Frontend
October 12, 2026
Docs shell
Medium
Docs
October 16, 2026
Icon extraction
Low
Design
October 20, 2026
Database views
High
Frontend
October 23, 2026
Screenshot diffing
Low
QA
September 28, 2026
Release notes
Low
Docs
October 30, 2026
Bare view
Without the block chrome, inside your own provider. The table is as wide as its columns, so give it a horizontal scroll container (DatabaseView brings its own); 28px of start padding leaves room for the row checkboxes.
Design tokens audit
High
Design
October 2, 2026
Sidebar rebuild
High
Frontend
October 9, 2026
Command palette
Medium
Frontend
October 12, 2026
Docs shell
Medium
Docs
October 16, 2026
Icon extraction
Low
Design
October 20, 2026
Database views
High
Frontend
October 23, 2026
Screenshot diffing
Low
QA
September 28, 2026
Release notes
Low
Docs
October 30, 2026
Composition
Views read the database from context, so render them inside <DatabaseView> (which picks the active view for you) or inside your own <DatabaseProvider value={useDatabase(...)}>.
anatomy
API Reference
TableView
Reads the active view from database context.
| Prop | Type | Default |
|---|---|---|
selected | string[] | |
onSelectedChange | (ids: string[]) => void | |
onOpenRow | (row: Row) => void | |
openPropertyMenu | string | |
hoveredRowId | string | |
calculations | boolean | false |
today | string |
Accessibility
role="table"labelled by the view name, withrow,columnheaderandcell; column headers are focusable (tabIndex=0) and open the property menu.- Row selection uses the
Checkboxatom with anaria-labelper row and a select-all checkbox. - Cells: click (or Enter) to edit; select/status cells open the
SelectPicker(ArrowUp/Down, Enter, Escape); date cells open theDateCellPicker; checkboxes toggle with Space. - Column resize is pointer-only (drag the header edge, min 80px).
© 2026 Motion. Internal documentation.