Welcome to Vanilla Breeze
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
Auto-fit responsive grid layout. Creates equal-width columns that automatically reflow based on available space.
| Attribute | Values | Default | Description |
|---|---|---|---|
data-layout-min |
xs, s, m, l, xl |
m |
Minimum column width before wrapping: 8 / 10 / 15 / 20 / 25rem. One-off lengths: style="--layout-min: 220px". |
data-layout-gap |
none, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl |
m |
Gap between cells, on the shared size scale. |
data-layout-subgrid |
(bare), 2, 4 |
3 |
Children become subgrid rows so header/content/footer align across cells. Bare = span 3 rows; 2 or 4 for other card shapes. |
The data-layout-min attribute sets the minimum width each column can shrink to before the grid reflows.
<layout-grid data-layout-min="s" data-layout-gap="m"> <layout-card>Card 1</layout-card> <layout-card>Card 2</layout-card> <layout-card>Card 3</layout-card></layout-grid> <layout-grid data-layout-min="l" data-layout-gap="m"> <!-- Wider minimum columns --></layout-grid>
The data-layout-gap attribute controls spacing between grid items.
<layout-grid data-layout-min="m" data-layout-gap="l"> <layout-card data-variant="outlined"> <layout-stack data-layout-gap="s"> <div data-media data-ratio="4:3" data-radius="s"> <img src="product.jpg" alt="Product" loading="lazy" /> </div> <h4>Product Name</h4> <p>$29.99</p> </layout-stack> </layout-card> <!-- More products... --></layout-grid>
<layout-grid data-layout-min="l" data-layout-gap="m"> <layout-card> <layout-stack data-layout-gap="s"> <strong>Fast Performance</strong> <p>Optimized for speed with minimal overhead.</p> </layout-stack> </layout-card> <layout-card> <layout-stack data-layout-gap="s"> <strong>Accessible</strong> <p>Built with WCAG guidelines in mind.</p> </layout-stack> </layout-card> <layout-card> <layout-stack data-layout-gap="s"> <strong>Progressive</strong> <p>Works without JavaScript, enhances with it.</p> </layout-stack> </layout-card></layout-grid>
<layout-stack> — Vertical stacking layout<layout-cluster> — Horizontal grouping with wrapping<layout-sidebar> — Two-column layout with sidebar<layout-card> — Card container