Skip to content
HomePagesHomePages template kit

Slot types

Every slot type a schema may declare, and when to pick each.

A slot’s type picks the shape of the value your renderer receives. The set is closed: adding to it is a kit release, not a change you can make in a template.

SectionProps hands every value to the renderer already typed, so no cast is needed at the point of use.

type value your renderer receives pick it when
text string — an unfilled optional arrives as the blank "" one editable line or paragraph — set size to short, medium or long
number number (number | null if optional) a numeric fact, with an optional named format
select string — an unfilled optional arrives as the blank "" a closed set of choices the user picks from, written out as values on the slot
image ImageValue (ImageValue | null if optional) one framed photo — add crop or frame to shape it
list SlotValue<element>[] for a single item (string[] for a text or select element); rows typed from fields for a record item anything multi-item — declare the item as a single primitive (list.of(text.short(…))) or a record of primitives (list.of({ … })); add unique: true on a select element to forbid two rows picking the same option
poi PoiRow (PoiRow | null if optional) one platform-built place, standalone or as a list item — most of the row is optional, so render every field conditionally
url string — an unfilled optional arrives as the blank "" a link the user edits in a URL field — add accepts to restrict it to a link kind or a single provider
video VideoValue (VideoValue | null if optional) one video — add frame or playback; sources admits a third-party player link, upload-only by default
tour TourValue (TourValue | null if optional) one 3D walkthrough the user picks from the property’s tours — frame is the only option it takes; render it with Slot.Tour for the embed, Slot.Image for its thumbnail, or both
document DocumentValue (DocumentValue | null if optional) one file the platform hosts and the visitor opens or downloads — a brochure, a floor-plan pdf, a fee schedule; use url with accepts: "file" instead when the file is hosted somewhere else