{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "avatar",
  "title": "Pixelact Avatar",
  "description": "A simple avatar component.",
  "registryDependencies": [],
  "files": [
    {
      "path": "components/ui/pixelact-ui/avatar.tsx",
      "content": "import type React from \"react\";\nimport { forwardRef } from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { cva } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport \"@/components/ui/pixelact-ui/styles/styles.css\";\n\nconst avatarVariants = cva(\"\", {\n  variants: {\n    font: {\n      normal: \"\",\n      pixel: \"pixel-font\",\n    },\n    variant: {\n      default: \"\",\n      square: \"shadow-(--pixel-box-shadow) box-shadow-margin\",\n      round: \"rounded-full\",\n    },\n    size: {\n      small: \"h-8 w-8\",\n      medium: \"h-12 w-12\",\n      large: \"h-16 w-16\",\n    },\n  },\n  defaultVariants: {\n    font: \"pixel\",\n    variant: \"square\",\n    size: \"medium\",\n  },\n});\n\nconst Avatar = forwardRef<\n  React.ComponentRef<typeof AvatarPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> & {\n    font?: \"normal\" | \"pixel\";\n    variant?: \"default\" | \"round\" | \"square\";\n    size?: \"small\" | \"medium\" | \"large\";\n  }\n>(({ className = \"\", font, variant, size = \"medium\", ...props }, ref) => {\n  const isRound = variant === \"round\";\n\n  return (\n    <div className={cn(\"relative size-max\", className)}>\n      <div\n        className=\"absolute inset-0 w-full h-full pointer-events-none\"\n        style={{ zIndex: 10 }}\n      >\n        {isRound && (\n          <>\n            {size === \"large\" && (\n              <>\n                <div\n                  className={\n                    \"absolute top-[-1px] left-[19px] right-[19px] h-[5px] bg-foreground dark:bg-ring\"\n                  }\n                ></div>\n                <div className=\"absolute top-[3px] left-[9px] h-[5px] bg-foreground dark:bg-ring w-[10px]\"></div>\n                <div className=\"absolute top-[3px] right-[9px] h-[5px] bg-foreground dark:bg-ring w-[10px]\"></div>\n\n                <div className=\"absolute top-[8px] left-[5px] h-[5px] bg-foreground dark:bg-ring w-[5px]\"></div>\n                <div className=\"absolute top-[8px] right-[5px] h-[5px] bg-foreground dark:bg-ring w-[5px]\"></div>\n\n                <div className=\"absolute top-[13px] left-0 h-[38px] bg-foreground dark:bg-ring w-[5px]\"></div>\n                <div className=\"absolute top-[13px] right-0 h-[38px] bg-foreground dark:bg-ring w-[5px]\"></div>\n\n                <div className=\"absolute bottom-[8px] left-[5px] h-[5px] bg-foreground dark:bg-ring w-[5px]\"></div>\n                <div className=\"absolute bottom-[8px] right-[5px] h-[5px] bg-foreground dark:bg-ring w-[5px]\"></div>\n\n                <div className=\"absolute bottom-[3px] left-[9px] h-[5px] bg-foreground dark:bg-ring w-[10px]\"></div>\n                <div className=\"absolute bottom-[3px] right-[9px] h-[5px] bg-foreground dark:bg-ring w-[10px]\"></div>\n                <div\n                  className={\n                    \"absolute bottom-[-1px] left-[19px] right-[19px] h-[5px] bg-foreground dark:bg-ring\"\n                  }\n                ></div>\n              </>\n            )}\n            {size === \"medium\" && (\n              <>\n                <div\n                  className={\n                    \"absolute top-0 left-[10px] right-[10px] h-[5px] bg-foreground dark:bg-ring\"\n                  }\n                ></div>\n\n                <div className=\"absolute top-[5px] left-[5px] h-[5px] bg-foreground dark:bg-ring w-[5px]\"></div>\n                <div className=\"absolute top-[5px] right-[5px] h-[5px] bg-foreground dark:bg-ring w-[5px]\"></div>\n\n                <div className=\"absolute top-[10px] left-0 h-[28px] bg-foreground dark:bg-ring w-[5px]\"></div>\n                <div className=\"absolute top-[10px] right-0 h-[28px] bg-foreground dark:bg-ring w-[5px]\"></div>\n\n                <div className=\"absolute bottom-[5px] left-[5px] h-[5px] bg-foreground dark:bg-ring w-[5px]\"></div>\n                <div className=\"absolute bottom-[5px] right-[5px] h-[5px] bg-foreground dark:bg-ring w-[5px]\"></div>\n\n                <div\n                  className={\n                    \"absolute bottom-0 left-[10px] right-[10px] h-[5px] bg-foreground dark:bg-ring\"\n                  }\n                ></div>\n              </>\n            )}\n            {size === \"small\" && (\n              <>\n                <div\n                  className={\n                    \"absolute top-0 left-[7px] right-[7px] h-[3px] bg-foreground dark:bg-ring\"\n                  }\n                ></div>\n\n                <div className=\"absolute top-[3px] left-[2px] h-[3px] bg-foreground dark:bg-ring w-[5px]\"></div>\n                <div className=\"absolute top-[3px] right-[2px] h-[3px] bg-foreground dark:bg-ring w-[5px]\"></div>\n\n                <div className=\"absolute top-[6px] left-[0px] h-[3px] bg-foreground dark:bg-ring w-[3px]\"></div>\n                <div className=\"absolute top-[6px] right-[0px] h-[3px] bg-foreground dark:bg-ring w-[3px]\"></div>\n\n                <div className=\"absolute top-[9px] left-[-2px] h-[14px] bg-foreground dark:bg-ring w-[3px]\"></div>\n                <div className=\"absolute top-[9px] right-[-2px] h-[14px] bg-foreground dark:bg-ring w-[3px]\"></div>\n\n                <div className=\"absolute bottom-[6px] left-[0px] h-[3px] bg-foreground dark:bg-ring w-[3px]\"></div>\n                <div className=\"absolute bottom-[6px] right-[0px] h-[3px] bg-foreground dark:bg-ring w-[3px]\"></div>\n\n                <div className=\"absolute bottom-[3px] left-[2px] h-[3px] bg-foreground dark:bg-ring w-[5px]\"></div>\n                <div className=\"absolute bottom-[3px] right-[2px] h-[3px] bg-foreground dark:bg-ring w-[5px]\"></div>\n\n                <div\n                  className={\n                    \"absolute bottom-0 left-[7px] right-[7px] h-[3px] bg-foreground dark:bg-ring\"\n                  }\n                ></div>\n              </>\n            )}\n          </>\n        )}\n      </div>\n\n      <AvatarPrimitive.Root\n        ref={ref}\n        data-slot=\"avatar\"\n        className={cn(\n          \"relative  flex size-10 shrink-0 overflow-hidden text-xs\",\n          avatarVariants({ font, variant, size })\n        )}\n        {...props}\n      />\n    </div>\n  );\n});\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\ninterface AvatarImageProps\n  extends React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image> {\n  font?: \"normal\" | \"retro\";\n  variant?: \"default\" | \"retro\" | \"pixel\";\n}\n\nconst AvatarImage = forwardRef<\n  React.ComponentRef<typeof AvatarPrimitive.Image>,\n  AvatarImageProps\n>(({ className, font, ...props }, ref) => {\n  return (\n    <AvatarPrimitive.Image\n      ref={ref}\n      data-slot=\"avatar-image\"\n      className={cn(\n        \"aspect-square h-full w-full\",\n        font === \"retro\" && \"retro\",\n        className\n      )}\n      {...props}\n    />\n  );\n});\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = 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 rounded-full bg-muted text-foreground\",\n      className\n    )}\n    {...props}\n  />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\n",
      "type": "registry:component",
      "target": "components/ui/pixelact-ui/avatar.tsx"
    },
    {
      "path": "components/ui/pixelact-ui/styles/styles.css",
      "content": "@import url(\"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap\");\n\n:root {\n  --box-shadow-width: 4px;\n  --pixel-box-shadow: calc(-1 * (var(--box-shadow-width))) 0 0 0 black,\n    var(--box-shadow-width) 0 0 0 black, 0 var(--box-shadow-width) 0 0 black,\n    0 calc(-1 * (var(--box-shadow-width))) 0 0 black;\n  --pixel-box-shadow-destructive: calc(-1 * (var(--box-shadow-width))) 0 0 0\n      var(--destructive),\n    var(--box-shadow-width) 0 0 0 var(--destructive),\n    0 var(--box-shadow-width) 0 0 var(--destructive),\n    0 calc(-1 * (var(--box-shadow-width))) 0 0 var(--destructive);\n  --default-inner-border-color: rgb(200, 200, 200);\n}\n\n.dark {\n  --pixel-box-shadow: calc(-1 * (var(--box-shadow-width))) 0 0 0 var(--ring),\n    var(--box-shadow-width) 0 0 0 var(--ring),\n    0 var(--box-shadow-width) 0 0 var(--ring),\n    0 calc(-1 * (var(--box-shadow-width))) 0 0 var(--ring);\n}\n\n.pixel-font {\n  font-family: \"Press Start 2P\", system-ui, -apple-system, sans-serif;\n  line-height: 1.5;\n  letter-spacing: 0.5px;\n}\n\n.box-shadow-margin {\n  margin: var(--box-shadow-width);\n}\n",
      "type": "registry:style",
      "target": "components/ui/pixelact-ui/styles/styles.css"
    }
  ],
  "type": "registry:component"
}