Alert Dialog
A modal window that alerts users with important information and awaits their acknowledgment or action.
Structure
API Reference
The root component used to set and manage the state of the alert dialog.
Property | Type | Description |
---|---|---|
preventScroll | boolean | Whether or not to prevent scroll on the body when the alert dialog is open. Default: true |
closeOnEscape | boolean | Whether to close the alert dialog when the escape key is pressed. Default: true |
closeOnOutsideClick | boolean | Whether to close the alert dialog when a click occurs outside of it. Default: false |
open | boolean | Whether or not the alert dialog is open. Default: false |
onOpenChange | function (open: boolean) => void | A callback function called when the open state changes. Default: —— undefined |
openFocus | FocusProp type FocusTarget = string | HTMLElement | SVGElement | null; | Override the initial focus when the alert dialog is opened. Default: —— undefined |
closeFocus | FocusProp type FocusTarget = string | HTMLElement | SVGElement | null; | Override the focus when the alert dialog is closed. Default: —— undefined |
portal | union string | HTMLElement | null | undefined | Where to render the alert dialog when it is open. Defaults to the body. Can be disabled by passing Default: —— undefined |
onOutsideClick | function (event: PointerEvent) => void | A callback function called when a click occurs outside of the element. If Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
ids | object Record | The ids of the elements within the component, useful when you don't necessarily want to provide a custom ID, but still want access to the ID being assigned (if any). |
The element which opens the alert dialog on press.
Property | Type | Description |
---|---|---|
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLButtonElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-alert-dialog-trigger | —— | Present on the trigger. |
The content displayed within the alert dialog modal.
Property | Type | Description |
---|---|---|
transition | function (node: Element, params?: any) => TransitionConfig | A Svelte transition function to use when transitioning the content in and out. Default: —— undefined |
transitionConfig | TransitionConfig | The configuration to apply to the transition. Default: —— undefined |
inTransition | function (node: Element, params?: any) => TransitionConfig | A Svelte transition function to use when transitioning the content in and out. Default: —— undefined |
inTransitionConfig | TransitionConfig | The configuration to apply to the transition. Default: —— undefined |
outTransition | function (node: Element, params?: any) => TransitionConfig | A Svelte transition function to use when transitioning the content in and out. Default: —— undefined |
outTransitionConfig | TransitionConfig | The configuration to apply to the transition. Default: —— undefined |
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-state | enum 'open' | 'closed' | The state of the alert dialog. |
data-alert-dialog-content | —— | Present on the content. |
An overlay which covers the body when the alert dialog is open.
Property | Type | Description |
---|---|---|
transition | function (node: Element, params?: any) => TransitionConfig | A Svelte transition function to use when transitioning the content in and out. Default: —— undefined |
transitionConfig | TransitionConfig | The configuration to apply to the transition. Default: —— undefined |
inTransition | function (node: Element, params?: any) => TransitionConfig | A Svelte transition function to use when transitioning the content in and out. Default: —— undefined |
inTransitionConfig | TransitionConfig | The configuration to apply to the transition. Default: —— undefined |
outTransition | function (node: Element, params?: any) => TransitionConfig | A Svelte transition function to use when transitioning the content in and out. Default: —— undefined |
outTransitionConfig | TransitionConfig | The configuration to apply to the transition. Default: —— undefined |
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-state | enum 'open' | 'closed' | The state of the alert dialog. |
data-alert-dialog-overlay | —— | Present on the overlay. |
A portal which renders the alert dialog into the body when it is open.
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-portal | —— | Present if the |
data-alert-dialog-portal | —— | Present on the portal. |
A button used to close the alert dialog by taking an action.
Property | Type | Description |
---|---|---|
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLButtonElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-alert-dialog-action | —— | Present on the action button. |
A button used to close the alert dialog without taking an action.
Property | Type | Description |
---|---|---|
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLButtonElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-alert-dialog-cancel | —— | Present on the cancel button. |
An accessibile title for the alert dialog.
Property | Type | Description |
---|---|---|
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLHeadingElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
level | enum 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | The heading level of the title. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-alert-dialog-title | —— | Present on the title. |
An accessibile description for the alert dialog.
Property | Type | Description |
---|---|---|
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-alert-dialog-description | —— | Present on the description. |
Examples
Controlled
If you want to control or be aware of the open
state of the dialog from outside of the component, bind to the open
prop.