{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "accordion",
  "type": "registry:ui",
  "description": "Collapse and expand sections to show or hide content.",
  "dependencies": [
    "@base-ui/react",
    "lucide-react"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "components/ui/accordion.tsx",
      "content": "\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { Accordion as BaseAccordion } from \"@base-ui/react/accordion\"\r\nimport { ChevronDown } from \"lucide-react\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst Accordion = BaseAccordion.Root\r\n\r\ntype AccordionItemProps = React.ComponentPropsWithoutRef<typeof BaseAccordion.Item>\r\n\r\nconst AccordionItem = React.forwardRef<\r\n    React.ComponentRef<typeof BaseAccordion.Item>,\r\n    AccordionItemProps\r\n>(({ className, ...props }, ref) => (\r\n    <BaseAccordion.Item\r\n        ref={ref}\r\n        className={cn(\r\n            \"mb-4 border-2 border-black bg-white shadow-brutal hover:bg-main/20 data-open:bg-main/20 data-open:shadow-brutal transition-colors duration-200 rounded-base\",\r\n            className\r\n        )}\r\n        {...props}\r\n    />\r\n))\r\nAccordionItem.displayName = \"AccordionItem\"\r\n\r\ntype AccordionTriggerProps = React.ComponentPropsWithoutRef<typeof BaseAccordion.Trigger>\r\n\r\nconst AccordionTrigger = React.forwardRef<\r\n    React.ComponentRef<typeof BaseAccordion.Trigger>,\r\n    AccordionTriggerProps\r\n>(({ className, children, ...props }, ref) => (\r\n    <BaseAccordion.Header className=\"flex\">\r\n        <BaseAccordion.Trigger\r\n            ref={ref}\r\n            className={cn(\r\n                \"flex flex-1 items-center text-left justify-between p-3 font-bold text-black focus-brutal-inset transition-colors duration-200 [&[data-open]>svg]:rotate-180\",\r\n                className\r\n            )}\r\n            {...props}\r\n        >\r\n            {children}\r\n            <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200 text-black\" />\r\n        </BaseAccordion.Trigger>\r\n    </BaseAccordion.Header>\r\n))\r\nAccordionTrigger.displayName = \"AccordionTrigger\"\r\n\r\ntype AccordionContentProps = React.ComponentPropsWithoutRef<typeof BaseAccordion.Panel>\r\n\r\nconst AccordionContent = React.forwardRef<\r\n    React.ComponentRef<typeof BaseAccordion.Panel>,\r\n    AccordionContentProps\r\n>(({ className, children, ...props }, ref) => (\r\n    <BaseAccordion.Panel\r\n        ref={ref}\r\n        className=\"overflow-hidden text-sm h-(--accordion-panel-height) transition-[height] duration-200 motion-reduce:transition-none data-ending-style:h-0 data-starting-style:h-0 text-black\"\r\n        {...props}\r\n    >\r\n        <div className={cn(\"p-3 pt-0\", className)}>{children}</div>\r\n    </BaseAccordion.Panel>\r\n))\r\nAccordionContent.displayName = \"AccordionContent\"\r\n\r\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\r\n",
      "type": "registry:ui"
    }
  ]
}