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.