AdminField
AdminField<
TFieldMeta> =TextField<TFieldMeta> |NumberField<TFieldMeta> |CheckboxField<TFieldMeta> |DateField<TFieldMeta> |SelectField<TFieldMeta> |UrlField<TFieldMeta> |ColorField<TFieldMeta> |ArrayField<ArrayType,TFieldMeta> |RelationshipField<TFieldMeta> |UploadField<TFieldMeta> |BlocksField<TFieldMeta> |GroupField<TFieldMeta>
Defined in: packages/core/src/fields/types.ts:63
Discriminated union of all field types in VexCMS.
Switch on field.type to narrow to a specific field type and access
its type-specific properties.
Currently includes:
TextField— single-line text inputNumberField— numeric value (price, quantity, rating, etc.)CheckboxField— boolean toggle (published state, feature flag, opt-in, etc.)DateField— Unix ms timestamp (publish date, expiry date, event time, etc.)SelectField— single-choice from a predefined set of optionsUrlField— validated URL stringColorField— CSS colour string, or avar(--token)reference whenthemeColorsis onRelationshipField— ConvexIdreference to a document in another collection
Type Parameters
Section titled “Type Parameters”TFieldMeta
Section titled “TFieldMeta”TFieldMeta extends BaseFieldMeta = BaseFieldMeta
Example
Section titled “Example”function handleField(field: AdminField) { switch (field.type) { case "text": // field is TextField break; }}