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

Button

Button

A button with a weight shift on hover, a surface that contracts on press, and a loading state.

Installation

Import from the Reflow workspace package.

Playground

Open demo

Variants

With Icons

Loading & Disabled

The first button starts a brief loading state when clicked.

Sizes

API Reference

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

Button

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"primaryVisual or layout treatment.
childrenRemixNode—Child nodes to render inside the element.
typestring—The `type` HTML attribute.
hrefstring—Destination URL when rendered as a link.