All icons
Filter
InterfaceAnimated, copy-ready variants of the Filter 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-filter.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-filter.jsonimport { AnimatedFilter } from "@/components/ui/animated-filter";
export function Example() {
return <AnimatedFilter variant="pulse" className="size-6" />;
}Icon only. If you just want the glyph, install the set and import it directly:
$
pnpm add lucide-reactimport { Filter } from "lucide-react";
export function Example() {
return <Filter 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 { Filter } from "lucide-react";
export function AnimatedFilter() {
return (
<motion.span
animate={{ rotate: 360 }}
transition={{ duration: 1.8, ease: "linear", repeat: Infinity }}
>
<Filter className="size-6" />
</motion.span>
);
}