{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "tooltip",
  "title": "Tooltip",
  "author": "andongmin94",
  "description": "A concise text hint shown when an element is hovered or focused.",
  "dependencies": [
    "@base-ui/react@^1.9.0"
  ],
  "files": [
    {
      "path": "src/components/ui/tooltip.tsx",
      "content": "\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nimport { cn } from \"@/lib/utils\";\n\ntype TooltipContentProps = TooltipPrimitive.Popup.Props &\n  Pick<\n    TooltipPrimitive.Positioner.Props,\n    | \"align\"\n    | \"alignOffset\"\n    | \"arrowPadding\"\n    | \"collisionAvoidance\"\n    | \"collisionBoundary\"\n    | \"collisionPadding\"\n    | \"disableAnchorTracking\"\n    | \"positionMethod\"\n    | \"side\"\n    | \"sideOffset\"\n    | \"sticky\"\n  >;\n\nfunction TooltipProvider({ delay = 0, timeout = 300, ...props }: TooltipPrimitive.Provider.Props) {\n  return <TooltipPrimitive.Provider delay={delay} timeout={timeout} {...props} />;\n}\n\nfunction Tooltip(props: TooltipPrimitive.Root.Props) {\n  return <TooltipPrimitive.Root {...props} />;\n}\n\nfunction TooltipTrigger(props: TooltipPrimitive.Trigger.Props) {\n  return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n  align = \"center\",\n  alignOffset = 0,\n  arrowPadding = 0,\n  children,\n  className,\n  collisionAvoidance,\n  collisionBoundary,\n  collisionPadding = 0,\n  disableAnchorTracking,\n  positionMethod = \"fixed\",\n  side = \"top\",\n  sideOffset = 4,\n  sticky,\n  ...props\n}: TooltipContentProps) {\n  return (\n    <TooltipPrimitive.Portal>\n      <TooltipPrimitive.Positioner\n        align={align}\n        alignOffset={alignOffset}\n        arrowPadding={arrowPadding}\n        collisionAvoidance={collisionAvoidance}\n        collisionBoundary={collisionBoundary}\n        collisionPadding={collisionPadding}\n        disableAnchorTracking={disableAnchorTracking}\n        positionMethod={positionMethod}\n        side={side}\n        sideOffset={sideOffset}\n        sticky={sticky}\n        className=\"isolate z-50\"\n      >\n        <TooltipPrimitive.Popup\n          role=\"tooltip\"\n          data-slot=\"tooltip-content\"\n          {...props}\n          className={(state) =>\n            cn(\n              \"z-50 origin-(--transform-origin) overflow-hidden rounded-base border-2 border-border bg-main px-3 py-1.5 text-sm font-base text-main-foreground data-open:animate-in data-open:fade-in-0 data-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=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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\",\n              typeof className === \"function\" ? className(state) : className,\n            )\n          }\n        >\n          {children}\n        </TooltipPrimitive.Popup>\n      </TooltipPrimitive.Positioner>\n    </TooltipPrimitive.Portal>\n  );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n",
      "type": "registry:ui"
    }
  ],
  "categories": [
    "overlay",
    "feedback"
  ],
  "type": "registry:ui"
}