# Thinking Orb · Pro

A sphere of dots that shows an AI is busy, with nine motions for nine kinds of busy: working, searching, solving, listening, connecting, composing, breathing, weaving and shaping. States morph into each other; dots can lean towards the cursor.

This is a Charcoal UI Pro component. Its source and examples are available with a Pro seat: https://charcoalui.com/pricing

## With a Pro seat

1. Add the registry to components.json:

```json
{
  "registries": {
    "@charcoal": {
      "url": "https://charcoalui.com/r/{name}.json",
      "headers": {
        "Authorization": "Bearer ${CHARCOAL_LICENSE_KEY}"
      }
    }
  }
}
```

2. Copy your licence key from https://charcoalui.com/dashboard and put it in .env.local as CHARCOAL_LICENSE_KEY, then:

```bash
npx shadcn@latest add @charcoal/thinking-orb
```

To read Pro source through this MCP server, reconnect it with the header "Authorization: Bearer <licence key>".

## API — All states
| Prop | Type | Default | Notes |
| --- | --- | --- | --- |
| `state` | `OrbState` | `"searching"` | working, searching, solving, listening, connecting, composing, breathing, weaving, shaping. |
| `size` | `number` | `64` | Diameter in px. |
| `dots` | `number` | — | Defaults to a count that suits the size. |
| `dotSize` | `number` | `1` |  |
| `speed` | `number` | `1` |  |
| `color` | `string` | — | Any CSS colour. Defaults to the text colour. |
| `gravity` | `boolean` | `false` | Dots lean towards a nearby pointer. |
| `label` | `string` | — | Announced to screen readers. |

See it live: https://charcoalui.com/docs/components/thinking-orb