{
	"$schema": "https://ui.shadcn.com/schema/registry-item.json",
	"name": "drawer",
	"dependencies": ["vaul-base"],
	"registryDependencies": [],
	"files": [
		{
			"path": "ui/drawer.tsx",
			"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Drawer as BaseDrawer } from \"vaul-base\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Drawer({ ...props }: React.ComponentProps<typeof BaseDrawer.Root>) {\n\treturn <BaseDrawer.Root data-slot=\"drawer\" {...props} />\n}\n\nfunction DrawerTrigger({\n\t...props\n}: React.ComponentProps<typeof BaseDrawer.Trigger>) {\n\treturn <BaseDrawer.Trigger data-slot=\"drawer-trigger\" {...props} />\n}\n\nfunction DrawerPortal({\n\t...props\n}: React.ComponentProps<typeof BaseDrawer.Portal>) {\n\treturn <BaseDrawer.Portal data-slot=\"drawer-portal\" {...props} />\n}\n\nfunction DrawerClose({\n\t...props\n}: React.ComponentProps<typeof BaseDrawer.Close>) {\n\treturn <BaseDrawer.Close data-slot=\"drawer-close\" {...props} />\n}\n\nfunction DrawerOverlay({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof BaseDrawer.Overlay>) {\n\treturn (\n\t\t<BaseDrawer.Overlay\n\t\t\tdata-slot=\"drawer-overlay\"\n\t\t\tclassName={cn(\n\t\t\t\t\"fixed inset-0 bg-black/50 transition-all duration-200 [&[data-ending-style]]:opacity-0 [&[data-starting-style]]:opacity-0\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction DrawerContent({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof BaseDrawer.Content>) {\n\treturn (\n\t\t<DrawerPortal>\n\t\t\t<DrawerOverlay />\n\t\t\t<BaseDrawer.Content\n\t\t\t\tdata-slot=\"drawer-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"group/drawer-content bg-popover text-popover-foreground fixed z-50 flex h-auto flex-col outline-none\",\n\t\t\t\t\t\"data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b\",\n\t\t\t\t\t\"data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t\",\n\t\t\t\t\t\"data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-lg data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm\",\n\t\t\t\t\t\"data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-lg data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div className=\"bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block\" />\n\t\t\t\t{children}\n\t\t\t</BaseDrawer.Content>\n\t\t</DrawerPortal>\n\t)\n}\n\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"drawer-header\"\n\t\t\tclassName={cn(\"flex flex-col gap-1.5 p-4\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"drawer-footer\"\n\t\t\tclassName={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nfunction DrawerTitle({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof BaseDrawer.Title>) {\n\treturn (\n\t\t<BaseDrawer.Title\n\t\t\tdata-slot=\"drawer-title\"\n\t\t\tclassName={cn(\"text-foreground font-semibold\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction DrawerDescription({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof BaseDrawer.Description>) {\n\treturn (\n\t\t<BaseDrawer.Description\n\t\t\tdata-slot=\"drawer-description\"\n\t\t\tclassName={cn(\"text-muted-foreground text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport {\n\tDrawer,\n\tDrawerPortal,\n\tDrawerOverlay,\n\tDrawerTrigger,\n\tDrawerClose,\n\tDrawerContent,\n\tDrawerHeader,\n\tDrawerFooter,\n\tDrawerTitle,\n\tDrawerDescription,\n}\n",
			"type": "registry:ui",
			"target": ""
		}
	],
	"type": "registry:ui"
}
