Modal

Parámetros Nunjucks del componente: "Modal". Versión: 12.0.1

Los parámetros de Nunjucks para este componente están dentro de la siguiente etiqueta code en formato yaml.

        {"val":"params:\n- name: title\n  type: object\n  required: true\n  description: This is the title\n  - name: text\n    type: string\n    required: true\n    description: If `html` is set, this is not required. Text to use within the title. If `html` is provided, the `text` argument will be ignored.\n  - name: html\n    type: string\n    required: true\n    description: If `text` is set, this is not required. HTML to use within the title. If `html` is provided, the `text` argument will be ignored.\n  - name: classes\n    type: string\n    required: false\n    description: Classes to add to the item title.\n- name: headingLevel\n  type: number\n  required: false\n  description: If headingLevel is 1, the parent heading tag needed inside this component will be a h1, if 2 will be a h2, and so on.\n- name: description\n  type: object\n  required: true\n  description: This is the optional description under title\n  - name: text\n    type: string\n    required: true\n    description: If `html` is set, this is not required. Text to use within the title. If `html` is provided, the `text` argument will be ignored.\n  - name: html\n    type: string\n    required: true\n    description: If `text` is set, this is not required. HTML to use within the title. If `html` is provided, the `text` argument will be ignored.\n  - name: classes\n    type: string\n    required: false\n    description: Classes to add to the item description.\n- name: itemsPrimary\n  type: array\n  required: false\n  description: This is a list of primary action buttons (see button component params) placed left side from secondary items or centered if are alone. If additional item param `isButtonLoader` is `true` then a ButtonLoader component will be used.\n- name: itemsSecondary\n  type: array\n  required: false\n  description: This is a list of secondary action buttons (see button component params) placed right side from primary items or centered if are alone. If additional item param `isButtonLoader` is `true` then a ButtonLoader component will be used.\n- name: icon\n  type: object\n  required: false\n  description: This is the optional icon at left\n  - name: html\n    type: string\n    required: false\n    description: Use this html to insert a custom svg inline icon. If this is set, the type are not used.\n  - name: type\n    type: string\n    required: false\n    description: Predefined icon types are `discard`, `delete`, `edit`, `changes` and `publish`\n- name: isDismissible\n  type: boolean\n  required: false\n  description: If `true`, the modal shows a close icon on top right to close it.\n- name: id\n  type: string\n  required: true\n  description: Required id attribute to add to the div container tag.\n- name: classes\n  type: string\n  required: false\n  description: Classes to add to the div container tag.\n- name: attributes\n  type: object\n  required: false\n  description: HTML attributes (for example data attributes) to add to the div container tag.\n- name: caller\n  type: nunjucks-block\n  required: false\n  description: Not strictly a parameter but [Nunjucks code convention](https://mozilla.github.io/nunjucks/templating.html#call). Using a `call` block enables you to call a macro with all the text inside the tag. This is helpful if you want to pass a lot of content into a macro. To use it, you will need to wrap the entire item component in a `call` block.\n","length":3312}
      

Por defecto

Ejemplo: "Por defecto", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="default-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <h2 id="label-default-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Aviso
  </h2>
  <p class="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>
  <div class="flex flex-wrap gap-sm w-full justify-center">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--primary">
        De acuerdo, continuar
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Por defecto", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% 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
}) }}

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: 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
}) }}

Con button loader

Si quieres que las acciones muestren un Button loader en vez de un botón normal, utiliza el parámetro 'isButtonLoader': true.

