Component Regions

data-layout="regions" creates a header / content / footer grid on any element. Semantic children auto-place without explicit layout attributes.

Basic Regions

A <div> with data-layout="regions". The <header>, <section>, and <footer> children auto-register to named grid areas.

data-layout="regions"
Card Header

This section content auto-places into the content grid area. No explicit placement needed.

Regions on Article

Works on any element. An <article> with regions is a natural fit for blog posts, cards, and content blocks.

article with regions
Getting Started with Grid Identity

The grid identity system lets semantic HTML elements auto-register to grid areas based on their element type.

HTML declares structure, CSS assigns layout.

Implicit Content Placement

Children that are not <header>, <section>, <footer>, or [slot] are implicitly placed in the content area.

implicit content (bare <p> children)
Notification

This bare paragraph auto-places into the content area without needing a <section> wrapper.

Grid of Region Cards

The big win: data-layout="grid" wrapping data-layout="regions" articles. Each card auto-places its header, content, and footer without any explicit layout attributes on children.

grid + regions = card list
Performance

Optimized for speed with lazy loading and tree-shaking built in.

Core feature
Accessibility

WCAG 2.1 AA compliant with semantic HTML and ARIA support.

Built-in
Theming

CSS custom properties for full design token control.

Customizable
Responsive

Container queries and fluid layouts adapt to any viewport.

Regions vs layout-card

data-layout="regions" is structural only (grid placement). <layout-card> adds visual chrome (borders, shadows, padding) on top of the same grid structure.

structural vs visual

Regions (structure only)

Card Title

Content goes here. No visual styling from the layout.

Footer text

layout-card (structure + visuals)

Card Title

Content goes here. Visual chrome comes from the component.