Collapse
Collapse is used for showing and hiding content. Unlike Accordion, multiple collapses can be open simultaneously.
Basic Example
Independent collapse sections
const { default: Collapse } = await import('/components/data-display/collapse.js');
const { tags, $ } = Lightview;
const { div, p } = tags;
const demo = div({ class: 'space-y-2' },
Collapse({ icon: 'arrow' },
Collapse.Title({}, '📖 Description'),
Collapse.Content({},
p({}, 'This is a detailed product description that can be expanded.')
)
),
Collapse({ icon: 'arrow' },
Collapse.Title({}, '📦 Shipping Info'),
Collapse.Content({},
p({}, 'Free shipping on orders over $50. Delivery in 3-5 days.')
)
),
Collapse({ icon: 'arrow' },
Collapse.Title({}, '🔄 Returns'),
Collapse.Content({},
p({}, '30-day return policy for unused items in original packaging.')
)
)
);
$('#demo').insert(demo);
Initially Open
Collapse with open prop
const { default: Collapse } = await import('/components/data-display/collapse.js');
const { tags, $ } = Lightview;
const { div, p, ul, li } = tags;
const demo = div({ class: 'space-y-2' },
Collapse({ icon: 'plus', open: true },
Collapse.Title({}, '🎁 What\'s included'),
Collapse.Content({},
ul({ class: 'list-disc pl-4' },
li({}, 'Premium headphones'),
li({}, 'Carrying case'),
li({}, '3.5mm audio cable'),
li({}, 'User manual')
)
)
),
Collapse({ icon: 'plus' },
Collapse.Title({}, '⚡ Specifications'),
Collapse.Content({},
ul({ class: 'list-disc pl-4' },
li({}, 'Driver size: 40mm'),
li({}, 'Battery: 30h playtime'),
li({}, 'Bluetooth 5.0')
)
)
)
);
$('#demo').insert(demo);
Props
| Prop | Type | Default | Description |
|---|---|---|---|
icon |
string | 'arrow' | 'arrow' | 'plus' |
open |
boolean | false | Initially open |
focus |
boolean | false | Open on focus (accessibility) |
Sub-components
| Component | Description |
|---|---|
Collapse.Title |
Clickable header area |
Collapse.Content |
Hidden content container |
Arrow Icon
Click to open/close
This content is hidden by default.
Plus/Minus Icon
Click to expand
Expanded content here.
Force Open
I am always open
This collapse is forced open with collapse-open.
For more examples, see the
DaisyUI Collapse documentation.