Ejemplo: "Con button loader", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="button-loader-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <h2 id="label-button-loader-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Aviso
  </h2>
  <p class="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>
  <div class="flex flex-wrap gap-sm w-full justify-center">
    <div class="mt-sm">
      <!-- button-loader -->
      <button class="c-button-loader relative c-button-loader--primary c-button-loader--is-loading" data-module="c-button-loader">
        <span class="c-button-loader__spinner flex items-center justify-center absolute inset-0">
          <!-- spinner -->
          <span class="c-spinner " data-module="c-spinner">
            <span class="sr-only" role="alert" aria-live="assertive">
              Acción en curso
            </span>
          </span>
          <!-- /spinner -->
        </span>
        <span class="c-button-loader__success flex items-center justify-center absolute inset-0">
          <span class="sr-only" role="alert" aria-live="assertive">
          </span>
          <span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" aria-hidden="true" width="1em" height="1em">
              <path d="M13.714 42.857A6.857 6.857 0 0 1 8.4 40.183L.857 31.646a3.429 3.429 0 0 1 .309-4.869A3.429 3.429 0 0 1 6 27.12l7.063 7.989a.72.72 0 0 0 .617.308.789.789 0 0 0 .617-.274L42.103 6.206a3.429 3.429 0 0 1 4.937 4.731L18.926 40.526a6.651 6.651 0 0 1-5.212 2.331Z" fill="currentColor"></path>
            </svg></span>
        </span>
        <span class="c-button-loader__content inline-flex align-baseline">
          De acuerdo, continuar
        </span>
      </button>
      <!-- /button-loader -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con button loader", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% 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
}) }}

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
}) }}

Con encabezado de nivel 3

Usa el parámetro 'headingLevel' para establecer el nivel del encabezado. Por ejemplo: 'headingLevel': 3 creará un encabezado <h3>.

Ejemplo: "Con encabezado de nivel 3", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="headinglevel-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <h3 id="label-headinglevel-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Esto es un h3
  </h3>
  <p class="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>
  <div class="flex flex-wrap gap-sm w-full justify-center">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--primary">
        De acuerdo, continuar
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con encabezado de nivel 3", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% 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
}) }}

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
}) }}

Con acción secundaria

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.

Ejemplo: "Con acción secundaria", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="secondary-action-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <h2 id="label-secondary-action-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Editar servicio publicado
  </h2>
  <div class="c-paragraph-base my-base text-center">
    <p>Actualmente este servicio está publicado.</p>
    <p>Los cambios realizados no serán visibles hasta que sean validados</p>
  </div>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--primary">
        Editar servicio
      </button>
      <!-- /button -->
    </div>
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button">
        Cancelar <span class="sr-only">y cerrar la ventana modal</span>
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con acción secundaria", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% 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
}) }}

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
}) }}

Con caller

Entre {% call %} y {% endcall %} puedes insertar el contenido anidado que desees. Útil para anidar mucho contenido dentro del componente.

Ejemplo: "Con caller", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="caller-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <h2 id="label-caller-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Editar servicio publicado
  </h2>
  <div class="c-paragraph-base my-base text-center">
    <p>Actualmente este servicio está publicado.</p>
    <p>Los cambios realizados no serán visibles hasta que sean validados</p>
  </div>
  <div class="p-base">
    <div class='prose max-w-auto mx-auto'>
      <p class='text-center text-sm'>Para más información, ir a la <a href='#'>Página de ayuda</a></p>
    </div>
  </div>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--primary">
        Editar servicio
      </button>
      <!-- /button -->
    </div>
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button">
        Cancelar <span class="sr-only">y cerrar la ventana modal</span>
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con caller", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.


{% from "components/modal/_macro.modal.njk" import componentModal %}
{% call componentModal ("{\"id\":\"caller-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}") %}
<div class='prose max-w-auto mx-auto'><p class='text-center text-sm'>Para más información, ir a la <a href='#'>Página de ayuda</a></p></div>

{% endcall  %}

Editar servicio publicado

Actualmente este servicio está publicado.

Los cambios realizados no serán visibles hasta que sean validados

Para más información, ir a la Página de ayuda

Mostrar códigodel ejemplo: Con caller

Contenido

Nunjucks macro

{% from "components/modal/_macro.modal.njk" import componentModal %}
{% call componentModal({
  "id": "caller-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
}) %}
<div class='prose max-w-auto mx-auto'><p class='text-center text-sm'>Para más información, ir a la <a href='#'>Página de ayuda</a></p></div>
{% endcall  %}

