{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "avatar",
  "files": [
    {
      "path": "ui/avatar/Avatar.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/avatar/Avatar.astro directly.\n/**\n * @component Avatar\n * @title Avatar\n * @description An image representing a user or entity, with fallback support when unavailable.\n * @figmaUrl https://www.figma.com/design/koxai7zw5vIuBzuVxe5T2l/BejamasUI---Design-System?node-id=2531-2620&t=YFStJ3V8fXEO8QD8-4\n *\n * @preview\n * <div class=\"flex flex-wrap items-center gap-4\">\n *   <Avatar>\n *     <AvatarImage src=\"https://github.com/thomkrupa.png\" alt=\"@thomkrupa\" />\n *     <AvatarFallback>TK</AvatarFallback>\n *     <AvatarBadge />\n *   </Avatar>\n *   <AvatarGroup>\n *     <Avatar>\n *       <AvatarImage src=\"https://github.com/withastro.png\" alt=\"@withastro\" />\n *       <AvatarFallback>WA</AvatarFallback>\n *     </Avatar>\n *     <Avatar>\n *       <AvatarImage src=\"https://github.com/bejamas.png\" alt=\"@bejamas\" />\n *       <AvatarFallback>BJ</AvatarFallback>\n *     </Avatar>\n *     <AvatarGroupCount>+2</AvatarGroupCount>\n *   </AvatarGroup>\n * </div>\n *\n * @usage\n *\n * ```astro nocollapse\n * ---\n * import {\n *   Avatar,\n *   AvatarImage,\n *   AvatarFallback,\n *   AvatarBadge,\n *   AvatarGroup,\n *   AvatarGroupCount,\n * } from '@bejamas/ui/components/avatar';\n * ---\n *\n * <Avatar size=\"lg\">\n *   <AvatarImage src=\"https://github.com/thomkrupa.png\" alt=\"@thomkrupa\" />\n *   <AvatarFallback>TK</AvatarFallback>\n *   <AvatarBadge />\n * </Avatar>\n * ```\n *\n * @examples\n *\n * ### Sizes\n *\n * <div class=\"flex items-center gap-4\">\n *   <Avatar size=\"sm\">\n *     <AvatarImage src=\"https://github.com/bejamas.png\" alt=\"small\" />\n *     <AvatarFallback>SM</AvatarFallback>\n *   </Avatar>\n *   <Avatar>\n *     <AvatarImage src=\"https://github.com/bejamas.png\" alt=\"default\" />\n *     <AvatarFallback>MD</AvatarFallback>\n *   </Avatar>\n *   <Avatar size=\"lg\">\n *     <AvatarImage src=\"https://github.com/bejamas.png\" alt=\"large\" />\n *     <AvatarFallback>LG</AvatarFallback>\n *   </Avatar>\n * </div>\n *\n * ### Badge\n *\n * <Avatar>\n *   <AvatarImage src=\"https://github.com/thomkrupa.png\" alt=\"@thomkrupa\" />\n *   <AvatarFallback>TK</AvatarFallback>\n *   <AvatarBadge />\n * </Avatar>\n *\n * ### Group\n *\n * <AvatarGroup>\n *   <Avatar>\n *     <AvatarImage src=\"https://github.com/withastro.png\" alt=\"@withastro\" />\n *     <AvatarFallback>WA</AvatarFallback>\n *   </Avatar>\n *   <Avatar>\n *     <AvatarImage src=\"https://github.com/bejamas.png\" alt=\"@bejamas\" />\n *     <AvatarFallback>BJ</AvatarFallback>\n *   </Avatar>\n *   <Avatar>\n *     <AvatarFallback>FS</AvatarFallback>\n *   </Avatar>\n *   <AvatarGroupCount>+3</AvatarGroupCount>\n * </AvatarGroup>\n *\n * ### With `astro:assets` Image\n *\n * ```astro nopreview nocollapse\n * ---\n * import { Image } from \"astro:assets\";\n * import profile from \"@/assets/profile.jpg\";\n * import { Avatar, AvatarImage, AvatarFallback } from \"@bejamas/ui/components/avatar\";\n * ---\n *\n * <Avatar>\n *   <AvatarImage>\n *     <Image src={profile} alt=\"Profile photo\" />\n *   </AvatarImage>\n *   <AvatarFallback>PR</AvatarFallback>\n * </Avatar>\n * ```\n */\n\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"span\"> {\n  class?: string;\n  size?: \"default\" | \"sm\" | \"lg\";\n}\n\nconst {\n  class: className = \"\",\n  size = \"default\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<span\n  {...rest}\n  data-slot=\"avatar\"\n  data-size={size}\n  class={cn(\n    \"size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6\",\n    \"group/avatar relative flex shrink-0 select-none\",\n    \"after:absolute after:inset-0\",\n    \"z-1\",\n    className,\n  )}\n>\n  <slot />\n</span>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/avatar/AvatarImage.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/avatar/AvatarImage.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"img\"> {\n  class?: string;\n  src?: string;\n  alt?: string;\n}\n\nconst {\n  class: className = \"\",\n  src,\n  alt = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n{\n  src ? (\n    <img\n      {...rest}\n      data-slot=\"avatar-image\"\n      src={src}\n      alt={alt}\n      class={cn(\n        \"rounded-full\",\n        \"relative z-10 aspect-square size-full object-cover\",\n        className,\n      )}\n    />\n  ) : (\n    <div\n      {...rest}\n      data-slot=\"avatar-image\"\n      class={cn(\n        \"rounded-full\",\n        \"relative z-10 aspect-square size-full overflow-hidden\",\n        \"[&_img]:size-full [&_img]:object-cover\",\n        className,\n      )}\n    >\n      <slot />\n    </div>\n  )\n}\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/avatar/AvatarFallback.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/avatar/AvatarFallback.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"div\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<div\n  {...rest}\n  data-slot=\"avatar-fallback\"\n  class={cn(\n    \"bg-muted text-muted-foreground rounded-full\",\n    \"absolute inset-0 flex size-full items-center justify-center\",\n    className,\n  )}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/avatar/AvatarBadge.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/avatar/AvatarBadge.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"span\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<span\n  {...rest}\n  data-slot=\"avatar-badge\"\n  class={cn(\n    \"bg-primary text-primary-foreground ring-background\",\n    \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center select-none\",\n    className,\n  )}\n>\n  <slot />\n</span>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/avatar/AvatarGroup.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/avatar/AvatarGroup.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes, HTMLTag } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"div\"> {\n  as?: HTMLTag;\n  class?: string;\n}\n\nconst {\n  as: Tag = \"div\",\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<Tag\n  {...rest}\n  data-slot=\"avatar-group\"\n  class={cn(\"\", \n    \"group/avatar-group flex -space-x-2 [&_[data-slot=avatar]]:ring-2 [&_[data-slot=avatar]]:ring-background\",\n    className,\n  )}\n>\n  <slot />\n</Tag>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/avatar/AvatarGroupCount.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/avatar/AvatarGroupCount.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes, HTMLTag } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"div\"> {\n  as?: HTMLTag;\n  class?: string;\n}\n\nconst {\n  as: Tag = \"div\",\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<Tag\n  {...rest}\n  data-slot=\"avatar-group-count\"\n  class={cn(\n    \"bg-muted text-muted-foreground size-8 rounded-full text-sm group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n    \"bg-muted text-muted-foreground ring-background relative flex size-8 shrink-0 items-center justify-center rounded-full text-sm ring-2\",\n    \"[&>svg]:size-4\",\n    \"group-has-data-[size=sm]/avatar-group:size-6 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n    \"group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5\",\n    className,\n  )}\n>\n  <slot />\n</Tag>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/avatar/index.ts",
      "content": "// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/avatar/index.ts directly.\nexport { default as Avatar } from \"./Avatar.astro\";\nexport { default as AvatarImage } from \"./AvatarImage.astro\";\nexport { default as AvatarFallback } from \"./AvatarFallback.astro\";\nexport { default as AvatarBadge } from \"./AvatarBadge.astro\";\nexport { default as AvatarGroup } from \"./AvatarGroup.astro\";\nexport { default as AvatarGroupCount } from \"./AvatarGroupCount.astro\";\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}