IndiaCN UI

Spinner

Indicates a loading state with animated spinning or growing indicators.

Introduction

Spinners provide a visual cue that an action is being processed. They are built with HTML and CSS only, support multiple color themes, and include proper accessibility attributes.

Installation

import { Spinner } from '@/components/ui/spinner';

Usage

<Spinner />

Examples

Default

Loading...
SpinnerDefault
import { Spinner } from '@/components/ui/spinner';

export default function Component() {
  return <Spinner />;
}

Themes

Use the theme prop to change the spinner color.

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
SpinnerThemes
import { Spinner } from '@/components/ui/spinner';

export default function Component() {
  return (
    <div className="flex flex-wrap items-center gap-4">
      <Spinner theme="primary" />
      <Spinner theme="secondary" />
      <Spinner theme="success" />
      <Spinner theme="danger" />
      <Spinner theme="warning" />
      <Spinner theme="neutral" />
    </div>
  );
}

Growing Spinner

Use variant="grow" for a pulsing grow animation instead of spinning.

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
SpinnerGrow
import { Spinner } from '@/components/ui/spinner';

export default function Component() {
  return (
    <div className="flex flex-wrap items-center gap-4">
      <Spinner variant="grow" theme="primary" />
      <Spinner variant="grow" theme="secondary" />
      <Spinner variant="grow" theme="success" />
      <Spinner variant="grow" theme="danger" />
      <Spinner variant="grow" theme="warning" />
    </div>
  );
}

Sizes

Loading...
Loading...
Loading...
SpinnerSizes
import { Spinner } from '@/components/ui/spinner';

export default function Component() {
  return (
    <div className="flex flex-wrap items-center gap-4">
      <Spinner size="sm" />
      <Spinner size="md" />
      <Spinner size="lg" />
    </div>
  );
}

API Reference

Spinner

PropTypeDefaultDescription
themeprimary | secondary | success | danger | warning | info | light | dark | neutralprimaryColor theme
variantborder | growborderAnimation style
sizesm | md | lgmdSpinner size
labelstringLoading...Screen reader text

On this page