Pular para o conteúdo

Accordion

Recolhe e expande seções de conteúdo, uma ou várias por vez.

O Accordion esconde o conteúdo secundário atrás de um cabeçalho, como "Mais capacidades" no cartão de próximo passo. Use quando a informação é opcional; não esconda o que a pessoa precisa para decidir.

import { Accordion } from "@rastreio-x/ui";

Padrão

Cada Accordion.Item tem um id. Por padrão, abrir um item recolhe o outro.

Vários abertos

allowsMultipleExpanded deixa mais de um item aberto; defaultExpandedKeys define os iniciais.

Variante de superfície

variant="surface" desenha o acordeão como um bloco de superfície, para usar fora de um cartão.

Item desabilitado

Explique no próprio rótulo por que o item não abre.

Anatomia

  • Accordion.Item: cada seção, identificada por id.
  • Accordion.Heading: o título semântico (level define o nível de h1 a h6).
  • Accordion.Trigger: o botão que abre e fecha; leva o texto e o Accordion.Indicator.
  • Accordion.Panel e Accordion.Body: a região recolhível e o seu conteúdo.

Propriedades

Raiz (Accordion):

Item (Accordion.Item):

Título (Accordion.Heading):

Animações

O painel abre e fecha com transição de altura em cerca de 250 ms, e o indicador gira. Com prefers-reduced-motion, o tema aplica motion-reduce:transition-none e o painel muda sem animar.

Acessibilidade

  • Cada gatilho é um button dentro de um título (h3 por padrão), com aria-expanded e aria-controls.
  • Tab percorre os gatilhos; Enter e Espaço abrem ou fecham.
  • O painel é uma região nomeada pelo gatilho.
  • O indicador é decorativo; o estado vem de aria-expanded.

Boas práticas

Faça

Esconder conteúdo opcional ou secundário, com título que diz o que há dentro.

Evite

Esconder o motivo de uma ação estar bloqueada ou campos obrigatórios.
  • Rótulos curtos e informativos, em Title Case.
  • Ajuste o level do título para respeitar a hierarquia da página.
  • Evite acordeões aninhados.
  • Para alternar visões equivalentes, use Tabs.

Relacionados

  • Tabs para alternar visões em vez de recolher conteúdo.
  • Card como contêiner do acordeão.
  • Switch para configurações dentro das seções.