Con muchas acciones

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.

Ejemplo: "Con muchas acciones", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="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 bg-white max-w-4xl">
  <h2 id="label-many-actions-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Aviso
  </h2>
  <p class="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>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <ul class="flex flex-wrap gap-sm">
      <li>
        <!-- button -->
        <button class="c-button c-button--primary">
          Guardar cambios y publicar
        </button>
        <!-- /button -->
      </li>
      <li>
        <!-- button -->
        <button class="c-button">
          Guardar cambios
        </button>
        <!-- /button -->
      </li>
    </ul>
    <ul class="flex flex-wrap gap-sm">
      <li>
        <!-- button -->
        <button class="c-button c-button--transparent">
          Más información
        </button>
        <!-- /button -->
      </li>
      <li>
        <!-- button -->
        <button class="c-button">
          Cancelar <span class="sr-only">y cerrar la ventana modal</span>
        </button>
        <!-- /button -->
      </li>
    </ul>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con muchas acciones", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% 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"
}) }}

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"
}) }}

Con muchas acciones y botón loader

Ejemplo: "Con muchas acciones y botón loader", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="many-actions-is-button-loader-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white max-w-4xl">
  <h2 id="label-many-actions-is-button-loader-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Aviso
  </h2>
  <p class="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>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <ul class="flex flex-wrap gap-sm">
      <li>
        <!-- button-loader -->
        <button class="c-button-loader relative c-button-loader--primary c-button-loader--is-success" data-module="c-button-loader">
          <span class="c-button-loader__spinner flex items-center justify-center absolute inset-0">
            <!-- spinner -->
            <span class="c-spinner " data-module="c-spinner">
              <span class="sr-only" role="alert" aria-live="assertive">
                Acción en curso
              </span>
            </span>
            <!-- /spinner -->
          </span>
          <span class="c-button-loader__success flex items-center justify-center absolute inset-0">
            <span class="sr-only" role="alert" aria-live="assertive">
            </span>
            <span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" aria-hidden="true" width="1em" height="1em">
                <path d="M13.714 42.857A6.857 6.857 0 0 1 8.4 40.183L.857 31.646a3.429 3.429 0 0 1 .309-4.869A3.429 3.429 0 0 1 6 27.12l7.063 7.989a.72.72 0 0 0 .617.308.789.789 0 0 0 .617-.274L42.103 6.206a3.429 3.429 0 0 1 4.937 4.731L18.926 40.526a6.651 6.651 0 0 1-5.212 2.331Z" fill="currentColor"></path>
              </svg></span>
          </span>
          <span class="c-button-loader__content inline-flex align-baseline">
            Guardar cambios y publicar
          </span>
        </button>
        <!-- /button-loader -->
      </li>
      <li>
        <!-- button-loader -->
        <button class="c-button-loader relative" data-module="c-button-loader">
          <span class="c-button-loader__spinner flex items-center justify-center absolute inset-0">
            <!-- spinner -->
            <span class="c-spinner " data-module="c-spinner">
              <span class="sr-only" role="alert" aria-live="assertive">
                Acción en curso
              </span>
            </span>
            <!-- /spinner -->
          </span>
          <span class="c-button-loader__success flex items-center justify-center absolute inset-0">
            <span class="sr-only" role="alert" aria-live="assertive">
            </span>
            <span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" aria-hidden="true" width="1em" height="1em">
                <path d="M13.714 42.857A6.857 6.857 0 0 1 8.4 40.183L.857 31.646a3.429 3.429 0 0 1 .309-4.869A3.429 3.429 0 0 1 6 27.12l7.063 7.989a.72.72 0 0 0 .617.308.789.789 0 0 0 .617-.274L42.103 6.206a3.429 3.429 0 0 1 4.937 4.731L18.926 40.526a6.651 6.651 0 0 1-5.212 2.331Z" fill="currentColor"></path>
              </svg></span>
          </span>
          <span class="c-button-loader__content inline-flex align-baseline">
            Guardar cambios
          </span>
        </button>
        <!-- /button-loader -->
      </li>
    </ul>
    <ul class="flex flex-wrap gap-sm">
      <li>
        <!-- button-loader -->
        <button class="c-button-loader relative c-button-loader--transparent c-button-loader--is-loading" data-module="c-button-loader">
          <span class="c-button-loader__spinner flex items-center justify-center absolute inset-0">
            <!-- spinner -->
            <span class="c-spinner " data-module="c-spinner">
              <span class="sr-only" role="alert" aria-live="assertive">
                Acción en curso
              </span>
            </span>
            <!-- /spinner -->
          </span>
          <span class="c-button-loader__success flex items-center justify-center absolute inset-0">
            <span class="sr-only" role="alert" aria-live="assertive">
            </span>
            <span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" aria-hidden="true" width="1em" height="1em">
                <path d="M13.714 42.857A6.857 6.857 0 0 1 8.4 40.183L.857 31.646a3.429 3.429 0 0 1 .309-4.869A3.429 3.429 0 0 1 6 27.12l7.063 7.989a.72.72 0 0 0 .617.308.789.789 0 0 0 .617-.274L42.103 6.206a3.429 3.429 0 0 1 4.937 4.731L18.926 40.526a6.651 6.651 0 0 1-5.212 2.331Z" fill="currentColor"></path>
              </svg></span>
          </span>
          <span class="c-button-loader__content inline-flex align-baseline">
            Más información
          </span>
        </button>
        <!-- /button-loader -->
      </li>
      <li>
        <!-- button-loader -->
        <button class="c-button-loader relative c-button-loader--is-success" data-module="c-button-loader">
          <span class="c-button-loader__spinner flex items-center justify-center absolute inset-0">
            <!-- spinner -->
            <span class="c-spinner " data-module="c-spinner">
              <span class="sr-only" role="alert" aria-live="assertive">
                Acción en curso
              </span>
            </span>
            <!-- /spinner -->
          </span>
          <span class="c-button-loader__success flex items-center justify-center absolute inset-0">
            <span class="sr-only" role="alert" aria-live="assertive">
            </span>
            <span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" aria-hidden="true" width="1em" height="1em">
                <path d="M13.714 42.857A6.857 6.857 0 0 1 8.4 40.183L.857 31.646a3.429 3.429 0 0 1 .309-4.869A3.429 3.429 0 0 1 6 27.12l7.063 7.989a.72.72 0 0 0 .617.308.789.789 0 0 0 .617-.274L42.103 6.206a3.429 3.429 0 0 1 4.937 4.731L18.926 40.526a6.651 6.651 0 0 1-5.212 2.331Z" fill="currentColor"></path>
              </svg></span>
          </span>
          <span class="c-button-loader__content inline-flex align-baseline">
            Cancelar <span class="sr-only">y cerrar la ventana modal</span>
          </span>
        </button>
        <!-- /button-loader -->
      </li>
    </ul>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con muchas acciones y botón loader", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "many-actions-is-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": "Guardar cambios y publicar",
      "isButtonLoader": true,
      "state": "is-success",
      "classes": "c-button-loader--primary c-button-loader--is-success"
    },
    {
      "text": "Guardar cambios",
      "isButtonLoader": true
    }
  ],
  "itemsSecondary": [
    {
      "text": "Más información",
      "isButtonLoader": true,
      "state": "is-loading",
      "classes": "c-button-loader--transparent c-button-loader--is-loading"
    },
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>",
      "isButtonLoader": true,
      "state": "is-success",
      "classes": "c-button-loader--is-success"
    }
  ],
  "isDismissible": true,
  "classes": "max-w-4xl"
}) }}

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 y botón loader

