{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "tooltip",
  "type": "registry:ui",
  "dependencies": [
    "@kobalte/core"
  ],
  "files": [
    {
      "path": "ui/tooltip.tsx",
      "content": "import type { JSX, ValidComponent } from \"solid-js\"\nimport { type Component, splitProps } from \"solid-js\"\n\nimport type { PolymorphicProps } from \"@kobalte/core/polymorphic\"\nimport * as TooltipPrimitive from \"@kobalte/core/tooltip\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst TooltipTrigger = <T extends ValidComponent = \"button\">(\n  props: PolymorphicProps<T, TooltipPrimitive.TooltipTriggerProps<T>>\n) => <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n\nconst Tooltip: Component<TooltipPrimitive.TooltipRootProps> = (props) => {\n  return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\ntype TooltipContentProps<T extends ValidComponent = \"div\"> =\n  TooltipPrimitive.TooltipContentProps<T> & { class?: string | undefined; children?: JSX.Element }\n\nconst TooltipContent = <T extends ValidComponent = \"div\">(\n  props: PolymorphicProps<T, TooltipContentProps<T>>\n) => {\n  const [local, others] = splitProps(props as TooltipContentProps, [\"class\", \"children\"])\n  return (\n    <TooltipPrimitive.Portal>\n      <TooltipPrimitive.Content\n        class={cn(\n          \"fade-in-0 zoom-in-95 data-[closed]:fade-out-0 data-[closed]:zoom-out-95 z-50 w-fit origin-(--kb-popover-content-transform-origin) animate-in text-balance rounded-md bg-foreground px-3 py-1.5 text-background text-xs data-[closed]:animate-out\",\n          local.class\n        )}\n        data-slot=\"tooltip-content\"\n        {...others}\n      >\n        <TooltipPrimitive.Arrow />\n        {local.children}\n      </TooltipPrimitive.Content>\n    </TooltipPrimitive.Portal>\n  )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent }\n",
      "type": "registry:ui"
    }
  ]
}