Avatar
Avatarは、ユーザーやエンティティを視覚的に表すコンポーネントです。 画像、イニシャル、アイコンのフォールバックをサポートし、ステータス表示やグループ表示にも対応します。
2
Shapes
6
Sizes
4
Status
Radix
Base
Playground
Preview
D40px
JD
Size
Shape
Content
Options
Status
<Avatar>
<AvatarImage src="/avatar.jpg" alt="User" />
<AvatarFallback>JD</AvatarFallback>
</Avatar>Sizes
xsサイズ24px
フォント10px
ドット6px
smサイズ32px
フォント12px
ドット8px
defaultサイズ40px
フォント14px
ドット10px
lgサイズ48px
フォント16px
ドット12px
xlサイズ64px
フォント20px
ドット14px
2xlサイズ80px
フォント24px
ドット16px
| Size | サイズ | フォント | ステータスドット | プレビュー |
|---|---|---|---|---|
xs | 24px | 10px | 6px | JD |
sm | 32px | 12px | 8px | JD |
default | 40px | 14px | 10px | JD |
lg | 48px | 16px | 12px | JD |
xl | 64px | 20px | 14px | JD |
2xl | 80px | 24px | 16px | JD |
Features
Shapes
JD
Circle
JD
Square
Status
JD
online
JD
offline
JD
busy
JD
away
Fallback
画像が読み込めない場合、イニシャルまたはアイコンがフォールバックとして表示されます。
JD
Image + Fallback
JD
Initials
Icon
Avatar Group
複数のアバターを重ねて表示します。maxで表示数を制限できます。
JDEBMKRS
JDEBMK+2
API
Component Structure
Avatar— Radix Avatar.ImageProps.FallbackProps.GroupProps
.ImageProps画像.FallbackPropsフォールバック(name・colorized対応).GroupPropsグループ表示(max対応)Props
Avatar
size"default""xs" | "sm" | "default" | "lg" | "xl" | "2xl"アバターのサイズ (24/32/40/48/64/80px)
shape"circle""circle" | "square"形状 (円形/角丸正方形)
statusundefined"online" | "offline" | "busy" | "away"ステータスドットの表示
| Name | Type | Default | Description |
|---|---|---|---|
size | "xs" | "sm" | "default" | "lg" | "xl" | "2xl" | "default" | アバターのサイズ (24/32/40/48/64/80px) |
shape | "circle" | "square" | "circle" | 形状 (円形/角丸正方形) |
status | "online" | "offline" | "busy" | "away" | undefined | ステータスドットの表示 |
AvatarImage
srcundefinedstring画像のURL
altundefinedstring画像の代替テキスト
onLoadingStatusChangeundefined(status: "idle" | "loading" | "loaded" | "error") => void読み込み状態の変更コールバック
| Name | Type | Default | Description |
|---|---|---|---|
src | string | undefined | 画像のURL |
alt | string | undefined | 画像の代替テキスト |
onLoadingStatusChange | (status: "idle" | "loading" | "loaded" | "error") => void | undefined | 読み込み状態の変更コールバック |
AvatarFallback
size"default""xs" | "sm" | "default" | "lg" | "xl" | "2xl"フォントサイズのスケーリング用
nameundefinedstring名前からイニシャル+カラーを自動生成。childrenがある場合はイニシャルを上書き
colorizedundefinedstringカラーのみ自動適用(イニシャルは手動)。nameがある場合はnameが優先
colorVariant"vivid""vivid" | "soft"カラースタイル: vivid (濃い背景+白文字) / soft (淡い背景+濃い文字)
delayMsundefinednumberフォールバック表示の遅延時間 (ms)
| Name | Type | Default | Description |
|---|---|---|---|
size | "xs" | "sm" | "default" | "lg" | "xl" | "2xl" | "default" | フォントサイズのスケーリング用 |
name | string | undefined | 名前からイニシャル+カラーを自動生成。childrenがある場合はイニシャルを上書き |
colorized | string | undefined | カラーのみ自動適用(イニシャルは手動)。nameがある場合はnameが優先 |
colorVariant | "vivid" | "soft" | "vivid" | カラースタイル: vivid (濃い背景+白文字) / soft (淡い背景+濃い文字) |
delayMs | number | undefined | フォールバック表示の遅延時間 (ms) |
AvatarGroup
maxundefinednumber最大表示数。超過分は "+N" で表示
size"default""xs" | "sm" | "default" | "lg" | "xl" | "2xl"子アバターのサイズ ("+N" バッジに適用)
shape"circle""circle" | "square"子アバターの形状 ("+N" バッジに適用)
| Name | Type | Default | Description |
|---|---|---|---|
max | number | undefined | 最大表示数。超過分は "+N" で表示 |
size | "xs" | "sm" | "default" | "lg" | "xl" | "2xl" | "default" | 子アバターのサイズ ("+N" バッジに適用) |
shape | "circle" | "square" | "circle" | 子アバターの形状 ("+N" バッジに適用) |
Customization
name propを渡すだけで、イニシャルとカラーを自動生成できます。
name prop — イニシャル + カラー自動生成
JD
John
EB
Emma
MK
Michael
RS
Rachel
TW
Tina
<AvatarFallback name="John Doe" /> {/* → "JD" + color */}
<AvatarFallback name="Emma Brown" /> {/* → "EB" + color */}Vivid vs Soft
Vivid (default)
Google / Slack / Teams
JDEBMKRSTW
<AvatarFallback name={name} />Soft
Notion / Linear
JDEBMKRSTW
<AvatarFallback name={name} colorVariant="soft" />CJK 対応
김민
김민수
→ "김민"
田中
田中太郎
→ "田中"
李明
李明
→ "李明"
<AvatarFallback name="김민수" />
<AvatarFallback name="田中太郎" />
<AvatarFallback name="李明" />画像 + フォールバック
JD
画像あり
JD
フォールバック
<Avatar>
<AvatarImage src={url} alt={name} />
<AvatarFallback name={name} />
</Avatar>Tip:同じnameは常に同じ色になります(決定的ハッシュ)。childrenを渡すと自動イニシャルを上書きできます。