AurumLoader
Aurum's circular progress spinner — the SwiftUI port of aurum-android's AurumLoader.
| family | Feedback |
|---|---|
| platform | iOS 17+ · SwiftUI |
| figma | component master ↗ |
| source | Sources/Aurum/Component/Feedback/AurumLoader.swift |
| code connect | FigmaConnect/Sources/AurumFigmaConnect/AurumLoader.figma.swift |
| snapshots | 2 baselines · iPhone 17 Pro · iOS 26.5 |
Aurum's circular progress spinner — the SwiftUI port of aurum-android's
AurumLoader. Renders Figma's "Spinner" set (file YvIxqu2oTlM6UnkL0OloHc,
node 4530-2084): a full-circle track in trackColor with a 90-degree arc
in color rotating at constant speed, an optional label (Figma
shownLabel) placed .right or .bottom, and free size / color
(the Figma size and color axes are covered by these continuous params).
Intended use
Use for short-duration, action-bound waits where the user has just initiated something — submitting a form, fetching a fresh result, retrying after an error. Rule of thumb: if the wait could exceed ~2 seconds and you have content shape to suggest, use AurumSkeleton instead so the surface keeps its perceived layout.
Do
- Render inline next to the action that triggered the wait (e.g. inside
AurumButton'sisLoadingstate, an inline list-row spinner). - Pass a
label("Loading…") for screen-level waits so the affordance reads clearly; the label also gives VoiceOver something to announce. - Default
sizetoAurum.iconSize.xxlfor screen-level waits; useAurum.iconSize.mdfor inline-button spinners.
Don’t
- Use for long page loads — multi-second blank screens are perceived as broken; switch to
AurumSkeleton. - Stack multiple spinners on the same screen for parallel requests; aggregate to one canonical "loading" affordance.
Snapshots
Recorded on the pinned simulator — iPhone 17 Pro · iOS 26.5 · Xcode 26.6.
Code Connect
Mapped to Figma node 4530:2084 ↗ — SwiftUI snippets appear in Dev Mode for the latest release.