Heading fonts

Choose a Google Fonts family. The selected font loads from Google Fonts; Inter and Geist Serif are bundled locally.

Search Reflow

Keyboard shortcuts

Use these keys while you are not typing in a field.

Search⌘K
Cycle themeT
Cycle accentA
Cycle heading fontF
Cycle radiusR
Cycle sizeS
Cycle iconsI
Cycle hoverH
Toggle navigation[
Toggle properties]
Previous / next demo slide←→
Show shortcuts?
Skip to content
Open navigationClose navigation

Make them yours

Theme
SystemT
Accent
BlueA
Heading font
InterF
Radius
RoundedR
Size
DefaultS
Icons
LucideI
Hover
FluidH

Playground variant

Banner

Banner

A status notice with an icon, a title, an optional description and up to three actions.

Installation

Import from the Reflow workspace package.

Playground

Open demo

Statuses

Five statuses and two contrasts. Low colors the icon and high tints the whole banner.

Actions

Actions follow a one-line title and wrap beneath a description.

Fixed

The notice sits beneath the header while the content scrolls.

Custom icon

API Reference

Public props for the Reflow implementation. Native controls also accept their standard HTML attributes and Remix event mixes.

Banner

PropTypeDefaultDescription
childrenRemixNode—Child nodes to render inside the element.
status"default" | "info" | "success" | "warning" | "error"defaultSemantic status treatment.
contrast"low" | "high"lowContrast treatment of the status surface.
variant"inline" | "fixed"inlineVisual or layout treatment.
size"default" | "compact"—Control density or icon-button dimensions.
iconRemixNode—Icon content.
dismissibleboolean—Shows an action to dismiss the component.
dismissLabelstringDismissAccessible name of the dismiss action.
openboolean—Controlled visibility.
onDismiss(() => void)—Called after dismissal.

BannerAction

PropTypeDefaultDescription
activeboolean—Applies the active visual state.
disabledboolean—Prevents interaction and conveys the disabled state.
leadingIconRemixNode—Icon shown before the button label.
loadingboolean—Shows progress and prevents repeated activation.
size"default" | "compact" | "icon" | "icon-compact"—Control density or icon-button dimensions.
trailingIconRemixNode—Icon shown after the button label.
variant"primary" | "secondary" | "tertiary" | "ghost" | "destructive"—Visual or layout treatment.
childrenRemixNode—Child nodes to render inside the element.
typestring—The `type` HTML attribute.
hrefstring—Destination URL when rendered as a link.