Components
Collapsible
An interactive component which expands or collapses a panel.
Preview
'use client'; import { Button } from '@/registry/san-francisco/ui/button'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/registry/san-francisco/ui/collapsible'; import { ChevronsUpDown } from 'lucide-react'; import * as React from 'react'; export default function CollapsibleDemo() { const [isOpen, setIsOpen] = React.useState(false); return ( <Collapsible open={isOpen} onOpenChange={setIsOpen} className="flex w-full max-w-sm flex-col gap-2"> <div className="flex items-center justify-between gap-4 px-1"> <h4 className="text-sm font-semibold">Order #4189</h4> <CollapsibleTrigger render={<Button variant="ghost" size="icon" className="size-8 shrink-0" />}> <ChevronsUpDown /> <span className="sr-only">Toggle details</span> </CollapsibleTrigger> </div> <div className="flex items-center justify-between rounded-md border px-4 py-2 text-sm"> <span className="text-muted-foreground">Status</span> <span className="font-medium">Shipped</span> </div> <CollapsibleContent className="flex flex-col gap-2"> <div className="rounded-md border px-4 py-2 text-sm"> <p className="font-medium">Shipping address</p> <p className="text-muted-foreground">100 Market St, San Francisco</p> </div> <div className="rounded-md border px-4 py-2 text-sm"> <p className="font-medium">Items</p> <p className="text-muted-foreground">2x Studio Headphones</p> </div> </CollapsibleContent> </Collapsible> ); }
Installation
bunx shadcn@latest add @sft-ui/collapsibleAPI Reference
See the Base UI Collapsible documentation for the full API.