Contenido

Nunjucks macro
{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "many-actions-is-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": "Guardar cambios y publicar",
      "isButtonLoader": true,
      "state": "is-success",
      "classes": "c-button-loader--primary c-button-loader--is-success"
    },
    {
      "text": "Guardar cambios",
      "isButtonLoader": true
    }
  ],
  "itemsSecondary": [
    {
      "text": "Más información",
      "isButtonLoader": true,
      "state": "is-loading",
      "classes": "c-button-loader--transparent c-button-loader--is-loading"
    },
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>",
      "isButtonLoader": true,
      "state": "is-success",
      "classes": "c-button-loader--is-success"
    }
  ],
  "isDismissible": true,
  "classes": "max-w-4xl"
}) }}

Con icono de tipo borrar/eliminar

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.

Ejemplo: "Con icono de tipo borrar/eliminar", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="icon-type-A-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <div class="flex justify-center p-base">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em" class="block w-16 h-16 text-alert-light" focusable="false" aria-hidden="true" role="presentation">
      <g>
        <path d="M19.5,7.5H4.5A.5.5,0,0,0,4,8V22a2,2,0,0,0,2,2H18a2,2,0,0,0,2-2V8A.5.5,0,0,0,19.5,7.5Zm-9.25,13a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Zm5,0a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Z" fill="currentColor"></path>
        <path d="M22,4H17.25A.25.25,0,0,1,17,3.75V2.5A2.5,2.5,0,0,0,14.5,0h-5A2.5,2.5,0,0,0,7,2.5V3.75A.25.25,0,0,1,6.75,4H2A1,1,0,0,0,2,6H22a1,1,0,0,0,0-2ZM9,3.75V2.5A.5.5,0,0,1,9.5,2h5a.5.5,0,0,1,.5.5V3.75a.25.25,0,0,1-.25.25H9.25A.25.25,0,0,1,9,3.75Z" fill="currentColor"></path>
      </g>
    </svg>
  </div>
  <h2 id="label-icon-type-A-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Borrar servicio
  </h2>
  <p class="c-p my-base text-center">
    Esta acción no se puede deshacer ¿Estás seguro?
  </p>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button">
        Cancelar <span class="sr-only">y cerrar la ventana modal</span>
      </button>
      <!-- /button -->
    </div>
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--alert">
        Si, borrar servicio
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con icono de tipo borrar/eliminar", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-A-example",
  "title": {
    "text": "Borrar servicio"
  },
  "description": {
    "text": "Esta acción no se puede deshacer ¿Estás seguro?"
  },
  "itemsPrimary": [
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
    }
  ],
  "itemsSecondary": [
    {
      "text": "Si, borrar servicio",
      "classes": "c-button--alert"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "delete"
  }
}) }}

