Collapsible
An interactive component which expands/collapses a panel.
Collapsible — un seul bloc dévoilable (un accordion, mais standalone, sans siblings). Utile pour un "afficher plus" ou un panel avancé optionnel.
Pour plusieurs sections empilées, préférer Accordion.
Installation
$ bext ui add collapsible
Copy and paste the following into src/components/ui/collapsible.tsx.
This component is interactive — make sure the shared island is loaded (see Islands). It reacts to data-ui="collapsible" hooks.
Usage
Anatomy
<Collapsible defaultOpen?> ├── <CollapsibleTrigger>Show more</CollapsibleTrigger> └── <CollapsibleContent>Hidden content...</CollapsibleContent> </Collapsible>
API Reference
Collapsible
| Prop | Type | Default | Description |
|---|---|---|---|
| defaultOpen | boolean | false | undefined |
| children | ReactNode | — | undefined |
CollapsibleTrigger
| Prop | Type | Default | Description |
|---|---|---|---|
| children | ReactNode | — | undefined |
CollapsibleContent
| Prop | Type | Default | Description |
|---|---|---|---|
| children | ReactNode | — | undefined |
Data Attributes
Attributs qu'on peut cibler en CSS custom pour override le style par état.
| Attribute | On | Values | Description |
|---|---|---|---|
| data-ui="collapsible" | Collapsible root | undefined | undefined |
| data-state | Collapsible root, CollapsibleContent | "open" | "closed" | undefined |
Keyboard
| Key | Action |
|---|---|
| Enter / Space | Ouvrir/fermer. |
Accessibility
Trigger porte aria-expanded aria-controls. Content porte hidden quand fermé.
Edit this component live in the bext playground. The PRISM + signals version is the bext-native idiom — fine-grained reactivity, no virtual DOM.
On This Page