registry/demos/text/number-roll-spin-demo.tsx
import { NumberRoll } from "@/components/mizzle/text/number-roll"
const STATS = [
{
label: "Uptime",
value: 0.9998,
format: { style: "percent", minimumFractionDigits: 2 },
},
{ label: "Deploys", value: 1284, format: {} },
{
label: "Median",
value: 42,
format: { style: "unit", unit: "millisecond" },
},
] as const
export default function NumberRollSpinDemo() {
return (
<dl className="flex gap-10">
{STATS.map((stat) => (
<div key={stat.label} className="flex flex-col gap-1">
<dt className="text-xs text-muted-foreground">{stat.label}</dt>
<dd className="text-xl font-medium tracking-[-0.01em] text-foreground">
<NumberRoll
value={stat.value}
format={stat.format}
locale="en-US"
inView={false}
spin={1}
stagger={0.09}
/>
</dd>
</div>
))}
</dl>
)
}