Skip to content

Built-in Components

Every new space is seeded with these built-in content models. They can be used immediately without any configuration.

Page types

Dynamic Page (page)

General-purpose page.

ZoneDescription
componentsAboveFoldVisible without scrolling
componentsBelowFoldBelow the fold

Category Page (categoryPage)

Used for category/collection pages.

ZoneDescription
componentsTopAbove the product grid
componentsBottomBelow the product grid

Product Details Page (productPage)

Used for product detail pages.

ZoneDescription
componentsBottomBelow the product information

Component types

Hero

Full-width hero banner.

FieldTypeDescription
titletextMain heading
subtitletextSubheading
backgroundImageimageBackground image
imageimageForeground image
buttonsbutton[]CTA buttons
backgroundColorcolorFallback background color
textColorcolorText color

Marketing banner with multiple layout options.

FieldTypeDescription
titletextBanner heading
contentrichtextBody copy
imageimageBanner image
layoutselectleft, right, center
backgroundColorcolorBackground color
buttonbuttonCTA button

Card

Content card.

FieldTypeDescription
titletextCard title
descriptiontextareaCard description
imageimageCard image
buttonbuttonLink

CategoryCard

Category showcase card.

FieldTypeDescription
categoryIdtextCommerce category ID
imageimageOverride image
labeltextDisplay label

Editorial

Rich text content block.

FieldTypeDescription
contentrichtextFull rich text content

Image grid.

FieldTypeDescription
imagesimage[]Array of images
columnsnumberGrid column count

Grid

Layout container. Arranges child components in a grid.

FieldTypeDescription
componentscomponentsChild components
columnsnumberColumn count
gapnumberGap between items

Accordion

Expandable sections.

FieldTypeDescription
itemsAccordionItem[]Each item has title and content (richtext)

NewsletterBox

Email signup widget.

FieldTypeDescription
titletextHeading
subtitletextDescription
placeholdertextInput placeholder
buttonLabeltextSubmit button label
backgroundColorcolorBackground color

ProductList

Product carousel connected to the commerce catalog.

FieldTypeDescription
titletextSection title
categoryIdtextCommerce category to pull from
limitnumberMaximum products to show

Scrollable

Horizontal scroll container.

FieldTypeDescription
componentscomponentsChild components (cards, etc.)

Adding custom components

To add a new component type available in all pages, create a Content Model with:

  1. A unique api_id in PascalCase
  2. The fields your component needs
  3. A matching React component in components/cms/page/ in your storefront

The storefront’s render-cms-content.tsx maps api_id to the React component at render time.