Accordion
Icon Accordion
Collapsible content panels with custom icons and chevron indicators. Perfect for React applications requiring feature sections with Next.js integration and TypeScript support.
Powered by
Installation
npx shadcn@latest add https://www.shadcn.io/registry/accordion-05.json
npx shadcn@latest add https://www.shadcn.io/registry/accordion-05.json
pnpm dlx shadcn@latest add https://www.shadcn.io/registry/accordion-05.json
bunx shadcn@latest add https://www.shadcn.io/registry/accordion-05.json
Features
- Custom icons with flexible Lucide React icon integration for visual categorization
- Icon and chevron combination providing both context and expand/collapse indicators
- Content indentation with proper spacing alignment using padding-start utilities
- TypeScript icon support with LucideIcon type definitions for type safety
- Flexible icon rendering with optional icon prop for conditional display
- shadcn/ui integration using consistent design tokens and Tailwind CSS styling
Use Cases
This free open source React component works well for:
- Feature showcases - Product features with descriptive icons built with Next.js
- Service categories - Organized service offerings using TypeScript and icons
- Help sections - Support topics with relevant visual indicators for React applications
- Documentation sections - Categorized content with visual hierarchy using Tailwind CSS
API Reference
Accordion05
Prop | Type | Default | Description |
---|---|---|---|
type | 'single' | 'multiple' | required | Whether single or multiple items can be expanded |
collapsible | boolean | false | Whether expanded items can be collapsed |
defaultValue | string | string[] | undefined | Default expanded item(s) |
value | string | string[] | undefined | Controlled expanded item(s) |
onValueChange | (value: string | string[]) => void | undefined | Callback when expanded items change |
Accordion05Item
Prop | Type | Default | Description |
---|---|---|---|
value | string | required | Unique identifier for this accordion item |
Accordion05Trigger
Prop | Type | Default | Description |
---|---|---|---|
icon | LucideIcon | undefined | Optional Lucide React icon component to display |
children | ReactNode | required | Content to display in the trigger button |
Accordion05Content
Prop | Type | Default | Description |
---|---|---|---|
children | ReactNode | required | Content to display when expanded |
Implementation Notes
- Icons are rendered conditionally based on the
icon
prop availability - Content indentation with
ps-7
aligns with icon positioning for visual consistency - Uses Lucide React icon components with proper TypeScript integration
- Icons are styled with opacity and shrink-0 for consistent visual treatment
- Compatible with shadcn/ui design system and Tailwind CSS utility classes
Left Plus Accordion
Collapsible content panels with left-aligned plus/minus indicators. Perfect for React applications requiring navigation-style expandable sections with Next.js integration and TypeScript support.
Icon Plus Accordion
Collapsible content panels with custom icons and plus/minus indicators. Perfect for React applications requiring feature sections with animated controls and Next.js integration and TypeScript support.