RiseUI
Components

Spinner

HeroUI v3 spinner SVG paths, gradient fills, sizes (sm–xl), colors, and animate-spin-fast cadence — see spinner.tsx and spinner.css.

Usage

Default — `current` color via IconTheme (`spinner--current`, md size).

IconTheme.merge(
  data: IconThemeData(color: theme.defaultForeground),
  child: const RiseSpinner(),
)

Colors

Accent → Current → Success → Warning → Danger (`gap-8`, `text-xs` / muted labels).

Row(
  children: [
    const RiseSpinner(color: RiseSpinnerColor.accent),
    const SizedBox(width: 32),
    DefaultTextStyle(
      style: TextStyle(color: brandColor),
      child: const RiseSpinner(color: RiseSpinnerColor.current),
    ),
    // … success, warning, danger
  ],
)

Sizes

sm, md, lg, xl with Small … Extra Large labels (Hero `Sizes` story).

Row(
  children: [
    RiseSpinner(size: RiseSpinnerSize.sm, color: RiseSpinnerColor.accent),
    const SizedBox(width: 32),
    RiseSpinner(size: RiseSpinnerSize.md, color: RiseSpinnerColor.accent),
    const SizedBox(width: 32),
    RiseSpinner(size: RiseSpinnerSize.lg, color: RiseSpinnerColor.accent),
    const SizedBox(width: 32),
    RiseSpinner(size: RiseSpinnerSize.xl, color: RiseSpinnerColor.accent),
  ],
)

Loading flag

isLoading: false → [SizedBox.shrink()] (Flutter-only convenience).

const RiseSpinner(isLoading: false) // SizedBox.shrink()