{
  "name": "sheet",
  "title": "Sheet",
  "description": "Kura Sheet component source.",
  "type": "ui",
  "add": "when-added",
  "files": [
    {
      "type": "ui",
      "role": "file",
      "content": "import Root from './sheet.svelte';\nimport Portal from './sheet-portal.svelte';\nimport Trigger from './sheet-trigger.svelte';\nimport Close from './sheet-close.svelte';\nimport Overlay from './sheet-overlay.svelte';\nimport Content from './sheet-content.svelte';\nimport Header from './sheet-header.svelte';\nimport Footer from './sheet-footer.svelte';\nimport Title from './sheet-title.svelte';\nimport Description from './sheet-description.svelte';\n\nexport {\n  Root,\n  Close,\n  Trigger,\n  Portal,\n  Overlay,\n  Content,\n  Header,\n  Footer,\n  Title,\n  Description,\n  //\n  Root as Sheet,\n  Close as SheetClose,\n  Trigger as SheetTrigger,\n  Portal as SheetPortal,\n  Overlay as SheetOverlay,\n  Content as SheetContent,\n  Header as SheetHeader,\n  Footer as SheetFooter,\n  Title as SheetTitle,\n  Description as SheetDescription\n};\n",
      "path": "sheet/index.ts",
      "_imports_": [
        {
          "import": "./sheet.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-portal.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-portal.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-trigger.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-trigger.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-close.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-close.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-overlay.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-overlay.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-content.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-content.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-header.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-header.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-footer.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-footer.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-title.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-title.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-description.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-description.svelte"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Dialog as SheetPrimitive } from 'bits-ui';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: SheetPrimitive.CloseProps = $props();\n</script>\n\n<SheetPrimitive.Close\n  bind:ref\n  data-slot=\"sheet-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": "sheet/sheet-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\" module>\n  export type Side = 'top' | 'right' | 'bottom' | 'left';\n</script>\n\n<script lang=\"ts\">\n  import { Dialog as SheetPrimitive } from 'bits-ui';\n  import type { Snippet } from 'svelte';\n  import SheetPortal from './sheet-portal.svelte';\n  import SheetOverlay from './sheet-overlay.svelte';\n  import { Button } from '$lib/components/ui/button/index.js';\n  import XIcon from 'phosphor-svelte/lib/XIcon';\n  import { cn, type WithoutChildrenOrChild } from '$lib/utils.js';\n  import type { ComponentProps } from 'svelte';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    side = 'right',\n    showCloseButton = true,\n    portalProps,\n    children,\n    ...restProps\n  }: WithoutChildrenOrChild<SheetPrimitive.ContentProps> & {\n    portalProps?: WithoutChildrenOrChild<ComponentProps<typeof SheetPortal>>;\n    side?: Side;\n    showCloseButton?: boolean;\n    children: Snippet;\n  } = $props();\n</script>\n\n<SheetPortal {...portalProps}>\n  <SheetOverlay />\n  <SheetPrimitive.Content\n    bind:ref\n    data-slot=\"sheet-content\"\n    data-side={side}\n    class={cn(\n      'fixed z-50 flex flex-col border-border bg-popover bg-clip-padding text-xs/relaxed text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:rounded-t-overlay data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:rounded-e-overlay data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:rounded-s-overlay data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:rounded-b-overlay data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10',\n      className\n    )}\n    {...restProps}\n  >\n    {@render children?.()}\n    {#if showCloseButton}\n      <SheetPrimitive.Close data-slot=\"sheet-close\">\n        {#snippet child({ props })}\n          <Button variant=\"ghost\" class=\"absolute top-3 right-3\" size=\"icon-sm\" {...props}>\n            <XIcon />\n            <span class=\"sr-only\">Close</span>\n          </Button>\n        {/snippet}\n      </SheetPrimitive.Close>\n    {/if}\n  </SheetPrimitive.Content>\n</SheetPortal>\n",
      "path": "sheet/sheet-content.svelte",
      "_imports_": [
        {
          "import": "./sheet-portal.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-portal.svelte"
          },
          "meta": {}
        },
        {
          "import": "./sheet-overlay.svelte",
          "item": "sheet",
          "file": {
            "type": "ui",
            "path": "sheet/sheet-overlay.svelte"
          },
          "meta": {}
        },
        {
          "import": "$lib/components/ui/button/index.js",
          "item": "button",
          "file": {
            "type": "ui",
            "path": "button/index.ts"
          },
          "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 { Dialog as SheetPrimitive } from 'bits-ui';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: SheetPrimitive.DescriptionProps = $props();\n</script>\n\n<SheetPrimitive.Description\n  bind:ref\n  data-slot=\"sheet-description\"\n  class={cn('text-muted-foreground text-xs/relaxed', className)}\n  {...restProps}\n/>\n",
      "path": "sheet/sheet-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=\"sheet-footer\"\n  class={cn('mt-auto flex flex-col gap-2 p-4', className)}\n  {...restProps}\n>\n  {@render children?.()}\n</div>\n",
      "path": "sheet/sheet-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=\"sheet-header\"\n  class={cn('flex flex-col gap-0.5 p-4', className)}\n  {...restProps}\n>\n  {@render children?.()}\n</div>\n",
      "path": "sheet/sheet-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 { Dialog as SheetPrimitive } from 'bits-ui';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: SheetPrimitive.OverlayProps = $props();\n</script>\n\n<SheetPrimitive.Overlay\n  bind:ref\n  data-slot=\"sheet-overlay\"\n  class={cn('fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs', className)}\n  {...restProps}\n/>\n",
      "path": "sheet/sheet-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 { Dialog as SheetPrimitive } from 'bits-ui';\n\n  let { ...restProps }: SheetPrimitive.PortalProps = $props();\n</script>\n\n<SheetPrimitive.Portal {...restProps} />\n",
      "path": "sheet/sheet-portal.svelte",
      "_imports_": [],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Dialog as SheetPrimitive } from 'bits-ui';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: SheetPrimitive.TitleProps = $props();\n</script>\n\n<SheetPrimitive.Title\n  bind:ref\n  data-slot=\"sheet-title\"\n  class={cn('text-sm font-medium text-foreground', className)}\n  {...restProps}\n/>\n",
      "path": "sheet/sheet-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 { Dialog as SheetPrimitive } from 'bits-ui';\n  import { cn } from '$lib/utils.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: SheetPrimitive.TriggerProps = $props();\n</script>\n\n<SheetPrimitive.Trigger\n  bind:ref\n  data-slot=\"sheet-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": "sheet/sheet-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 { Dialog as SheetPrimitive } from 'bits-ui';\n\n  let { open = $bindable(false), ...restProps }: SheetPrimitive.RootProps = $props();\n</script>\n\n<SheetPrimitive.Root bind:open {...restProps} />\n",
      "path": "sheet/sheet.svelte",
      "_imports_": [],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    }
  ],
  "registryDependencies": [
    "styles",
    "utils",
    "button"
  ],
  "dependencies": [
    {
      "ecosystem": "js",
      "name": "bits-ui",
      "version": "^2.18.1"
    },
    {
      "ecosystem": "js",
      "name": "phosphor-svelte",
      "version": "^3.1.0"
    }
  ],
  "devDependencies": []
}