Propel

Circular Progress

A small progress ring driven by a value, with an indeterminate spinning state.

Basic

x
Show code
import { CircularProgress } from "@makeplane/propel/components/circular-progress";

export default function BasicDemo() {
  return <CircularProgress value={60} magnitude="md" tone="brand" aria-label="Sync progress" />;
}

Tones

Arc color by signal: brand accent, success/warning/danger outcome.

x
x
x
x
Show code
import { CircularProgress } from "@makeplane/propel/components/circular-progress";

export default function TonesDemo() {
  return (
    <div className="flex flex-wrap items-center gap-3">
      <CircularProgress value={60} magnitude="md" tone="brand" aria-label="Sync progress" />
      <CircularProgress value={60} magnitude="md" tone="success" aria-label="Backup progress" />
      <CircularProgress value={60} magnitude="md" tone="warning" aria-label="Storage used" />
      <CircularProgress value={60} magnitude="md" tone="danger" aria-label="Quota used" />
    </div>
  );
}

Magnitudes

Diameter: sm 16px / md 20px.

x
x
Show code
import { CircularProgress } from "@makeplane/propel/components/circular-progress";

export default function MagnitudesDemo() {
  return (
    <div className="flex flex-wrap items-center gap-3">
      <CircularProgress value={60} magnitude="sm" tone="brand" aria-label="Small ring" />
      <CircularProgress value={60} magnitude="md" tone="brand" aria-label="Medium ring" />
    </div>
  );
}

Indeterminate

value={null} is indeterminate: a fixed quarter arc spins with no aria-valuenow.

x
Show code
import { CircularProgress } from "@makeplane/propel/components/circular-progress";

export default function IndeterminateDemo() {
  return <CircularProgress value={null} magnitude="md" tone="brand" aria-label="Syncing" />;
}

Installation

import { CircularProgress } from "@makeplane/propel/components/circular-progress";

Props

CircularProgress

PropTypeRequiredDescription
valuenumber | nullYesCompletion from 0 to `max` (default 100). `null` = indeterminate: a fixed quarter arc spins (`aria-valuenow` unset).
magnitude"sm" | "md"YesDiameter: `sm` 16px / `md` 20px.
tone"brand" | "success" | "warning" | "danger"YesArc color: `brand` accent, `success`/`warning`/`danger` outcome.