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

Loading component...

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

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

Accordion12Item

PropTypeDefaultDescription
valuestringrequiredUnique identifier for this accordion item

Accordion12Header

PropTypeDefaultDescription
childrenReactNoderequiredContent to wrap in accordion header

Accordion12Trigger

PropTypeDefaultDescription
childrenReactNoderequiredContent to display in the trigger button

Accordion12Content

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