Expandable/collapsible content.
import { Collapsible, CollapsibleTrigger, CollapsibleContent } from "@/components/ui";<Collapsible>
<CollapsibleTrigger asChild>
<Button variant="ghost" className="w-full justify-between">
Toggle Content
<ChevronDown className="h-4 w-4" />
</Button>
</CollapsibleTrigger>
<CollapsibleContent>
<div className="p-4">
This content can be collapsed and expanded.
</div>
</CollapsibleContent>
</Collapsible>Manage open state externally
const [open, setOpen] = useState(false);return ( <Collapsible open={open} onOpenChange={setOpen}> <CollapsibleTrigger asChild> <Button variant="outline"> {open ? "Hide" : "Show"} details </Button> </CollapsibleTrigger> <CollapsibleContent> <div className="mt-4 p-4 border rounded"> Detailed information goes here... </div> </CollapsibleContent> </Collapsible>);Common sidebar pattern
<Collapsible defaultOpen> <CollapsibleTrigger className="flex items-center gap-2 w-full p-2 hover:bg-muted rounded"> <Folder className="h-4 w-4" /> <span>Documents</span> <ChevronDown className="ml-auto h-4 w-4" /> </CollapsibleTrigger> <CollapsibleContent className="ml-6 space-y-1"> <NavLink href="/docs/intro">Introduction</NavLink> <NavLink href="/docs/guide">Guide</NavLink> <NavLink href="/docs/api">API Reference</NavLink> </CollapsibleContent></Collapsible>Configure your app with the features you need and download production-ready code.
Start Configuring