Skip to content
HomePagesHomePages template kit

Slot

The slot-authoring namespace: one component per slot kind, each rendering its value and marking it for the editor, plus `Slot.Group` — the unit container of a declared schema group or one collection row.

The slot-authoring namespace: one component per slot kind, each rendering its value and marking it for the editor, plus Slot.Group — the unit container of a declared schema group or one collection row. Slot.Text, Slot.List, and so on are accessed off this one imported name rather than as separate exports.

Import from @homepages/template-kit.

const Slot: { readonly Text: <D extends { type: "text"; }, As extends ElementType>(props: TextishProps<D, As>) => ReactNode; readonly Number: <D extends { type: "number"; }, As extends ElementType>(props: TextishProps<D, As>) => ReactNode; readonly Select: <D extends { type: "select"; }, As extends ElementType>(props: TextishProps<D, As>) => ReactNode; readonly Url: <D extends { type: "url"; }, As extends ElementType = "a">(props: UrlProps<D, As>) => ReactNode; readonly Image: <D extends { type: "image" | "video" | "tour"; }>(props: SlotImageProps<D>) => ReactNode; readonly Video: <D extends { type: "video"; }>(props: SlotVideoProps<D>) => ReactNode; readonly Tour: <D extends { type: "tour"; }>(props: SlotTourProps<D>) => ReactNode; readonly Document: <D extends { type: "document"; }, As extends ElementType = "a">(props: DocumentProps<D, As>) => ReactNode; readonly List: <D, As extends ElementType>(props: SlotListProps<D, As>) => ReactNode; readonly Group: <As extends ElementType>(props: SlotGroupProps<As>) => ReactNode; }