snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
This commit is contained in:
220
apps/v4/content/docs/components/base/avatar.mdx
Normal file
220
apps/v4/content/docs/components/base/avatar.mdx
Normal file
@@ -0,0 +1,220 @@
|
||||
---
|
||||
title: Avatar
|
||||
description: An image element with a fallback for representing the user.
|
||||
base: base
|
||||
component: true
|
||||
links:
|
||||
doc: https://base-ui.com/react/components/avatar
|
||||
api: https://base-ui.com/react/components/avatar#api-reference
|
||||
---
|
||||
|
||||
<ComponentPreview
|
||||
styleName="base-nova"
|
||||
name="avatar-demo"
|
||||
previewClassName="h-72"
|
||||
/>
|
||||
|
||||
## Installation
|
||||
|
||||
<CodeTabs>
|
||||
|
||||
<TabsList>
|
||||
<TabsTrigger value="cli">Command</TabsTrigger>
|
||||
<TabsTrigger value="manual">Manual</TabsTrigger>
|
||||
</TabsList>
|
||||
<TabsContent value="cli">
|
||||
|
||||
```bash
|
||||
npx shadcn@latest add avatar
|
||||
```
|
||||
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value="manual">
|
||||
|
||||
<Steps className="mb-0 pt-2">
|
||||
|
||||
<Step>Install the following dependencies:</Step>
|
||||
|
||||
```bash
|
||||
npm install @base-ui/react
|
||||
```
|
||||
|
||||
<Step>Copy and paste the following code into your project.</Step>
|
||||
|
||||
<ComponentSource
|
||||
name="avatar"
|
||||
title="components/ui/avatar.tsx"
|
||||
styleName="base-nova"
|
||||
/>
|
||||
|
||||
<Step>Update the import paths to match your project setup.</Step>
|
||||
|
||||
</Steps>
|
||||
|
||||
</TabsContent>
|
||||
|
||||
</CodeTabs>
|
||||
|
||||
## Usage
|
||||
|
||||
```tsx showLineNumbers
|
||||
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
|
||||
```
|
||||
|
||||
```tsx showLineNumbers
|
||||
<Avatar>
|
||||
<AvatarImage src="https://github.com/shadcn.png" />
|
||||
<AvatarFallback>CN</AvatarFallback>
|
||||
</Avatar>
|
||||
```
|
||||
|
||||
## Composition
|
||||
|
||||
Use the following composition to build an `Avatar`:
|
||||
|
||||
```text
|
||||
Avatar
|
||||
├── AvatarImage
|
||||
├── AvatarFallback
|
||||
└── AvatarBadge
|
||||
```
|
||||
|
||||
Use the following composition to build an `AvatarGroup`:
|
||||
|
||||
```text
|
||||
AvatarGroup
|
||||
├── Avatar
|
||||
│ ├── AvatarImage
|
||||
│ ├── AvatarFallback
|
||||
│ └── AvatarBadge
|
||||
├── Avatar
|
||||
│ ├── AvatarImage
|
||||
│ ├── AvatarFallback
|
||||
│ └── AvatarBadge
|
||||
└── AvatarGroupCount
|
||||
```
|
||||
|
||||
## Basic
|
||||
|
||||
A basic avatar component with an image and a fallback.
|
||||
|
||||
<ComponentPreview styleName="base-nova" name="avatar-basic" />
|
||||
|
||||
## Badge
|
||||
|
||||
Use the `AvatarBadge` component to add a badge to the avatar. The badge is positioned at the bottom right of the avatar.
|
||||
|
||||
<ComponentPreview styleName="base-nova" name="avatar-badge" />
|
||||
|
||||
Use the `className` prop to add custom styles to the badge such as custom colors, sizes, etc.
|
||||
|
||||
```tsx showLineNumbers
|
||||
<Avatar>
|
||||
<AvatarImage src="https://github.com/shadcn.png" alt="@shadcn" />
|
||||
<AvatarFallback>CN</AvatarFallback>
|
||||
<AvatarBadge className="bg-green-600 dark:bg-green-800" />
|
||||
</Avatar>
|
||||
```
|
||||
|
||||
## Badge with Icon
|
||||
|
||||
You can also use an icon inside `<AvatarBadge>`.
|
||||
|
||||
<ComponentPreview styleName="base-nova" name="avatar-badge-icon" />
|
||||
|
||||
## Avatar Group
|
||||
|
||||
Use the `AvatarGroup` component to add a group of avatars.
|
||||
|
||||
<ComponentPreview styleName="base-nova" name="avatar-group" />
|
||||
|
||||
## Avatar Group Count
|
||||
|
||||
Use `<AvatarGroupCount>` to add a count to the group.
|
||||
|
||||
<ComponentPreview styleName="base-nova" name="avatar-group-count" />
|
||||
|
||||
## Avatar Group with Icon
|
||||
|
||||
You can also use an icon inside `<AvatarGroupCount>`.
|
||||
|
||||
<ComponentPreview styleName="base-nova" name="avatar-group-count-icon" />
|
||||
|
||||
## Sizes
|
||||
|
||||
Use the `size` prop to change the size of the avatar.
|
||||
|
||||
<ComponentPreview styleName="base-nova" name="avatar-size" />
|
||||
|
||||
## Dropdown
|
||||
|
||||
You can use the `Avatar` component as a trigger for a dropdown menu.
|
||||
|
||||
<ComponentPreview styleName="base-nova" name="avatar-dropdown" />
|
||||
|
||||
## RTL
|
||||
|
||||
To enable RTL support in shadcn/ui, see the [RTL configuration guide](/docs/rtl).
|
||||
|
||||
<ComponentPreview
|
||||
styleName="base-nova"
|
||||
name="avatar-rtl"
|
||||
direction="rtl"
|
||||
previewClassName="h-72"
|
||||
/>
|
||||
|
||||
## API Reference
|
||||
|
||||
### Avatar
|
||||
|
||||
The `Avatar` component is the root component that wraps the avatar image and fallback.
|
||||
|
||||
| Prop | Type | Default |
|
||||
| ----------- | --------------------------- | ----------- |
|
||||
| `size` | `"default" \| "sm" \| "lg"` | `"default"` |
|
||||
| `className` | `string` | - |
|
||||
|
||||
### AvatarImage
|
||||
|
||||
The `AvatarImage` component displays the avatar image. It accepts all Base UI Avatar Image props.
|
||||
|
||||
| Prop | Type | Default |
|
||||
| ----------- | -------- | ------- |
|
||||
| `src` | `string` | - |
|
||||
| `alt` | `string` | - |
|
||||
| `className` | `string` | - |
|
||||
|
||||
### AvatarFallback
|
||||
|
||||
The `AvatarFallback` component displays a fallback when the image fails to load. It accepts all Base UI Avatar Fallback props.
|
||||
|
||||
| Prop | Type | Default |
|
||||
| ----------- | -------- | ------- |
|
||||
| `className` | `string` | - |
|
||||
|
||||
### AvatarBadge
|
||||
|
||||
The `AvatarBadge` component displays a badge indicator on the avatar, typically positioned at the bottom right.
|
||||
|
||||
| Prop | Type | Default |
|
||||
| ----------- | -------- | ------- |
|
||||
| `className` | `string` | - |
|
||||
|
||||
### AvatarGroup
|
||||
|
||||
The `AvatarGroup` component displays a group of avatars with overlapping styling.
|
||||
|
||||
| Prop | Type | Default |
|
||||
| ----------- | -------- | ------- |
|
||||
| `className` | `string` | - |
|
||||
|
||||
### AvatarGroupCount
|
||||
|
||||
The `AvatarGroupCount` component displays a count indicator in an avatar group, typically showing the number of additional avatars.
|
||||
|
||||
| Prop | Type | Default |
|
||||
| ----------- | -------- | ------- |
|
||||
| `className` | `string` | - |
|
||||
|
||||
For more information about Base UI Avatar props, see the [Base UI documentation](https://base-ui.com/react/components/avatar#api-reference).
|
||||
Reference in New Issue
Block a user