Borrar servicio

Esta acción no se puede deshacer ¿Estás seguro?

Mostrar códigodel ejemplo: Con icono de tipo borrar/eliminar

Contenido

Nunjucks macro
{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-A-example",
  "title": {
    "text": "Borrar servicio"
  },
  "description": {
    "text": "Esta acción no se puede deshacer ¿Estás seguro?"
  },
  "itemsPrimary": [
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
    }
  ],
  "itemsSecondary": [
    {
      "text": "Si, borrar servicio",
      "classes": "c-button--alert"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "delete"
  }
}) }}

Con icono de tipo descartar

Ejemplo: "Con icono de tipo descartar", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="icon-type-B-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <div class="flex justify-center p-base">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em" class="block w-16 h-16 text-alert-light" focusable="false" aria-hidden="true" role="presentation">
      <path d="M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0ZM5.29,5.29a9.63,9.63,0,0,1,12.23-1,.26.26,0,0,1,0,.4L4.67,17.56a.27.27,0,0,1-.4,0,9.49,9.49,0,0,1,1-12.24ZM18.75,18.76a9.53,9.53,0,0,1-12.23,1,.26.26,0,0,1,0-.4L19.37,6.49a.26.26,0,0,1,.4,0,9.49,9.49,0,0,1-1,12.24Z" fill="currentColor"></path>
    </svg>
  </div>
  <h2 id="label-icon-type-B-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Descartar cambios
  </h2>
  <p class="c-p my-base text-center">
    Si descartas los cambios, perderás el trabajo realizado en este servicio. ¿Estás seguro?
  </p>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button">
        Cancelar <span class="sr-only">y cerrar la ventana modal</span>
      </button>
      <!-- /button -->
    </div>
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--alert">
        Si, descartar cambios
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con icono de tipo descartar", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-B-example",
  "title": {
    "text": "Descartar cambios"
  },
  "description": {
    "text": "Si descartas los cambios, perderás el trabajo realizado en este servicio. ¿Estás seguro?"
  },
  "itemsPrimary": [
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
    }
  ],
  "itemsSecondary": [
    {
      "text": "Si, descartar cambios",
      "classes": "c-button--alert"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "discard"
  }
}) }}

