Accordion
A set of collapsible panels with headings.
API reference
Import the component and assemble its parts:
import { Accordion } from '@base-ui-components/react/accordion';
<Accordion.Root> <Accordion.Item> <Accordion.Header> <Accordion.Trigger /> </Accordion.Header> <Accordion.Panel /> </Accordion.Item></Accordion.Root>
Root
Groups all parts of the accordion.
Renders a <div>
element.
Prop | Type | Default | |
---|---|---|---|
defaultValue |
|
| |
value |
|
| |
onValueChange |
|
| |
hiddenUntilFound |
|
| |
openMultiple |
|
| |
disabled |
|
| |
loop |
|
| |
orientation |
|
| |
className |
|
| |
keepMounted |
|
| |
render |
|
|
Attribute | Description | |
---|---|---|
data-disabled | Present when the accordion is disabled. |
Item
Groups an accordion header with the corresponding panel.
Renders a <div>
element.
Prop | Type | Default | |
---|---|---|---|
onOpenChange |
|
| |
disabled |
|
| |
className |
|
| |
render |
|
|
Attribute | Description | |
---|---|---|
data-open | Present when the accordion item is open. | |
data-disabled | Present when the accordion item is disabled. | |
data-index | Indicates the index of the accordion item. |
Header
A heading that labels the corresponding panel.
Renders an <h3>
element.
Prop | Type | Default | |
---|---|---|---|
className |
|
| |
render |
|
|
Attribute | Description | |
---|---|---|
data-open | Present when the accordion item is open. | |
data-disabled | Present when the accordion item is disabled. | |
data-index | Indicates the index of the accordion item. |
Trigger
A button that opens and closes the corresponding panel.
Renders a <button>
element.
Prop | Type | Default | |
---|---|---|---|
className |
|
| |
render |
|
|
Attribute | Description | |
---|---|---|
data-panel-open | Present when the accordion panel is open. | |
data-disabled | Present when the accordion item is disabled. |
Panel
A collapsible panel with the accordion item contents.
Renders a <div>
element.
Prop | Type | Default | |
---|---|---|---|
hiddenUntilFound |
|
| |
className |
|
| |
keepMounted |
|
| |
render |
|
|
Attribute | Description | |
---|---|---|
data-open | Present when the accordion panel is open. | |
data-disabled | Present when the accordion item is disabled. | |
data-index | Indicates the index of the accordion item. | |
data-starting-style | Present when the panel is animating in. | |
data-ending-style | Present when the panel is animating out. |
CSS Variable | Description | |
---|---|---|
--accordion-panel-height | The accordion panel's height. | |
--accordion-panel-width | The accordion panel's width. |