examples/spinner-default.tsx
import { Spinner } from "@/components/wensity/spinner";export function DefaultSpinner() {return <Spinner variant="default" label="Loading components" showLabel />;}
Indeterminate loading indicators in default, ring, dots, pulse, and overlay styles for inline and blocking states.
Practical examples and common states for the same installable component.
Fast single-arc loading for compact inline states.
import { Spinner } from "@/components/wensity/spinner";export function DefaultSpinner() {return <Spinner variant="default" label="Loading components" showLabel />;}
Layered ring with stronger loading presence.
import { Spinner } from "@/components/wensity/spinner";export function RingSpinner() {return <Spinner variant="ring" tone="success" label="Publishing changes" showLabel />;}
Conversational loading for AI and search flows.
import { Spinner } from "@/components/wensity/spinner";export function DotsSpinner() {return <Spinner variant="dots" tone="warning" label="Preparing response" showLabel />;}
Ambient waiting state without continuous rotation.
import { Spinner } from "@/components/wensity/spinner";export function PulseSpinner() {return <Spinner variant="pulse" tone="danger" label="Waiting for webhook" showLabel />;}
Blocking loader for a panel or workspace region.
import { SpinnerOverlay } from "@/components/wensity/spinner";export function LoadingOverlay() {return <SpinnerOverlay label="Refreshing billing" />;}
| Prop | Type | Default | Description |
|---|---|---|---|
variant | "default" | "ring" | "dots" | "pulse" | "default" | Which loading animation to render. |
size | "sm" | "md" | "lg" | "md" | Spinner diameter. |
tone | "neutral" | "brand" | "success" | "warning" | "danger" | "neutral" | Spinner colour. |
label | string | "Loading" | Accessible label announced while the spinner is visible. |
showLabel | boolean | false | Renders the label as visible text beside the spinner. |