{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "tooltip",
  "type": "registry:ui",
  "dependencies": [
    "class-variance-authority",
    "@radix-ui/react-tooltip"
  ],
  "registryDependencies": [
    "https://ui.getlyse.com/r/lyse-tokens.json"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/tooltip/tooltip.tsx",
      "content": "import * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport \"./tooltip.css\"\n\nconst tooltipContentVariants = cva(\n  \"tooltip-content z-50 flex items-center overflow-hidden font-accent animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=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\",\n  {\n    variants: {\n      size: {\n        md: \"max-w-40 gap-[var(--layout-gap-sm)] p-[var(--layout-padding-md)] rounded-[var(--layout-radius-lg)] text-content-note\",\n        sm: \"max-w-40 gap-[var(--layout-gap-sm)] p-[var(--layout-padding-sm)] rounded-[var(--layout-radius-lg)] text-content-caption\",\n      },\n    },\n    defaultVariants: {\n      size: \"md\",\n    },\n  }\n)\n\nfunction TooltipProvider({\n  delayDuration = 300,\n  ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n  return (\n    <TooltipPrimitive.Provider\n      data-slot=\"tooltip-provider\"\n      delayDuration={delayDuration}\n      {...props}\n    />\n  )\n}\n\nfunction Tooltip({\n  ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n  return <TooltipPrimitive.Root {...props} />\n}\n\nfunction TooltipTrigger({\n  ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n  return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n  className,\n  size,\n  sideOffset = 6,\n  children,\n  ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content> &\n  VariantProps<typeof tooltipContentVariants>) {\n  return (\n    <TooltipPrimitive.Portal>\n      <TooltipPrimitive.Content\n        data-slot=\"tooltip-content\"\n        sideOffset={sideOffset}\n        className={cn(tooltipContentVariants({ size, className }))}\n        {...props}\n      >\n        {children}\n      </TooltipPrimitive.Content>\n    </TooltipPrimitive.Portal>\n  )\n}\n\nfunction TooltipShortcut({\n  className,\n  ...props\n}: React.ComponentProps<\"kbd\">) {\n  return (\n    <kbd\n      data-slot=\"tooltip-shortcut\"\n      className={cn(\"tooltip-shortcut h-[var(--layout-size-sm)] shrink-0 text-content-caption\", className)}\n      {...props}\n    />\n  )\n}\n\nexport {\n  Tooltip,\n  TooltipTrigger,\n  TooltipContent,\n  TooltipProvider,\n  TooltipShortcut,\n  tooltipContentVariants,\n}\n",
      "type": "registry:ui"
    },
    {
      "path": "registry/new-york/ui/tooltip/tooltip.css",
      "content": "/* ================================================================\n * TOOLTIP — Content & Shortcut Styles\n * Structure (flex, gap, padding, radius, max-w) lives in tooltip.tsx via cva.\n * Theming (colors, borders) lives here via tokens.\n * ================================================================ */\n\n/* --------------------------------\n * Tooltip content\n * -------------------------------- */\n.tooltip-content {\n  background: var(--background-neutral-faint-default);\n  border: var(--layout-border-thin) solid var(--border-default);\n  color: var(--text-base-bolder);\n}\n\n/* --------------------------------\n * Keyboard shortcut indicator\n * -------------------------------- */\n.tooltip-shortcut {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  padding: var(--layout-padding-2xs) var(--layout-padding-xs);\n  border: var(--layout-border-thin) solid var(--border-default);\n  border-radius: var(--layout-radius-sm);\n  color: var(--text-base-medium);\n}\n",
      "type": "registry:ui"
    }
  ]
}