children | - | ReactNode |
dir | "ltr" | "ltr" | "rtl" | undefined The document's text/writing direction. |
role | "dialog" | "dialog" | "alertdialog" | undefined The dialog's role |
aria-label | - | string | undefined Human readable label for the dialog, in event the dialog title is not rendered |
ids | - | Partial<{ trigger: string; positioner: string; backdrop: string; content: string; closeTrigger: string; title: string; description: string; }> | undefined The ids of the elements in the dialog. Useful for composition. |
trapFocus | true | boolean | undefined Whether to trap focus inside the dialog when it's opened |
preventScroll | true | boolean | undefined Whether to prevent scrolling behind the dialog when it's opened |
modal | true | boolean | undefined Whether to prevent pointer interaction outside the element and hide all content below it |
initialFocusEl | - | (() => MaybeElement) | undefined Element to receive focus when the dialog is opened |
finalFocusEl | - | (() => MaybeElement) | undefined Element to receive focus when the dialog is closed |
restoreFocus | - | boolean | undefined Whether to restore focus to the element that had focus before the dialog was opened |
closeOnInteractOutside | true | boolean | undefined Whether to close the dialog when the outside is clicked |
closeOnEscape | true | boolean | undefined Whether to close the dialog when the escape key is pressed |
open | - | boolean | undefined The controlled open state of the dialog |
defaultOpen | false | boolean | undefined The initial open state of the dialog when rendered.
Use when you don't need to control the open state of the dialog. |
onOpenChange | - | ((details: OpenChangeDetails) => void) | undefined Function to call when the dialog's open state changes |
getRootNode | - | (() => Node | ShadowRoot | Document) | undefined A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron. |
onEscapeKeyDown | - | ((event: KeyboardEvent) => void) | undefined Function called when the escape key is pressed |
onRequestDismiss | - | ((event: LayerDismissEvent) => void) | undefined Function called when this layer is closed due to a parent layer being closed |
onPointerDownOutside | - | ((event: PointerDownOutsideEvent) => void) | undefined Function called when the pointer is pressed down outside the component |
onFocusOutside | - | ((event: FocusOutsideEvent) => void) | undefined Function called when the focus is moved outside the component |
onInteractOutside | - | ((event: InteractOutsideEvent) => void) | undefined Function called when an interaction happens outside the component |
persistentElements | - | (() => Element | null)[] | undefined Returns the persistent elements that:
- should not have pointer-events disabled
- should not trigger the dismiss event |