Style Library
Prompt
Paste into any AI assistant before describing what to build — or attach it to a project below.
# Animation pattern — Animated Number
Easily animate numbers.
Build it in React with `motion` (motion/react) and Tailwind CSS. Respect `prefers-reduced-motion` (render the final state without movement), keep it under ~400 ms for UI feedback, and animate only transform and opacity where possible.
Reference implementation (Motion-Primitives, MIT):
```tsx
'use client';
import { cn } from '@/lib/utils';
import { motion, SpringOptions, useSpring, useTransform } from 'motion/react';
import { useEffect } from 'react';
export type AnimatedNumberProps = {
value: number;
className?: string;
springOptions?: SpringOptions;
as?: React.ElementType;
};
export function AnimatedNumber({
value,
className,
springOptions,
as = 'span',
}: AnimatedNumberProps) {
const MotionComponent = motion.create(as as keyof JSX.IntrinsicElements);
const spring = useSpring(value, springOptions);
const display = useTransform(spring, (current) =>
Math.round(current).toLocaleString()
);
useEffect(() => {
spring.set(value);
}, [spring, value]);
return (
<MotionComponent className={cn('tabular-nums', className)}>
{display}
</MotionComponent>
);
}
```Use it in an app
Create a free account to attach this style to a project: the hub adds it to the prompt your AI assistant gets, so it builds every page in this look.
From Motion-Primitives (MIT, commit 120f64f).View source