{
	"$schema": "https://shadcn-svelte.com/schema/registry-item.json",
	"name": "tooltip",
	"title": "Tooltip",
	"type": "registry:ui",
	"description": "Kura Tooltip component source.",
	"devDependencies": [
		"bits-ui@^2.18.1",
		"@internationalized/date@^3.12.2"
	],
	"registryDependencies": [
		"utils"
	],
	"files": [
		{
			"content": "import Root from './tooltip.svelte';\nimport Trigger from './tooltip-trigger.svelte';\nimport Content from './tooltip-content.svelte';\nimport Provider from './tooltip-provider.svelte';\nimport Portal from './tooltip-portal.svelte';\n\nexport {\n  Root,\n  Trigger,\n  Content,\n  Provider,\n  Portal,\n  //\n  Root as Tooltip,\n  Content as TooltipContent,\n  Trigger as TooltipTrigger,\n  Provider as TooltipProvider,\n  Portal as TooltipPortal\n};\n",
			"type": "registry:file",
			"target": "tooltip/index.ts"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Tooltip as TooltipPrimitive } from 'bits-ui';\n  import { cn } from '$UTILS$.js';\n  import TooltipPortal from './tooltip-portal.svelte';\n  import type { ComponentProps } from 'svelte';\n  import type { WithoutChildrenOrChild } from '$UTILS$.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    sideOffset = 0,\n    side = 'top',\n    children,\n    arrowClasses,\n    portalProps,\n    ...restProps\n  }: TooltipPrimitive.ContentProps & {\n    arrowClasses?: string;\n    portalProps?: WithoutChildrenOrChild<ComponentProps<typeof TooltipPortal>>;\n  } = $props();\n</script>\n\n<TooltipPortal {...portalProps}>\n  <TooltipPrimitive.Content\n    bind:ref\n    data-slot=\"tooltip-content\"\n    {sideOffset}\n    {side}\n    class={cn(\n      'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-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 z-50 inline-flex w-fit max-w-xs origin-(--bits-tooltip-content-transform-origin) items-center gap-1.5 border border-[#222225] bg-[#09090b] px-3 py-1.5 font-mono text-xs uppercase tracking-[0.04em] text-zinc-50 shadow-none has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-none',\n      className\n    )}\n    {...restProps}\n  >\n    {@render children?.()}\n    <TooltipPrimitive.Arrow>\n      {#snippet child({ props })}\n        <div\n          class={cn(\n            'z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 border-r border-b border-[#222225] bg-[#09090b] fill-[#09090b]',\n            'data-[side=top]:translate-x-1/2 data-[side=top]:translate-y-[calc(-50%+2px)]',\n            'data-[side=bottom]:-translate-x-1/2 data-[side=bottom]:-translate-y-[calc(-50%+1px)]',\n            'data-[side=right]:translate-x-[calc(50%+2px)] data-[side=right]:translate-y-1/2',\n            'data-[side=left]:-translate-y-[calc(50%-3px)]',\n            arrowClasses\n          )}\n          {...props}\n        ></div>\n      {/snippet}\n    </TooltipPrimitive.Arrow>\n  </TooltipPrimitive.Content>\n</TooltipPortal>\n",
			"type": "registry:file",
			"target": "tooltip/tooltip-content.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Tooltip as TooltipPrimitive } from 'bits-ui';\n\n  let { ...restProps }: TooltipPrimitive.PortalProps = $props();\n</script>\n\n<TooltipPrimitive.Portal {...restProps} />\n",
			"type": "registry:file",
			"target": "tooltip/tooltip-portal.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Tooltip as TooltipPrimitive } from 'bits-ui';\n\n  let { delayDuration = 0, ...restProps }: TooltipPrimitive.ProviderProps = $props();\n</script>\n\n<TooltipPrimitive.Provider {delayDuration} {...restProps} />\n",
			"type": "registry:file",
			"target": "tooltip/tooltip-provider.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Tooltip as TooltipPrimitive } from 'bits-ui';\n  import { cn } from '$UTILS$.js';\n\n  let {\n    ref = $bindable(null),\n    class: className,\n    ...restProps\n  }: TooltipPrimitive.TriggerProps = $props();\n</script>\n\n<TooltipPrimitive.Trigger\n  bind:ref\n  data-slot=\"tooltip-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": "tooltip/tooltip-trigger.svelte"
		},
		{
			"content": "<script lang=\"ts\">\n  import { Tooltip as TooltipPrimitive } from 'bits-ui';\n\n  let { open = $bindable(false), ...restProps }: TooltipPrimitive.RootProps = $props();\n</script>\n\n<TooltipPrimitive.Root bind:open {...restProps} />\n",
			"type": "registry:file",
			"target": "tooltip/tooltip.svelte"
		}
	]
}