Skip to content
Editing

Blocks reference

Every block available on this installation, with its props and the style groups it supports. Generated from the running CMS.

On this page

Core blocks come from the blocks plugin; plugins (such as forms) add their own. A few primitives compose anything: Box (any HTML tag — a stack, a grid, a link, a button), Text and Heading, Link, Button, Image, Icon (1,500+ Phosphor icons), Input, Repeat and Page content. The rest — sections, columns, cards, quotes, code, tables, accordions — are available in the same block catalog, in every collection.

A block in Block Markdown and the API is {type, props, style, attrs, bind, logic, motion, children, label}: settings in props, CSS in style (Styles), extra attributes in attrs (a style attribute only sets CSS variables, such as --color-primary for one section), data connections in bind (Data and Repeat), scripts in logic (Interactions) and animations in motion (Animations). Every block accepts every style section unless it says otherwise.

A Table can head its rows with its first column and mark one column with Highlight Column. Look switches between plain lines and a soft look without rules: the marked column fills with your primary color, and on a phone a table of up to four columns stacks each row's heading above its values.

An Accordion has a Look too: lines, or cards with each question on a soft panel of its own.

Interactive

accordionAccordion

Expandable questions and answers (adds FAQ structured data).

PropFieldNotes
itemsrepeaterItems
faqtoggleMark Up as FAQ — Lets search engines and assistants quote the answers.
lookselectLook Options: lines, cards.
buttonButton

A link or button styled with the design system’s button styles.

PropFieldNotes
labelrichtextLabel
urlurlLink
variantselectVariant
sizeselectSize Options: sm, md, lg.
icontextIcon
icon_positionselectIcon Position Options: start, end.
new_tabtoggleOpen in New Tab
typeselectButton Type Options: button, submit.
buttonsButtons
contains button

A row of buttons.

PropFieldNotes
justifyselectAlign Options: start, center, end.
filter-choiceFilter Choice
inside list-filter

One choice for a List Filter. Its options and counts come from the items.

PropFieldNotes
facettextField — One of the Repeat’s Filter By fields, e.g. category.
labeltextLabel
all_labeltextLabel for All
lookselectLook Options: chips, list.
filter-emptyFilter Empty
contains blocksinside list-filter

Shown when nothing matches the List Filter.

filter-sortFilter Sort
inside list-filter

Lets visitors reorder a List Filter’s items. The first option is the order the Repeat already has.

PropFieldNotes
labeltextLabel
optionsrepeaterOptions
inputInput

A text field, checkbox, slider or dropdown for interactive pages: keep its value in a state variable (Interact → Input value) and use it in scripts.

PropFieldNotes
typeselectType Options: text, search, email, password, number, range, checkbox, select, textarea.
labeltextAccessible Label
nametextName — Sent with a form.
placeholdertextPlaceholder
valuetextInitial Value
optionstagsOptions
minnumberMinimum
maxnumberMaximum
stepnumberStep
list-filterList Filter
contains blocks

Lets visitors filter a Repeat inside it by search and choices. Without scripts the whole list shows. Set Filter By and Search In on the Repeat.

PropFieldNotes
statustextResult Count for Screen Readers
motion-toggleMotion Toggle

Lets visitors pause what moves by itself. Needed on a page with an animation that runs forever.

PropFieldNotes
pause_labeltextPause Label
play_labeltextPlay Label
tab-panelTab
contains blocksinside tabs

One panel of Tabs.

PropFieldNotes
labeltextLabel
tabsTabs
contains tab-panel

Panels behind tabs, with keyboard support. Without scripts every panel shows, one after the other.

PropFieldNotes
labeltextName for Screen Readers
defaultnumberOpen First
lookselectLook Options: lines, segmented, vertical.

Layout

boxBox
contains blocks

A container for anything: lay out its children as a stack or grid with the Design panel. Any HTML tag, optionally a link or button.

PropFieldNotes
tagselectHTML Tag Options: div, section, header, footer, main, nav, aside, article, ul, ol, li, figure, figcaption, span, label, button, form, details, summary, dialog, address, blockquote, dl, dt, dd, h1, h2, h3, h4, h5, h6, p.
linkurlLink
new_tabtoggleOpen in New Tab
typeselectButton Type Options: button, submit.
cardCard
contains blocks

