{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "animated-number-flip", "type": "registry:ui", "title": "Animated Number Flip", "description": "A card component that displays numbers with smooth flip animations.", "dependencies": [ "motion" ], "registryDependencies": [ "card" ], "files": [ { "path": "registry/ruixenui/animated-number-flip.tsx", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { motion, AnimatePresence } from \"motion/react\";\nimport { cn } from \"@/lib/utils\";\nimport { Card, CardContent } from \"@/components/ui/card\";\n\ninterface AnimatedNumberFlipProps {\n value: number;\n className?: string;\n}\n\nexport default function AnimatedNumberFlip({\n value,\n className,\n}: AnimatedNumberFlipProps) {\n const [displayValue, setDisplayValue] = React.useState(value);\n\n React.useEffect(() => {\n if (value !== displayValue) {\n const timeout = setTimeout(() => setDisplayValue(value), 300);\n return () => clearTimeout(timeout);\n }\n }, [value, displayValue]);\n\n return (\n \n \n
\n \n \n {value}\n \n \n
\n
\n \n );\n}\n", "type": "registry:ui", "target": "components/ruixen/animated-number-flip.tsx" } ] }