TabInput
Defined in: packages/core/src/fields/tabs/types.ts:25
One tab in a tabs() field. An unnamed tab (no name) hoists its fields
up into the parent fields record once getDataFields flattens it — no
accordion, no nesting, same as a bare row()/collapsible(). A named tab
stores its fields as a group-shaped object under name — group-like, not
an accordion.
Type Parameters
Section titled “Type Parameters”TCollectionSlug
Section titled “TCollectionSlug”TCollectionSlug extends VexResourceSlug = VexResourceSlug
Types this tab’s own admin.condition — same
convention as tabs()/text(). Does not propagate into fields; each
nested field factory is parametrized independently, same as group().
TFields
Section titled “TFields”TFields extends Record<string, AdminField> = Record<string, AdminField>
Properties
Section titled “Properties”admin?
Section titled “admin?”
optionaladmin?:TabAdminInput<TCollectionSlug>
Defined in: packages/core/src/fields/tabs/types.ts:46
defaultOpen?
Section titled “defaultOpen?”
optionaldefaultOpen?:boolean
Defined in: packages/core/src/fields/tabs/types.ts:43
The FIRST tab across the whole tabs() field with defaultOpen: true
is the initially selected tab (no error if several are set); otherwise
the first tab. The ?<fieldKey>= URL param, when present, still wins.
description?
Section titled “description?”
optionaldescription?:string
Defined in: packages/core/src/fields/tabs/types.ts:37
Helper text shown below the tab’s label.
fields
Section titled “fields”fields:
TFields
Defined in: packages/core/src/fields/tabs/types.ts:45
This tab’s fields.
label:
string
Defined in: packages/core/src/fields/tabs/types.ts:30
Tab label shown in the admin form’s tab strip.
optionalname?:string
Defined in: packages/core/src/fields/tabs/types.ts:35
When set, this tab’s fields nest as one group-shaped data field keyed
by name instead of hoisting to the parent level.