Avatar
Avatarは、ユーザーを表すプロフィール写真やイニシャルのアイコンを表示するコンポーネントです。
<Avatar
name="Hirotomo Yamada"
src="https://avatars.githubusercontent.com/u/84060430?v=4"
/>
使い方
import { Avatar, AvatarGroup } from "@yamada-ui/react"
import { Avatar, AvatarGroup } from "@/components/ui"
import { Avatar, AvatarGroup } from "@workspaces/ui"
<Avatar />
<AvatarGroup.Root>
<AvatarGroup.Item />
</AvatarGroup.Root>
バリアントを変更する
<Wrap gap="md">
<For each={["solid", "subtle", "surface", "outline"]}>
{(variant, key) => (
<Avatar variant={variant} name="Hirotomo Yamada" key={key} />
)}
</For>
</Wrap>
サイズを変更する
<Wrap gap="md">
<For each={["xs", "sm", "md", "lg", "xl"]}>
{(size, key) => <Avatar size={size} name="Hirotomo Yamada" key={key} />}
</For>
</Wrap>
形を変える
<Wrap gap="md">
<For each={["circle", "square", "rounded"]}>
{(size, key) => <Avatar shape={size} name="Hirotomo Yamada" key={key} />}
</For>
</Wrap>
イニシャルを表示する
nameに文字列を設定すると、イニシャルのアイコンを表示します。
<Avatar name="Hirotomo Yamada" />
画像を表示する
画像を表示する場合は、srcにパスを設定します。
<Avatar src="https://avatars.githubusercontent.com/u/84060430?v=4" />
フォールバック
srcの読み込みが失敗した場合は、2つのフォールバックがあります。
nameがある場合: イニシャルのアイコンを表示します。nameがない場合: デフォルトのアバターのアイコンを使用します。
<Wrap gap="md">
<Avatar
name="Hirotomo Yamada"
src="https://avatars.githubusercontent.com/u/84060430?v=4"
/>
<Avatar name="Hirotomo Yamada" src="https://not-found.com" />
<Avatar src="https://not-found.com" />
</Wrap>
フォールバックをカスタマイズする
<Wrap gap="md">
<Avatar bg="warning" src="https://not-found.com" />
<Avatar icon={<GhostIcon />} src="https://not-found.com" />
</Wrap>
ランダムな色を使う
const randomColorScheme = (name: string) => {
const index = name.charCodeAt(0) % COLOR_SCHEMES.length
return COLOR_SCHEMES[index]
}
return (
<Wrap gap="md">
<For each={["Hirotomo Yamada", "Koiso Kenji", "Shinohara Natsuki"]}>
{(name, index) => (
<Avatar key={index} name={name} colorScheme={randomColorScheme(name)} />
)}
</For>
</Wrap>
)
グループ化する
グループ化する場合は、maxに数値を指定します。指定された数以上のアバターが存在する場合は、切り詰めて残りのアバターを+Xのように表示されます。
<AvatarGroup.Root max={3}>
<AvatarGroup.Item
name="Hirotomo Yamada"
src="https://avatars.githubusercontent.com/u/84060430?v=4"
/>
<AvatarGroup.Item
name="Hirotomo Yamada"
src="https://avatars.githubusercontent.com/u/84060430?v=4"
/>
<AvatarGroup.Item
name="Hirotomo Yamada"
src="https://avatars.githubusercontent.com/u/84060430?v=4"
/>
<AvatarGroup.Item
name="Hirotomo Yamada"
src="https://avatars.githubusercontent.com/u/84060430?v=4"
/>
<AvatarGroup.Item
name="Hirotomo Yamada"
src="https://avatars.githubusercontent.com/u/84060430?v=4"
/>
</AvatarGroup.Root>
Props
アクセシビリティ
現在、v2の移行に伴い、このセクションは更新中です。