Join our Discord community
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

Loading component...

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

PropTypeDefaultDescription
type'single' | 'multiple'requiredWhether single or multiple items can be expanded
collapsiblebooleanfalseWhether expanded items can be collapsed
defaultValuestring | string[]undefinedDefault expanded item(s)
valuestring | string[]undefinedControlled expanded item(s)
onValueChange(value: string | string[]) => voidundefinedCallback when expanded items change

Accordion05Item

PropTypeDefaultDescription
valuestringrequiredUnique identifier for this accordion item

Accordion05Trigger

PropTypeDefaultDescription
iconLucideIconundefinedOptional Lucide React icon component to display
childrenReactNoderequiredContent to display in the trigger button

Accordion05Content

PropTypeDefaultDescription
childrenReactNoderequiredContent 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