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", 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 -->
<div class="c-accordion">
<div class="flex justify-between">
</div>
<div>
<div class="-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="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
hidden=""
id="accordion-example-1"
class="c-accordion__panel">
<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="-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="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
hidden=""
id="accordion-example-2"
class="c-accordion__panel">
<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="-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="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
hidden=""
id="accordion-example-3"
class="c-accordion__panel">
<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 -->
Ejemplo: "Por defecto", de código Nunjucks, para maquetar el componente: "Accordion", 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/_macro.accordion.njk" import componentAccordion %}
{{ componentAccordion({
"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>"
}
]
}) }}
Mostrar códigodel ejemplo: Por defecto
Contenido
Nunjucks macro
{% from "components/accordion/_macro.accordion.njk" import componentAccordion %}
{{ componentAccordion({
"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>"
}
]
}) }}