{ "name": "currency-transfer", "type": "registry:component", "dependencies": [ "lucide-react", "motion" ], "registryDependencies": [ "card", "tooltip" ], "files": [ { "type": "registry:component", "content": "\"use client\";\n\n/**\n * @author: @dorianbaffier\n * @description: Currency Transfer\n * @version: 1.0.0\n * @date: 2025-06-26\n * @license: MIT\n * @website: https://kokonutui.com\n * @github: https://github.com/kokonut-labs/kokonutui\n */\n\nimport {\n ArrowDownIcon,\n ArrowUpDown,\n ArrowUpIcon,\n Check,\n InfoIcon,\n} from \"lucide-react\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { useEffect, useState } from \"react\";\nimport { Card, CardContent } from \"@/components/ui/card\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { cn } from \"@/lib/utils\";\n\ninterface CheckmarkProps {\n size?: number;\n strokeWidth?: number;\n color?: string;\n className?: string;\n}\n\nconst draw = {\n hidden: { pathLength: 0, opacity: 0 },\n visible: (i: number) => ({\n pathLength: 1,\n opacity: 1,\n transition: {\n pathLength: {\n delay: i * 0.2,\n type: \"spring\",\n duration: 1.5,\n bounce: 0.2,\n ease: [0.22, 1, 0.36, 1],\n },\n opacity: { delay: i * 0.2, duration: 0.3 },\n },\n }),\n};\n\nexport function Checkmark({\n size = 100,\n strokeWidth = 2,\n color = \"currentColor\",\n className = \"\",\n}: CheckmarkProps) {\n return (\n \n Animated Checkmark\n \n \n \n );\n}\n\nexport default function CurrencyTransfer() {\n const [isCompleted, setIsCompleted] = useState(false);\n const transactionId = \"TXN-DAB3UL494\";\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setIsCompleted(true);\n }, 1500);\n\n return () => clearTimeout(timer);\n }, []);\n\n return (\n \n \n \n \n \n \n \n \n {isCompleted ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n \n {isCompleted ? (\n \n Transfer Completed\n \n ) : (\n \n Transfer in Progress\n \n )}\n \n \n {isCompleted ? (\n \n Transaction ID: {transactionId}\n \n ) : (\n \n Processing Transaction...\n \n )}\n \n \n \n \n \n \n \n \n From\n \n \n \n \n $\n \n \n \n \n 500.00 USD\n \n \n \n Chase Bank ••••4589\n \n \n \n \n \n \n\n \n \n \n \n To\n \n \n \n \n €\n \n \n \n \n 460.00 EUR\n \n \n \n Deutsche Bank ••••7823\n \n \n \n \n \n \n \n \n \n \n \n {isCompleted ? (\n \n Exchange Rate: 1 USD = 0.92 EUR\n \n ) : (\n \n Calculating exchange rate...\n \n )}\n \n \n \n \n \n \n \n {isCompleted\n ? \"Rate updated at 10:45 AM\"\n : \"Please wait...\"}\n \n \n \n \n \n \n \n \n \n );\n}\n", "path": "/components/kokonutui/currency-transfer.tsx", "target": "components/kokonutui/currency-transfer.tsx" } ] }
\n {isCompleted\n ? \"Rate updated at 10:45 AM\"\n : \"Please wait...\"}\n