{
	"$schema": "https://shadcn-svelte.com/schema/registry-item.json",
	"name": "popover",
	"title": "Popover",
	"type": "registry:ui",
	"description": "Kura Popover component source.",
	"devDependencies": [
		"bits-ui@^2.18.1",
		"@internationalized/date@^3.12.2"
	],
	"registryDependencies": [
		"utils"
	],
	"files": [
		{
			"content": "import Root from './popover.svelte';\nimport Close from './popover-close.svelte';\nimport Content from './popover-content.svelte';\nimport Description from './popover-description.svelte';\nimport Header from './popover-header.svelte';\nimport Title from './popover-title.svelte';\nimport Trigger from './popover-trigger.svelte';\nimport Portal from './popover-portal.svelte';\n\nexport {\n  Root,\n  Content,\n  Description,\n  Header,\n  Title,\n  Trigger,\n  Close,\n  Portal,\n  //\n  Root as Popover,\n  Content as PopoverContent,\n  Description as PopoverDescription,\n  Header as PopoverHeader,\n  Title as PopoverTitle,\n  Trigger as PopoverTrigger,\n  Close as PopoverClose,\n  Portal as PopoverPortal\n};\n",
			"type": "registry:file",
			"target": "popover/index.ts"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Popover as PopoverPrimitive } from 'bits-ui';\n  import { cn } from '$UTILS$.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: PopoverPrimitive.CloseProps = $props();\n</script>\n\n<PopoverPrimitive.Close\n  bind:ref\n  data-slot=\"popover-close\"\n  class={cn(\n    'outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring/30',\n    className\n  )}\n  {...restProps}\n/>\n",
			"type": "registry:file",
			"target": "popover/popover-close.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Popover as PopoverPrimitive } from 'bits-ui';\n  import PopoverPortal from './popover-portal.svelte';\n  import { cn, type WithoutChildrenOrChild } from '$UTILS$.js';\n  import type { ComponentProps } from 'svelte';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    sideOffset = 4,\n    align = 'center',\n    portalProps,\n    ...restProps\n  }: PopoverPrimitive.ContentProps & {\n    portalProps?: WithoutChildrenOrChild<ComponentProps<typeof PopoverPortal>>;\n  } = $props();\n</script>\n\n<PopoverPortal {...portalProps}>\n  <PopoverPrimitive.Content\n    bind:ref\n    data-slot=\"popover-content\"\n    {sideOffset}\n    {align}\n    class={cn(\n      'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 border border-[#222225] bg-[#09090b] p-4 text-sm text-zinc-50 shadow-none outline-hidden duration-100',\n      className\n    )}\n    {...restProps}\n  />\n</PopoverPortal>\n",
			"type": "registry:file",
			"target": "popover/popover-content.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import type { HTMLAttributes } from 'svelte/elements';\n  import { cn, type WithElementRef } from '$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=\"popover-description\"\n  class={cn('mt-0.5 text-sm leading-relaxed text-zinc-400', className)}\n  {...restProps}\n>\n  {@render children?.()}\n</div>\n",
			"type": "registry:file",
			"target": "popover/popover-description.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import type { HTMLAttributes } from 'svelte/elements';\n  import { cn, type WithElementRef } from '$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=\"popover-header\"\n  class={cn('flex flex-col gap-1 border-b border-[#222225] pb-3 text-sm', className)}\n  {...restProps}\n>\n  {@render children?.()}\n</div>\n",
			"type": "registry:file",
			"target": "popover/popover-header.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Popover as PopoverPrimitive } from 'bits-ui';\n\n  let { ...restProps }: PopoverPrimitive.PortalProps = $props();\n</script>\n\n<PopoverPrimitive.Portal {...restProps} />\n",
			"type": "registry:file",
			"target": "popover/popover-portal.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import type { HTMLAttributes } from 'svelte/elements';\n  import { cn, type WithElementRef } from '$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=\"popover-title\"\n  class={cn('font-mono text-xs font-semibold uppercase tracking-[0.08em] text-zinc-50', className)}\n  {...restProps}\n>\n  {@render children?.()}\n</div>\n",
			"type": "registry:file",
			"target": "popover/popover-title.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import { cn } from '$UTILS$.js';\n  import { Popover as PopoverPrimitive } from 'bits-ui';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: PopoverPrimitive.TriggerProps = $props();\n</script>\n\n<PopoverPrimitive.Trigger\n  bind:ref\n  data-slot=\"popover-trigger\"\n  class={cn(\n    'outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring/30',\n    className\n  )}\n  {...restProps}\n/>\n",
			"type": "registry:file",
			"target": "popover/popover-trigger.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Popover as PopoverPrimitive } from 'bits-ui';\n\n  let { open = $bindable(false), ...restProps }: PopoverPrimitive.RootProps = $props();\n</script>\n\n<PopoverPrimitive.Root bind:open {...restProps} />\n",
			"type": "registry:file",
			"target": "popover/popover.svelte"
		}
	]
}