R

Accordion

4 parts

Anatomy

Import the parts and compose them. Each part forwards attributes to its underlying element.

vue
import {
  AccordionRoot,
  AccordionItem,
  AccordionTrigger,
  AccordionContent,
} from '@robonen/primitives/accordion';

<AccordionRoot>
  <AccordionItem />
  <AccordionTrigger />
  <AccordionContent />
</AccordionRoot>

API Reference

AccordionRoot

Root
PropTypeDescription
modelValue?string | string[]Current open value(s) for controlled mode.
defaultValue?string | string[]Initial value(s) for uncontrolled mode.
type?'single' | 'multiple''single' allows one panel; 'multiple' allows many.
collapsible?booleanAllow closing all panels in single mode.
disabled?booleanDisable all items.
orientation?'horizontal' | 'vertical'Orientation of the accordion.
dir?RovingDirectionWriting direction.
loop?booleanWrap keyboard navigation.
Emits
EventPayload
update:modelValue[value: string | string[] | undefined]

AccordionItem

Item
PropTypeDescription
valuestringUnique value for this item.
disabled?booleanDisable this item.

AccordionTrigger

Trigger

No props or events — renders its element and forwards attributes.

AccordionContent

Content
PropTypeDescription
forceMount?booleanKeep content mounted even when closed.