Spinner Sizes
Small, medium, and large spinner indicators.
Atoms
Animated loading indicator for asynchronous operations.
pnpm add @quinkit/uiimport { Spinner } from "@quinkit/ui";Live previews · code · themes · viewport · dark mode
Small, medium, and large spinner indicators.
Spinner integrated inside action buttons.
Spinner paired with status feedback text.
Centered spinner placeholder for loading cards.
Fetching Financial Records
Please wait while we assemble Q3 data.
Translucent backdrop overlay during async actions.
Pro Business Tier — $49/mo
Spinner is a Week 3 atom in @quinkit/ui. It is implemented with strict TypeScript, design-token classes, dark-mode compatible colors, Storybook coverage, and unit tests.
aria-label for icon-only/unlabelled controls.focus-visible and the shared ring token.The component uses semantic tokens such as bg-background, text-foreground, border-input, bg-primary, and text-primary-foreground, so it adapts to .dark and theme palettes. Motion-sensitive styling uses motion-reduce:* or avoids required animation.
Public props are documented with JSDoc in packages/ui/src/components/atoms/spinner/spinner.tsx.
Spinner adheres to WAI-ARIA design patterns for accessible web components.
Keyboard Navigation
Tab / Shift + Tab — Focuses control and moves between interactive elements.Space / Enter — Triggers action or toggles selection.Escape — Closes open popovers, overlays, or dropdown menus.ARIA Standards
aria-* attributes.ring-ring) visible in both light & dark mode.Add a shadcn-compatible bridge file to your project that re-exports from @quinkit/ui.
npx shadcn@latest add https://quinkit-ui.vercel.app/r/spinner.json