Orb is the main orb-ui component. It can run in controlled mode with a directional signal, or
through a provider adapter.
Props
States
Themes
debug: visible state and start/stop controls while integrating.circle: the primary animated voice orb.bars: waveform-like audio activity.cloud: a soft atmospheric sphere with opposing input/output scale response.radial: a four-lobe field with an input-reactive membrane and output-reactive twist.
balanced preset. To select another preset or change low-level values,
pass { name, preset, appearance, geometry, motion }. Override fields are specific to the selected
theme and fully typed.
--orb-ui-size; for stable internal styling, use slotProps; for
complete artwork ownership, use renderTheme. All three retain Orb’s normalized signal contract.
See theme customization,
stable slots, and
custom renderers.
When an adapter or onStart/onStop handler is provided, visual themes include a <button type="button"> control with native keyboard activation. radial uses a separate phone button while the other clickable visuals use the artwork itself. If there is no visible label, pass aria-label.
The radial control’s cutout defaults to white. Set
--orb-ui-radial-control-surround through the typed style prop when the orb sits on another
surface:
interactive={false} when the orb is only a visual status surface. The adapter remains the
session controller, so external buttons can call its existing lifecycle methods.
Adapter interface
inputVolume and outputVolume are stable normalized speech envelopes from 0 to 1. Orb
reads input while state is listening, output while state is speaking, and zero in other
states. See volume calibration for the provider mapping contract.
Migrating from volume
The ambiguous volume prop and OrbSignal.volume field have been removed. Put the value on the
direction that owns it:
inputVolume for microphone activity and outputVolume for assistant
playback. Provider adapters already do this and ship with directional calibration defaults.
Migrating callback-object adapters
orb-ui 0.5.0 removes the deprecated callback-object adapter API. Pass one complete signal to the listener whenever state or volume changes.OrbAdapter; the removed AdapterCallbacks and
LegacyOrbAdapter types are no longer exported.