Dialog
Carbon's Modal, re-implemented on Radix Dialog. Three sizes (sm / md / lg) matching Carbon's spec. Includes Header / Body / Footer sub-parts so the layout is consistent across consumers.
Live playground
Edit the JSX below — preview updates instantly. Switch brand × tone in the toolbar to see the same component re-themed in place.
Edit JSX — preview updates livereact-live
import { Dialog, DialogBody, DialogClose, DialogContent } from "@avala/design"; <Dialog size="md"> <DialogBody /> <DialogClose /> <DialogContent /> </Dialog>
All variants
The Storybook stories file rendered as an iframe — every variant, every size, every state, baselined for visual regression.
primitives-dialog--defaultOpen in Storybook →
When to use
- General-purpose modals: configuration forms, multi-step flows, inline editors, large content overlays.
- The user can dismiss via Escape, scrim click, or the close button.
When not to use
- Destructive / blocking confirmations the user must answer → use `AlertDialog`.
- Edge-anchored slide-out panels → use `Sheet`.
- Tiny inline overlays anchored to a trigger → use `Popover` or `Tooltip`.