{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "collapsible",
  "title": "Collapsible",
  "description": "A single disclosure region with controlled or uncontrolled state and measured panel motion.",
  "dependencies": [
    "@base-ui/react",
    "lucide-react"
  ],
  "files": [
    {
      "path": "registry/rivetui/components/collapsible/collapsible.tsx",
      "content": "\"use client\";\n\nimport { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\";\nimport { ChevronRight } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Collapsible({ className, ...props }: CollapsiblePrimitive.Root.Props) {\n  return (\n    <CollapsiblePrimitive.Root\n      data-slot=\"collapsible\"\n      className={cn(\"w-full border border-border\", className)}\n      {...props}\n    />\n  );\n}\n\nfunction CollapsibleTrigger({ className, children, ...props }: CollapsiblePrimitive.Trigger.Props) {\n  return (\n    <CollapsiblePrimitive.Trigger\n      data-slot=\"collapsible-trigger\"\n      className={cn(\n        \"group/collapsible-trigger relative z-0 flex min-h-10 w-full cursor-pointer items-center justify-between gap-3 bg-muted/20 px-4 py-2 text-left font-mono text-[0.625rem] font-medium uppercase tracking-[0.14em] text-muted-foreground outline-none transition-[background-color,box-shadow,color,opacity] duration-100 hover:not-data-disabled:bg-muted/40 hover:not-data-disabled:text-foreground focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/40 data-disabled:cursor-not-allowed data-disabled:opacity-50 motion-reduce:transition-none\",\n        className,\n      )}\n      {...props}\n    >\n      <span className=\"min-w-0\">{children}</span>\n      <ChevronRight\n        className=\"size-3.5 shrink-0 transition-transform duration-150 group-data-panel-open/collapsible-trigger:rotate-90 motion-reduce:transition-none\"\n        aria-hidden=\"true\"\n      />\n    </CollapsiblePrimitive.Trigger>\n  );\n}\n\nfunction CollapsibleContent({ className, children, ...props }: CollapsiblePrimitive.Panel.Props) {\n  return (\n    <CollapsiblePrimitive.Panel\n      data-slot=\"collapsible-content\"\n      className=\"h-(--collapsible-panel-height) overflow-hidden transition-[height] duration-150 [&[hidden]:not([hidden='until-found'])]:hidden data-ending-style:h-0 data-starting-style:h-0 motion-reduce:transition-none\"\n      {...props}\n    >\n      <div className={cn(\"border-t border-border p-4 text-sm\", className)}>{children}</div>\n    </CollapsiblePrimitive.Panel>\n  );\n}\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}