Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
T

thinking-orbs

> 编程语言
Open source

Dotted thought-orb loading indicators for AI & agent UIs — six tuned states, two sizes, auto dark/light

1.3K stars0 likes3 views
WebsiteGitHub

About

Dotted thought-orb loading indicators for AI & agent UIs — six tuned states, two sizes, auto dark/light

thinking-orbs

Dotted thought-orb loading indicators for AI & agent UIs. Nine hand-tuned animated states, each shipped at two purpose-tuned sizes, rendered on a plain 2D canvas — no WebGL, no filters, works identically in Chrome, Safari and Firefox.

Live demo · Repository · Report an issue

Install

bash
npm install thinking-orbs

Quick start

typescript
import { ThinkingOrb } from 'thinking-orbs';

function Status() {
  return ;
}

States

Nine verbs an agent can be doing, each a distinct animation:

typescript
     {/* particles on tilted orbits */}
   {/* a scan meridian sweeps a dotted globe */}
     {/* bands scramble, then click back solved */}
   {/* a waveform rolls through the rings */}
  {/* a constellation wires itself */}
     {/* three strands plait around the sphere */}
   {/* an undulating multi-band sash */}
   {/* a ring slowly morphing */}
     {/* dotted outline: circle → triangle → square */}

Sizes

Two tuned presets — separate designs, not a scale factor. 64 for chat-avatar scale, 20 for inline-text scale. Each carries its own dot count, dot size and speed tuning:

typescript

Theme

Strictly monochrome — light ink for dark backgrounds, dark ink for light backgrounds — with the mode picked automatically from the host project:

typescript
   {/* default — detects from the project */}
   {/* pin: light dots for dark backgrounds */}
  {/* pin: dark dots for light backgrounds */}

auto resolves in three layers and updates live when any of them change:

  1. an ancestor data-theme="dark|light" attribute or dark/light class (the Tailwind / shadcn convention), watched via MutationObserver;
  2. otherwise prefers-color-scheme, subscribed for live OS theme switches;
  3. SSR-safe — the canvas paints only on the client, after the theme has resolved.

Other props

typescript

All other `` props (className, style, data-*, …) pass through.

Accessibility & performance

  • role="img" with a sensible per-state aria-label out of the box.
  • prefers-reduced-motion: reduce renders a static representative frame — no animation — and still follows the live theme.
  • Every instance pauses automatically when scrolled offscreen (IntersectionObserver) or when the tab is hidden, and resumes in phase — all instances share one clock.
  • Plain 2D canvas arcs only: no ctx.filter, no SVG filters, no WebGL — the same pixels everywhere, cheap on low-end devices. Device-pixel-ratio capped at 2.

License

MIT © Jakub Antalik

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScript

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言