Accordion
A vertically stacked set of panels that expand and collapse one at a time.
Show codeHide code
Installation
import {
Accordion,
AccordionItem,
AccordionHeader,
AccordionTrigger,
AccordionPanel,
} from "@makeplane/propel/components/accordion";Usage
import {
Accordion,
AccordionHeader,
AccordionItem,
AccordionPanel,
AccordionTrigger,
} from "@makeplane/propel/components/accordion";
const ITEMS = [
{
value: "what",
label: "What is Plane?",
body: "Plane is an open-source project management tool for tracking issues, sprints, and product roadmaps.",
},
{
value: "pricing",
label: "How does pricing work?",
body: "Plane is free to self-host. Managed plans add hosting, backups, and support.",
},
];
export default function BasicDemo() {
return (
<Accordion defaultValue={["what"]}>
{ITEMS.map((item) => (
<AccordionItem key={item.value} value={item.value}>
<AccordionHeader>
<AccordionTrigger label={item.label} />
</AccordionHeader>
<AccordionPanel>{item.body}</AccordionPanel>
</AccordionItem>
))}
</Accordion>
);
}Examples
With icon
Each trigger can carry an icon beside its label, matching the header icon in the design.
Show codeHide code
Multiple
With multiple, several panels can stay open at the same time instead of collapsing one another.
Show codeHide code
Disabled
A single item can opt out with disabled; its trigger dims and ignores pointer and keyboard toggling while siblings stay interactive.
Show codeHide code
Controlled
Pass value + onValueChange to own the open set. External controls mutate that state directly, and trigger clicks flow back through onValueChange.
Show codeHide code
API Reference
Accordion
Groups a set of `AccordionItem`s. Single-open by default; pass `multiple` to allow several panels open at once. Use `defaultValue` (uncontrolled) or `value` + `onValueChange` (controlled) to drive which items are expanded. Grafts Base UI's accordion behavior onto the styled `Accordion` frame.
AccordionTrigger
The ready-made accordion trigger: grafts Base UI's trigger behavior onto the styled `AccordionTrigger`, composing an optional `icon`, the `AccordionTriggerTitle`, and the `DisclosureIndicator` chevron that rotates when the panel opens.