# Shadcn In Buttons

> Spinners in buttons.

- Type: example, free and open source (MIT)
- Component: [Spinner](https://reui.io/components/spinner.md)
- Page: https://reui.io/components/spinner/c-spinner-2
- Docs (Base UI): https://ui.shadcn.com/docs/components/base/spinner.md
- Docs (Radix UI): https://ui.shadcn.com/docs/components/radix/spinner.md
- MCP: `get_example("c-spinner-2")`
- Registry item: https://reui.io/r/styles/base-nova/c-spinner-2.json
- Uses: Button, Spinner

## Best for

Leading spinners in a live primary, a disabled outline and a square icon only button with its own label

## Agent notes

- The Processing `Button` is not `disabled`, so it stays clickable while it spins; lock it from your pending flag
- `data-icon` inline-start on the `Spinner` in each labelled `Button` trims that button's leading padding to fit the icon

## When not to use

- A save action that cycles idle, saving and saved after one click: use [Button](https://reui.io/components/button.md) (`get_component("button")`)

## Install

```bash
npx shadcn@latest add @reui/c-spinner-2
```

## About Shadcn Spinner

### When to use

- Pending states inside buttons, status badges and search fields while a request runs
- Loading views for a card or an empty panel, including blurred covers over content being refreshed
- Inline notes such as checking, syncing or reconnecting, led by a small tinted spinner or bouncing dots

### When not to use

- Content of a known layout, held as muted placeholder shapes until it arrives: use [Skeleton](https://reui.io/components/skeleton.md) (`get_component("skeleton")`)
- A wait where the share of work done is known, such as an upload percent: use [Progress](https://reui.io/components/progress.md) (`get_component("progress")`)
- A save control that tracks its own pending and done states after a click: use [Button](https://reui.io/components/button.md) (`get_component("button")`)

### Agent notes

- No example holds a pending flag and `disabled` is hardcoded where it appears; show the indicator and lock controls from your own request state

Every ReUI item has a twin like this one; the index is https://reui.io/llms.txt. Agents with the ReUI MCP (https://reui.io/docs/mcp) get the same guidance from the getters named above.
