Se trata de una ventana emergente o pop-up y se emplean cuando queremos centrar toda la atención en cierta información, generalmente, cuando se requiere alguna acción antes de continuar con el proceso.
Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas.
Mostrar códigodel ejemplo: Por defecto
Contenido
Nunjucks macro
{%from"components/modal/_macro.modal.njk" import componentModal %}{{ componentModal({
"id": "default-example",
"title": {
"text": "Aviso"
},
"description": {
"text": "Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas."
},
"itemsPrimary": [
{
"text": "De acuerdo, continuar",
"classes": "c-button--primary"
}
],
"isDismissible": true
}) }}
HTML
<!-- modal --><divid="default-example"class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded-sm bg-white"><h2id="label-default-example"class="c-h2 px-base text-center focus:outline-hidden focus:underline"tabindex="-1">
Aviso
</h2><pclass="c-p my-base text-center">
Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas.
</p><divclass="flex flex-wrap gap-sm w-full justify-center"><divclass="mt-sm"><!-- button --><buttonclass="c-button c-button--primary">
De acuerdo, continuar
</button><!-- /button --></div></div><divclass="absolute top-0 right-0 p-sm lg:p-base"><buttononclick="closeDialog(this)"class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-hidden"aria-label="X: Cerrar la ventana emergente"type="button"><svgxmlns="http://www.w3.org/2000/svg"viewBox="0 0 140 140"width="1em"height="1em"class="w-4 h-4"aria-hidden="true"role="presentation"><pathd="M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z"fill="currentColor" /></svg></button></div></div><!-- /modal -->
Si quieres que las acciones muestren un Button loader en vez de un botón normal, utiliza el parámetro 'isButtonLoader': true.
Aviso
Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas.
Mostrar códigodel ejemplo: Con button loader
Contenido
Nunjucks macro
{%from"components/modal/_macro.modal.njk" import componentModal %}{{ componentModal({
"id": "button-loader-example",
"title": {
"text": "Aviso"
},
"description": {
"text": "Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas."
},
"itemsPrimary": [
{
"text": "De acuerdo, continuar",
"isButtonLoader": true,
"state": "is-loading",
"classes": "c-button-loader--primary c-button-loader--is-loading"
}
],
"isDismissible": true
}) }}
Usa el parámetro 'headingLevel' para establecer el nivel del encabezado. Por ejemplo: 'headingLevel': 3 creará un encabezado <h3>.
Esto es un h3
Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas.
Mostrar códigodel ejemplo: Con encabezado de nivel 3
Contenido
Nunjucks macro
{%from"components/modal/_macro.modal.njk" import componentModal %}{{ componentModal({
"id": "headinglevel-example",
"title": {
"text": "Esto es un h3"
},
"headingLevel": 3,
"description": {
"text": "Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas."
},
"itemsPrimary": [
{
"text": "De acuerdo, continuar",
"classes": "c-button--primary"
}
],
"isDismissible": true
}) }}
HTML
<!-- modal --><divid="headinglevel-example"class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded-sm bg-white"><h3id="label-headinglevel-example"class="c-h2 px-base text-center focus:outline-hidden focus:underline"tabindex="-1">
Esto es un h3
</h3><pclass="c-p my-base text-center">
Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas.
</p><divclass="flex flex-wrap gap-sm w-full justify-center"><divclass="mt-sm"><!-- button --><buttonclass="c-button c-button--primary">
De acuerdo, continuar
</button><!-- /button --></div></div><divclass="absolute top-0 right-0 p-sm lg:p-base"><buttononclick="closeDialog(this)"class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-hidden"aria-label="X: Cerrar la ventana emergente"type="button"><svgxmlns="http://www.w3.org/2000/svg"viewBox="0 0 140 140"width="1em"height="1em"class="w-4 h-4"aria-hidden="true"role="presentation"><pathd="M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z"fill="currentColor" /></svg></button></div></div><!-- /modal -->
Las acciones primarias deberán ser botones primarios y aparecer a la izquierda. Las acciones secundarias deberán ser botones por defecto y aparecer a la derecha. Si la acción es destructiva, entonces se invierte el orden y la acción principal destructiva aparece a la derecha con el modificador de Botón alerta.
Editar servicio publicado
Actualmente este servicio está publicado.
Los cambios realizados no serán visibles hasta que sean validados
Mostrar códigodel ejemplo: Con acción secundaria
Contenido
Nunjucks macro
{%from"components/modal/_macro.modal.njk" import componentModal %}{{ componentModal({
"id": "secondary-action-example",
"title": {
"text": "Editar servicio publicado"
},
"description": {
"html": "<p>Actualmente este servicio está publicado.</p><p>Los cambios realizados no serán visibles hasta que sean validados</p>"
},
"itemsPrimary": [
{
"text": "Editar servicio",
"classes": "c-button--primary"
}
],
"itemsSecondary": [
{
"html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
}
],
"isDismissible": true
}) }}
No es muy común, pero si lo necesitas, puedes usar varios botones en la zona de acciones primarias (a la izquierda) y de secundarias (a la derecha). Usando las clases modificadores de botones podrás darles la apariencia que desees.
Aviso
Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas.
Mostrar códigodel ejemplo: Con muchas acciones
Contenido
Nunjucks macro
{%from"components/modal/_macro.modal.njk" import componentModal %}{{ componentModal({
"id": "many-actions-example",
"title": {
"text": "Aviso"
},
"description": {
"text": "Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas."
},
"itemsPrimary": [
{
"text": "Guardar cambios y publicar",
"classes": "c-button--primary"
},
{
"text": "Guardar cambios"
}
],
"itemsSecondary": [
{
"text": "Más información",
"classes": "c-button--transparent"
},
{
"html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
}
],
"isDismissible": true,
"classes": "max-w-4xl"
}) }}
HTML
<!-- modal --><divid="many-actions-example"class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded-sm bg-white max-w-4xl"><h2id="label-many-actions-example"class="c-h2 px-base text-center focus:outline-hidden focus:underline"tabindex="-1">
Aviso
</h2><pclass="c-p my-base text-center">
Estamos realizando labores de mantenimiento en el sistema. Es posible que algunos procesos tarden más de lo esperado. Rogamos disculpas.
</p><divclass="flex flex-wrap gap-sm w-full justify-between"><ulclass="flex flex-wrap gap-sm"><li><!-- button --><buttonclass="c-button c-button--primary">
Guardar cambios y publicar
</button><!-- /button --></li><li><!-- button --><buttonclass="c-button">
Guardar cambios
</button><!-- /button --></li></ul><ulclass="flex flex-wrap gap-sm"><li><!-- button --><buttonclass="c-button c-button--transparent">
Más información
</button><!-- /button --></li><li><!-- button --><buttonclass="c-button">
Cancelar <spanclass="sr-only">y cerrar la ventana modal</span></button><!-- /button --></li></ul></div><divclass="absolute top-0 right-0 p-sm lg:p-base"><buttononclick="closeDialog(this)"class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-hidden"aria-label="X: Cerrar la ventana emergente"type="button"><svgxmlns="http://www.w3.org/2000/svg"viewBox="0 0 140 140"width="1em"height="1em"class="w-4 h-4"aria-hidden="true"role="presentation"><pathd="M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z"fill="currentColor" /></svg></button></div></div><!-- /modal -->
Utiliza el parámetro "icon" y su parámetro "html" para añadir código HTML de un icono SVG inline. Utiliza los atributos de la etiqueta <svg> de este ejemplo, incluido el aria-label.
¿Estás seguro de querer cambiar de estado a múltiples archivos?
Si el contenido de la modal es muy extenso, hay que alinear los textos a la izquierda para mejorar la accesibilidad.
Acabas de seleccionar una gran cantidad de archivos. Si ejecutas la acción, el proceso puede tardar varios minutos. Durante el proceso no cierres la ventana del navegador ni naveges a otra página en esta pestaña.
¿Estás seguro de iniciar el proceso ahora?
Mostrar códigodel ejemplo: Con icono personalizado
Contenido
Nunjucks macro
{%from"components/modal/_macro.modal.njk" import componentModal %}{{ componentModal({
"id": "custom-icon-example",
"title": {
"text": "¿Estás seguro de querer cambiar de estado a múltiples archivos?",
"classes": "c-h2 mt-base focus:outline-hidden focus:underline"
},
"description": {
"html": "<p class='c-paragraph-base'>Si el contenido de la modal es muy extenso, hay que alinear los textos a la izquierda para mejorar la accesibilidad.</p><p class='c-paragraph-base'>Acabas de seleccionar una gran cantidad de archivos. Si ejecutas la acción, el proceso puede tardar varios minutos. Durante el proceso <strong>no cierres la ventana del navegador ni naveges a otra página</strong> en esta pestaña.</p><p>¿Estás seguro de iniciar el proceso ahora?</p>",
"classes": "mb-lg text-left"
},
"itemsPrimary": [
{
"text": "Si, comenzar proceso",
"classes": "c-button--primary"
}
],
"itemsSecondary": [
{
"html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
}
],
"isDismissible": true,
"icon": {
"html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='1em' height='1em' class='block w-16 h-16 text-primary-light' aria-label='Pregunta' focusable='false'><path d='M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.92,1,1,0,0,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.25a1,1,0,0,1-2,0,4,4,0,1,1,5.6,3.67Z' fill='currentColor'></path></svg>"
}
}) }}
HTML
<!-- modal --><divid="custom-icon-example"class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded-sm bg-white"><divclass="flex justify-center p-base"><svgxmlns="http://www.w3.org/2000/svg"viewBox="0 0 24 24"width="1em"height="1em"class="block w-16 h-16 text-primary-light"aria-label="Pregunta"focusable="false"><pathd="M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.92,1,1,0,0,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.25a1,1,0,0,1-2,0,4,4,0,1,1,5.6,3.67Z"fill="currentColor"></path></svg></div><h2id="label-custom-icon-example"class="c-h2 mt-base focus:outline-hidden focus:underline"tabindex="-1">
¿Estás seguro de querer cambiar de estado a múltiples archivos?
</h2><divclass="mb-lg text-left"><pclass="c-paragraph-base">Si el contenido de la modal es muy extenso, hay que alinear los textos a la izquierda para mejorar la accesibilidad.</p><pclass="c-paragraph-base">Acabas de seleccionar una gran cantidad de archivos. Si ejecutas la acción, el proceso puede tardar varios minutos. Durante el proceso <strong>no cierres la ventana del navegador ni naveges a otra página</strong> en esta pestaña.</p><p>¿Estás seguro de iniciar el proceso ahora?</p></div><divclass="flex flex-wrap gap-sm w-full justify-between"><divclass="mt-sm"><!-- button --><buttonclass="c-button c-button--primary">
Si, comenzar proceso
</button><!-- /button --></div><divclass="mt-sm"><!-- button --><buttonclass="c-button">
Cancelar <spanclass="sr-only">y cerrar la ventana modal</span></button><!-- /button --></div></div><divclass="absolute top-0 right-0 p-sm lg:p-base"><buttononclick="closeDialog(this)"class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-hidden"aria-label="X: Cerrar la ventana emergente"type="button"><svgxmlns="http://www.w3.org/2000/svg"viewBox="0 0 140 140"width="1em"height="1em"class="w-4 h-4"aria-hidden="true"role="presentation"><pathd="M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z"fill="currentColor" /></svg></button></div></div><!-- /modal -->