A padded container, optionally linked.

PropFieldNotes
linkurlLink
variantselectLook Options: plain, outline, filled, raised.
columnColumn
contains blocksinside columns

One column of a Columns block.

columnsColumns
contains column

Side-by-side columns that stack on small screens.

PropFieldNotes
layoutselectLayout Options: 1-1, 1-2, 2-1, 1-1-1, 1-1-1-1, 3-2, 2-3.
gapselectGap Options: token:space.0, token:space.2, token:space.4, token:space.6, token:space.8, token:space.12, token:space.16.
alignselectVertical Align Options: stretch, start, center, end.
stackselectStack Below Options: md, lg, never.
reversetoggleReverse Order When Stacked
dividerDivider

A horizontal rule.

gridGrid
contains blocks

A responsive grid of items (cards, features, logos).

PropFieldNotes
columnsnumberColumns
minselectMinimum Item Width Options: 10rem, 12rem, 16rem, 20rem, 24rem.
gapselectGap Options: token:space.0, token:space.2, token:space.4, token:space.6, token:space.8, token:space.12, token:space.16.
sectionSection
contains blocks

A full-width band with a centered inner width.

PropFieldNotes
widthselectContent Width Options: prose, content, wide, full.
tagselectHTML Tag Options: section, header, footer, aside, main, nav, article, div.
background_imagemediaBackground Image
overlayselectOverlay Options: none, light, dark.
spacerSpacer

Vertical space.

PropFieldNotes
sizeselectSize Options: token:space.0, token:space.2, token:space.4, token:space.6, token:space.8, token:space.12, token:space.16.
stackStack
contains blocks

Children in a row or column with even spacing.

PropFieldNotes
directionselectDirection Options: vertical, horizontal.
gapselectGap Options: token:space.0, token:space.2, token:space.4, token:space.6, token:space.8, token:space.12, token:space.16.
alignselectAlign Options: stretch, start, center, end.
justifyselectJustify Options: start, center, end, between.
wraptoggleWrap
linkurlLink
new_tabtoggleOpen in New Tab

Text

calloutCallout

Highlighted note, tip or warning.

PropFieldNotes
textrichtextText
toneselectTone Options: note, tip, warning, danger.
codeCode

Preformatted code with syntax highlighting and a copy button.

PropFieldNotes
codecodeCode
languageselectLanguage Options: bash, php, javascript, typescript, json, yaml, html, css, markdown, python, sql, plain.
titletextTitle
highlighttoggleHighlight Syntax
copytoggleCopy Button
headingHeading

A title (h1–h6).

PropFieldNotes
textrichtextText
levelselectLevel Options: 1, 2, 3, 4, 5, 6.
anchorslugAnchor
permalinktoggleShow # Link on Hover
listList

Bulleted or numbered list.

PropFieldNotes
itemsjsonItems
orderedtoggleNumbered
paragraphText

A paragraph — or any short text (label, caption, eyebrow) with the tag you choose.

PropFieldNotes
textrichtextText
tagselectHTML Tag Options: p, span, div, small, strong, em, label, li, figcaption, blockquote, cite, time, address, dt, dd, legend, kbd, code.
quoteQuote

A quotation or testimonial.

PropFieldNotes
textrichtextQuote
citerichtextAttribution
tableTable

Rows and columns — great for comparisons (and for AI answers).

PropFieldNotes
rowsjsonRows
headertoggleFirst Row Is a Header
row_headerstoggleFirst Column Is a Header
highlightnumberHighlight Column
lookselectLook Options: lines, soft.
captiontextCaption

Media

embedEmbed

Maps, forms and other iframes from trusted providers.

PropFieldNotes
urlurlURL
titletextTitle — Describes the embed for screen readers.
aspectselectAspect Ratio Options: 16/9, 4/3, 1/1, 21/9.
iconIcon

An icon from the Phosphor set (1,500+ icons in four weights). Takes the text color; size it with width and height.

PropFieldNotes
icontextIcon
labeltextAccessible Label
svgcodeCustom SVG — Used instead of a named icon.
imageImage

A responsive image (WebP/AVIF, lazy-loaded).

