Accordion#

Accordion allows showing and hiding content in collapsible panels. Only one panel can be open at a time.

Import#

TSX
import { Accordion, Row, Col, Heading, Text } from '@sigx/daisyui';

Sub-components are available as Accordion.Item and Accordion.Collapse.

Basic Usage#

Use the items prop for a simple accordion:

TSX
Loading preview...

With Plus/Minus Icon#

TSX
Loading preview...

Joined Accordion#

Use the join prop to connect items visually:

TSX
Loading preview...

Using Details Element#

Use the type="details" prop to use native HTML <details> elements. This makes the collapsed content searchable by the browser:

TSX
Loading preview...

Accordion.Collapse (Single Collapsible)#

For a single collapsible panel, use Accordion.Collapse:

TSX
Loading preview...

Accordion.Item (Custom Content)#

For custom content in each accordion item:

TSX
Loading preview...

Force Open/Close#

Use forceOpen or forceClose to control the collapse state via CSS:

TSX
Loading preview...

FAQ Section Example#

TSX
Loading preview...

Props#

Accordion Props#

PropTypeDefaultDescription
itemsArray<{ id, title, content }>-Array of accordion items
model:activeId() => signal.property-Currently open item ID
variant'arrow' | 'plus' | 'none''none'Icon style
type'radio' | 'details''radio'Use radio inputs or details elements
joinbooleanfalseConnect items visually
classstring-Additional CSS classes

Accordion.Item Props#

PropTypeDefaultDescription
titlestring-Item title
namestring'accordion'Radio group name (for mutual exclusivity)
openbooleanfalseOpen state
forceOpenbooleanfalseForce open via CSS (collapse-open)
forceClosebooleanfalseForce close via CSS (collapse-close)
variant'arrow' | 'plus' | 'none''none'Icon style
type'radio' | 'details''radio'Use radio input or details element
classstring-Additional CSS classes

Accordion.Collapse Props#

PropTypeDefaultDescription
model() => signal.property-Open state binding
titlestring-Collapse title
variant'arrow' | 'plus' | 'none''none'Icon style
forceOpenbooleanfalseForce open via CSS (collapse-open)
forceClosebooleanfalseForce close via CSS (collapse-close)
classstring-Additional CSS classes

Events#

EventTypeDescription
onChange(id: string) => voidFired when active item changes
onToggle(open: boolean) => voidFired when collapse toggles (Collapse only)

CSS Classes#

The component uses these DaisyUI classes:

ClassDescription
collapseMain component class
collapse-titleTitle part
collapse-contentContent part
collapse-arrowAdds arrow icon
collapse-plusAdds plus/minus icon
collapse-openForce open state
collapse-closeForce close state