AlertDialog
Molecule
Catalyst-style confirmation dialog: a centered panel over a dimmed backdrop, which glass on the web also blurs, with a title, description, optional body, and action buttons. Reserve it for decisions that must block the rest of the app.
Playground
Every control sets a real prop of AlertDialogProps. The JSX below updates as you go.
Web
iOS
Android
JSX · AlertDialogProps
Variants
5 examples from src/molecules/alert-dialog/alert-dialog.md, each rendered live from its own JSX.
Anatomy
1
Scrim
2
Panel
3
Icon
4
Title
5
Description
6
Actions
Dimmed parts appear only in some states or variants.
Props
19 props on AlertDialogProps, grouped as they are declared in source. Required props are marked *.
Accessibility and keyboard
Keyboard
Tab
Shift+Tab
Cycles focus inside the panel
Escape
Closes when dismissible
Enter
Confirms in forms
Semantics
Roles
alertdialog
button
heading
States
disabled
ARIA on web
aria-describedby
aria-disabled
aria-labelledby
aria-modal
From the docs
Browser Escape and iOS accessibility escape cancel the dialog, clear its confirmation field and request open=false. The confirmation text gates only the confirm action; cancellation remains available while confirm is disabled. An open child overlay handles dismissal first. A controlled owner can refuse closure without passing that request to a parent or calling onConfirm.
Platform skins
The playground's props on each platform: same tree, native shapes, type and touch sizes.
Usage
On the web and Android the panel leads with a tone tile (a trash glyph on the destructive wash, otherwise an info glyph on the accent's), then a display title over its description, and closes on two equal buttons: a secondary Cancel and the primary or destructive confirm. On iOS it is the system alert: centered text over a two-cell action row under a hairline, the confirm in the error ink when destructive.
Tokens
Read from the playground render. Values follow the scheme and the ion hue.
--bad
--bad-fg
--bad-soft
--bf
--bg2
--bls
--bw
--f-dp
--fd
--ft
--gl
--hl
--ln
--ln2
--scrim
--sf3
--sh-lg
--tx
--tx2