mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-25 13:46:07 +00:00
* feat: rtl * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add sidebar * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * chore: changeset * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix
197 lines
4.6 KiB
Plaintext
197 lines
4.6 KiB
Plaintext
---
|
|
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>
|
|
```
|
|
|
|
## Examples
|
|
|
|
### 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).
|