{
  "name": "drawer",
  "title": "Drawer",
  "description": "Kura Drawer component source.",
  "type": "ui",
  "add": "when-added",
  "files": [
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: DrawerPrimitive.CloseProps = $props();\n</script>\n\n<DrawerPrimitive.Close\n  bind:ref\n  data-slot=\"drawer-close\"\n  class={cn(\n    'outline-none transition-colors focus-visible:ring-1 focus-visible:ring-ring/50',\n    className\n  )}\n  {...restProps}\n/>\n",
      "path": "drawer/drawer-close.svelte",
      "_imports_": [
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n  import DrawerPortal from './drawer-portal.svelte';\n  import DrawerOverlay from './drawer-overlay.svelte';\n  import { cn } from '$lib/utils.js';\n  import type { ComponentProps } from 'svelte';\n  import type { WithoutChildrenOrChild } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    portalProps,\n    children,\n    ...restProps\n  }: DrawerPrimitive.ContentProps & {\n    portalProps?: WithoutChildrenOrChild<ComponentProps<typeof DrawerPortal>>;\n  } = $props();\n</script>\n\n<DrawerPortal {...portalProps}>\n  <DrawerOverlay />\n  <DrawerPrimitive.Content\n    bind:ref\n    data-slot=\"drawer-content\"\n    class={cn(\n      'fixed z-50 flex h-auto flex-col border-border bg-popover text-xs/relaxed text-popover-foreground 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-overlay data-[vaul-drawer-direction=bottom]:border-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-e-overlay data-[vaul-drawer-direction=left]:border-r 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-s-overlay data-[vaul-drawer-direction=right]:border-l 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-overlay data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm group/drawer-content',\n      className\n    )}\n    {...restProps}\n  >\n    <div\n      data-slot=\"drawer-handle\"\n      class=\"mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-none bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block\"\n    ></div>\n    {@render children?.()}\n  </DrawerPrimitive.Content>\n</DrawerPortal>\n",
      "path": "drawer/drawer-content.svelte",
      "_imports_": [
        {
          "import": "./drawer-portal.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-portal.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-overlay.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-overlay.svelte"
          },
          "meta": {}
        },
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: DrawerPrimitive.DescriptionProps = $props();\n</script>\n\n<DrawerPrimitive.Description\n  bind:ref\n  data-slot=\"drawer-description\"\n  class={cn('text-muted-foreground text-xs/relaxed', className)}\n  {...restProps}\n/>\n",
      "path": "drawer/drawer-description.svelte",
      "_imports_": [
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { cn, type WithElementRef } from '$lib/utils.js';\n  import type { HTMLAttributes } from 'svelte/elements';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    children,\n    ...restProps\n  }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();\n</script>\n\n<div\n  bind:this={ref}\n  data-slot=\"drawer-footer\"\n  class={cn('mt-auto flex flex-col gap-2 border-t border-border p-4', className)}\n  {...restProps}\n>\n  {@render children?.()}\n</div>\n",
      "path": "drawer/drawer-footer.svelte",
      "_imports_": [
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import type { HTMLAttributes } from 'svelte/elements';\n  import { cn, type WithElementRef } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    children,\n    ...restProps\n  }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();\n</script>\n\n<div\n  bind:this={ref}\n  data-slot=\"drawer-header\"\n  class={cn(\n    'flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:text-left',\n    className\n  )}\n  {...restProps}\n>\n  {@render children?.()}\n</div>\n",
      "path": "drawer/drawer-header.svelte",
      "_imports_": [
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n\n  let {\n    shouldScaleBackground = true,\n    open = $bindable(false),\n    activeSnapPoint = $bindable(null),\n    ...restProps\n  }: DrawerPrimitive.RootProps = $props();\n</script>\n\n<DrawerPrimitive.NestedRoot {shouldScaleBackground} bind:open bind:activeSnapPoint {...restProps} />\n",
      "path": "drawer/drawer-nested.svelte",
      "_imports_": [],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: DrawerPrimitive.OverlayProps = $props();\n</script>\n\n<DrawerPrimitive.Overlay\n  bind:ref\n  data-slot=\"drawer-overlay\"\n  class={cn(\n    'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs',\n    className\n  )}\n  {...restProps}\n/>\n",
      "path": "drawer/drawer-overlay.svelte",
      "_imports_": [
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n\n  let { ...restProps }: DrawerPrimitive.PortalProps = $props();\n</script>\n\n<DrawerPrimitive.Portal {...restProps} />\n",
      "path": "drawer/drawer-portal.svelte",
      "_imports_": [],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: DrawerPrimitive.TitleProps = $props();\n</script>\n\n<DrawerPrimitive.Title\n  bind:ref\n  data-slot=\"drawer-title\"\n  class={cn('text-sm font-medium text-foreground', className)}\n  {...restProps}\n/>\n",
      "path": "drawer/drawer-title.svelte",
      "_imports_": [
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: DrawerPrimitive.TriggerProps = $props();\n</script>\n\n<DrawerPrimitive.Trigger\n  bind:ref\n  data-slot=\"drawer-trigger\"\n  class={cn(\n    'outline-none transition-colors focus-visible:ring-1 focus-visible:ring-ring/50',\n    className\n  )}\n  {...restProps}\n/>\n",
      "path": "drawer/drawer-trigger.svelte",
      "_imports_": [
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Drawer as DrawerPrimitive } from 'vaul-svelte';\n\n  let {\n    shouldScaleBackground = true,\n    open = $bindable(false),\n    activeSnapPoint = $bindable(null),\n    ...restProps\n  }: DrawerPrimitive.RootProps = $props();\n</script>\n\n<DrawerPrimitive.Root {shouldScaleBackground} bind:open bind:activeSnapPoint {...restProps} />\n",
      "path": "drawer/drawer.svelte",
      "_imports_": [],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "import Root from './drawer.svelte';\nimport Content from './drawer-content.svelte';\nimport Description from './drawer-description.svelte';\nimport Overlay from './drawer-overlay.svelte';\nimport Footer from './drawer-footer.svelte';\nimport Header from './drawer-header.svelte';\nimport Title from './drawer-title.svelte';\nimport NestedRoot from './drawer-nested.svelte';\nimport Close from './drawer-close.svelte';\nimport Trigger from './drawer-trigger.svelte';\nimport Portal from './drawer-portal.svelte';\n\nexport {\n  Root,\n  NestedRoot,\n  Content,\n  Description,\n  Overlay,\n  Footer,\n  Header,\n  Title,\n  Trigger,\n  Portal,\n  Close,\n\n  //\n  Root as Drawer,\n  NestedRoot as DrawerNestedRoot,\n  Content as DrawerContent,\n  Description as DrawerDescription,\n  Overlay as DrawerOverlay,\n  Footer as DrawerFooter,\n  Header as DrawerHeader,\n  Title as DrawerTitle,\n  Trigger as DrawerTrigger,\n  Portal as DrawerPortal,\n  Close as DrawerClose\n};\n",
      "path": "drawer/index.ts",
      "_imports_": [
        {
          "import": "./drawer.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-content.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-content.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-description.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-description.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-overlay.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-overlay.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-footer.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-footer.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-header.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-header.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-title.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-title.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-nested.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-nested.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-close.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-close.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-trigger.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-trigger.svelte"
          },
          "meta": {}
        },
        {
          "import": "./drawer-portal.svelte",
          "item": "drawer",
          "file": {
            "type": "ui",
            "path": "drawer/drawer-portal.svelte"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    }
  ],
  "registryDependencies": [
    "styles",
    "utils"
  ],
  "dependencies": [
    {
      "ecosystem": "js",
      "name": "vaul-svelte",
      "version": "1.0.0-next.7"
    }
  ],
  "devDependencies": []
}