Avatar

An easily stylable avatar component.

View as Markdown
LTLT

Anatomy

Import the component and assemble its parts:

Anatomy

API reference

Root

Displays a user's profile picture, initials, or fallback icon. Renders a <span> element.

className

string | function

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

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

Description

Callback fired when the loading status changes.

Type

((status: ImageLoadingStatus) => void)

className

string | function

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

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

Name
Description

How long to wait before showing the fallback. Specified in milliseconds.

Type

number

className

string | function

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

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)