Accordion

Collapsible content sections built on Radix primitives. Supports single or multiple open items with smooth height animations.

Installation

npm install @bloomkit/react

Usage

import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@bloomkit/react";
 
<Accordion type="single" collapsible>
  <AccordionItem value="item-1">
    <AccordionTrigger>Section title</AccordionTrigger>
    <AccordionContent>Section content here.</AccordionContent>
  </AccordionItem>
</Accordion>

Multiple open items

<Accordion type="multiple">
  <AccordionItem value="a">
    <AccordionTrigger>First</AccordionTrigger>
    <AccordionContent>Content A</AccordionContent>
  </AccordionItem>
  <AccordionItem value="b">
    <AccordionTrigger>Second</AccordionTrigger>
    <AccordionContent>Content B</AccordionContent>
  </AccordionItem>
</Accordion>

Default open

<Accordion type="single" collapsible defaultValue="item-1">
  <AccordionItem value="item-1">
    <AccordionTrigger>Open by default</AccordionTrigger>
    <AccordionContent>This section starts expanded.</AccordionContent>
  </AccordionItem>
</Accordion>

Accordion Props

PropTypeDefaultDescription
type"single" | "multiple"Whether one or many items can be open
collapsiblebooleanfalseWhen type is single, allows closing the open item
defaultValuestring | string[]Initially open item(s)
valuestring | string[]Controlled open item(s)
onValueChange(value: string | string[]) => voidCalled when open items change
classNamestring""Additional Tailwind classes

AccordionItem Props

PropTypeDefaultDescription
valuestringUnique identifier for this item
disabledbooleanfalsePrevents interaction
classNamestring""Additional Tailwind classes

AccordionTrigger Props

PropTypeDefaultDescription
childrenReactNodeTrigger label content
classNamestring""Additional Tailwind classes

AccordionContent Props

PropTypeDefaultDescription
childrenReactNodeCollapsible content
classNamestring""Additional Tailwind classes