{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "retro-avatar",
  "title": "RetroAvatar",
  "description": "A Mac OS 9 styled avatar with beveled border, image support, fallback initials, and sm/default/lg size variants, built on Radix UI Avatar.",
  "dependencies": [
    "@radix-ui/react-avatar",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "https://nostalgia-ui.com/r/nostalgia-theme.json"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/retro-avatar.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst retroAvatarVariants = cva(\n  [\n    \"relative inline-flex shrink-0 overflow-hidden\",\n    \"border border-os9-black\",\n    \"shadow-[inset_1px_1px_0_rgba(255,255,255,0.3)]\",\n  ],\n  {\n    variants: {\n      size: {\n        sm: \"h-[24px] w-[24px]\",\n        default: \"h-[32px] w-[32px]\",\n        lg: \"h-[48px] w-[48px]\",\n      },\n    },\n    defaultVariants: {\n      size: \"default\",\n    },\n  }\n)\n\nfunction RetroAvatar(\n  {\n    className,\n    size,\n    ...props\n  }: React.ComponentProps<typeof AvatarPrimitive.Root> &\n    VariantProps<typeof retroAvatarVariants>,\n  ref: React.ForwardedRef<React.ComponentRef<typeof AvatarPrimitive.Root>>\n) {\n  return (\n    <AvatarPrimitive.Root\n      ref={ref}\n      className={cn(retroAvatarVariants({ size }), className)}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroAvatar = React.forwardRef(RetroAvatar)\nForwardedRetroAvatar.displayName = \"RetroAvatar\"\n\nfunction RetroAvatarImage(\n  {\n    className,\n    ...props\n  }: React.ComponentProps<typeof AvatarPrimitive.Image>,\n  ref: React.ForwardedRef<React.ComponentRef<typeof AvatarPrimitive.Image>>\n) {\n  return (\n    <AvatarPrimitive.Image\n      ref={ref}\n      className={cn(\"aspect-square h-full w-full object-cover\", className)}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroAvatarImage = React.forwardRef(RetroAvatarImage)\nForwardedRetroAvatarImage.displayName = \"RetroAvatarImage\"\n\nfunction RetroAvatarFallback(\n  {\n    className,\n    ...props\n  }: React.ComponentProps<typeof AvatarPrimitive.Fallback>,\n  ref: React.ForwardedRef<React.ComponentRef<typeof AvatarPrimitive.Fallback>>\n) {\n  return (\n    <AvatarPrimitive.Fallback\n      ref={ref}\n      className={cn(\n        \"flex h-full w-full items-center justify-center\",\n        \"bg-os9-gray-400 text-os9-black\",\n        \"font-[family-name:var(--os9-font-heading)] text-[11px] leading-[1]\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroAvatarFallback = React.forwardRef(RetroAvatarFallback)\nForwardedRetroAvatarFallback.displayName = \"RetroAvatarFallback\"\n\nexport {\n  ForwardedRetroAvatar as RetroAvatar,\n  ForwardedRetroAvatarImage as RetroAvatarImage,\n  ForwardedRetroAvatarFallback as RetroAvatarFallback,\n  retroAvatarVariants,\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}