CMS Blocks Demo
Each section below renders a named CMS block slot. Missing or empty blocks fall back to a placeholder.
Text block (textBlock)
No CMS block named demo-text — fallback content rendered.
Heading block (heading)
No CMS block named demo-heading — fallback content rendered.
Content block (contentBlock)
No CMS block named demo-content — fallback content rendered.
Image block (image)
No CMS block named demo-image — fallback content rendered.
Video embed block (videoEmbed)
No CMS block named demo-video — fallback content rendered.
Media block (mediaBlock)
No CMS block named demo-media — fallback content rendered.
Testimonials block (testimonials)
No CMS block named demo-testimonials — fallback content rendered.
Testimonials in a carousel (useCmsTestimonials)
No CMS block named demo-testimonials — fallback content rendered.
Block list (CmsBlocks over an image gallery group)
No CMS block named demo-gallery — fallback content rendered.
Repeating items block (repeatingItems)
No CMS block named demo-repeating — fallback content rendered.
Repeating items as panels (CmsPanelPresenter)
No CMS block named demo-repeating — fallback content rendered.
Repeating items in a list presenter (useCmsRepeatingItems)
No CMS block named demo-repeating — fallback content rendered.
Call to action block (callToAction)
No CMS block named demo-cta — fallback content rendered.
Composed sections — no new block types
Everything below is built from block types that already shipped. A section only needs its own component when it has repeated per-item structure the component controls (grid columns, carousel slides, per-item alt text). One-off prose next to an image is layout, and layout lives in the page's own code.
Two-column copy + image (contentBlock + image)
No CMS block named demo-feature-copy — fallback content rendered.
No CMS block named demo-feature-image — fallback content rendered.
Bullet list (a single contentBlock)
No CMS block named demo-bullets — fallback content rendered.
Icon grid (three image + contentBlock pairs)
No CMS block named demo-icon [0] — fallback content rendered.
No CMS block named demo-icon-copy [0] — fallback content rendered.
No CMS block named demo-icon [1] — fallback content rendered.
No CMS block named demo-icon-copy [1] — fallback content rendered.
No CMS block named demo-icon [2] — fallback content rendered.
No CMS block named demo-icon-copy [2] — fallback content rendered.