Descartar cambios

Si descartas los cambios, perderás el trabajo realizado en este servicio. ¿Estás seguro?

Mostrar códigodel ejemplo: Con icono de tipo descartar

Contenido

Nunjucks macro
{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-B-example",
  "title": {
    "text": "Descartar cambios"
  },
  "description": {
    "text": "Si descartas los cambios, perderás el trabajo realizado en este servicio. ¿Estás seguro?"
  },
  "itemsPrimary": [
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
    }
  ],
  "itemsSecondary": [
    {
      "text": "Si, descartar cambios",
      "classes": "c-button--alert"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "discard"
  }
}) }}

Con icono de tipo cambios

Ejemplo: "Con icono de tipo cambios", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="icon-type-C-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <div class="flex justify-center p-base">
    <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" focusable="false" aria-hidden="true" role="presentation">
      <g>
        <path d="M12,13a1,1,0,0,0,1-1V8a1,1,0,1,0-2,0v4A1,1,0,0,0,12,13Z" fill="currentColor"></path>
        <circle cx="11.99" cy="15.71" r="1.25" fill="currentColor"></circle>
        <path d="M19.29,5.53a9.72,9.72,0,0,0-9.55-3A10.25,10.25,0,0,0,2.38,9.61a.26.26,0,0,1-.27.18l-1-.13a.47.47,0,0,0-.47.22.47.47,0,0,0,0,.52l2.47,4.35a.51.51,0,0,0,.44.25.52.52,0,0,0,.36-.16l3.47-3.59a.48.48,0,0,0,.12-.51A.5.5,0,0,0,7,10.41l-1.88-.24A.23.23,0,0,1,5,10.05a.22.22,0,0,1,0-.21,7.67,7.67,0,0,1,5.37-4.9,7.23,7.23,0,0,1,7.1,2.25,1.25,1.25,0,1,0,1.87-1.66Z" fill="currentColor"></path>
        <path d="M4.79,16.7a1.24,1.24,0,0,0-.11,1.76,9.72,9.72,0,0,0,9.55,3,10.24,10.24,0,0,0,7.37-7.12.24.24,0,0,1,.27-.17l1.06.12a.5.5,0,0,0,.48-.22.49.49,0,0,0,0-.52l-2.5-4.33A.51.51,0,0,0,20.55,9a.52.52,0,0,0-.43.15l-3.45,3.62a.5.5,0,0,0-.11.51.49.49,0,0,0,.41.33l1.85.22A.25.25,0,0,1,19,14a.22.22,0,0,1,0,.21,7.67,7.67,0,0,1-5.36,4.9,7.26,7.26,0,0,1-7.11-2.25A1.24,1.24,0,0,0,4.79,16.7Z" fill="currentColor"></path>
      </g>
    </svg>
  </div>
  <h2 id="label-icon-type-C-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Hay cambios sin guardar
  </h2>
  <p class="c-p my-base text-center">
    Si sales de la pantalla de edición sin guardar, perderás los cambios realizados.
  </p>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--primary">
        Guardar y salir
      </button>
      <!-- /button -->
    </div>
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button">
        Descartar cambios y salir
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con icono de tipo cambios", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-C-example",
  "title": {
    "text": "Hay cambios sin guardar"
  },
  "description": {
    "text": "Si sales de la pantalla de edición sin guardar, perderás los cambios realizados."
  },
  "itemsPrimary": [
    {
      "text": "Guardar y salir",
      "classes": "c-button--primary"
    }
  ],
  "itemsSecondary": [
    {
      "text": "Descartar cambios y salir"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "changes"
  }
}) }}

