Skip to content

SLOT_IDS

const SLOT_IDS: object

Defined in: packages/core/src/components/types.ts:39

Flat, dot-joined identifiers for every admin extension point (slot) G declares. Nested admin.components keys map 1:1 onto these — admin.components.beforeInput on a field is SLOT_IDS.field.beforeInput (S2). H and I declare their own edit.*/list.*/shell entries in their own specs; this map only carries G’s.

Experimental: Slot ids and the contribution model are documented experimental until Track PL ships definePlugin (S13) — no unstable_ prefix; breaking changes are still possible.

readonly array: object

readonly itemActions: "array.item.actions" = "array.item.actions"

Additive contributions rendered per array item’s action row. Built-ins: step 15 (duplicate/move/remove).

readonly blocks: object

readonly headerActions: "blocks.header.actions" = "blocks.header.actions"

Additive contributions rendered in a blocks() field’s header toolbar. Built-ins: step 16 (copy all/paste/replace all).

readonly itemActions: "blocks.item.actions" = "blocks.item.actions"

Additive contributions rendered in a block item’s actions menu. Built-ins: step 15 (duplicate/insert/move/remove), step 16 (copy/paste).

readonly edit: object

readonly actionsMenu: "edit.actionsMenu" = "edit.actionsMenu"

Additive contributions in an edit view’s ⋯ actions menu, rendered in a dropdown left of the header action group. Built-ins: revalidate, duplicate.

readonly afterFields: "edit.afterFields" = "edit.afterFields"

Additive contributions rendered after an edit view’s field list. No built-ins.

readonly beforeFields: "edit.beforeFields" = "edit.beforeFields"

Additive contributions rendered before an edit view’s field list. No built-ins.

readonly headerActions: "edit.header.actions" = "edit.header.actions"

Additive contributions in an edit view’s header action bar. Built-ins: save, publish, unpublish, delete, version history, live preview, cancel (decisions 11/13; duplicate moved to actionsMenu per the Step 4 post-implementation note).

readonly headerAfter: "edit.header.after" = "edit.header.after"

Additive contributions rendered after an edit view’s header. No built-ins.

readonly headerBefore: "edit.header.before" = "edit.header.before"

Additive contributions rendered before an edit view’s header. No built-ins.

readonly sidebarAfter: "edit.sidebar.after" = "edit.sidebar.after"

Additive contributions rendered after an edit view’s sidebar content. No built-ins.

readonly sidebarBefore: "edit.sidebar.before" = "edit.sidebar.before"

Additive contributions rendered before an edit view’s sidebar content. No built-ins.

readonly field: object

readonly afterInput: "field.afterInput" = "field.afterInput"

Additive contributions rendered after a field’s resolved input.

readonly beforeInput: "field.beforeInput" = "field.beforeInput"

Additive contributions rendered before a field’s resolved input.

readonly cell: "field.cell" = "field.cell"

Override chain for a field’s data-table cell component. Same two-level composition as input.

readonly description: "field.description" = "field.description"

Override chain for a field’s description. No built-in contribution yet, same reason as label.

readonly field: "field.field" = "field.field"

Override chain for a field’s WHOLE admin field (decision 5) — see FieldSlotComponentsInput.Field’s doc comment for composition.

readonly input: "field.input" = "field.input"

Override chain for a field’s input component. One per field instance AND one project-wide per field type — see ComponentOverrideInput composition in @vexcms/react.

readonly label: "field.label" = "field.label"

Override chain for a field’s label. No built-in contribution yet (step 11’s design note) — every Input still renders its own label inline.

readonly list: object

readonly afterTable: "list.afterTable" = "list.afterTable"

Additive contributions rendered below the table. No built-in.

readonly beforeTable: "list.beforeTable" = "list.beforeTable"

Additive contributions rendered above the table, below toolbar/filters. No built-in.

readonly bulkActions: "list.bulkActions" = "list.bulkActions"

Additive contributions rendered inline in the toolbar’s bulk-selection group (Decision 22), alongside vex.list.bulk.delete — never a floating bar.

readonly filters: "list.filters" = "list.filters"

Additive contributions rendered in the filter row, below the toolbar. Built-in: vex.list.filters (Step 11).

readonly headerActions: "list.header.actions" = "list.header.actions"

Additive contributions rendered beside the built-in ”+ New” button. Built-in: vex.list.create.

readonly rowActions: "list.row.actions" = "list.row.actions"

Rendered as DropdownMenuItems in one per-row ⋯ menu (Decision 28), in order: vex.list.row.open, vex.list.row.inspect, vex.list.row.copyId, then this slot’s additive contributions, then vex.list.row.delete last.

readonly toolbar: "list.toolbar" = "list.toolbar"

Additive contributions rendered in the toolbar row. Built-ins: vex.list.search (Step 10), vex.list.columns (Step 10), vex.list.views (Step 12).