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
SetisAnimated 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.
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, supplyaria-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
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.