{ "name": "sliding-number", "type": "registry:ui", "registryDependencies": [], "dependencies": [ "motion", "react-use-measure" ], "devDependencies": [], "tailwind": {}, "cssVars": { "light": {}, "dark": {} }, "files": [ { "path": "sliding-number.tsx", "content": "'use client';\nimport { useEffect, useId } from 'react';\nimport {\n MotionValue,\n motion,\n useSpring,\n useTransform,\n motionValue,\n} from 'motion/react';\nimport useMeasure from 'react-use-measure';\n\nconst TRANSITION = {\n type: 'spring',\n stiffness: 280,\n damping: 18,\n mass: 0.3,\n};\n\nfunction Digit({ value, place }: { value: number; place: number }) {\n const valueRoundedToPlace = Math.floor(value / place) % 10;\n const initial = motionValue(valueRoundedToPlace);\n const animatedValue = useSpring(initial, TRANSITION);\n\n useEffect(() => {\n animatedValue.set(valueRoundedToPlace);\n }, [animatedValue, valueRoundedToPlace]);\n\n return (\n