Components
Spinner
Loading indicator: a thin ring with a spinning arc. Announced as a status (“Loading” by default).
Usage
Use it to:
- waits of a second or more inside a region or control
Don’t use it to:
- loading page content with a known layout (use Skeleton)
- progress with a known amount (use Progress)
Installation
Install the package (React 19):
terminal
terminal
terminal
Import the styles once, in your app entry or root layout:
/src/main.tsx
Use it anywhere inside your app's <Theme> (see Installation):
/src/SpinnerExample.tsx
Examples
Size
Inline loading row
Dark theme
API Reference
Spinner
A <span role="status">; supports all of its props. Adds:
| Prop | Type | Default |
|---|---|---|
size | "sm""md""lg"number | "md" |
label | string | "Loading" |
Accessibility
role="status"with visually hidden text, so the wait is announced politely.- The ring rotates slower with reduced motion (it conveys state, so it keeps moving).
- For buttons, use Button
loadinginstead.
© 2026 Motion. Internal documentation.