UnreviewedAny data-* attribute is forwarded to the rendered element.
Any aria-* attribute is forwarded to the rendered element.
Optional UnreviewedmessageLeading message: a string at the banner type scale or any node.
Optional UnreviewedactionsTrailing controls (buttons, links) rendered as a compact row after the
message and children.
Optional UnreviewedchildrenFree content placed BETWEEN the message and the actions.
Optional UnreviewedtoneSemantic tone, or any literal CSS color ('#ff1493', 'rebeccapurple') for
a one-off custom tone. Named tones re-point the surface, text, and border
color (used if you opt into a border); a custom color keeps its hue while
lightness/chroma are pinned. 'neutral' (the default) is the same as omitting it.
Optional UnreviewedalignPositions the content row. 'start' aligns it to the inline edge; 'center'
centers it. Wrapped message text follows the selected alignment.
Optional UnreviewedroundRounded corners for a standalone, floating banner (border-radius: 999px,
which clamps to a stadium) instead of the edge-to-edge strip. Still borderless
by default. Pass a number (px) or a CSS length string for a custom radius.
Optional UnreviewedclosableWhether the trailing ✕ dismiss button is present. false removes it — drive
dismissal yourself (a controlled dismissed, or your own control) instead.
It removes the built-in ✕ without making the banner un-dismissible.
Optional UnreviewedroleARIA role for the strip host. 'status' (a polite live region, so the notice
reaches assistive tech) by default; pass 'alert' for an urgent notice that
should interrupt, or a landmark role.
Optional UnrevieweddismissedControlled dismissed state. When provided, the consumer owns visibility: the
banner follows this prop only, and clicking ✕ requests dismissal (reject by
not updating). Requires onDismiss — controlled mode never self-hides, so
without a handler to set dismissed the ✕ can't close the banner. Leave
undefined for uncontrolled.
Optional UnrevieweddefaultInitial dismissed state for the uncontrolled case (read once on mount).
Optional UnreviewedonFired when the user dismisses the banner (clicks ✕). Uncontrolled, the banner
hides itself and this notifies. Controlled, use it to accept the
request — set dismissed to true (or ignore to reject); pair it with
dismissed, or the banner can't be closed.
Optional UnreviewedclassCSS class on the component's root element (merged with the component's own
classes). Use it directly for layout and positioning — grid/flex placement,
margins, alignment — rather than wrapping the component in a <div>/<span>.
Optional UnreviewedstyleInline styles on the component's root element. Set layout/positioning here
(or via className) directly on the component instead of adding a wrapper.
Optional UnreviewedidHTML id attribute.
Optional UnreviewedtitleHTML title attribute — native browser tooltip on hover.
Optional UnreviewedslotAssigns the element to a named <slot> of a parent web component (e.g.
slot="header" inside a <Card>, slot="footer" inside a <Dialog>).
Optional UnreviewedtabTab order. Set to -1 to skip the element when tabbing.
Optional UnreviewedkeyReact/Preact reconciliation key when rendered inside a list. Consumed by the JSX runtime (not forwarded as a DOM attribute).
Props for the
<Banner>message strip.messageleads,childrenprecedeactions, andalignplaces the row.