Skip to content
Layout

Accordion

Sections that open and close in place.

import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@flinbu/seed";

One open at a time

A named design decision, like bg-primary. Components use tokens, never raw values.

import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@flinbu/seed";

<Accordion type="single" collapsible defaultValue="tokens" className="w-full max-w-lg">
  <AccordionItem value="tokens">
    <AccordionTrigger>What is a token?</AccordionTrigger>
    <AccordionContent>A named design decision, like bg-primary. Components use tokens, never raw values.</AccordionContent>
  </AccordionItem>
  <AccordionItem value="modes">
    <AccordionTrigger>How do Light and Dark work?</AccordionTrigger>
    <AccordionContent>Semantic tokens have a value per mode and switch with data-theme.</AccordionContent>
  </AccordionItem>
  <AccordionItem value="brand">
    <AccordionTrigger>Can I use my brand color?</AccordionTrigger>
    <AccordionContent>Yes. npx seed theme builds a full scale and checks every accent against WCAG AA.</AccordionContent>
  </AccordionItem>
</Accordion>

Use it for

  • FAQs, grouped settings, long specs people scan.

Use something else for

  • Content everyone needs: show it.

Props

PropTypeDefaultDescription
type'single''multiple'–One or many open.
collapsibleboolean–single only: the open one can close.
value / defaultValuestringstring[]–Open sections.
AccordionTrigger: level234563Heading level.

Accessibility

  • Built on Radix Accordion: each trigger is a button inside a real heading (level sets it), with aria-expanded and a labelled region.