Spinner
Animated loading spinner in three sizes.
iOS
Android
Web
tsx
Default
With label
With description
Stacked
Small
Large
Primary
Props
Do & Don’t
Label
Don’t
A bare spinner with no label leaves users guessing what is happening and for how long.
Do
Loading…
Pair longer waits with a short label so the spinner has context.
sm
Don’t
The 4×4 spinner is too small to anchor a full panel; alone in open space it reads as a stray dot.
Do
Use the small size inline: inside a button or beside a line of text where its scale matches the type.
default
Don’t
Don't stretch it with conflicting width and height; a spinner must stay a perfect circle to spin cleanly.
Do
Loading…
Keep the default square and centered with a label for small content panels and cards.
lg
Don’t
The 8×8 spinner overflows a small control; cramming the large size into a button breaks its height.
Do
Loading dashboard…
Reserve the large size for section- or page-level loading, centered in the empty content area.