Accordion
Preguntas frecuentes o ajustes poco usados. Flechas arriba/abajo entre títulos.
Lista de secciones que se abren y cierran, ideal para preguntas frecuentes.
Instalación
shadcn
npx shadcn@latest add https://design.moodinary.com/r/accordion.jsonimport
import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@moodinary/ui/components/accordion";Ejemplos
Preguntas frecuentes
Por defecto se abre una sola a la vez.
Sí. Respondés sin nombre ni cuenta. La lectura es del grupo, no de cada persona.
Código
faq.tsx
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from "@moodinary/ui/components/accordion";
export default function AccordionFaq() {
return (
<Accordion defaultValue={["anonymous"]}>
<AccordionItem value="anonymous">
<AccordionTrigger>¿Los pulsos son anónimos?</AccordionTrigger>
<AccordionContent>
Sí. Respondés sin nombre ni cuenta. La lectura es del grupo, no de
cada persona.
</AccordionContent>
</AccordionItem>
<AccordionItem value="fog">
<AccordionTrigger>¿Qué pasa si hay pocas respuestas?</AccordionTrigger>
<AccordionContent>
Con menos de 8 pulsos en la semana, la lectura entra en Niebla. El
promedio es provisional y no se muestra una tendencia.
</AccordionContent>
</AccordionItem>
<AccordionItem value="frequency">
<AccordionTrigger>
¿Tengo que responder una vez por semana?
</AccordionTrigger>
<AccordionContent>
No. Podés responder cuando quieras, sin una frecuencia mínima.
</AccordionContent>
</AccordionItem>
</Accordion>
);
}Varias abiertas
multiple permite abrir varias. Un item puede estar deshabilitado.
4.º A y 5.º B son equipos ilustrativos.
Equipo Ventas y Equipo Soporte son equipos ilustrativos.
Código
multiple.tsx
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from "@moodinary/ui/components/accordion";
export default function AccordionMultiple() {
return (
<Accordion defaultValue={["school", "company"]} multiple>
<AccordionItem value="school">
<AccordionTrigger>Ejemplo para una escuela</AccordionTrigger>
<AccordionContent>
4.º A y 5.º B son equipos ilustrativos.
</AccordionContent>
</AccordionItem>
<AccordionItem value="company">
<AccordionTrigger>Ejemplo para una empresa</AccordionTrigger>
<AccordionContent>
Equipo Ventas y Equipo Soporte son equipos ilustrativos.
</AccordionContent>
</AccordionItem>
<AccordionItem disabled value="soon">
<AccordionTrigger>Configuración no disponible</AccordionTrigger>
<AccordionContent>
Esta opción está deshabilitada en el ejemplo.
</AccordionContent>
</AccordionItem>
</Accordion>
);
}Props
Accordion
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
| defaultValue | string[] | - | Items abiertos al inicio. |
| value | string[] | - | Items abiertos controlados. |
| onValueChange | (value: string[]) => void | - | Se llama al abrir o cerrar. |
| multiple | boolean | false | Permite varios abiertos. |
| className | string | - | Clases extra. |
AccordionItem
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
| value | string | - | Identificador. |
| disabled | boolean | false | Bloquea el item. |
AccordionTrigger, AccordionContent
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
| children | ReactNode | - | Pregunta y respuesta. |
| className | string | - | Clases extra. |
Cuándo sí y cuándo no
Hacé
- Escribí la pregunta como la haría alguien.
- Respuestas cortas.
- Abrí la más importante por defecto.
Evitá
- No escondas información obligatoria.
- No anides acordeones.
- No uses acordeón para un solo item; usá Collapsible.
Accesibilidad
- Enter y Espacio abren y cierran.
- Flechas arriba y abajo, Home y End recorren los encabezados.