date
date<
TFieldMeta>(options?):DateField<TFieldMeta>
Defined in: packages/core/src/fields/date/config.ts:58
Creates a date field with all defaults applied.
Date fields store a Unix timestamp in milliseconds. Common uses: published dates, expiry dates, event times, timestamps.
Accepts DateFieldInput (all optional) and returns DateField with all defaults applied.
Defaults applied:
label—""(inferred from the field key bydefineCollection)required—falsetime.hidden—false(time picker is visible)time.use12HourFormat—true(AM/PM format)time.timePicker.hour—truetime.timePicker.minute—truetime.timePicker.second—falseadmin.hidden—falseadmin.readOnly—falseadmin.position—"main"admin.width—"full"admin.cellAlignment—"left"
Type Parameters
Section titled “Type Parameters”TFieldMeta
Section titled “TFieldMeta”TFieldMeta extends BaseFieldMeta = BaseFieldMeta
Parameters
Section titled “Parameters”options?
Section titled “options?”DateFieldInput<TFieldMeta>
Date field configuration. All properties are optional.
Returns
Section titled “Returns”DateField<TFieldMeta>
Resolved date field definition with all defaults applied.
Example
Section titled “Example”import { date, defineCollection } from '@vexcms/core'
posts: defineCollection({ fields: { // Minimal — label inferred from key ("Published At") publishedAt: date(),
// Required event date with a database index eventDate: date({ required: true, index: "by_event_date" }),
// Date-only picker (hide the time UI) expiresOn: date({ time: { hidden: true } }),
// Appointment in 24-hour format, shown in the sidebar appointmentAt: date({ required: true, time: { use12HourFormat: false }, admin: { position: "sidebar", width: "half" }, }), }})- DateFieldInput for the full input type
- DateField for the resolved output type