Component/Ring
An arc rotating in a faint circle.
import { Ring } from "loading-dev"; export function RingDemo() { return <Ring size={48} />;}Size
Sets the spinner’s dimensions in pixels. The default value is 20
import { Ring } from "loading-dev"; export function RingSize() { return ( <div className="flex items-center gap-6"> <Ring size={16} /> <Ring size={24} /> <Ring size={40} /> </div> );}Custom Classes
You can use a custom className in case you need to tweak the spinner in a specific way that the library doesn’t provide.
import { Ring } from "loading-dev"; export function RingClassName() { return <Ring className="opacity-40" size={32} />;}Color
The loader inherits currentColor from the parent by default. You can tint it in any way you want. It accepts any valid CSS color.
import { Ring } from "loading-dev"; export function RingColor() { return <Ring color="#f97316" size={32} />;}Duration
Sets the speed in ms. Higher values are slower, smaller values are faster.
import { Ring } from "loading-dev"; export function RingDuration() { return <Ring duration={1600} size={32} />;}State
Pauses or resumes the animation and exposes the state of the spinner.
import { Ring } from "loading-dev"; export function RingPlayState() { return <Ring playState="paused" size={32} />;}Easing
Controls how the spinner rotates. linear moves at a constant speed, ease-in-out starts slowly, speeds up, then slows down.stacked combines the two so it changes speed without stopping. The default easing is linear.
import { Ring } from "loading-dev"; export function RingEasing() { return ( <div className="flex items-center gap-6"> <Ring easing="linear" size={32} /> <Ring easing="ease-in-out" size={32} /> <Ring easing="stacked" size={32} /> </div> );}Cap
Controls how the ends of the stroke are drawn. round finishes them with a half circle, flat cuts them square. The default cap is round.
import { Ring } from "loading-dev"; export function RingCap() { return ( <div className="flex items-center gap-6"> <Ring cap="round" size={32} /> <Ring cap="flat" size={32} /> </div> );}