Avatar
An easily stylable avatar component.
View as MarkdownAnatomy
Import the component and assemble its parts:
import { Avatar } from '@base-ui-components/react/avatar';
<Avatar.Root>
<Avatar.Image src="" />
<Avatar.Fallback>LT</Avatar.Fallback>
</Avatar.Root>
API reference
Root
Displays a user's profile picture, initials, or fallback icon.
Renders a <span>
element.
className
string | function
string | function
- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string
| ((state: Avatar.Root.State) => string)
render
ReactElement | function
ReactElement | function
- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElement
or a function that returns the element to render.- Type
| ReactElement
| ((props: HTMLProps, state: Avatar.Root.State) => ReactElement)
Image
The image to be displayed in the avatar.
Renders an <img>
element.
onLoadingStatusChange
function
function
- Description
Callback fired when the loading status changes.
- Type
((status: ImageLoadingStatus) => void)
className
string | function
string | function
- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string
| ((state: Avatar.Root.State) => string)
render
ReactElement | function
ReactElement | function
- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElement
or a function that returns the element to render.- Type
| ReactElement
| ((props: HTMLProps, state: Avatar.Root.State) => ReactElement)
Fallback
Rendered when the image fails to load or when no image is provided.
Renders a <span>
element.
delay
number
number
- Name
- Description
How long to wait before showing the fallback. Specified in milliseconds.
- Type
number
className
string | function
string | function
- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string
| ((state: Avatar.Root.State) => string)
render
ReactElement | function
ReactElement | function
- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElement
or a function that returns the element to render.- Type
| ReactElement
| ((props: HTMLProps, state: Avatar.Root.State) => ReactElement)