AurumLoader

Aurum's circular progress spinner — the SwiftUI port of aurum-android's AurumLoader.

familyFeedback
platformiOS 17+ · SwiftUI
figmacomponent master ↗
sourceSources/Aurum/Component/Feedback/AurumLoader.swift
code connectFigmaConnect/Sources/AurumFigmaConnect/AurumLoader.figma.swift
snapshots2 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's isLoading state, 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 size to Aurum.iconSize.xxl for screen-level waits; use Aurum.iconSize.md for 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.

AurumLoader — ComponentSnapshotTests · testLoader
ComponentSnapshotTests · testLoader
AurumLoader — ComponentSnapshotTests · testLoaderLabelled
ComponentSnapshotTests · testLoaderLabelled

Code Connect

Mapped to Figma node 4530:2084 ↗ — SwiftUI snippets appear in Dev Mode for the latest release.