PropFieldNotes
imagemediaImage
alttextAlt Text — Describes the image for screen readers and search engines.
captionrichtextCaption
linkurlLink
aspectselectAspect Ratio Options: auto, 1/1, 4/3, 3/2, 16/9, 21/9, 3/4, 4/5.
prioritytoggleLoad First — For the main image above the fold.
sizestextSizes — How wide it is shown, e.g. (min-width: 64rem) 50vw, 100vw.
videoVideo

YouTube, Vimeo or a video file — also as a silent background loop.

PropFieldNotes
urlurlVideo URL
captionrichtextCaption
postermediaPoster Image
autoplaytoggleAutoplay Muted
controlstoggleShow Controls
looptoggleLoop

Form

form/checkboxCheckbox

Checkbox field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
show_ifgroupOnly Show When
form/checkboxesCheckboxes

Checkboxes field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
optionstextareaOptions — One per line. Use value|Label to store a different value.
show_ifgroupOnly Show When
form/dateDate

Date field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
show_ifgroupOnly Show When
form/emailEmail

Email field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
placeholdertextPlaceholder
show_ifgroupOnly Show When
form/fileFile upload

File upload field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
acceptselectAllowed Files Options: documents, images, any.
max_mbnumberMax Size (MB)
show_ifgroupOnly Show When
form/hiddenHidden value

Hidden value field

PropFieldNotes
nametextField Name
valuetextValue
form/numberNumber

Number field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
placeholdertextPlaceholder
minnumberMinimum
maxnumberMaximum
show_ifgroupOnly Show When
form/radioChoice

Choice field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
optionstextareaOptions — One per line. Use value|Label to store a different value.
show_ifgroupOnly Show When
form/selectDropdown

Dropdown field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
optionstextareaOptions — One per line. Use value|Label to store a different value.
placeholdertextEmpty Option
show_ifgroupOnly Show When
form/telPhone

Phone field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
placeholdertextPlaceholder
show_ifgroupOnly Show When
form/textShort text

Short text field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
placeholdertextPlaceholder
maxnumberMax Length
autocompleteselectAutofill Options: off, name, given-name, family-name, organization, street-address, postal-code, address-level2, country-name.
show_ifgroupOnly Show When
form/textareaLong text

Long text field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
placeholdertextPlaceholder
rowsnumberRows
maxnumberMax Length
show_ifgroupOnly Show When
form/urlWebsite

Website field

PropFieldNotes
labeltextLabel
nametextField Name — Key in submissions and emails, like company_name.
requiredtoggleRequired
helptextHelp Text
placeholdertextPlaceholder
show_ifgroupOnly Show When
forms/formForm

Embed a form (contact, quote request, newsletter…).

PropFieldNotes
formselectForm

Dynamic

gate-breakTeaser Ends Here

On a page with a teaser, readers without access see what comes before this.

Embed

htmlCustom HTML

Raw HTML for embed codes. Only people with the “Custom HTML” permission can add it.

PropFieldNotes
htmlcodeHTML

Data

outletPage Content

In a template: where each page’s own blocks go.

PropFieldNotes
wraptoggleWrap in a Container — Style the content area as one element.
permalinkstoggleAdd # Links to Headings
patternComponent

An instance of a component (synced pattern) — edit the component once, every instance updates. Set its properties per instance.

PropFieldNotes
refselectComponent
valuesjsonProperties
repeatRepeat
contains blocks

Repeats its children for every item of a list: entries of a collection, a menu, child pages, headings, breadcrumbs… Inside, bind blocks to item.title, item.url and so on.

PropFieldNotes
sourceselectList
tagselectHTML Tag Options: div, section, header, footer, main, nav, aside, article, ul, ol, li, figure, figcaption, span, label, button, form, details, summary, dialog, address, blockquote, dl, dt, dd, h1, h2, h3, h4, h5, h6, p.
astextItem Name — Name the item for nested lists (e.g. post, link).
group_bytextGroup By — A field of the items. Repeats once per group, with item.label and item.items.
filter_bytextFilter By — In a List Filter: the fields its choices filter on.
search_intextSearch In — In a List Filter: the fields its search looks through.
sort_bytextSort By — In a List Filter: the fields its Filter Sort can order by.
emptytextWhen Empty