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

Dialog

Dialog

A native modal dialog with focus return and animated presentation.

Installation

Import from the Reflow workspace package.

Create teamspace

Add a new teamspace to organize your projects and collaborate with your team.

Sizes

Small dialog

400px: a confirmation, 1 field, a short message.

Large dialog

540px: a short form, or a longer confirmation.

Extra large dialog

880px: 2 columns, a table, or a sidebar beside a panel.

With a sidebar

Settings

General
Notifications
Appearance
Security
Members

General

Workspace name, language, and region.

Language

Used for the interface and emails.

English
Français
Deutsch
日本語
Timezone

Dates and reminders follow it.

(UTC−8) Pacific
(UTC−5) Eastern
(UTC+0) London
(UTC+1) Paris
(UTC+9) Tokyo

API Reference

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

Dialog

PropTypeDefaultDescription
triggerVariantButtonProps["variant"]—Visual treatment of the opening button.
triggerSizeButtonProps["size"]—Size of the opening button.
triggerRemixNode—Contents of the button that opens the dialog.
title*string—Heading displayed by the component.
descriptionstring—Additional explanatory text.
childrenRemixNode—Content rendered inside the component.
footerRemixNode | ((close: () => void) => RemixNode)—Render footer actions with a callback that requests dismissal.
size"sm" | "lg" | "xl"—Control density or icon-button dimensions.
position"center" | "top"—Vertical placement in the viewport.
openboolean—Controlled visibility.
defaultOpenboolean—Initial visibility.
onOpenChange((open: boolean) => void)—Called when visibility changes.
showCloseButtonbooleantrueShows the close affordance.
dismissOnBackdropbooleantrueAllows a click on the backdrop to dismiss the dialog.
modalboolean—Uses modal focus and background interaction behavior.