# @spark-web/spinner

> --- title: Spinner storybookPath: feedback-overlays-spinner--default isExperimentalPackage: true ---

Latest version **5.1.1** (published 2026-04-14) · 0 weekly downloads

## Install

```sh
npm install @spark-web/spinner
pnpm add @spark-web/spinner
yarn add @spark-web/spinner
bun add @spark-web/spinner
```

## Health

**Score 55/100 (C)** — status: active.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 5.1.1 |
| Published | 2026-04-14 |
| First published | 2022-04-27 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=14 |
| Dependencies | 6 |
| Unpacked size | 28.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | brighte, brighte-release-bot |

## Links

- npm: https://www.npmjs.com/package/@spark-web/spinner
- Repository: https://github.com/brighte-labs/spark-web
- Homepage: https://github.com/brighte-labs/spark-web#readme
- Issues: https://github.com/brighte-labs/spark-web/issues
- npm.io page: https://npm.io/package/@spark-web/spinner

## Dependencies (6)

- [@babel/runtime](https://npm.io/package/@babel/runtime.md) ^7.25.0
- [@emotion/react](https://npm.io/package/@emotion/react.md) ^11.14.0
- [@spark-web/box](https://npm.io/package/@spark-web/box.md) ^6.0.1
- [@spark-web/a11y](https://npm.io/package/@spark-web/a11y.md) ^5.3.0
- [@spark-web/icon](https://npm.io/package/@spark-web/icon.md) ^5.1.0
- [@spark-web/utils](https://npm.io/package/@spark-web/utils.md) ^5.1.0

## Recent versions

- 5.1.1 (latest) — 2026-04-14
- 0.0.0-snapshot-release-20260827022754 (snapshot-release) — 2026-08-27
- 5.1.0-rc.0 (rc) — 2025-07-24
- 0.0.0-snapshot-release-20260409073509 — 2026-04-09
- 0.0.0-snapshot-release-20260409063015 — 2026-04-09
- 0.0.0-snapshot-release-20260409051926 — 2026-04-09
- 0.0.0-snapshot-release-20260409001813 — 2026-04-09
- 5.1.0 — 2026-01-15
- 5.0.1 — 2025-04-16
- 5.0.0 — 2025-02-10
- 5.0.0-rc.31 — 2025-02-10
- 5.0.0-rc.29 — 2025-02-06
- 5.0.0-rc.28 — 2025-02-06
- 5.0.0-rc.27 — 2025-02-05
- 5.0.0-rc.26 — 2025-02-05
- … 34 more at https://npm.io/package/@spark-web/spinner/versions

## README

---
title: Spinner
storybookPath: feedback-overlays-spinner--default
isExperimentalPackage: true
---

Spinner indicates to users that their request is in progress. In most cases
[you should use the `loading` prop on a Button instead of using this component directly](/package/button#loading).

## Examples

### Tones

The appearance of Spinner can be customised with the tone prop.

Defaults to `primary`.

```jsx live
const tones = ['secondary', 'critical', 'positive', 'neutral'];

return (
  <Stack align="left" gap="large">
    <Inline gap="large">
      {tones.map(tone => (
        <Spinner key={tone} tone={tone} />
      ))}
    </Inline>
  </Stack>
);
```

```jsx live
const backgrounds = [
  // Light
  ['surface', 'positiveLight', 'infoLight', 'cautionLight', 'criticalLight'],
  // Dark
  ['muted', 'positive', 'info', 'caution', 'critical'],
];

return (
  <Stack gap="large">
    {backgrounds.map((backgroundLightness, index) => (
      <Inline key={index} gap="large">
        {backgroundLightness.map(background => (
          <Box
            key={background}
            background={background}
            shadow="medium"
            height="medium"
            width="medium"
            display="flex"
            flexShrink={0}
            alignItems="center"
            justifyContent="center"
          >
            <Spinner />
          </Box>
        ))}
      </Inline>
    ))}
  </Stack>
);
```

## Size

Spinners available in two size: `xxsmall` and `xsmall`.

Defaults to `xsmall`.

```jsx live
<Row gap="large">
  <Spinner size="xxsmall" />
  <Spinner size="xsmall" />
</Row>
```

## Props

### Spinner

<PropsTable displayName="Spinner" />

[data-attribute-map]:
  https://github.com/brighte-labs/spark-web/blob/e7f6f4285b4cfd876312cc89fbdd094039aa239a/packages/utils/src/internal/buildDataAttributes.ts#L1

---
_Source: https://npm.io/package/@spark-web/spinner · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
