{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "accordion",
  "type": "registry:ui",
  "dependencies": [
    "lucide-react",
    "@radix-ui/react-accordion"
  ],
  "files": [
    {
      "path": "components/ui/accordion.tsx",
      "content": "'use client'\n\nimport * as React from 'react'\nimport * as AccordionPrimitive from '@radix-ui/react-accordion'\nimport { ChevronDownIcon } from 'lucide-react'\nimport { cn } from '@/lib/utils'\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n    return (\n        <AccordionPrimitive.Root\n            data-slot=\"accordion\"\n            {...props}\n        />\n    )\n}\n\nfunction AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n    return (\n        <AccordionPrimitive.Item\n            data-slot=\"accordion-item\"\n            className={cn('border-b last:border-b-0', className)}\n            {...props}\n        />\n    )\n}\n\nfunction AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n    return (\n        <AccordionPrimitive.Header className=\"flex\">\n            <AccordionPrimitive.Trigger\n                data-slot=\"accordion-trigger\"\n                className={cn('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 outline-none transition-all hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180', className)}\n                {...props}>\n                {children}\n                <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n            </AccordionPrimitive.Trigger>\n        </AccordionPrimitive.Header>\n    )\n}\n\nfunction AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n    return (\n        <AccordionPrimitive.Content\n            data-slot=\"accordion-content\"\n            className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n            {...props}>\n            <div className={cn('pb-4 pt-0', className)}>{children}</div>\n        </AccordionPrimitive.Content>\n    )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n",
      "type": "registry:ui",
      "target": "components/ui/accordion.tsx"
    }
  ]
}