Skip to content

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.

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 extends Record<string, AdminField> = Record<string, AdminField>

optional admin?: TabAdminInput<TCollectionSlug>

Defined in: packages/core/src/fields/tabs/types.ts:46


optional defaultOpen?: 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.


optional description?: string

Defined in: packages/core/src/fields/tabs/types.ts:37

Helper text shown below the tab’s label.


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.


optional name?: 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.