{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"components-collapsible-shadowed-collapsible","type":"registry:block","title":"Shadowed Collapsible","files":[{"path":"components/blocks/components/collapsible/shadowed-collapsible.tsx","content":"import {\n  Collapsible,\n  CollapsibleContent,\n  CollapsibleTrigger,\n} from '@/components/ui/collapsible';\nimport { ChevronDown, ChevronUp } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { useState } from 'react';\n\nexport default function ShadowedCollapsible() {\n  const [isOpen, setIsOpen] = useState(false);\n\n  return (\n    <div className=\"mx-auto max-w-md py-6\">\n      <Collapsible\n        className={cn(\n          'w-full overflow-hidden rounded-md transition-shadow duration-300',\n          isOpen ? 'shadow-md' : 'shadow-sm'\n        )}\n        open={isOpen}\n        onOpenChange={setIsOpen}\n      >\n        <div className=\"bg-muted/10\">\n          <CollapsibleTrigger className=\"hover:bg-muted/20 flex w-full items-center justify-between px-4 py-3 transition-colors\">\n            <span className=\"font-medium\">Product Specifications</span>\n            {isOpen ? (\n              <ChevronUp className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n            ) : (\n              <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n            )}\n          </CollapsibleTrigger>\n        </div>\n        <CollapsibleContent>\n          <div className=\"from-muted/10 bg-gradient-to-b to-transparent px-4 py-3 text-sm\">\n            <ul className=\"space-y-2\">\n              <li>\n                <span className=\"font-medium\">Dimensions:</span> 10&quot; x\n                8&quot; x 2&quot;\n              </li>\n              <li>\n                <span className=\"font-medium\">Weight:</span> 1.5 lbs\n              </li>\n              <li>\n                <span className=\"font-medium\">Material:</span> Aluminum and\n                high-grade plastic\n              </li>\n              <li>\n                <span className=\"font-medium\">Battery Life:</span> Up to 12\n                hours\n              </li>\n            </ul>\n          </div>\n        </CollapsibleContent>\n      </Collapsible>\n    </div>\n  );\n}\n","type":"registry:component","target":"components/blocks/components/collapsible/shadowed-collapsible.tsx"},{"path":"components/ui/collapsible.tsx","content":"\"use client\"\n\nimport { Collapsible as CollapsiblePrimitive } from \"radix-ui\"\n\nfunction Collapsible({\n  ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n  return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n}\n\nfunction CollapsibleTrigger({\n  ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n  return (\n    <CollapsiblePrimitive.CollapsibleTrigger\n      data-slot=\"collapsible-trigger\"\n      {...props}\n    />\n  )\n}\n\nfunction CollapsibleContent({\n  ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n  return (\n    <CollapsiblePrimitive.CollapsibleContent\n      data-slot=\"collapsible-content\"\n      {...props}\n    />\n  )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","type":"registry:ui","target":"components/ui/collapsible.tsx"}],"description":"A collapsible panel with a soft shadow that lifts it off the page. Use it to highlight an expandable block of content inside a busy layout or feed.","dependencies":["lucide-react","radix-ui"]}