{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "tooltip",
  "type": "registry:ui",
  "description": "Display contextual information on hover or focus.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "components/ui/tooltip.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as BaseTooltip } from \"@base-ui/react/tooltip\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"@/lib/utils\"\n\nconst TooltipProvider = BaseTooltip.Provider\n\nconst Tooltip = BaseTooltip.Root\n\nconst TooltipTrigger = BaseTooltip.Trigger\n\nconst tooltipVariants = cva(\n    \"z-50 overflow-hidden rounded-base border-2 border-black px-3 py-1.5 text-sm font-medium text-black shadow-brutal transition-[transform,scale,opacity] data-ending-style:scale-95 data-ending-style:opacity-0 data-starting-style:scale-95 data-starting-style:opacity-0\",\n    {\n        variants: {\n            variant: {\n                default: \"bg-white\",\n                colored: \"bg-main\",\n            },\n        },\n        defaultVariants: {\n            variant: \"default\",\n        },\n    }\n)\n\ntype TooltipContentProps = React.ComponentPropsWithoutRef<typeof BaseTooltip.Popup> &\n    VariantProps<typeof tooltipVariants> & {\n        sideOffset?: number\n        side?: \"top\" | \"bottom\" | \"left\" | \"right\"\n        showArrow?: boolean\n    }\n\nconst TooltipContent = React.forwardRef<\n    React.ComponentRef<typeof BaseTooltip.Popup>,\n    TooltipContentProps\n>(({ className, variant, sideOffset = 8, side = \"top\", showArrow = true, ...props }, ref) => (\n    <BaseTooltip.Portal>\n        <BaseTooltip.Positioner sideOffset={sideOffset} side={side}>\n            <BaseTooltip.Popup\n                ref={ref}\n                className={cn(tooltipVariants({ variant }), className)}\n                {...props}\n            />\n            {showArrow && (\n                <BaseTooltip.Arrow\n                    className=\"data-[side=bottom]:top-[-8px] data-[side=left]:right-[-8px] data-[side=right]:left-[-8px] data-[side=top]:bottom-[-8px]\"\n                >\n                    <svg width=\"16\" height=\"8\" viewBox=\"0 0 16 8\" className=\"fill-white stroke-black stroke-2\">\n                        <polygon points=\"8,0 16,8 0,8\" className={cn(variant === \"colored\" ? \"fill-main\" : \"fill-white\")} />\n                        <polyline points=\"0,8 8,0 16,8\" fill=\"none\" />\n                    </svg>\n                </BaseTooltip.Arrow>\n            )}\n        </BaseTooltip.Positioner>\n    </BaseTooltip.Portal>\n))\nTooltipContent.displayName = \"TooltipContent\"\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, tooltipVariants }\n",
      "type": "registry:ui"
    }
  ]
}