{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "author-tooltip",
  "type": "registry:ui",
  "title": "Author Tooltip",
  "description": "An interactive avatar with tooltip showing author information and social links.",
  "registryDependencies": [
    "icons"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/author-tooltip.tsx",
      "content": "\"use client\";\n\nimport type * as React from \"react\";\nimport { FaGithub, FaLinkedin, FaTwitter } from \"react-icons/fa\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface Author {\n\tname: string;\n\tavatar: string;\n\trole: string;\n\tlinkedin?: string;\n\ttwitter?: string;\n\tgithub?: string;\n}\n\ninterface AuthorTooltipProps {\n\tauthor: Author;\n\tavatarSize?: \"sm\" | \"md\" | \"lg\" | \"xl\";\n\tavatarClassName?: string;\n\t/** Custom trigger element - if not provided, defaults to avatar */\n\ttrigger?: React.ReactNode;\n\t/** Additional content to render in the tooltip */\n\tchildren?: React.ReactNode;\n}\n\nconst sizeMap = {\n\tsm: \"h-8 w-8\",\n\tmd: \"h-10 w-10\",\n\tlg: \"h-12 w-12\",\n\txl: \"h-16 w-16\",\n};\n\nexport function AuthorTooltip({\n\tauthor,\n\tavatarSize = \"sm\",\n\tavatarClassName = \"cursor-help border-2 border-border\",\n\ttrigger,\n\tchildren,\n}: AuthorTooltipProps) {\n\tconst getInitials = (name: string) => {\n\t\treturn name\n\t\t\t.split(\" \")\n\t\t\t.map((n) => n[0])\n\t\t\t.join(\"\")\n\t\t\t.toUpperCase()\n\t\t\t.slice(0, 2);\n\t};\n\n\tconst defaultTrigger = (\n\t\t<Avatar className={cn(sizeMap[avatarSize], avatarClassName)}>\n\t\t\t<AvatarImage src={author.avatar} alt={author.name} />\n\t\t\t<AvatarFallback>{getInitials(author.name)}</AvatarFallback>\n\t\t</Avatar>\n\t);\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>\n\t\t\t\t{trigger ? <div>{trigger}</div> : defaultTrigger}\n\t\t\t</TooltipTrigger>\n\t\t\t<TooltipContent className=\"p-0 rounded-xl\">\n\t\t\t\t<div className=\"flex flex-col gap-2 p-3\">\n\t\t\t\t\t<div className=\"flex flex-row items-center gap-3\">\n\t\t\t\t\t\t<Avatar className=\"h-10 w-10\">\n\t\t\t\t\t\t\t<AvatarImage src={author.avatar} alt={author.name} />\n\t\t\t\t\t\t\t<AvatarFallback>{getInitials(author.name)}</AvatarFallback>\n\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t\t<span className=\"text-sm font-medium\">{author.name}</span>\n\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t{author.role}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{(author.linkedin || author.twitter || author.github) && (\n\t\t\t\t\t\t\t<div className=\"ml-4 flex gap-2.5\">\n\t\t\t\t\t\t\t\t{author.linkedin && (\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref={author.linkedin}\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-background hover:text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<FaLinkedin className=\"h-5 w-5\" />\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{author.twitter && (\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref={author.twitter}\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-background hover:text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<FaTwitter className=\"h-5 w-5\" />\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{author.github && (\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref={author.github}\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-background hover:text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<FaGithub className=\"h-5 w-5\" />\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{children && <div>{children}</div>}\n\t\t\t\t</div>\n\t\t\t</TooltipContent>\n\t\t</Tooltip>\n\t);\n}\n",
      "type": "registry:ui"
    }
  ]
}