{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "components-radix-accordion",
  "title": "Accordion",
  "description": "A vertically stacked set of interactive headings that each reveal an associated section of content.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "@animate-ui/v1/primitives-radix-accordion"
  ],
  "files": [
    {
      "path": "registry/components/radix/accordion/index.tsx",
      "content": "import * as React from 'react';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport {\n  Accordion as AccordionPrimitive,\n  AccordionItem as AccordionItemPrimitive,\n  AccordionHeader as AccordionHeaderPrimitive,\n  AccordionTrigger as AccordionTriggerPrimitive,\n  AccordionContent as AccordionContentPrimitive,\n  type AccordionProps as AccordionPrimitiveProps,\n  type AccordionItemProps as AccordionItemPrimitiveProps,\n  type AccordionTriggerProps as AccordionTriggerPrimitiveProps,\n  type AccordionContentProps as AccordionContentPrimitiveProps,\n} from '@/components/animate-ui/primitives/radix/accordion';\nimport { cn } from '@/lib/utils';\n\ntype AccordionProps = AccordionPrimitiveProps;\n\nfunction Accordion(props: AccordionProps) {\n  return <AccordionPrimitive {...props} />;\n}\n\ntype AccordionItemProps = AccordionItemPrimitiveProps;\n\nfunction AccordionItem({ className, ...props }: AccordionItemProps) {\n  return (\n    <AccordionItemPrimitive\n      className={cn('border-b last:border-b-0', className)}\n      {...props}\n    />\n  );\n}\n\ntype AccordionTriggerProps = AccordionTriggerPrimitiveProps & {\n  showArrow?: boolean;\n};\n\nfunction AccordionTrigger({\n  className,\n  children,\n  showArrow = true,\n  ...props\n}: AccordionTriggerProps) {\n  return (\n    <AccordionHeaderPrimitive className=\"flex\">\n      <AccordionTriggerPrimitive\n        className={cn(\n          'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',\n          className,\n        )}\n        {...props}\n      >\n        {children}\n        {showArrow && (\n          <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n        )}\n      </AccordionTriggerPrimitive>\n    </AccordionHeaderPrimitive>\n  );\n}\n\ntype AccordionContentProps = AccordionContentPrimitiveProps;\n\nfunction AccordionContent({\n  className,\n  children,\n  ...props\n}: AccordionContentProps) {\n  return (\n    <AccordionContentPrimitive {...props}>\n      <div className={cn('text-sm pt-0 pb-4', className)}>{children}</div>\n    </AccordionContentPrimitive>\n  );\n}\n\nexport {\n  Accordion,\n  AccordionItem,\n  AccordionTrigger,\n  AccordionContent,\n  type AccordionProps,\n  type AccordionItemProps,\n  type AccordionTriggerProps,\n  type AccordionContentProps,\n};\n",
      "type": "registry:ui",
      "target": "components/animate-ui/components/radix/accordion.tsx"
    }
  ],
  "type": "registry:ui"
}