{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "extends": "none",
  "name": "tooltip",
  "title": "tooltip",
  "description": "tooltip",
  "dependencies": [
    "react-aria-components",
    "cn",
    "tailwind-variants"
  ],
  "files": [
    {
      "path": "src/components/ui/tooltip.tsx",
      "content": "\"use client\"\n\nimport { composeRenderProps } from \"react-aria-components/composeRenderProps\"\nimport type { TooltipProps as TooltipPrimitiveProps } from \"react-aria-components/Tooltip\"\nimport {\n  OverlayArrow,\n  Tooltip as TooltipPrimitive,\n  TooltipTrigger as TooltipTriggerPrimitive,\n} from \"react-aria-components/Tooltip\"\nimport { twJoin } from \"cn\"\nimport type { VariantProps } from \"tailwind-variants\"\nimport { tv } from \"tailwind-variants\"\n\nconst tooltipStyles = tv({\n  base: [\n    \"group max-w-sm origin-(--trigger-anchor-point) rounded-lg border border-(--tooltip-border) px-2.5 py-1.5 text-sm/6 will-change-transform [--tooltip-border:var(--color-muted-foreground)]/30 dark:shadow-none *:[strong]:font-medium\",\n  ],\n  variants: {\n    inverse: {\n      true: [\n        \"border-transparent bg-foreground text-background\",\n        \"**:[.text-muted-foreground]:text-background/60\",\n      ],\n      false: \"bg-overlay text-overlay-foreground\",\n    },\n    isEntering: {\n      true: [\n        \"fade-in animate-in\",\n        \"placement-left:slide-in-from-right-1 placement-right:slide-in-from-left-1 placement-top:slide-in-from-bottom-1 placement-bottom:slide-in-from-top-1\",\n      ],\n    },\n    isExiting: {\n      true: [\n        \"fade-in direction-reverse animate-in\",\n        \"placement-left:slide-out-to-right-1 placement-right:slide-out-to-left-1 placement-top:slide-out-to-bottom-1 placement-bottom:slide-out-to-top-1\",\n      ],\n    },\n  },\n  defaultVariants: {\n    inverse: false,\n  },\n})\n\nexport const TooltipTrigger = TooltipTriggerPrimitive\n\nexport interface TooltipProps\n  extends Omit<TooltipPrimitiveProps, \"children\">, VariantProps<typeof tooltipStyles> {\n  arrow?: boolean\n  children?: React.ReactNode\n}\n\nexport function Tooltip({ offset = 10, arrow = true, inverse, children, ...props }: TooltipProps) {\n  return (\n    <TooltipPrimitive\n      {...props}\n      offset={offset}\n      className={composeRenderProps(props.className, (className, renderProps) =>\n        tooltipStyles({\n          ...renderProps,\n          inverse,\n          className,\n        })\n      )}\n    >\n      {arrow && (\n        <OverlayArrow className=\"group\">\n          <svg\n            width={12}\n            height={12}\n            viewBox=\"0 0 12 12\"\n            className={twJoin(\n              \"block group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90 forced-colors:fill-[Canvas] forced-colors:stroke-[ButtonBorder]\",\n              inverse\n                ? \"fill-foreground stroke-transparent\"\n                : \"fill-overlay stroke-(--tooltip-border)\"\n            )}\n          >\n            <path d=\"M0 0 L6 6 L12 0\" />\n          </svg>\n        </OverlayArrow>\n      )}\n      {children}\n    </TooltipPrimitive>\n  )\n}\n",
      "type": "registry:ui"
    }
  ],
  "cssVars": {
    "theme": {
      "color-overlay": "var(--overlay)",
      "color-overlay-foreground": "var(--overlay-foreground)"
    },
    "light": {
      "overlay": "oklch(1 0 0)",
      "overlay-foreground": "oklch(0.141 0.005 285.823)"
    },
    "dark": {
      "overlay": "oklch(0.210 0.006 285.885)",
      "overlay-foreground": "oklch(0.985 0 0)"
    }
  },
  "type": "registry:ui"
}