Components
← All components

Spinner

stimeo--spinner

Toggles a loading indicator with a live region, aria-busy, and anti-flicker timers.

The stimeo--spinner controller follows the live-region + aria-busy practice. start / stop toggle a role="status" indicator that carries text (never an icon alone) so screen readers announce loading, and mirror the busy state onto the controlled region via aria-busy. Two timers tame flicker: delay suppresses the spinner for operations that finish quickly, and minDuration keeps it visible long enough to be perceived once shown. It dispatches stimeo--spinner:show / :hide, and both timers are torn down on disconnect (Turbo included). Behavior only — the visual spinner is owned by this Playground.

running

“Start loading” enters the loading state and “Stop loading” ends it. To prevent flicker, the spinner appears after a ~150 ms delay and, once shown, stays for at least ~600 ms — so right after “Stop loading” it lingers briefly before hiding. That delay is intentional, not a stuck spinner.

Content appears here once loading finishes.