Team Pro
Até 25 usuários, billing mensal e permissões avançadas.
Organizes related content into sections that can be expanded or collapsed.
Running with the React source recipe distributed through shadcn and based on Base UI.
Open the React · shadcn/Base UI playground
Conteúdo expandido do painel.
.ds-accordion — group of related items..ds-accordion__item — visual container for each section..ds-accordion__trigger — button that toggles aria-expanded..ds-accordion__leading-icon — optional Lucide icon..ds-accordion__chevron — visual indicator for open/closed state..ds-accordion__panel — content slot associated with the trigger.
Use a button for the trigger. The documentation helper synchronizes aria-expanded, hidden, and data-state; in product, keep the same contract.
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.
The panel is a slot. Compose complex content with public DS components instead of isolated internal classes.
Até 25 usuários, billing mensal e permissões avançadas.
Este painel fica indisponível até que a permissão seja liberada.
The live component set exposes Title, not Label. Use the public Figma property name for handoff and documentation; the CSS class remains .ds-accordion__title.
| Property | Type | Repo equivalent |
|---|---|---|
Title | TEXT | .ds-accordion__title |
Content | TEXT | .ds-accordion__panel com texto simples |
Content Slot | SLOT | Custom content inside .ds-accordion__panel. |
Show Leading Icon | BOOLEAN | Render or omit .ds-accordion__leading-icon. |
Leading Icon | INSTANCE_SWAP | Lucide icon with 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 the namespace once in the React integration guide.
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| Key | Action |
|---|---|
Tab | Moves focus between Accordion triggers and controls inside open panels. |
Enter / Space | Toggles the panel associated with the focused trigger. |
Arrow Up / Arrow Down | Moves focus between group triggers. |
Home / End | Moves focus to the first or last trigger in the group. |
| Rule | Application |
|---|---|
button | The trigger must be a real button, not a clickable div. |
aria-expanded | Reflects the open/closed state on the trigger. |
aria-controls | Points to the controlled panel id. |
role="region" | Use on panels with enough content to merit a landmark, always with aria-labelledby. |
hidden | Removes closed panels from the accessibility tree. |
disabled | Removes unavailable triggers from interaction and the tab order. |
Preserve Base UI semantics and test real content, focus visibility, and accessible names in the consuming application.
Covered by its independent Storybook output plus browser, responsive, keyboard, Axe, and bundle checks.