Components
- Accordion
- Alert
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendarnew
- Card
- Carousel
- Checkbox
- Chip
- Collapse
- Dialog
- Drawer
- Footer
- Gallery
- Icon Button
- Image
- Input
- List
- Mapnew
- Menu
- Navbar
- Pagination
- Popover
- Progress
- Radio
- Rating
- Select
- Sidebar
- Skeletonnew
- Slider
- Software Purchase Card
- Sonner / Toastnew
- Speed Dial
- Spinner
- Stepper
- Switch
- Table
- Tabs
- Textarea
- Timeline
- Tooltip
- Typography
- Video
- Components
"use client"
import * as React from "react"
import { ChevronDown } from "lucide-react"
import { cn } from "@/lib/utils"
import { Collapse, CollapseContent } from "@/components/ui/collapse"
import { List, ListItem, ListItemEnd } from "@/components/ui/list"
export function CollapseDemo() {
const [isOpen, setIsOpen] = React.useState(false)
return (
<List>
<ListItem
onClick={() => setIsOpen((cur) => !cur)}
className="cursor-pointer"
>
Components
<ListItemEnd>
<ChevronDown
className={cn(
"h-5 w-5 transition-transform duration-200",
isOpen && "rotate-180"
)}
/>
</ListItemEnd>
</ListItem>
<Collapse open={isOpen}>
<CollapseContent>
<List>
<ListItem>Avatar</ListItem>
<ListItem>Button</ListItem>
<ListItem>Input</ListItem>
<ListItem>Checkbox</ListItem>
<ListItem>Select</ListItem>
</List>
</CollapseContent>
</Collapse>
</List>
)
}
Installation
pnpm dlx @creative-tim/ui@latest add collapse
Usage
import CollapseDemo from "@/components/collapse-demo"<CollapseDemo />Best Practices
- Use collapse components to hide and show content progressively
- Provide clear visual indicators (like chevron icons) for expandable sections
- Use smooth animations to enhance user experience
- Consider accessibility by ensuring keyboard navigation works properly
- Use collapse for navigation menus, FAQ sections, and content organization
- Keep collapsed content concise and relevant
- Provide clear labels for collapsible sections
Collapse components provide a clean way to manage content visibility while maintaining a compact interface. They're ideal for navigation menus, FAQ sections, settings panels, and any interface where progressive disclosure improves user experience.
Integrate the blocks in your application or use them in v0, Lovable, Claude, etc.
Speed up your workflow with modular, open-source components and blocksthat integrate effortlessly through Registries and MCPs.
Talk to an expert