# Spinner

<FrameworkCodeSwitcher>
  <div slot="astro">
```astro
---
import { Spinner } from "@/components/starwind/spinner";
---

<Spinner />
```
  </div>
  <div slot="react">
```tsx
import { Spinner } from "@/components/starwind/spinner";

export function Example() {
  return (
    <>
      <Spinner />
    </>
  );
}
```
  </div>
</FrameworkCodeSwitcher>

## Installation

```bash
npx starwind@latest add spinner
```

## Usage

### Custom Size

```astro
---
import { Spinner } from "@/components/starwind/spinner";
---

<Spinner class="size-4" />
<Spinner class="size-6" />
<Spinner class="size-8" />
<Spinner class="size-12" />
```

### Custom Color

```astro
---
import { Spinner } from "@/components/starwind/spinner";
---

<Spinner class="text-blue-500" />
<Spinner class="text-green-500" />
<Spinner class="text-red-500" />
<Spinner class="text-purple-500" />
```

### In Button

```astro
---
import { Spinner } from "@/components/starwind/spinner";
import { Button } from "@/components/starwind/button";
---

<Button disabled>
  <Spinner />
  Loading...
</Button>
```

## Framework Availability
Spinner is available for Astro and React.
Astro available; React available
| Framework | Status | Notes |
| --- | --- | --- |
| Astro | available | - |
| React | available | - |
## API Reference
### Spinner
- Inherits svg attributes. Omits `aria-label` and `role`.

## Changelog

### v1.1.0

- Added contract-generated Astro and React implementations while preserving the component's existing public API and styling.

### v1.0.2 

- Refactor tailwind variants functions into separate `variants.ts` file

### v1.0.0

- Initial release with starwind v1.10.0