Database
Property List
The editable property table under a database page’s title (side peek and full page), plus the per-property cell and value renderers.
Usage
- Use
PropertyListto show and edit one row’s properties, typically at the top of a page or in a peek. - Use
PropertyValueViewfor read-only values (cards, lists) andPropertyTypeIconwherever a property type is named. - Let empty values show “Empty” so people can click to fill them; don’t hide empty properties by default.
- Don’t use it for a general key/value form; use
Fieldwith form inputs instead.
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/PropertyListExample.tsx
Examples
Single row
Value renderers and type icons
TitleCommand palette
Status
SelectMedium
Multi-selectFrontend
DateOctober 12, 2026
Composition
anatomy
API Reference
PropertyList
Based on <div> (except onChange). Adds:
| Prop | Type | Default |
|---|---|---|
properties | Property[] | |
row | Row | |
onChange | (propertyId: string, value: PropertyValue) => void | |
onCreateOption | (propertyId: string, name: string) => SelectOption | undefined | |
onAddProperty | () => void | |
today | string |
PropertyRow
| Prop | Type | Default |
|---|---|---|
property | Property | |
value | PropertyValue | undefined | |
onChange | (value: PropertyValue) => void | |
onCreateOption | (name: string) => SelectOption | undefined | |
today | string |
PropertyCell
An editable value: the click target of a table cell or a property row.
| Prop | Type | Default |
|---|---|---|
property | Property | |
value | PropertyValue | undefined | |
onChange | (value: PropertyValue) => void | |
onCreateOption | (name: string) => SelectOption | undefined | |
children | ReactNode | PropertyValueView |
className | string | |
inputClassName | string | |
empty | ReactNode | |
today | string | |
size | "md""sm" | "md" |
PropertyValueView
| Prop | Type | Default |
|---|---|---|
property | Property | |
value | PropertyValue | undefined | |
size | "md""sm" | "md" |
wrap | boolean | false |
onToggle | (checked: boolean) => void | |
className | string | |
empty | ReactNode | null |
PropertyTypeIcon
Based on <svg> props (except type / name).
| Prop | Type | Default |
|---|---|---|
type | PropertyType | |
size | number | 16 |
Accessibility
- Value cells are buttons: Enter/click edits. Select and status values open the
SelectPicker, dates theDateCellPicker(both close on Escape); checkboxes toggle with Space; text-like types edit inline (Enter commits). - Empty values read "Empty" in text-tertiary.
© 2026 Motion. Internal documentation.