Activity Rings
Concentric activity rings lap their goal while three metrics count up beside them
Installation
$ pnpm dlx shadcn@latest add @remocn/activity-ringsUsage
tsx
// src/Root.tsx
import { Composition } from "remotion";
import { ActivityRings } from "@/components/remocn/activity-rings";
const ActivityRingsScene = () => (
<ActivityRings
title="This quarter"
rings={[
{ label: "Renders", value: 2400, goal: 1.2 },
{ label: "Templates", value: 64, goal: 1.1 },
{ label: "Hours saved", value: 420, unit: "h", goal: 1.05 },
]}
/>
);
export const RemotionRoot = () => (
<Composition
id="ActivityRings"
component={ActivityRingsScene}
durationInFrames={130}
fps={30}
width={1280}
height={720}
/>
);Three concentric rings fill clockwise one after another, snap closed, then lap past their goal with a check mark while the labels count up beside them. Pass rings (label, value, optional unit, and a goal fraction such as 1.14) and a title. Ships dark and light via theme.
Props5
| Prop | Type | Default |
|---|---|---|
| rings | ActivityRing[]DEFAULT_RINGS Up to three rings, outermost first. | |
| title | string"This month" Small heading above the readouts. | |
| accent | string"#3B5BFD" Color of the outer hero ring. | |
| speed | number1 Playback multiplier. | |
| theme | "dark" | "light""dark" Dark or light palette. | |
- ringsActivityRing[]
Up to three rings, outermost first.
Default
DEFAULT_RINGS - titlestring
Small heading above the readouts.
Default
"This month" - accentstring
Color of the outer hero ring.
Default
"#3B5BFD" - speednumber
Playback multiplier.
Default
1 - theme"dark" | "light"
Dark or light palette.
Default
"dark"