GroupField
Defined in: packages/core/src/fields/group/types.ts:77
Resolved configuration for a group() field, after all defaults are applied.
This is the type field input components and validator functions receive.
interfaceType is a computed TypeScript object-type string built from the
sub-fields (e.g. "{ title: string; description?: string }"), used by
generateVexTypes to emit accurately-typed document interfaces.
- GroupFieldInput for the user-facing input type
- group for the config function that produces this type
Extends
Section titled “Extends”BaseField<TFieldMeta>
Type Parameters
Section titled “Type Parameters”TFieldMeta
Section titled “TFieldMeta”TFieldMeta extends object = { }
Properties
Section titled “Properties”admin:
FieldAdminConfig
Defined in: packages/core/src/fields/group/types.ts:86
Resolved admin UI configuration with all defaults applied.
Overrides
Section titled “Overrides”defaultOpen
Section titled “defaultOpen”defaultOpen:
boolean
Defined in: packages/core/src/fields/group/types.ts:109
Whether the accordion fieldset starts open in the admin form.
Resolved value after defaults — always true unless explicitly set false.
defaultValue
Section titled “defaultValue”defaultValue:
Record<string,unknown>
Defined in: packages/core/src/fields/group/types.ts:103
Pre-filled value shown when creating a new document.
Overrides
Section titled “Overrides”description?
Section titled “description?”
optionaldescription?:string
Defined in: packages/core/src/fields/baseTypes.ts:252
Semantic description of the field. Used in three places:
- Helper text rendered below the field input in the admin form UI.
- As the Zod
.meta({ description })value for form validation. - As the JSDoc comment on the generated document interface property.
To write a separate JSDoc comment, use interfaceDescription in addition.
Inherited from
Section titled “Inherited from”fields
Section titled “fields”fields:
Record<string,AdminField>
Defined in: packages/core/src/fields/group/types.ts:93
Sub-fields that form the object’s shape.
Each sub-field retains its own required, label, and admin settings.
Convex and Zod validators are generated per-field respecting those settings.
index?
Section titled “index?”
optionalindex?:string
Defined in: packages/core/src/fields/baseTypes.ts:256
Convex index name for this field.
Inherited from
Section titled “Inherited from”interfaceDescription?
Section titled “interfaceDescription?”
optionalinterfaceDescription?:string
Defined in: packages/core/src/fields/baseTypes.ts:254
The JSDoc comment on the generated document interface property
Inherited from
Section titled “Inherited from”BaseField.interfaceDescription
interfaceName?
Section titled “interfaceName?”
optionalinterfaceName?:string
Defined in: packages/core/src/fields/group/types.ts:101
interfaceType
Section titled “interfaceType”interfaceType:
string
Defined in: packages/core/src/fields/group/types.ts:100
Computed TypeScript object-type string for generateVexTypes.
Built from sub-fields in group() — e.g. "{ title: string; description?: string }".
Automatically reflects nested groups or arrays within the sub-fields.
Overrides
Section titled “Overrides”label:
string
Defined in: packages/core/src/fields/group/types.ts:82
Display label shown in the admin form. Always set — inferred from field key if not provided.
Overrides
Section titled “Overrides”meta:
TFieldMeta
Defined in: packages/core/src/fields/baseTypes.ts:259
Inherited from
Section titled “Inherited from”required
Section titled “required”required:
boolean
Defined in: packages/core/src/fields/group/types.ts:84
Whether this field is required in the database schema.
Overrides
Section titled “Overrides”
readonlytype:"group"
Defined in: packages/core/src/fields/group/types.ts:80