MyCuppa

Avatar

User profile image with fallback support

Platforms:
webiosandroid
Version 1.0.0

Avatar

Display user profile images with automatic fallbacks.

Features

  • Image with fallback to initials
  • Multiple sizes (xs, sm, md, lg, xl)
  • Shapes (circle, square, rounded)
  • Status indicator support
  • Group avatars with overlap
  • Loading state

Usage

Web (React)

import { Avatar } from '@cuppa/ui'

<Avatar src="/profile.jpg" alt="John Doe" />
<Avatar name="John Doe" /> {/* Shows "JD" */}
<Avatar name="John Doe" status="online" />

iOS (SwiftUI)

import CuppaUI

CuppaAvatar(src: "/profile.jpg", alt: "John Doe")
CuppaAvatar(name: "John Doe") // Shows "JD"
CuppaAvatar(name: "John Doe", status: .online)

Android (Jetpack Compose)

import com.cuppa.ui.components.CuppaAvatar

CuppaAvatar(src = "/profile.jpg", alt = "John Doe")
CuppaAvatar(name = "John Doe") // Shows "JD"
CuppaAvatar(name = "John Doe", status = AvatarStatus.Online)

Props

| Prop | Type | Default | Description | |------|------|---------|-------------| | src | string | - | Image URL | | alt | string | - | Alt text | | name | string | - | Name for initials fallback | | size | string | 'md' | Avatar size | | shape | string | 'circle' | Shape variant | | status | string | - | Status indicator |

Examples

Avatar Group

<AvatarGroup max={3}>
  <Avatar src="/user1.jpg" name="User 1" />
  <Avatar src="/user2.jpg" name="User 2" />
  <Avatar src="/user3.jpg" name="User 3" />
  <Avatar src="/user4.jpg" name="User 4" />
</AvatarGroup>

With Badge

<Avatar src="/profile.jpg" name="John Doe">
  <Badge variant="success" dot />
</Avatar>