Accordion
Card Plus Accordion
Collapsible content panels with card-style borders and plus/minus indicators. Perfect for React applications requiring tab-like sections with animated controls and Next.js integration and TypeScript support.
Powered by
Installation
npx shadcn@latest add https://www.shadcn.io/registry/accordion-12.json
npx shadcn@latest add https://www.shadcn.io/registry/accordion-12.json
pnpm dlx shadcn@latest add https://www.shadcn.io/registry/accordion-12.json
bunx shadcn@latest add https://www.shadcn.io/registry/accordion-12.json
Features
- Card-style design with plus/minus combining bordered containers with advanced animation sequences
- Complex icon animations including rotation, opacity transitions, and path transformations
- Spaced layout with gap between accordion items using space-y-2 utility classes
- Focus management with has-focus-visible selectors for enhanced accessibility features
- Rounded corners with consistent border radius for modern visual appearance
- shadcn/ui integration using consistent design tokens and Tailwind CSS styling
Use Cases
This free open source React component works well for:
- Interactive FAQs - Question and answer panels with engaging animations built with Next.js
- Feature toggles - Configuration sections with plus/minus indicators using TypeScript
- Content modules - Information blocks with card styling and animated controls for React applications
- Product features - Capability lists with visual feedback using Tailwind CSS
API Reference
Accordion12
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 |
Accordion12Item
Prop | Type | Default | Description |
---|---|---|---|
value | string | required | Unique identifier for this accordion item |
Accordion12Header
Prop | Type | Default | Description |
---|---|---|---|
children | ReactNode | required | Content to wrap in accordion header |
Accordion12Trigger
Prop | Type | Default | Description |
---|---|---|---|
children | ReactNode | required | Content to display in the trigger button |
Accordion12Content
Prop | Type | Default | Description |
---|---|---|---|
children | ReactNode | required | Content to display when expanded |
Implementation Notes
- Combines card-style design with complex plus/minus animation sequences
- Uses advanced CSS selectors for multi-layer animation effects on plus icon paths
- Focus ring disabled on trigger with
focus-visible:ring-0
in favor of item-level focus - Implements spaced layout with
space-y-2
for visual separation between items - Compatible with shadcn/ui design system and Tailwind CSS utility classes
- Maintains plus icon rotation and opacity transitions for expand/collapse states
Card Accordion
Collapsible content panels with card-style borders and chevron indicators. Perfect for React applications requiring tab-like sections with Next.js integration and TypeScript support.
Card Left Chevron Accordion
Collapsible content panels with card-style borders and left-aligned chevron indicators. Perfect for React applications requiring navigation-style tab sections with Next.js integration and TypeScript support.