Skip to content

StatusDot

Standalone status indicator dot for presence and connection states.

<StatusDot label="Online" />
<div style={{display: 'flex', alignItems: 'center', gap: 16}}>
<StatusDot label="Online" variant="success" />
<StatusDot label="Away" variant="neutral" />
<StatusDot label="Offline" variant="error" />
</div>
<div style={{display: 'flex', alignItems: 'center', gap: 16}}>
<StatusDot label="Online" size="sm" />
<StatusDot label="Online" size="md" />
<StatusDot label="Online" size="lg" />
</div>
<div style={{display: 'flex', alignItems: 'center', gap: 16}}>
<StatusDot icon={<Check />} label="Verified" size="md" />
<StatusDot icon={<X />} label="Unavailable" size="lg" variant="error" />
</div>
<div
className={css({bg: 'surface.blue', borderRadius: 'md'})}
style={{display: 'flex', alignItems: 'center', gap: 16, padding: 24}}>
<StatusDot hasRing label="Online" size="md" />
<StatusDot label="Online" size="md" />
</div>
  • eu-west-1
  • us-east-2
  • ap-south-1
<ul style={{display: 'grid', gap: 8, listStyle: 'none', margin: 0}}>
{(
[
['eu-west-1', 'success', 'Connected'],
['us-east-2', 'neutral', 'Standby'],
['ap-south-1', 'error', 'Unreachable'],
] as const
).map(([server, variant, label]) => (
<li
key={server}
style={{display: 'flex', alignItems: 'center', gap: 8}}>
<StatusDot label={label} size="sm" variant={variant} />
<span>{server}</span>
</li>
))}
</ul>
<Avatar
name="Ada Lovelace"
size="medium"
status={<AvatarStatusDot icon={<Check />} label="Verified" />}
/>

Standalone status indicator dot for presence and connection states.

PropTypeDefaultDescription
classNamestringAdditional CSS class names applied to the root element.
data-testidstringTest ID applied to the root element.
hasRingbooleanRenders a background-colored ring around the dot so it punches out of the element behind it, as when overlapping an Avatar. Default is false.
iconReactNodeOptional icon rendered inside md and lg dots.
label*stringAccessible label describing the status, such as "Online".
refRef<HTMLDivElement>Ref forwarded to the root element.
size"sm" | "md" | "lg"Visual size of the dot: sm is 10px with no icon, md is 20px, and lg is 32px. Default is md.
styleCSSPropertiesInline styles applied to the root element.
variant"error" | "success" | "neutral"Semantic dot color. Default is success.