Skip to content

Accordion ​

Collapsible content sections via Radix UI

Single

Usage ​

tsx
import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from '@tryvienna/ui'

<Accordion type="single" collapsible className="w-96">
  <AccordionItem value="item-1">
    <AccordionTrigger>Is it accessible?</AccordionTrigger>
    <AccordionContent>Yes. It adheres to the WAI-ARIA design pattern.</AccordionContent>
  </AccordionItem>
  <AccordionItem value="item-2">
    <AccordionTrigger>Is it styled?</AccordionTrigger>
    <AccordionContent>
      Yes. It comes with default styles that match the other components' aesthetic.
    </AccordionContent>
  </AccordionItem>
  <AccordionItem value="item-3">
    <AccordionTrigger>Is it animated?</AccordionTrigger>
    <AccordionContent>
      Yes. It's animated by default with smooth expand/collapse transitions.
    </AccordionContent>
  </AccordionItem>
</Accordion>

Examples ​

Single ​

Single
tsx
<Accordion type="single" collapsible className="w-96">
  <AccordionItem value="item-1">
    <AccordionTrigger>Is it accessible?</AccordionTrigger>
    <AccordionContent>Yes. It adheres to the WAI-ARIA design pattern.</AccordionContent>
  </AccordionItem>
  <AccordionItem value="item-2">
    <AccordionTrigger>Is it styled?</AccordionTrigger>
    <AccordionContent>
      Yes. It comes with default styles that match the other components' aesthetic.
    </AccordionContent>
  </AccordionItem>
  <AccordionItem value="item-3">
    <AccordionTrigger>Is it animated?</AccordionTrigger>
    <AccordionContent>
      Yes. It's animated by default with smooth expand/collapse transitions.
    </AccordionContent>
  </AccordionItem>
</Accordion>

Multiple ​

Multiple
tsx
<Accordion type="multiple" className="w-96">
  <AccordionItem value="item-1">
    <AccordionTrigger>Section One</AccordionTrigger>
    <AccordionContent>Content for section one. Multiple items can be open.</AccordionContent>
  </AccordionItem>
  <AccordionItem value="item-2">
    <AccordionTrigger>Section Two</AccordionTrigger>
    <AccordionContent>Content for section two.</AccordionContent>
  </AccordionItem>
</Accordion>

API Reference ​

Accordion ​

Also accepts all props from AccordionPrimitive.Root.

AccordionItem ​

Also accepts all props from AccordionPrimitive.Item.

AccordionTrigger ​

Also accepts all props from AccordionPrimitive.Trigger.

AccordionContent ​

Also accepts all props from AccordionPrimitive.Content.

Data Attributes ​

Componentdata-slot
Accordion"accordion"
AccordionItem"accordion-item"
AccordionTrigger"accordion-trigger"
AccordionContent"accordion-content"