Hay cambios sin guardar

Si sales de la pantalla de edición sin guardar, perderás los cambios realizados.

Mostrar códigodel ejemplo: Con icono de tipo cambios

Contenido

Nunjucks macro
{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-C-example",
  "title": {
    "text": "Hay cambios sin guardar"
  },
  "description": {
    "text": "Si sales de la pantalla de edición sin guardar, perderás los cambios realizados."
  },
  "itemsPrimary": [
    {
      "text": "Guardar y salir",
      "classes": "c-button--primary"
    }
  ],
  "itemsSecondary": [
    {
      "text": "Descartar cambios y salir"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "changes"
  }
}) }}

Con icono de tipo editar

Ejemplo: "Con icono de tipo editar", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="icon-type-D-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <div class="flex justify-center p-base">
    <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" focusable="false" aria-hidden="true" role="presentation">
      <g>
        <path d="M13.94,15a2,2,0,0,1-.67.45L9.73,16.86a2,2,0,0,1-2.6-2.6l1.41-3.53A2.18,2.18,0,0,1,9,10.05l5.88-5.88a.25.25,0,0,0-.17-.43H3.37A3.12,3.12,0,0,0,.25,6.86V20.62a3.12,3.12,0,0,0,3.12,3.12H17.13a3.12,3.12,0,0,0,3.12-3.12V9.29a.25.25,0,0,0-.43-.17Z" fill="currentColor"></path>
        <path d="M18.57,3.3a.51.51,0,0,0-.71,0l-7.81,7.82a.36.36,0,0,0-.11.16L8.52,14.82a.51.51,0,0,0,.11.54.54.54,0,0,0,.54.11l3.54-1.42a.45.45,0,0,0,.17-.11l7.81-7.81a.51.51,0,0,0,.15-.35.53.53,0,0,0-.15-.36Z" fill="currentColor"></path>
        <path d="M23.16,3.65a2,2,0,0,0,0-2.82,2,2,0,0,0-2.83,0L19.28,1.89a.56.56,0,0,0-.15.35.47.47,0,0,0,.15.35L21.4,4.71a.47.47,0,0,0,.35.15.57.57,0,0,0,.35-.15Z" fill="currentColor"></path>
      </g>
    </svg>
  </div>
  <h2 id="label-icon-type-D-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Editar servicio publicado
  </h2>
  <div class="c-paragraph-base my-base text-center">
    <p>Actualmente este servicio está publicado.</p>
    <p>Los cambios realizados no serán visibles hasta que sean validados</p>
  </div>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--primary">
        Lo sé, quiero editarlo
      </button>
      <!-- /button -->
    </div>
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button">
        Cancelar <span class="sr-only">y cerrar la ventana modal</span>
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con icono de tipo editar", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-D-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": "Lo sé, quiero editarlo",
      "classes": "c-button--primary"
    }
  ],
  "itemsSecondary": [
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "edit"
  }
}) }}

Editar servicio publicado

Actualmente este servicio está publicado.

Los cambios realizados no serán visibles hasta que sean validados

Mostrar códigodel ejemplo: Con icono de tipo editar

Contenido

Nunjucks macro
{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-D-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": "Lo sé, quiero editarlo",
      "classes": "c-button--primary"
    }
  ],
  "itemsSecondary": [
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "edit"
  }
}) }}

Con icono de tipo publicar

