Toggle Sidebar B
AppearanceLight & dark mode D

Thought Line

Reasoning-trace header: a glyph and a label breathe beside a live clock while steps appear beneath, then the line settles on one beat into "Thought for 4.2s" through a blur crossfade and the trace folds into it.

Default

The preview loops a run: steps arrive, the line settles and folds, then it starts over. Turn Loop off to drive Working by hand, and click the line to open the trace again.

Dark previewReplay previewOpen in new tab

Customize

Glyph
Ink
Glyph Color
Font Size18px
Breath Period1.6s
Breath Depth0.45
Shimmer Speed1.8s
Settle350ms
Settle Blur2px

API Reference

ThoughtLine

PropTypeDefaultDescription
labelstring'Thinking…'The working line. It breathes, and it is the spoken text.
doneLabelstring''The settled line. Empty gives "Thought for", or "Done thinking" without the timer.
glyph'sparkle' | 'dot' | 'none''sparkle'The mark that breathes and dims. Use the glyph slot for a custom one.
stepsstring[][]The trace beneath the line. Append as the agent progresses; the last step is current, earlier ones tick.
collapsiblebooleantrueThe line becomes a toggle for the trace, with a chevron.
collapseOnSettlebooleantrueFold the trace into the line when it settles.
colorstring'currentColor'The ink of the line and the trace.
glyphColorstring''The glyph alone. Empty follows the ink.
fontSizenumber16Type size in px. Everything scales in em.
breathPeriodnumber1.6One breath, up and down, in seconds.
breathDepthnumber0.45How far the glyph and label dim at the trough. 0 is no breath.
shimmerbooleantrueA band of ink sweeps the working label. The label then leaves the breath to the glyph.
shimmerDurationnumber1.8One sweep, in seconds.
settleDurationnumber350The settle chord, in ms: crossfade, dim, glide, fold.
settleBlurnumber2Blur through the crossfade seam, in px.
workingbooleantrueWorking or settled. True again starts a new clock.
settleAfternumber0Seconds after which the line settles by itself. 0 waits for working.
elapsednumberundefinedControlled seconds. The internal clock never runs.
showTimerbooleantrueThe live clock that freezes into the sentence.
EventDescription
settleOnce per settle, with the frozen time in seconds.
SlotDescription
labelWraps either string, for a sheen or a link. Receives { text, working }. Inline content only.
glyphReplaces the mark that breathes and dims.

Accessibility

Keyboard shortcuts and ARIA behavior.

  • The visible text is hidden from screen readers. A status region announces the working label, then the settled sentence with the time spoken in full.
  • With a trace, the line is a button with aria-expanded and the trace is hidden while folded.
  • With prefers-reduced-motion the breath is shallower and slower, and the shimmer and blur are dropped.