date Field Type
type: 'date' marks a field as a calendar date value. Pair it with renderAs: 'date' and a parseMode to render it in a locale-aware, human-readable format. Without renderAs, the raw value is displayed as plain text.
Core Examples
Basic Date Rendering
ISO date string rendered with parseMode: 'iso-date' and formatPreset: 'medium'.
{
key: 'dueDate',
label: 'Due Date',
type: 'date',
renderAs: 'date',
renderAsOptions: { parseMode: 'iso-date', locale: 'en-US', formatPreset: 'medium' },
}
Condition
Closed date column only appears for Payroll Sync (the only row with a non-null closedDate).
{
key: 'closedDate',
label: 'Closed',
type: 'date',
renderAs: 'date',
renderAsOptions: { parseMode: 'iso-date', locale: 'en-US', formatPreset: 'medium' },
condition: (entity) => Boolean(entity.closedDate),
}
Field Options Reference
| Option | Type | Default | Effect |
|---|---|---|---|
key | string | required | Entity property to read the date value from. |
label | string | unset | Column header or card label. |
type | 'date' | — | Marks the field as a calendar date. Pair with renderAs: 'date' for formatted output. |
renderAs | 'date' | unset | Required for locale-aware date rendering. Without it, raw value renders as plain text. |
condition | (entity) => boolean | unset | Hides the field for rows where the function returns false. |
sortable | boolean | false | Enables column sorting in table mode. Sorts chronologically when parseMode is set. |
width | CSS length or number | unset | Sets column width in table mode. |
align | 'left', 'center', 'right' | 'left' | Text alignment in table mode. |
renderAsOptions for renderAs: 'date'
parseMode is required — without it the field renders 'Invalid'. All other display options (formatPreset, locale, timezone, relativeTime, formatOptions, etc.) are documented on the date Renderer page.
Caveats
parseModeis required. Without it, the field renders'Invalid'regardless of the value.parseMode: 'iso-date'expectsYYYY-MM-DD. An ISO datetime string like2026-05-29T08:00:00Zwill parse correctly with'iso-datetime'or'any', not'iso-date'.timezonecontrols the display timezone, not parsing. The underlyingDateobject is always UTC-based.- Table mode sorts chronologically when
parseModeis declared andsortable: trueis set. WithoutparseMode, sort falls back to generic string comparison. relativeTimeusesIntl.RelativeTimeFormat— output is locale-sensitive.
See Also
- Temporal Fields Guide — cross-type contracts, sorting behavior, migration checklist
- date Renderer — full
renderAsOptionsreference - datetime Field Type
- timestamp Field Type
- Item Config — item-level shape and layout contract
- Field Config