{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "avatar",
  "title": "Avatar",
  "author": "Poyraz Avsever",
  "description": "Poyraz Soft Glass avatar component.",
  "dependencies": [
    "@radix-ui/react-avatar@^1.1.11",
    "class-variance-authority@^0.7.1"
  ],
  "registryDependencies": [
    "@poyraz/poyraz-utils",
    "@poyraz/poyraz-theme"
  ],
  "files": [
    {
      "path": "registry/poyraz/ui/phase5/atoms/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\";\nimport { cn } from \"@/lib/utils\";\n\nconst avatarVariants = cva(\n  \"relative flex shrink-0 overflow-hidden border border-glass-border-outer bg-surface shadow-sm\",\n  {\n    variants: {\n      size: {\n        xs: \"size-6\",\n        sm: \"size-8\",\n        default: \"size-10\",\n        lg: \"size-12\",\n        xl: \"size-16\",\n      },\n      radius: {\n        sm: \"rounded-sm\",\n        md: \"rounded-md\",\n        lg: \"rounded-lg\",\n        full: \"rounded-full\",\n      },\n    },\n    defaultVariants: { size: \"default\", radius: \"full\" },\n  },\n);\n\ntype AvatarProps = React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> &\n  VariantProps<typeof avatarVariants>;\n\nconst Avatar = React.forwardRef<React.ComponentRef<typeof AvatarPrimitive.Root>, AvatarProps>(\n  ({ className, radius, size, ...props }, ref) => (\n    <AvatarPrimitive.Root\n      ref={ref}\n      data-slot=\"avatar\"\n      data-radius={radius ?? \"full\"}\n      data-size={size ?? \"default\"}\n      className={cn(avatarVariants({ radius, size }), className)}\n      {...props}\n    />\n  ),\n);\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n  React.ComponentRef<typeof AvatarPrimitive.Image>,\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n  <AvatarPrimitive.Image\n    ref={ref}\n    data-slot=\"avatar-image\"\n    className={cn(\"aspect-square h-full w-full object-cover\", className)}\n    {...props}\n  />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n  React.ComponentRef<typeof AvatarPrimitive.Fallback>,\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n  <AvatarPrimitive.Fallback\n    ref={ref}\n    data-slot=\"avatar-fallback\"\n    className={cn(\n      \"flex h-full w-full items-center justify-center\",\n      \"bg-primary-muted text-primary-muted-foreground\",\n      \"text-xs font-semibold\",\n      className,\n    )}\n    {...props}\n  />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback, avatarVariants };\nexport type { AvatarProps };\n",
      "type": "registry:ui",
      "target": "@ui/atoms/avatar.tsx"
    }
  ],
  "meta": {
    "category": "phase-5-foundation",
    "phase": "beta"
  },
  "type": "registry:ui"
}