Spinner

An indicator for loading states. Uses logical data-icon="inline-start" / inline-end so placement follows writing direction in buttons and badges.

Basic

A compact loading indicator with role="status".

Installation

CLI
npx @sonojs/ui@latest add spinner
Also needsnpm i lucide-react

Composition

structure
Spinner

Usage

spinner.tsx
import { Spinner } from "@/components/ui/spinner"

export function Example() {
  return <Spinner />
}

Props

PropTypeDefaultDescription
classNamestring—Merge classes (e.g. `size-6` for a larger spinner).
aria-labelstring"Loading"Accessible name for the status role.
…svg propsReact.ComponentProps<"svg">—Pass-through props for the Lucide icon.