{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "collapsible",
  "title": "Collapsible",
  "description": "An interactive component which expands/collapses a panel.",
  "dependencies": [
    "@base-ui/react",
    "clsx",
    "tailwind-merge"
  ],
  "registryDependencies": [
    "https://optics.agusmayol.com.ar/r/utils.json"
  ],
  "files": [
    {
      "path": "registry/optics/collapsible.jsx",
      "content": "\"use client\";\n\nimport { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\";\nimport { cn } from \"@/registry/optics/lib/utils\";\n\nfunction Collapsible({\n\topen = false,\n\tdefaultOpen = false,\n\tonOpenChange = undefined,\n\tdisabled = false,\n\tclassName = \"\",\n\t...props\n}) {\n\treturn (\n\t\t<CollapsiblePrimitive.Root\n\t\t\tdata-slot=\"collapsible\"\n\t\t\topen={open}\n\t\t\tdefaultOpen={defaultOpen}\n\t\t\tonOpenChange={onOpenChange}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={className}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CollapsibleTrigger({ disabled = false, className = \"\", ...props }) {\n\treturn (\n\t\t<CollapsiblePrimitive.Trigger\n\t\t\tdata-slot=\"collapsible-trigger\"\n\t\t\tdisabled={disabled}\n\t\t\tclassName={className}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CollapsibleContent({\n\tclassName = \"\",\n\tforceMount = false,\n\tchildren = null,\n\t...props\n}) {\n\treturn (\n\t\t<CollapsiblePrimitive.Panel\n\t\t\tdata-slot=\"collapsible-content\"\n\t\t\tkeepMounted={forceMount}\n\t\t\tclassName={cn(\n\t\t\t\t\"grid transition-[grid-template-rows,opacity] duration-300 ease-out\",\n\t\t\t\t\"data-[closed]:grid-rows-[0fr] data-[closed]:opacity-0\",\n\t\t\t\t\"data-[starting-style]:grid-rows-[0fr] data-[ending-style]:grid-rows-[0fr]\",\n\t\t\t\t\"data-[open]:grid-rows-[1fr] data-[open]:opacity-100\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className={cn(\"min-h-0 overflow-hidden\", className)}>{children}</div>\n\t\t</CollapsiblePrimitive.Panel>\n\t);\n}\n\nCollapsible.displayName = \"Collapsible\";\nCollapsibleTrigger.displayName = \"CollapsibleTrigger\";\nCollapsibleContent.displayName = \"CollapsibleContent\";\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n",
      "type": "registry:component",
      "target": "components/optics/collapsible.jsx"
    }
  ],
  "type": "registry:component"
}