All icons
Upload
ActionsAnimated, copy-ready variants of the Upload icon, powered by Motion.
Animations
Click a card to copy its Motion snippet - drop it straight into a "use client" component.
Installation
Animated component. Pulls animated-upload.tsx into your project with every variant above, and installs motion and the icon set for you:
$
pnpm dlx shadcn@latest add https://nawalkattel.com.np/r/icon-upload.jsonimport { AnimatedUpload } from "@/components/ui/animated-upload";
export function Example() {
return <AnimatedUpload variant="pulse" className="size-6" />;
}Icon only. If you just want the glyph, install the set and import it directly:
$
pnpm add lucide-reactimport { Upload } from "lucide-react";
export function Example() {
return <Upload className="size-6" />;
}Animated usage
Animations use motion - install it with pnpm add motion, then wrap the icon in a motion.span. Each card above copies its own variant; here's the full component:
"use client";
import { motion } from "motion/react";
import { Upload } from "lucide-react";
export function AnimatedUpload() {
return (
<motion.span
animate={{ rotate: 360 }}
transition={{ duration: 1.8, ease: "linear", repeat: Infinity }}
>
<Upload className="size-6" />
</motion.span>
);
}