Design
llms.txt digitalcrew.tech

Feedback

AnimatedCircularProgressBar

A circular gauge for a value against a quota, with the number in the middle.

MaxFeedbackDigitalCrew.AnimatedCircularProgressBar
AnimatedCircularProgressBar · liveOpen

Guidelines#

Use it for usage meters (AI credits, sending quota) on settings and billing cards.

What you provide: value, min/max (0–100 default), gaugePrimaryColor and gaugeSecondaryColor as CSS colours — pass var(--primary) and var(--muted) so it follows the theme — and a size and text size through className. Always label it with the numbers beside it ("6,800 of 10,000 used").

Facts#

GroupFeedback
ProductMax
Globalwindow.DigitalCrew.AnimatedCircularProgressBar
Sourcemax-agent: src/components/ui/animated-circular-progress-bar.tsx
Import in the appimport { AnimatedCircularProgressBar } from "@/components/ui/animated-circular-progress-bar";

API#

TypeScript declarations emitted from src/components/ui/animated-circular-progress-bar.tsx (the module also exports its other parts).

/**
 * Affiche une jauge circulaire animée.
 * @param {{max?: number, min?: number, value?: number, gaugePrimaryColor: string, gaugeSecondaryColor: string, className?: string}} props
 */
export declare function AnimatedCircularProgressBar({ max, min, value, gaugePrimaryColor, gaugeSecondaryColor, className, }: {
    max?: number;
    min?: number;
    value?: number;
    gaugePrimaryColor: string;
    gaugeSecondaryColor: string;
    className?: string;
}): any;

Example#

The code of the preview above: plain React.createElement against window.DigitalCrew, with realistic data.

<div id="root" class="p-6"></div>
<script>
(function () {
  var h = React.createElement, DC = window.DigitalCrew, I = DC.Icons;
function App() {
  return h("div", { className: "flex items-center gap-8" },
    h(DC.AnimatedCircularProgressBar, { value: 68, gaugePrimaryColor: "var(--primary)", gaugeSecondaryColor: "var(--muted)", className: "size-32 text-2xl" }),
    h("div", { className: "grid gap-1" },
      h("p", { className: "text-sm font-medium" }, "AI credits this month"),
      h("p", { className: "text-sm text-muted-foreground" }, "6,800 of 10,000 used · resets 1 Nov")));
}
  ReactDOM.createRoot(document.getElementById("root")).render(h(DC.TooltipProvider, { delayDuration: 80 }, h(App)));
})();
</script>