Saltar al contenido
Alea0.1
Pro
  1. Alea
  2. Componentes
  3. Navegación
  4. Accordion

Navegación

Accordion

Secciones que se abren y cierran con un cambio de altura suave: cuatro estilos (separated, joined, ghost, filled), tres tamaños, un indicador de flecha o más a cualquier lado, y un ícono, subtítulo y contenido extra en cada encabezado. Una o varias abiertas a la vez.

import { Accordion, AccordionItem } from '@alea/ui';

Ejemplos

Preguntas frecuentes

Tarjetas separadas, una abierta a la vez.

Yes. Where Figma allows one mode per collection, the plugins fall back to groups.

Unidas, varias abiertas

Una tarjeta con divisores; allowsMultipleExpanded mantiene varias abiertas.

Variantes

tarjetas separadas (por defecto), joined (una sola tarjeta), ghost (solo líneas, para preguntas frecuentes largas) y filled (secciones con tinte).

Sections open and close with a smooth height change.

Sections open and close with a smooth height change.

Sections open and close with a smooth height change.

Sections open and close with a smooth height change.

Íconos, subtítulos y extra

Cada encabezado puede llevar un ícono, un subtítulo y contenido extra al final (un badge o un contador). El indicador puede ser un más que se convierte en una cruz, al inicio o al final.

Pro plan, renews on November 1.

Tamaños

sm (encabezados de 44 px) para paneles de ajustes, md (56 px) por defecto, lg (64 px) para landings y preguntas frecuentes.

Configuraciones

Cada valor de cada propiedad, lado a lado. Los números coinciden con la leyenda.

chevron
plus
start
end
sm
md
lg
separated
joined
ghost
filled
  1. Indicatorindicator
  2. Indicator PositionindicatorPosition
  3. Sizesize
  4. Variantvariant

Estados

Cada estado de interacción, forzado para compararlos, en ambos temas.

Oscuro

Habilitado
Hover
Foco
Presionado
Disabled

Claro

Habilitado
Hover
Foco
Presionado
Disabled

Anatomía

Las partes del componente y la clase que da estilo a cada una.

Tokens

Los tokens de diseño que usa este componente, con su valor en el tema actual. Cambia cualquiera para darle otro estilo.

Color

  • --alea-border…
  • --alea-surface…
  • --alea-surface-deep…
  • --alea-surface-raised…

Space

  • --alea-space-2…
  • --alea-space-4…
  • --alea-space-6…

Radius

  • --alea-radius-lg…

Type

  • --alea-font-size-base…
  • --alea-font-size-lg…
  • --alea-font-size-md…
  • --alea-font-size-sm…

Shadow

  • --alea-shadow-card…

Props

Accordion props

Una lista de secciones que se expanden y contraen: cuatro estilos, tres tamaños, el indicador a cualquier lado, íconos, subtítulos y contenido extra en cada encabezado. allowsMultipleExpanded mantiene varias abiertas.

PropTipoPor defectoDescripción
indicator"chevron" | "plus"-chevron (por defecto, se da vuelta) o plus (se convierte en una cruz).
indicatorPosition"start" | "end"-Dónde va el indicador: end (por defecto) o start.
size"sm" | "md" | "lg"-sm (encabezados de 44 px), md (56 px, por defecto) o lg (64 px).
variant"separated" | "joined" | "ghost" | "filled"'separated'tarjetas separadas (por defecto), joined (una tarjeta con divisores), ghost (sin tarjeta, solo divisores) o filled (secciones con tinte).

AccordionItem props

Una sección expandible. También funciona sola (un disclosure único).

PropTipoPor defectoDescripción
titleobligatoriaReactNode-El encabezado siempre visible.
extraReactNode-Contenido al final del encabezado, antes del indicador: un badge, un contador, un estado. Que no sea interactivo: todo el encabezado es un botón.
headingLevel2 | 3 | 4 | 5 | 63Nivel de título del botón de encabezado. Por defecto 3.
iconReactNode-Un ícono antes del título.
subtitleReactNode-Una segunda línea apagada bajo el título.

Especificaciones

Generado desde el código: las variantes de los tipos, los estados y tokens del CSS, y los patrones de motion que aplican. Las grillas muestran el componente real en ambos temas; los números se miden en la página.

Accordion

Variantes
indicatorchevronplus
indicatorPositionstartend
sizesmmdlg
variantseparatedjoinedghostfilled
Estados
Expanded
Oscuro y claro
Cada color viene de tokens del tema, así que sigue a data-theme (y a presets como Graphite) en la página o en cualquier contenedor. El contraste se revisa en ambos temas.
Clases para estilos
.alea-accordion
Atributos data
data-variant=joineddata-indicator=plusdata-indicator-position=startdata-size=smdata-size=lgdata-variant=ghostdata-variant=filled

AccordionItem

Estados
HoverExpandedDisabled
Motion
expandmorphtint
Oscuro y claro
Cada color viene de tokens del tema, así que sigue a data-theme (y a presets como Graphite) en la página o en cualquier contenedor. El contraste se revisa en ambos temas.
Clases para estilos
.alea-accordion-item.alea-accordion-heading.alea-accordion-trigger.alea-accordion-icon.alea-accordion-titles.alea-accordion-title.alea-accordion-subtitle.alea-accordion-extra.alea-accordion-indicator.alea-accordion-chevron.alea-accordion-plus.alea-accordion-panel
Atributos data
data-variant=joineddata-indicator=plusdata-indicator-position=startdata-size=smdata-size=lgdata-variant=ghostdata-variant=filled

Accesibilidad

  • Cada encabezado es un título con un botón que dice si está abierto.

Teclado

TeclaAcción
Enter o EspacioAbre o cierra

Qué hacer y qué evitar

Hacer

  • Usa preguntas como títulos en unas preguntas frecuentes.

Evitar

  • No escondas lo que la mayoría necesita.
Probado con axe, teclado y roles de lector de pantalla