{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sheet",
  "type": "registry:ui",
  "dependencies": [
    "@radix-ui/react-dialog"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "ui/sheet.tsx",
      "content": "\"use client\";\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const Sheet = DialogPrimitive.Root;\nexport const SheetTrigger = DialogPrimitive.Trigger;\nexport const SheetClose = DialogPrimitive.Close;\nexport const SheetTitle = DialogPrimitive.Title;\nexport const SheetDescription = DialogPrimitive.Description;\n\ntype Side = \"left\" | \"right\";\n\nconst sideClasses: Record<Side, string> = {\n  left: \"inset-y-0 left-0 border-r\",\n  right: \"inset-y-0 right-0 border-l\",\n};\n\nexport function SheetContent({\n  className,\n  children,\n  side = \"left\",\n  ...props\n}: ComponentProps<typeof DialogPrimitive.Content> & { side?: Side }) {\n  return (\n    <DialogPrimitive.Portal>\n      <DialogPrimitive.Overlay\n        className=\"fixed inset-0 z-50 bg-black/40 backdrop-blur-[1px] data-[state=closed]:opacity-0\"\n      />\n      <DialogPrimitive.Content\n        className={cn(\n          \"fixed z-50 flex h-full w-[min(20rem,85vw)] flex-col border-hairline bg-card shadow-xl outline-none\",\n          sideClasses[side],\n          className,\n        )}\n        {...props}\n      >\n        {children}\n      </DialogPrimitive.Content>\n    </DialogPrimitive.Portal>\n  );\n}\n",
      "type": "registry:ui",
      "target": "components/ui/sheet.tsx"
    }
  ]
}
