Dialog
Dialogs inform users about a task and can contain critical information, require decisions, or involve multiple tasks.
useDialogClose API
Import
import { useDialogClose } from '@base_ui/react/Dialog';| Name | Type | Description |
|---|---|---|
| onOpenChange* | (open: boolean) => void | Callback invoked when the dialog is being opened or closed. |
| open* | boolean | Determines whether the dialog is open. |
| Name | Type | Description |
|---|---|---|
| getRootProps | (externalProps: React.HTMLAttributes<any>) => React.HTMLAttributes<any> | Resolver for the root element props. |
useDialogPopup API
Import
import { useDialogPopup } from '@base_ui/react/Dialog';| Name | Type | Default | Description |
|---|---|---|---|
| animated* | boolean | - | If |
| descriptionElementId* | string | undefined | - | The id of the description element associated with the dialog. |
| isTopmost* | boolean | - | Determines if the dialog is the top-most one. |
| modal* | boolean | - | Determines if the dialog is modal. |
| onOpenChange* | (open: boolean) => void | - | Callback fired when the dialog is requested to be opened or closed. |
| open* | boolean | - | Determines if the dialog is open. |
| ref* | React.Ref<HTMLElement> | - | The ref to the dialog element. |
| setPopupElementId* | (id: string | undefined) => void | - | Callback to set the id of the popup element. |
| titleElementId* | string | undefined | - | The id of the title element associated with the dialog. |
| dismissible | boolean | true | Determines whether the dialog should close when clicking outside of it. |
| id | string | - | The id of the dialog element. |
| Name | Type | Description |
|---|---|---|
| floatingContext | FloatingContext | Floating UI context for the dialog's FloatingFocusManager. |
| getRootProps | (externalProps: React.ComponentPropsWithRef<'div'>) => React.ComponentPropsWithRef<'div'> | Resolver for the root element props. |
| mounted | boolean | Determines if the dialog should be mounted even if closed (as the exit animation is still in progress). |
| transitionStatus | TransitionStatus | The current transition status of the dialog. |
useDialogRoot API
Import
import { useDialogRoot } from '@base_ui/react/Dialog';| Name | Type | Default | Description |
|---|---|---|---|
| animated | boolean | true | If |
| defaultOpen | boolean | - | Determines whether the dialog is initally open. This is an uncontrolled equivalent of the |
| dismissible | boolean | true | Determines whether the dialog should close when clicking outside of it. |
| modal | boolean | true | Determines whether the dialog is modal. |
| onNestedDialogClose | () => void | - | Callback to invoke when a nested dialog is closed. |
| onNestedDialogOpen | (ownChildrenCount: number) => void | - | Callback to invoke when a nested dialog is opened. |
| onOpenChange | (open: boolean) => void | - | Callback invoked when the dialog is being opened or closed. |
| open | boolean | - | Determines whether the dialog is open. |
| Name | Type | Description |
|---|---|---|
| descriptionElementId | string | undefined | The id of the description element associated with the dialog. |
| modal | boolean | Determines if the dialog is modal. |
| nestedOpenDialogCount | number | Number of nested dialogs that are currently open. |
| onOpenChange | (open: boolean) => void | Callback to fire when the dialog is requested to be opened or closed. |
| open | boolean | Determines if the dialog is open. |
| popupElementId | string | undefined | The id of the popup element. |
| setBackdropPresent | (present: boolean) => void | Callback to notify the dialog that the backdrop is present. |
| setDescriptionElementId | (elementId: string | undefined) => void | Callback to set the id of the description element associated with the dialog. |
| setPopupElementId | (elementId: string | undefined) => void | Callback to set the id of the popup element. |
| setTitleElementId | (elementId: string | undefined) => void | Callback to set the id of the title element. |
| titleElementId | string | undefined | The id of the title element associated with the dialog. |
| onNestedDialogClose? | () => void | Callback to invoke when a nested dialog is closed. |
| onNestedDialogOpen? | (ownChildrenCount: number) => void | Callback to invoke when a nested dialog is opened. |
useDialogTrigger API
Import
import { useDialogTrigger } from '@base_ui/react/Dialog';| Name | Type | Description |
|---|---|---|
| onOpenChange* | (open: boolean) => void | Callback to fire when the dialog is requested to be opened or closed. |
| open* | boolean | Determines if the dialog is open. |
| popupElementId* | string | undefined | The id of the popup element. |
| Name | Type | Description |
|---|---|---|
| getRootProps | (externalProps?: React.HTMLAttributes<any>) => React.HTMLAttributes<any> | Resolver for the root element props. |