Nooxit
AI Components

Orb

An animated dotted sphere for what an AI agent is doing.

base
working
working · gyro
reasoning
reasoning · twins
searching
searching · lighthouse
background
background · spiral
retrying
retrying · surge
compacting
compacting · squeeze
compacting · fuse
waiting

Installation

import { Orb } from 'nooxit-design-system/components/ai/orb';

It needs nothing else: the dots are SVG, drawn in currentColor.

Usage

<Orb />
<Orb state="working" />
<Orb state="searching" variant="lighthouse" size={32} className="text-agent" />

States

Each state is one thing an agent does, and some come in more than one look (variant, default if left out).

stateWhat the dots doVariants
baseThe sphere turns slowly—
workingA ring of light runs down itgyro: wobbles like a spinning top
reasoningA lit trail walks across the fronttwins: two trails
searchingA lens hops from spot to spotlighthouse: a beam sweeps round
backgroundFewer, larger dots, turning slowlyspiral: eight arms pole to pole
retryingIt turns, brakes and springs backsurge: launches and eases out
compactingA line packs the dots, then lets gosqueeze, fuse
waitingA comet laps the sphere—

Color

It takes the text color, so tint it with a text-* class.

Options

size is the width and height in px; every look is tuned to read at 20. speed scales every motion (1 as designed), paused holds it on its frame, and density, dotSize and tilt change the dots and the angle. label names it for screen readers; without one it is hidden from them. Only orbs on screen redraw, every orb of a look turns in step, and reduced motion holds it still.

Notes

Adapted from Thinking Orb on 21st.dev, kept as written apart from formatting. mountOrb draws one into any <svg> without React.

Source — src/components/ai/orb.tsx

On this page