Dialog
Dialog is a floating surface used to display transient content such as confirmation actions, selection options, and more.
On this page
Description
A Dialog
is used to remove the user from the main application flow,
to confirm actions, ask for disambiguation or to present small forms.
Accessibility
- Dialog Accessible Name: A dialog should have an accessible name,
so screen readers are aware of the purpose of the dialog when it opens.
Give an accessible name setting
:title
. The accessible name will be used as the main heading inside the dialog. - Dialog unique id: A dialog should be unique. Give a unique id
setting
:dialog_id
. If no:dialog_id
is given, a default randomize hex id is generated.
The combination of both :title
and :dialog_id
establishes an
aria-labelledby
relationship between the title and the unique id of
the dialog.
Arguments
Name | Type | Default | Description |
---|---|---|---|
id | String |
| The id of the dialog. |
title | String | N/A | Describes the content of the dialog. |
subtitle | String |
| Provides additional context for the dialog, also setting the |
size | Symbol |
| The size of the dialog. One of |
position | Symbol |
| The position of the dialog. One of |
position_narrow | Symbol |
| The position of the dialog when narrow. One of |
visually_hide_title | Boolean |
| If true will hide the heading title, while still making it available to Screen Readers. |
disable_scroll | Boolean |
| When true, disables scrolling the page when the dialog is open. |
system_arguments | Hash | N/A |
Examples
Slots
show_button
Optional button to open the dialog.
Name | Type | Default | Description |
---|---|---|---|
system_arguments | Hash | N/A | The same arguments as Button. |
header
Header content.
Name | Type | Default | Description |
---|---|---|---|
show_divider | Boolean | N/A | Show a divider between the header and body. |
visually_hide_title | Boolean | N/A | Visually hide the |
system_arguments | Hash | N/A | The arguments accepted by Dialog::Header. |
body
Required body content.
Name | Type | Default | Description |
---|---|---|---|
system_arguments | Hash | N/A |
footer
Footer content.
Name | Type | Default | Description |
---|---|---|---|
show_divider | Boolean | N/A | Show a divider between the footer and body. |
system_arguments | Hash | N/A |
Methods
id
The dialog's ID value.
Dialog::Header
A Dialog::Header
is a compositional component, used to render the
Header of a dialog. See Dialog.
Arguments
Name | Type | Default | Description |
---|---|---|---|
id | String | N/A | The HTML element's ID value. |
title | String | N/A | Describes the content of the dialog. |
subtitle | String |
| Provides additional context for the dialog, also setting the |
show_divider | Boolean |
| Show a divider between the header and body. |
visually_hide_title | Boolean |
| Visually hide the |
variant | Symbol |
| One of |
system_arguments | Hash | N/A |
Slots
filter
Optional filter slot for adding a filter input to the header.
Name | Type | Default | Description |
---|---|---|---|
system_arguments | Hash | N/A |
subtitle
Optional subtitle slot for adding a subtitle to the header.
Name | Type | Default | Description |
---|---|---|---|
system_arguments | Hash | N/A |
Dialog::Body
A Dialog::Body
is a compositional component, used to render the
Body of a dialog. See Dialog.
Arguments
Name | Type | Default | Description |
---|---|---|---|
system_arguments | Hash | N/A |
Dialog::Footer
A Dialog::Footer
is a compositional component, used to render the
Footer of a dialog. See Dialog.
Arguments
Name | Type | Default | Description |
---|---|---|---|
show_divider | Boolean |
| Show a divider between the footer and body. |
system_arguments | Hash | N/A |