Collapsible
An interactive component for collapsing and expanding sections of content.
#
Importimport { Collapsible } from '@volue/wave-react';// you may also access Collapsible's context via hook:// import { useCollapsibleContext } from '@volue/wave-react';
Collapsible is a compound component that consists of multiple parts:
-
Collapsible
: The wrapper that contains all the parts of a collapsible and provides context for its children. -
Collapsible.Trigger
: The button that toggles the collapsible. -
Collapsible.Panel
: The container for the collapsible content.
#
Examples#
BasicCollapsible
works in an uncontrolled way by default, meaning each Collapsible
component instance is responsible for managing its own state internally.
The Collapsible.Trigger
component can be instructed via as
prop to render as something else. In our case we want to render it as a <Button>
component.
#
Controlled CollapsibleYou can easily make the collapsible controlled, by passing your own state to isOpen
prop.
onIsOpenChange
handler is called when the state of the collapsible changes, allowing you to sync state.
#
With starting height#
Unmount on exitYou can force <Collapsible.Panel>
children to unmount when exit state is done by setting unmountOnExit
to true
.
#
API Reference#
CollapsibleProp | Type | Default |
---|---|---|
isOpen | boolean | false |
defaultIsOpen | boolean | No default value |
onIsOpenChange | function | No default value |
#
Collapsible.TriggerProp | Type | Default |
---|---|---|
as | enum | button |
css | StitchesCss | No default value |
#
Collapsible.PanelProp | Type | Default |
---|---|---|
css | StitchesCss | No default value |
unmountOnExit | boolean | false |
startingHeight | string | number | No default value |
onAnimationComplete | function | No default value |
onExitComplete | function | () => void |
containPaint | boolean | true |