Accordion
StableA collapsible content component with expandable sections based on DaisyUI. Supports individual accordions, grouped radio behavior, and join layouts.
API Reference
c-accordion
| Attribute | Description | Type | Default |
|---|---|---|---|
title
|
Text title for the accordion header (required) | string |
""
|
variant
|
Visual style variant for collapse indicators | string |
"arrow"
|
group
|
Groups accordions for radio button behavior (only one open at a time) | string |
""
|
color
|
Background color theme | string |
""
|
bordered
|
Adds border styling | boolean |
False
|
join_item
|
Makes accordion part of a join layout | boolean |
False
|
checked
|
Sets initial checked/open state | boolean |
False
|
c-accordion.group (join container)
| Attribute | Description | Type | Default |
|---|---|---|---|
color
|
Background color for the join group | string |
"100"
|
variant
arrow
plus
color
100
200
300
primary
secondary
accent
neutral
info
success
warning
error
Without group: each accordion works independently (checkbox behavior) — multiple can be open simultaneously.
With group: only one accordion in the group can be open (radio behavior).
Join layout: use c-accordion.group + join_item for a seamless connected appearance.
Accessibility
CSS-only: the accordion uses a hidden checkbox (or radio for grouped) to toggle state.
The title is wrapped in a <label> which is keyboard-reachable and
activatable with Enter or Space.
Screen readers: the collapse state is not automatically announced. For content that
requires explicit disclosure semantics, consider a custom solution with aria-expanded.
Examples
Usage
<c-accordion title="Question?" bordered>
Answer content here.
</c-accordion>
Basic Accordion
<c-accordion title="What is Kaiko Systems?" bordered>
Kaiko Systems is a maritime technology company...
</c-accordion>
Variants
Default
Arrow
Plus
<c-accordion title="Default Style" bordered>Content...</c-accordion>
<c-accordion title="Arrow Style" variant="arrow" bordered>Content...</c-accordion>
<c-accordion title="Plus Style" variant="plus" bordered>Content...</c-accordion>
Colors
<c-accordion title="Primary" color="primary" variant="arrow" bordered>Content...</c-accordion>
Radio Group Behavior
When accordions share the same group name, only one can be open at a time.
<c-accordion title="Question 1" group="faq" variant="arrow" bordered checked>
Answer 1...
</c-accordion>
<c-accordion title="Question 2" group="faq" variant="arrow" bordered>
Answer 2...
</c-accordion>
Join Layout
Use the group component to create a seamless joined layout with radio button behavior.
<c-accordion.group color="100">
<c-accordion title="Question 1" group="faq" variant="arrow" join_item checked>
Answer 1...
</c-accordion>
<c-accordion title="Question 2" group="faq" variant="arrow" join_item>
Answer 2...
</c-accordion>
</c-accordion.group>
Individual Accordions (Checkbox Behavior)
Without a group attribute, each accordion works independently — multiple can be open.
<!-- No group attribute = independent accordions -->
<c-accordion title="Independent 1" variant="arrow" bordered>Content 1</c-accordion>
<c-accordion title="Independent 2" variant="plus" bordered>Content 2</c-accordion>
<c-accordion title="Independent 3" bordered checked>Content 3</c-accordion>
Rich Content
This accordion shows rich content within the collapsible area.
<c-accordion title="Rich Content" variant="arrow" bordered>
<p>Rich content with HTML elements</p>
<div class="stats shadow">
<div class="stat">
<div class="stat-title">Metric Name</div>
<div class="stat-value">1,247</div>
</div>
</div>
</c-accordion>