Spinner
An indeterminate loading indicator. Sized and colored by the text context it sits in, so it drops into buttons, fields, and empty states unchanged.
tsx
import { Spinner } from "@/registry/seam/ui/spinner"
export default function SpinnerDemo() {
return (
<div className="text-muted-foreground flex items-center gap-4">
<Spinner />
<Spinner className="size-6" />
<Spinner className="text-primary size-8" />
</div>
)
}bunx --bun @seamui/cli@latest add spinnerNotes
- Under reduced motion the continuous rotation swaps for an opacity pulse, so loading feedback never disappears.
- Carries
role="status"and a defaultaria-labelof “Loading”; override the label to describe what is loading when several spinners can be on screen.
Press feedback, reduced motion, and haptics follow the global policy — see Motion and Haptics.