Skip to main content

Overview

Render an assistant character from a body shape, face, palette color, and size. The component displays the supplied values; your application owns selection and persistence.

Usage

Visual options

Choose shapes independently from expressions and colors. The body and face use the selected palette’s theme tokens and follow the surrounding light or dark theme. Set size for a square character. Native attributes, events, className, style, and ref target the outer span; explicit styles override its dimensions and palette defaults.

Idle animation

Set isAnimated to play the selected expression’s idle loop. Default blinks and glances sideways, Happy lifts its eyes, Wink closes one eye, Surprised widens its eyes, Sleepy floats a sleep mark, and Love pulses its heart eyes. The body stays still.
Animation is off by default. Set isAnimated={false} to display the static expression, including the visible wink. When the browser prefers reduced motion, the component displays the static expression even when isAnimated is enabled. The preference also applies if it changes while the character is displayed. The application owns the animation toggle. This prop controls idle presentation and does not represent listening, speaking, thinking, or other assistant activity.

Accessibility

The character is decorative when it has no accessible name, as in the labeled Usage example. For a standalone character, supply aria-label or aria-labelledby; the root then exposes the image role. The body and face stay hidden from assistive technology so the character is announced once. Set aria-hidden explicitly when you need to override the name-based default, such as hiding a named character beside equivalent visible text. Place the character inside a named button or link when it accompanies an action. The application owns the control, its label, and its behavior.

Props

Booleanish
Explicitly hides or exposes the character. Takes precedence over the name-based default.
string
Accessible name for a standalone character. Adds the image role; omit it beside a visible name.
string
ID of an element naming a standalone character. Adds the image role.
string
CSS class applied to the span root.
"blue" | "gray" | "green" | "orange" | "pink" | "purple" | "red" | "sky" | "turquoise" | "yellow"
default:"blue"
Theme palette used for the body and face. Follows the surrounding light or dark theme.
"default" | "happy" | "love" | "sleepy" | "surprised" | "wink"
default:"default"
Expression displayed over the body.
boolean
default:"false"
Plays the selected expression’s idle loop. Displays the static expression when the browser prefers reduced motion.
"arch" | "burst" | "circle" | "cloud" | "clover" | "cookie" | "flower" | "gem" | "hexagon" | "pill"
default:"circle"
Body shape of the assistant character.
14 | 16 | 20 | 24 | 40
default:"24"
Width and height in pixels: 14, 16, 20, 24, or 40.
CSSProperties
Inline styles applied to the root. Explicit styles override its dimensions and palette defaults.