{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sheet",
  "title": "Sheet",
  "description": "A sheet of glass that floats up and can be pulled back down.",
  "dependencies": [
    "@base-ui/react@^1.8.0"
  ],
  "registryDependencies": [
    "https://liquikit.dev/r/button.json",
    "https://liquikit.dev/r/core.json",
    "https://liquikit.dev/r/glass.json"
  ],
  "files": [
    {
      "path": "src/sheet.tsx",
      "content": "\"use client\";\n\nimport { Drawer } from \"@base-ui/react/drawer\";\nimport type { ReactNode } from \"react\";\nimport { Button, type ButtonProps } from \"./button\";\nimport { GlassPane, type GlassRefraction, type GlassTheme } from \"./glass\";\nimport { cx } from \"./types\";\nimport \"./liquikit.css\";\n\nconst SHEET_RADIUS = 34;\n\nexport type SheetRootProps = Drawer.Root.Props;\n\nfunction Root({ swipeDirection = \"down\", ...props }: SheetRootProps) {\n\treturn <Drawer.Root swipeDirection={swipeDirection} {...props} />;\n}\n\nfunction Trigger(props: ButtonProps) {\n\treturn <Drawer.Trigger render={<Button {...props} />} />;\n}\n\nexport type SheetPopupProps = Omit<\n\tDrawer.Popup.Props,\n\t\"className\" | \"render\"\n> & {\n\ttheme?: GlassTheme;\n\trefraction?: GlassRefraction;\n\tclassName?: string;\n\tchildren?: ReactNode;\n};\n\nfunction Popup({\n\ttheme,\n\trefraction,\n\tclassName,\n\tchildren,\n\t...popupProps\n}: SheetPopupProps) {\n\treturn (\n\t\t<Drawer.Portal>\n\t\t\t<Drawer.Backdrop className=\"glass-ui-sheet__backdrop\" />\n\t\t\t<Drawer.Viewport className=\"glass-ui-sheet__viewport\">\n\t\t\t\t<Drawer.Popup\n\t\t\t\t\t{...popupProps}\n\t\t\t\t\tclassName={cx(\"glass-ui-sheet\", className)}\n\t\t\t\t\trender={(props) => (\n\t\t\t\t\t\t<GlassPane\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\tradius={SHEET_RADIUS}\n\t\t\t\t\t\t\ttheme={theme}\n\t\t\t\t\t\t\trefraction={refraction}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"glass-ui-sheet__handle\" aria-hidden=\"true\">\n\t\t\t\t\t\t<div className=\"glass-ui-sheet__grabber\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Drawer.Content className=\"glass-ui-sheet__content\">\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Drawer.Content>\n\t\t\t\t</Drawer.Popup>\n\t\t\t</Drawer.Viewport>\n\t\t</Drawer.Portal>\n\t);\n}\n\nfunction Title({\n\tclassName,\n\t...titleProps\n}: Omit<Drawer.Title.Props, \"className\"> & { className?: string }) {\n\treturn (\n\t\t<Drawer.Title\n\t\t\t{...titleProps}\n\t\t\tclassName={cx(\"glass-ui-sheet__title\", className)}\n\t\t/>\n\t);\n}\n\nfunction Description({\n\tclassName,\n\t...descriptionProps\n}: Omit<Drawer.Description.Props, \"className\"> & { className?: string }) {\n\treturn (\n\t\t<Drawer.Description\n\t\t\t{...descriptionProps}\n\t\t\tclassName={cx(\"glass-ui-sheet__description\", className)}\n\t\t/>\n\t);\n}\n\nfunction Close({ block = true, ...props }: ButtonProps) {\n\treturn <Drawer.Close render={<Button block={block} {...props} />} />;\n}\n\nexport const Sheet = { Root, Trigger, Popup, Title, Description, Close };\n\nexport const SheetRoot = Sheet.Root;\nexport const SheetTrigger = Sheet.Trigger;\nexport const SheetPopup = Sheet.Popup;\nexport const SheetTitle = Sheet.Title;\nexport const SheetDescription = Sheet.Description;\nexport const SheetClose = Sheet.Close;\n",
      "type": "registry:ui",
      "target": "@components/liquikit/sheet.tsx"
    }
  ],
  "type": "registry:ui"
}