Accordion

Expandable sections that reveal content one at a time.

Installation

1 pnpm dlx mono add accordion

Usage

1import {
2  Accordion,
3  AccordionItem,
4  AccordionPanel,
5  AccordionTrigger,
6} from "@/components/ui/accordion"
<Accordion>
  <AccordionItem value="item-1">
    <AccordionTrigger>Is it accessible?</AccordionTrigger>
    <AccordionPanel>
      Yes. It adheres to the WAI-ARIA design pattern.
    </AccordionPanel>
  </AccordionItem>
</Accordion>

Examples

With Icon

Add Carbon icons to accordion triggers for visual context.

Borderless

No dividers between items.

Grouped

All items wrapped in a single bordered container.

Cards

Each item as an individual card.

Multiple

Multiple items can be open simultaneously.

Anatomy

  • Accordion - Root container that manages open/close state
  • AccordionItem - Individual collapsible section
  • AccordionTrigger - Clickable header that toggles visibility
  • AccordionPanel - Expandable content area

Props

Accordion

Prop Type Default
variant'default' | 'borderless' | 'grouped' | 'cards''default'
type'single' | 'multiple'required
collapsiblebooleanfalse
valuestring | string[]undefined
defaultValuestring | string[]undefined
onValueChange(value: string | string[]) => voidundefined

AccordionItem

Prop Type Default
valuestringrequired
disabledbooleanfalse

AccordionTrigger

Prop Type Default
iconReactNodeundefined

AccordionPanel

Prop Type Default
classNamestringundefined
forceMountbooleanfalse