Handbook · Reference · Category properties
Category property types
Where in the UI. Structure inspector on a Category property node.
Shared knobs on every property: name, description, default, min/max/pattern, enum values, table schema, aiLookup, scriptWritable, UI hints. Bindings must use the owning category id. Children inherit ancestor properties and should only add deltas.
The list type is on the TypeScript union; the editor’s category import allowlist currently omits it, so a JSON round-trip may drop list properties. Prefer table when you need columns.
| Type | Name | Use |
|---|---|---|
text | Single-line text | Names, SKUs, short labels. |
multiline | Multiline text | Notes and longer copy. |
integer | Integer | Counts. Supports min/max. |
float | Decimal number | Measurements. Supports min/max. |
boolean | Boolean | On/off flags. |
date | Date | Calendar day without time. |
datetime | Date and time | ISO timestamp. |
color | Color | Hex/rgba for fills and chips. |
url | URL | Links; pattern validation allowed. |
email | Address with format check. | |
phone | Phone | Dialable string. |
enum | Enum | Fixed options (id, label, optional color/icon). |
image | Image | Picture stored with the item’s category value. |
json | JSON | Structured blob. Prefer tables when rows are the model. |
list | List | Repeated scalar values. Present on the PropertyType union; the editor’s category import allowlist currently omits list, so JSON round-trip may drop it. Prefer table when you need columns. |
table | Table (CTBL) | Fixed columns, maxRows, rolling or destructive overflow. Compact binary table. |
fileTable | File table (CSV) | Same columns, unbounded CSV parts on disk. No maxRows. |
Source: containd/.../v2/types/category.ts PropertyType.