Semantics
Status semantics are opt-in through the visible or accessible label.
Foundations · stable · MIT
A compact named loading indicator with reduced-motion state.
Install editable source
Behavior contract
Status semantics are opt-in through the visible or accessible label.
No component-specific keys.
Light and dark themes, logical RTL layout, reduced motion, responsive content, and forwarded public refs.
Source-derived reference
These public React parts are read directly from the canonical source during the documentation build.
GummySpinnerGummySpinnerPropsComposes React.HTMLAttributes<HTMLSpanElement> & { label?: string; size?: "small" | "medium" | "large"; tone?: "raspberry" | "grape" | "aqua" | "current"; }
Troubleshooting
Implementation decisions
Use a spinner for a short indeterminate operation when no honest completion fraction exists. Pair it with text that says what is being attempted and update that status when the operation succeeds, fails, or can be retried. Disable only the controls that truly conflict. Test instant completion, long waits, cancellation, reduced motion, screen-reader announcements, and route changes so loading feedback never traps a customer.
Live product source
The Component Lab exercises real source across default, focus, disabled, responsive, dark, reduced-motion, and RTL contexts.
Open the live Component LabInteractive inspection
Load the real component preview when you are ready to interact with its responsive, theme, and direction controls.
Editable source
The registry payload stays off the initial page request.