Por defecto #
Si abres uno, se cierran el resto. Una vez que abres un item, se mantiene al menos un item abierto. Asume que allowmultiple: false
y allowToggle: false
aunque no se defina expresamente.
Ejemplo: "Por defecto", de código HTML, para maquetar el componente: "Accordion History", 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>.
<!-- accordion-history -->
<div class="c-accordion">
<div class="flex justify-between">
</div>
<div class="pl-lg">
<div class="relative -my-px px-xs py-sm border-t border-b border-neutral-base">
<h4>
<button
id="accordion-example-1-title"
type="button"
class="c-accordion__trigger group relative w-full py-sm font-semibold text-left cursor-pointer focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black"
aria-controls="accordion-example-1"
aria-expanded="false">
<span class='block pr-2xl pointer-events-none'>Item de acordeón 1</span>
<span class="sr-only">(Estado: pasado) </span>
<span class="absolute inset-y-0 right-0 py-sm font-normal text-sm text-neutral-dark underline group-focus:text-black pointer-events-none" aria-hidden="true">
<span class="c-accordion__show">
Mostrar
</span>
<span class="c-accordion__hide hidden">
Ocultar
</span>
</span>
</button>
</h4>
<p class="sr-only" aria-hidden="true">Haz click en el botón anterior para mostrar u ocultar</p>
<div class="absolute top-6 bottom-0 -left-5 border-2 border-primary-base"></div>
<div class="absolute top-5 -left-6 w-3 h-3 bg-primary-base border-2 border-primary-base rounded-full" role="img">
<p class="sr-only">Estado: pasado</p>
</div>
<div
hidden=""
id="accordion-example-1"
class="c-accordion__panel relative">
<div class="absolute top-4 bottom-0 -left-6 -my-sm border-2 border-primary-base"></div>
<div class="w-48 p-2">
<div class="border-4 border-dashed border-neutral-light rounded-lg h-40"></div>
</div>
</div>
</div>
<div class="relative -my-px px-xs py-sm border-t border-b border-neutral-base">
<h4>
<button
id="accordion-example-2-title"
type="button"
class="c-accordion__trigger group relative w-full py-sm font-semibold text-left cursor-pointer focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black"
aria-controls="accordion-example-2"
aria-expanded="false">
<span class='block pr-2xl pointer-events-none'>Item de acordeón 2</span>
<span class="sr-only">(Estado: pasado) </span>
<span class="absolute inset-y-0 right-0 py-sm font-normal text-sm text-neutral-dark underline group-focus:text-black pointer-events-none" aria-hidden="true">
<span class="c-accordion__show">
Mostrar
</span>
<span class="c-accordion__hide hidden">
Ocultar
</span>
</span>
</button>
</h4>
<p class="sr-only" aria-hidden="true">Haz click en el botón anterior para mostrar u ocultar</p>
<div class="absolute -top-px -left-5 h-6 border-2 border-primary-base"></div>
<div class="absolute top-6 bottom-0 -left-5 border-2 border-primary-base"></div>
<div class="absolute top-5 -left-6 w-3 h-3 bg-primary-base border-2 border-primary-base rounded-full" role="img">
<p class="sr-only">Estado: pasado</p>
</div>
<div
hidden=""
id="accordion-example-2"
class="c-accordion__panel relative">
<div class="absolute top-4 bottom-0 -left-6 -my-sm border-2 border-primary-base"></div>
<div class="w-48 p-2">
<div class="border-4 border-dashed border-neutral-light rounded-lg h-40"></div>
</div>
</div>
</div>
<div class="relative -my-px px-xs py-sm border-t border-b border-neutral-base">
<h4>
<button
id="accordion-example-3-title"
type="button"
class="c-accordion__trigger group relative w-full py-sm font-semibold text-left cursor-pointer focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black"
aria-controls="accordion-example-3"
aria-expanded="false">
<span class='block pr-2xl pointer-events-none'>Item de acordeón 3</span>
<span class="sr-only">(Estado: pasado) </span>
<span class="absolute inset-y-0 right-0 py-sm font-normal text-sm text-neutral-dark underline group-focus:text-black pointer-events-none" aria-hidden="true">
<span class="c-accordion__show">
Mostrar
</span>
<span class="c-accordion__hide hidden">
Ocultar
</span>
</span>
</button>
</h4>
<p class="sr-only" aria-hidden="true">Haz click en el botón anterior para mostrar u ocultar</p>
<div class="absolute -top-px -left-5 h-6 border-2 border-primary-base"></div>
<div class="absolute top-5 -left-6 w-3 h-3 bg-primary-base border-2 border-primary-base rounded-full" role="img">
<p class="sr-only">Estado: pasado</p>
</div>
<div
hidden=""
id="accordion-example-3"
class="c-accordion__panel relative">
<div class="w-48 p-2">
<div class="border-4 border-dashed border-neutral-light rounded-lg h-40"></div>
</div>
</div>
</div>
</div>
</div>
<!-- /accordion-history -->
Ejemplo: "Por defecto", de código Nunjucks, para maquetar el componente: "Accordion History", 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/accordion-history/_macro.accordion-history.njk" import componentAccordionHistory %}
{{ componentAccordionHistory({
"idPrefix": "accordion-example",
"headingLevel": 3,
"items": [
{
"headerHtml": "<span class='block pr-2xl pointer-events-none'>Item de acordeón 1</span>",
"html": "<div class='w-48 p-2'><div class='border-4 border-dashed border-neutral-light rounded-lg h-40'></div></div>"
},
{
"headerHtml": "<span class='block pr-2xl pointer-events-none'>Item de acordeón 2</span>",
"html": "<div class='w-48 p-2'><div class='border-4 border-dashed border-neutral-light rounded-lg h-40'></div></div>"
},
{
"headerHtml": "<span class='block pr-2xl pointer-events-none'>Item de acordeón 3</span>",
"html": "<div class='w-48 p-2'><div class='border-4 border-dashed border-neutral-light rounded-lg h-40'></div></div>"
}
]
}) }}
Estado: pasado
Estado: pasado
Estado: pasado
Mostrar códigodel ejemplo: Por defecto
Contenido
Nunjucks macro
{% from "components/accordion-history/_macro.accordion-history.njk" import componentAccordionHistory %}
{{ componentAccordionHistory({
"idPrefix": "accordion-example",
"headingLevel": 3,
"items": [
{
"headerHtml": "<span class='block pr-2xl pointer-events-none'>Item de acordeón 1</span>",
"html": "<div class='w-48 p-2'><div class='border-4 border-dashed border-neutral-light rounded-lg h-40'></div></div>"
},
{
"headerHtml": "<span class='block pr-2xl pointer-events-none'>Item de acordeón 2</span>",
"html": "<div class='w-48 p-2'><div class='border-4 border-dashed border-neutral-light rounded-lg h-40'></div></div>"
},
{
"headerHtml": "<span class='block pr-2xl pointer-events-none'>Item de acordeón 3</span>",
"html": "<div class='w-48 p-2'><div class='border-4 border-dashed border-neutral-light rounded-lg h-40'></div></div>"
}
]
}) }}