Dialog
Modal overlay dialog. Use the high-level wrapper for quick usage, or compose individual styled parts with a raw base-ui Root for full control.
Dialog
base-ui docs ↗Modal overlay dialog with title, description, body, and footer slots.
Wraps @base-ui/react Dialog with a pre-styled backdrop, popup, and
close button. Use footerStart for a macOS-style left-aligned
destructive action.
| Prop | Type | Default |
|---|---|---|
| open | boolean | — |
Controlled open state. | ||
| defaultOpen | boolean | — |
Whether the dialog is initially open (uncontrolled). | ||
| onOpenChange | ((open: boolean, eventDetails: unknown) => void) | — |
Called when the dialog opens or closes. | ||
| trigger | ReactElement<unknown, string | JSXElementConstructor<any>> | — |
Element that opens the dialog when clicked. | ||
| title | ReactNode | — |
Heading rendered at the top of the dialog. | ||
| description | ReactNode | — |
Supplementary text below the title. | ||
| footer | ReactNode | — |
Buttons aligned to the right (cancel, confirm). | ||
| footerStart | ReactNode | — |
Content anchored to the left of the footer — intended for a destructive | ||
| className | string | — |
| dismissible | boolean | true |
Whether the dialog can be closed by clicking the backdrop or pressing Escape. | ||
Styled Parts
base-ui docs ↗Pre-styled wrappers around the corresponding base-ui parts. All base-ui props are forwarded.
CSS Class Names
Available as keys on the DialogStyles object. Each key maps to a hashed CSS module class name at runtime.
backdropbodyclosedescriptionfooterfooter-endfooter-splitheaderpopuptitle