Team Pro
Até 25 usuários, billing mensal e permissões avançadas.
Organiza conteúdo relacionado em seções que podem ser expandidas ou recolhidas.
Executado pela recipe React distribuída via shadcn e baseada em Base UI.
Abrir playground React · shadcn/Base UI
Conteúdo expandido do painel.
.ds-accordion — grupo de itens relacionados..ds-accordion__item — container visual de cada seção..ds-accordion__trigger — botão que alterna aria-expanded..ds-accordion__leading-icon — ícone Lucide opcional..ds-accordion__chevron — indicador visual do estado aberto/fechado..ds-accordion__panel — slot de conteúdo associado ao trigger.
Use um button para o trigger. O helper da documentação sincroniza aria-expanded, hidden e data-state; em produto, mantenha esse mesmo contrato.
Invoices are generated on the first business day of each month and sent to account owners.
Admins can enforce two-factor authentication and session expiration policies.
O painel é um slot. Componha conteúdo complexo com componentes públicos do DS, sem usar classes internas isoladas.
Até 25 usuários, billing mensal e permissões avançadas.
Este painel fica indisponível até que a permissão seja liberada.
O component set vivo expõe Title, não Label. Use o nome da propriedade pública do Figma para handoff e documentação; a classe CSS continua .ds-accordion__title.
| Propriedade | Tipo | Equivalente no repo |
|---|---|---|
Title | TEXT | .ds-accordion__title |
Content | TEXT | .ds-accordion__panel com texto simples |
Content Slot | SLOT | Conteúdo customizado dentro de .ds-accordion__panel. |
Show Leading Icon | BOOLEAN | Renderizar ou omitir .ds-accordion__leading-icon. |
Leading Icon | INSTANCE_SWAP | Ícone Lucide com data-lucide. |
State | VARIANT | Default, Hover, Focus, Disabled |
Open | VARIANT | aria-expanded, hidden e data-state |
| Parte | CSS | Token atual |
|---|---|---|
| Item | .ds-accordion__item | component.accordion.item.{radius,border-width,bg,border-color} |
| Trigger | .ds-accordion__trigger | component.accordion.trigger.{height,padding,gap} |
| Title | .ds-accordion__title | component.accordion.trigger.content.color + typography body/md bold |
| Content | .ds-accordion__panel | component.accordion.content.{color,padding,gap} |
| Chevron | .ds-accordion__chevron | component.accordion.chevron.{size,color,stroke-width} |
| Leading icon | .ds-accordion__leading-icon | component.accordion.leading-icon.{size,color,stroke-width} |
| Focus ring | .ds-accordion__trigger:focus-visible | component.accordion.focus-ring.radius.default + component.focus-ring.* |
Endereço e janela de recebimento.
Cartão e faturamento.
Informação essencial para decisão.
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from "@/components/ui/accordion"
<Accordion defaultValue={["billing"]}>
<AccordionItem value="billing">
<AccordionTrigger>Faturamento</AccordionTrigger>
<AccordionContent>Gerencie os dados de cobrança.</AccordionContent>
</AccordionItem>
</Accordion>Configure o namespace uma única vez na integração React.
npx shadcn@latest add @tis/accordionpnpm dlx shadcn@latest add @tis/accordionyarn dlx shadcn@latest add @tis/accordionbunx --bun shadcn@latest add @tis/accordion@tis/accordion| Tecla | Ação |
|---|---|
Tab | Move o foco entre triggers de Accordion e controles dentro de painéis abertos. |
Enter / Space | Alterna o painel associado ao trigger focado. |
Arrow Up / Arrow Down | Move o foco entre triggers do grupo. |
Home / End | Move o foco para o primeiro ou último trigger do grupo. |
| Regra | Aplicação |
|---|---|
button | O trigger deve ser um botão real, não um div clicável. |
aria-expanded | Reflete o estado aberto/fechado no trigger. |
aria-controls | Aponta para o id do painel controlado. |
role="region" | Use em painéis com conteúdo suficiente para merecer landmark, sempre com aria-labelledby. |
hidden | Remove painéis fechados da árvore de acessibilidade. |
disabled | Remove triggers indisponíveis da interação e da ordem de tabulação. |
Preserve a semântica da Base UI e teste conteúdo real, foco visível e nomes acessíveis na aplicação consumidora.
Coberta pelo Storybook da saída independente e por verificações de browser, responsividade, teclado, Axe e bundle.