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) | undefined
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 | undefined
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)