FieldSlotComponentsInput
Defined in: packages/core/src/fields/baseTypes.ts:236
Per-field override and additive contribution slots (S1/S6). Every field type inherits this —
none redeclare their own admin property, so text({ admin: { components: {...} } }) works
identically for every field factory without per-type edits.
Experimental: breaking changes are still possible before this stabilizes.
Type Parameters
Section titled “Type Parameters”TComponent
Section titled “TComponent”TComponent extends ComponentHKT = ComponentHKT
Properties
Section titled “Properties”afterInput?
Section titled “afterInput?”
optionalafterInput?:ComponentContributionInput<TComponent,unknown>[]
Defined in: packages/core/src/fields/baseTypes.ts:257
Additive contributions rendered after this field’s resolved input.
beforeInput?
Section titled “beforeInput?”
optionalbeforeInput?:ComponentContributionInput<TComponent,unknown>[]
Defined in: packages/core/src/fields/baseTypes.ts:255
Additive contributions rendered before this field’s resolved input.
optionalCell?:ComponentOverrideInput<TComponent,unknown>[]
Defined in: packages/core/src/fields/baseTypes.ts:249
Override chain for this field instance’s data-table cell component. Same composition as Input.
Description?
Section titled “Description?”
optionalDescription?:ComponentOverrideInput<TComponent,unknown>[]
Defined in: packages/core/src/fields/baseTypes.ts:253
Override chain for this field instance’s description. No built-in to override yet.
Field?
Section titled “Field?”
optionalField?:ComponentOverrideInput<TComponent,unknown>[]
Defined in: packages/core/src/fields/baseTypes.ts:247
Override chain for this field instance’s WHOLE admin field — replaces label, control and
error layout together (decision 5). Composed the same way as Input: built-in Field.tsx →
root per-type fields.<type>.Field chain → this field instance’s own chain, each override’s
renderDefault resolving to the previous stage. List fields (array/blocks) use this slot
plus their own action slots (array.item.actions, blocks.item.actions,
blocks.header.actions) — they have no single control an Input override could target.
Input?
Section titled “Input?”
optionalInput?:ComponentOverrideInput<TComponent,unknown>[]
Defined in: packages/core/src/fields/baseTypes.ts:240
Override chain for this field instance’s input component (S6). Composed with the root per-type fields.<type>.Input chain and the built-in — see @vexcms/react’s resolveFieldInputComponent.
Label?
Section titled “Label?”
optionalLabel?:ComponentOverrideInput<TComponent,unknown>[]
Defined in: packages/core/src/fields/baseTypes.ts:251
Override chain for this field instance’s label. No built-in to override yet (step 11’s design note).