DialogDiálogo
El componente Diálogo se usa para mostrar avisos importantes durante las acciones del usuario.
Además de usar el componente directamente, mdui también ofrece cuatro funciones: mdui.dialog, mdui.alert, mdui.confirm, mdui.prompt. Estas funciones facilitan el uso del componente Diálogo.
Uso
Importa el componente cuando lo necesites:
import 'mdui/components/dialog.js';
Importa el tipo TypeScript cuando lo necesites:
import type { Dialog } from 'mdui/components/dialog.js';
Uso:
<mdui-dialog class="example-dialog">
Diálogo
<mdui-button>Cerrar</mdui-button>
</mdui-dialog>
<mdui-button>Abrir diálogo</mdui-button>
<script>
const dialog = document.querySelector(".example-dialog");
const openButton = dialog.nextElementSibling;
const closeButton = dialog.querySelector("mdui-button");
openButton.addEventListener("click", () => dialog.open = true);
closeButton.addEventListener("click", () => dialog.open = false);
</script>Ejemplos
Cerrar al hacer clic en la superposición
Si añades el atributo close-on-overlay-click, el diálogo se cerrará al hacer clic en la superposición.
Cerrar al presionar la tecla ESC
Si añades el atributo close-on-esc, el diálogo se cerrará al pulsar la tecla ESC.
Pantalla completa
El atributo fullscreen hace que el diálogo se muestre en pantalla completa.
Icono
Si usas el atributo icon, se añadirá un icono de Material Icons en la parte superior del diálogo.
También puedes añadir un elemento de icono en la parte superior del diálogo mediante el slot icon.
Título y descripción
Los atributos headline y description para establecer el título y la descripción del diálogo.
También puedes usar los slots headline y description para establecer el elemento del título y el elemento de la descripción del diálogo.
Botones de acción en la parte inferior
También puedes añadir botones de acción en la parte inferior mediante el slot action.
El atributo stacked-actions hace que los botones de acción en la parte inferior se apilen verticalmente.
Contenido superior
Puedes establecer el contenido superior del diálogo mediante el slot header.
API
Propiedades
| Atributo | Propiedad | Reflect | Tipo | Predeterminado |
|---|---|---|---|---|
icon | icon | string | - | |
Nombre del icono de Material Icons en la parte superior. También se puede establecer mediante | ||||
headline | headline | string | - | |
Título. También se puede establecer mediante | ||||
description | description | string | - | |
Texto debajo del título. También se puede establecer mediante | ||||
open | open | boolean | false | |
Indica si el diálogo está abierto. | ||||
fullscreen | fullscreen | boolean | false | |
Indica si se muestra el diálogo en pantalla completa. | ||||
close-on-esc | closeOnEsc | boolean | false | |
Indica si se puede cerrar el diálogo con la tecla ESC. | ||||
close-on-overlay-click | closeOnOverlayClick | boolean | false | |
Indica si se puede cerrar el diálogo al hacer clic en la superposición. | ||||
stacked-actions | stackedActions | boolean | false | |
Indica si los botones de acción inferiores se apilan verticalmente. | ||||
Eventos
| Nombre |
|---|
open |
Se dispara cuando el diálogo comienza a abrirse. Se puede evitar que se abra llamando a |
opened |
Se dispara cuando la animación de apertura del diálogo se completa. |
close |
Se dispara cuando el diálogo comienza a cerrarse. Se puede evitar que se cierre llamando a |
closed |
Se dispara cuando la animación de cierre del diálogo se completa. |
overlay-click |
Se dispara al hacer clic en la superposición. |
Slots
| Nombre |
|---|
header |
Elemento superior, que contiene por defecto los slots |
icon |
Icono superior. |
headline |
Título superior. |
description |
Texto debajo del título. |
| (predeterminado) |
Contenido principal del diálogo. |
action |
Elementos en la barra de acciones inferior. |
CSS Parts
| Nombre |
|---|
overlay |
Superposición. |
panel |
Contenedor del diálogo. |
header |
Parte del encabezado del diálogo, que contiene icon y headline. |
icon |
Icono superior, ubicado en el encabezado. |
headline |
Título superior, ubicado en el encabezado. |
body |
Parte del cuerpo del diálogo. |
description |
Parte del texto secundario, ubicado en el cuerpo. |
action |
Botones de acción inferiores. |
CSS Custom Properties
| Nombre |
|---|
--shape-corner |
Tamaño de la esquina redondeada del componente. Se puede especificar un valor de píxel concreto; pero se recomienda hacer referencia a design tokens. |
--z-index |
Valor CSS |