Feedback
AnimatedCircularProgressBar
A circular gauge for a value against a quota, with the number in the middle.
Usage#
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#
ProductMax
FamilyFeedback
Global
window.DigitalCrew.AnimatedCircularProgressBarSource
max-agent: src/components/ui/animated-circular-progress-bar.tsxImport in the app
import { AnimatedCircularProgressBar } from "@/components/ui/animated-circular-progress-bar";API#
TypeScript declarations emitted from src/components/ui/animated-circular-progress-bar.tsx.
/**
* 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;Code#
The preview above, as plain React.createElement against window.DigitalCrew with realistic data. Copy it into a page that loads the bundle.
<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>