Installation
Usage
import { Arc } from "@/components/loading-ui/arc";<Arc />Customization
Arc has a bit more visual weight than the lighter segmented spinners, so it works best when you want the loading state to feel deliberate and easy to spot. Since it is just a rotating bordered circle, the most useful adjustments come from size, color, border thickness, and timing.
Size
Scale the loader up or down with size-* utilities depending on whether it sits inline or anchors a larger empty state.
Color
Arc inherits currentColor, which makes it easy to align with brand accents, muted UI, or context-specific status colors.
Border Width
Changing the border thickness noticeably shifts the feel of the component, especially at medium and larger sizes.
Duration
Set --duration when the loader should feel calm and backgrounded versus urgent and active.
Examples
These examples showcase the settings where Arc tends to read best: framed UI, more prominent surfaces, and states where the loader should feel a little more substantial than a minimal inline spinner.
Button
Inside buttons, Arc works well when you want the action state to feel a bit more deliberate than a tiny inline indicator.
Badge
With a thinner border, Arc also fits nicely inside compact status pills for syncing and refresh states.
Empty
For section-level waiting states, the curved shape gives enough presence to anchor the empty state without needing extra ornament.
Building your dashboard
Fresh usage metrics are being prepared now. This usually takes a few seconds.
Tabs
Use Arc inside tab content when a single panel is refreshing but the broader workspace remains interactive.
Pulling the latest analytics for this workspace.