Semantic container (div by default, swappable element) — the structural counterpart to Text (p).

npx slipstream-ui@latest add block
Semantic elements

as="section"

A titled region — screen readers can jump between sections.

as="article"

Self-composition content.

as="figure"

Illustrative content.

Inline + utilities

Block with utilities — the layout-friendly default div.

Inline blocks stay in flow: as="span" inside a paragraph line.

Props

PropTypeDefaultDescription
as'div' | 'span' | 'section' | 'article' | 'figure' | 'header' | 'footer' | 'nav' | 'main' | 'aside''div'Semantic element to render.
inlinebooleanfalseShorthand for as="span" — inline flow.
mutedbooleanfalseUse the muted-foreground token for the block's text.

Accessibility

  • Element choice is explicit — pick the element matching the content role (section/article/figure).
  • Block adds no interactive behavior; children keep their own keyboard/ARIA contracts.
  • Copy belongs in Text (p), not Block — document semantics stay queryable.

Browser support

BrowserTested versions
Chrome111+ (Mar 2023)
Edge111+ (Mar 2023)
Firefox121+ (Dec 2023)
Safari17.2+ — macOS & iOS (Dec 2023)

Slipstream components rely only on CSS custom properties, Flexbox/Grid, and ARIA — the everyday baseline of the last two years of evergreen releases. Anything newer is progressive enhancement: unsupported browsers keep full functionality with static behavior instead of animations.

Was this page helpful?