The Accordion component provides an interactive way to display collapsible content sections. Built on Base UI primitives, it supports single or multiple item expansion with customizable variants and smooth CSS transitions.
import { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionTrigger,} from "@tilt-legal/cubitt-components/primitives";
<Accordion multiple={false}> <AccordionItem value="item-1"> <AccordionHeader> <AccordionTrigger>Is it accessible?</AccordionTrigger> </AccordionHeader> <AccordionPanel> Yes. It adheres to the WAI-ARIA design pattern. </AccordionPanel> </AccordionItem></Accordion>
You can sync the accordion state with the URL by providing a paramName:
import { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionTrigger,} from "@tilt-legal/cubitt-components/primitives";<Accordion multiple={false} className="w-full lg:w-[75%]"> <AccordionItem value="item-1"> <AccordionHeader> <AccordionTrigger>What is Cubitt?</AccordionTrigger> </AccordionHeader> <AccordionPanel> Cubitt is a modern React component library built on top of Base UI primitives. </AccordionPanel> </AccordionItem></Accordion>
import { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionTrigger,} from "@tilt-legal/cubitt-components/primitives";<Accordion multiple={false} className="w-full lg:w-[75%]"> <AccordionItem value="item-1"> <AccordionHeader> <AccordionTrigger>What is Cubitt?</AccordionTrigger> </AccordionHeader> <AccordionPanel> Cubitt is a modern React component library built on top of Base UI primitives. </AccordionPanel> </AccordionItem></Accordion>
import { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionTrigger,} from "@tilt-legal/cubitt-components/primitives";<Accordion multiple={false} indicator="plus" className="w-full lg:w-[75%]"> <AccordionItem value="item-1"> <AccordionHeader> <AccordionTrigger>What is Cubitt?</AccordionTrigger> </AccordionHeader> <AccordionPanel> Cubitt is a modern React component library built on top of Base UI primitives. </AccordionPanel> </AccordionItem> <AccordionItem value="item-2"> <AccordionHeader> <AccordionTrigger>Is it accessible?</AccordionTrigger> </AccordionHeader> <AccordionPanel> Yes. It adheres to the WAI-ARIA design pattern. </AccordionPanel> </AccordionItem></Accordion>
import { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionProgress, AccordionTrigger,} from "@tilt-legal/cubitt-components/primitives";<Accordion autoPlay autoPlayInterval={5000} items={["features", "accessibility", "customization"]} defaultValue={["features"]} variant="solid" className="w-full lg:w-[75%]"> <AccordionItem value="features"> <AccordionHeader> <AccordionTrigger>What is Cubitt?</AccordionTrigger> </AccordionHeader> <AccordionPanel> Cubitt is a modern React component library built on top of Base UI primitives. </AccordionPanel> <AccordionProgress /> </AccordionItem> <AccordionItem value="accessibility"> <AccordionHeader> <AccordionTrigger>Is it accessible?</AccordionTrigger> </AccordionHeader> <AccordionPanel> Yes. It adheres to the WAI-ARIA design pattern. </AccordionPanel> <AccordionProgress /> </AccordionItem></Accordion>
import { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionTrigger,} from "@tilt-legal/cubitt-components/primitives";// Multiple open sections synced with ?sections=faq (default faq won't show in URL)<Accordion paramName="sections" defaultValue={["faq"]} paramClearOnDefault={true} className="w-full lg:w-[75%]"> <AccordionItem value="faq"> <AccordionHeader> <AccordionTrigger>Frequently Asked Questions</AccordionTrigger> </AccordionHeader> <AccordionPanel> Find answers to the most common questions about our service, billing, and features. </AccordionPanel> </AccordionItem> <AccordionItem value="privacy"> <AccordionHeader> <AccordionTrigger>Privacy Policy</AccordionTrigger> </AccordionHeader> <AccordionPanel> Learn how we collect, use, and protect your personal information and data. </AccordionPanel> </AccordionItem> <AccordionItem value="terms"> <AccordionHeader> <AccordionTrigger>Terms of Service</AccordionTrigger> </AccordionHeader> <AccordionPanel> Review the terms and conditions that govern your use of our platform. </AccordionPanel> </AccordionItem></Accordion>