Dialog
A modal dialog: a centered panel over a dimmed, blurred backdrop, with a title, an optional description, a body for real content like a form, and right-aligned actions. Use it for a focused task that warrants interrupting the page; reach for the Alert Dialog for a terse yes/no confirmation.
On light glass, the description and currency prefix use the stronger foreground color. For custom body content, use the default Typography foreground for message copy over the dimmed background.
Browser Escape and iOS accessibility escape cancel the foremost open child overlay before the dialog. Cancelling the dialog calls onCancel and requests open=false, including destructive dialogs and dialogs with custom children. A controlled owner may keep it open; that request never confirms an action.
Pass dismissible to let a backdrop press follow the same cancel policy. It is off by default, so existing dialogs and destructive confirmations keep their current outside-press behavior. The scrim is excluded from keyboard navigation.
iOS
Android
Web
tsx
Default
Dismissible
Extra small
Small
Medium
Large
Wide
Destructive action
Props
Do & Don’t
When to use
Don’t
A bare yes/no question does not need the roomier Dialog; that is what the Alert Dialog is for.
Do
Edit profile
Update how your name and email appear to teammates.
Name
Email
Use the Dialog for a focused task with real content, like a short form.
Description
Don’t
A multi-sentence policy dump in the description buries the task under reading.
Do
Refund payment
The refund posts to the original card in 2 to 3 business days.
Keep the description to one supporting line; link out for the full policy.
Body form
Don’t
A seven-field form crammed into a small dialog feels like a page stuffed into a popup.
Do
Create project
Name
Key
Keep the body to the few fields the task needs; send long forms to a full page.
Actions
Don’t
Three look-alike primary buttons give no signal about the default, safe choice.
Do
Unsaved changes
You have edits that are not saved.
One primary plus quieter secondaries, right-aligned and labeled with their verb.
Destructive action
Don’t
A red button on a routine Save trains users to ignore the colour that should mean danger.
Do
Delete workspace
This removes all projects and cannot be undone.
Reserve the destructive tone for the irreversible action it names.
Size
Don’t
A 2xl panel around a single field leaves a vast empty expanse beside the input.
Do
Rename
Name
Size the dialog to its content: a single field belongs in xs or sm.