Ejemplo: "Con icono de tipo publicar", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="icon-type-E-example" class="mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white">
  <div class="flex justify-center p-base">
    <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" focusable="false" aria-hidden="true" role="presentation">
      <path d="M23.82,1.12A.5.5,0,0,0,23.31,1l-23,9.5A.5.5,0,0,0,0,11a.51.51,0,0,0,.32.46l6.33,2.45a.52.52,0,0,0,.47-.05l8.4-6a.5.5,0,0,1,.64.77l-7,6.75a.51.51,0,0,0-.15.36V22.5a.49.49,0,0,0,.37.48.49.49,0,0,0,.56-.23l3.17-5.42a.25.25,0,0,1,.33-.1l5.83,3.21a.5.5,0,0,0,.73-.33l4-18.5A.5.5,0,0,0,23.82,1.12Z" fill="currentColor"></path>
    </svg>
  </div>
  <h2 id="label-icon-type-E-example" class="c-h2 px-base text-center focus:outline-none focus:underline" tabindex="-1">
    Publicar
  </h2>
  <p class="c-p my-base text-center">
    Se van a publicar todos los elementos de este servicio que están pendientes de publicación.
  </p>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--primary">
        Publicar
      </button>
      <!-- /button -->
    </div>
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button">
        Cancelar <span class="sr-only">y cerrar la ventana modal</span>
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con icono de tipo publicar", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-E-example",
  "title": {
    "text": "Publicar"
  },
  "description": {
    "text": "Se van a publicar todos los elementos de este servicio que están pendientes de publicación."
  },
  "itemsPrimary": [
    {
      "text": "Publicar",
      "classes": "c-button--primary"
    }
  ],
  "itemsSecondary": [
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "publish"
  }
}) }}

Publicar

Se van a publicar todos los elementos de este servicio que están pendientes de publicación.

Mostrar códigodel ejemplo: Con icono de tipo publicar

Contenido

Nunjucks macro
{% from "components/modal/_macro.modal.njk" import componentModal %}

{{ componentModal({
  "id": "icon-type-E-example",
  "title": {
    "text": "Publicar"
  },
  "description": {
    "text": "Se van a publicar todos los elementos de este servicio que están pendientes de publicación."
  },
  "itemsPrimary": [
    {
      "text": "Publicar",
      "classes": "c-button--primary"
    }
  ],
  "itemsSecondary": [
    {
      "html": "Cancelar <span class='sr-only'>y cerrar la ventana modal</span>"
    }
  ],
  "isDismissible": true,
  "icon": {
    "type": "publish"
  }
}) }}

Con icono personalizado

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.

Ejemplo: "Con icono personalizado", de código HTML, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- modal -->
<div id="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 bg-white">
  <div class="flex justify-center p-base">
    <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>
  </div>
  <h2 id="label-custom-icon-example" class="c-h2 mt-base focus:outline-none focus:underline" tabindex="-1">
    ¿Estás seguro de querer cambiar de estado a múltiples archivos?
  </h2>
  <div class="mb-lg text-left">
    <p>Si el contenido de la modal es muy extenso, hay que alinear los textos a la izquierda para mejorar la accesibilidad.</p>
    <p>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>
  <div class="flex flex-wrap gap-sm w-full justify-between">
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button c-button--primary">
        Si, comenzar proceso
      </button>
      <!-- /button -->
    </div>
    <div class="mt-sm">
      <!-- button -->
      <button class="c-button">
        Cancelar <span class="sr-only">y cerrar la ventana modal</span>
      </button>
      <!-- /button -->
    </div>
  </div>
  <div class="absolute top-0 right-0 p-sm lg:p-base">
    <button onclick="closeDialog(this)" class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar la ventana emergente" type="button">
      <svg xmlns="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">
        <path d="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 -->
          

Ejemplo: "Con icono personalizado", de código Nunjucks, para maquetar el componente: "Modal", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% 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-none focus:underline"
  },
  "description": {
    "html": "<p>Si el contenido de la modal es muy extenso, hay que alinear los textos a la izquierda para mejorar la accesibilidad.</p><p>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>"
  }
}) }}

¿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-none focus:underline"
  },
  "description": {
    "html": "<p>Si el contenido de la modal es muy extenso, hay que alinear los textos a la izquierda para mejorar la accesibilidad.</p><p>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>"
  }
}) }}