PrimitiveDisponible

Accordion

Secciones expandibles con navegación por teclado y paneles de contenido.

Loading example…

Instalación

Agrega el componente y sus dependencias desde el registro que está ejecutándose en tu computadora.

terminal
npx shadcn@latest add https://brutallab.facilito.dev/r/accordion.json

Uso

Importa el componente en tu proyecto y conserva el código bajo tu control.

tsx
'use client';

import {
  Accordion,
  AccordionItem,
  AccordionTrigger,
  AccordionContent,
} from '@/components/ui/accordion';

export default function Demo() {
  return (
    <Accordion className="w-full max-w-lg" defaultValue={['install']}>
      <AccordionItem value="install">
        <AccordionTrigger>How do I install a component?</AccordionTrigger>
        <AccordionContent>
          Start the local registry, then copy the installation command from the
          component documentation.
        </AccordionContent>
      </AccordionItem>
      <AccordionItem value="ownership">
        <AccordionTrigger>Can I customize the source?</AccordionTrigger>
        <AccordionContent>
          Yes. Components are copied into your project so you can change them.
        </AccordionContent>
      </AccordionItem>
      <AccordionItem value="disabled" disabled>
        <AccordionTrigger>Team settings (unavailable)</AccordionTrigger>
        <AccordionContent>Team settings.</AccordionContent>
      </AccordionItem>
    </Accordion>
  );
}

Estados e interacción

Aspecto, comportamiento y comprobación con teclado.

  • Comprueba reposo, hover, foco y selección/expansión. El enlace actual y el contenido abierto deben identificarse semánticamente.
  • No confundas pasar el cursor con seleccionar. Mantén el estado activo cuando el cursor se retire.
  • Prueba el ejemplo con Tab y Shift+Tab. El foco debe seguir visible en ambos temas.

Referencia API

Propiedades propias de BrutalLab. También acepta los atributos nativos correspondientes.

PropTipoDefaultDescripción
string[][]Initially expanded item values.
booleantrueAllows more than one expanded item.

Accesibilidad

Reglas que deben conservarse cuando el componente se adapte a un producto.

Conserva las etiquetas visibles y el HTML semántico del ejemplo.

Mantén el foco visible y comprueba la composición mediante el teclado.

Personaliza el aspecto con className sin reemplazar los atributos ARIA de la primitiva.