Documentation Index Fetch the complete documentation index at: https://mintlify.com/pqoqubbw/icons/llms.txt
Use this file to discover all available pages before exploring further.
Lucide Animated icons are React components that come with built-in hover animations. Each icon is a fully-featured component that animates on mouse hover by default.
Importing Icons
Import icons individually by name from the package. Icon names use PascalCase with an “Icon” suffix:
import { HeartIcon } from "lucide-animated" ;
import { BellIcon } from "lucide-animated" ;
import { CheckIcon } from "lucide-animated" ;
Basic Rendering
Render icons as React components. By default, they animate on hover:
import { HeartIcon } from "lucide-animated" ;
export default function App () {
return (
< div >
< HeartIcon />
</ div >
);
}
Hover over the icon to see the animation play automatically.
Customizing Size
All icons accept a size prop to control their dimensions. The default size is 28 pixels:
import { BellIcon } from "lucide-animated" ;
export default function IconSizes () {
return (
< div className = "flex items-center gap-4" >
{ /* Small */ }
< BellIcon size = { 20 } />
{ /* Default */ }
< BellIcon />
{ /* Large */ }
< BellIcon size = { 48 } />
{ /* Extra large */ }
< BellIcon size = { 64 } />
</ div >
);
}
Common Props
Icons extend standard HTML div attributes, so you can pass any props you’d normally use:
onClick Handler
ARIA Attributes
Data Attributes
import { CheckIcon } from "lucide-animated" ;
export default function ClickableIcon () {
const handleClick = () => {
console . log ( "Icon clicked!" );
};
return < CheckIcon onClick = { handleClick } /> ;
}
Animation on Hover
Each icon has a unique animation that plays on hover. The animation behavior varies by icon:
HeartIcon Scales up and down with a pulse effect
BellIcon Rotates back and forth like a ringing bell
CheckIcon Draws the checkmark path from start to finish
ActivityIcon Animates the activity line from left to right
Complete Example
Here’s a complete example showing multiple icons with different sizes and hover animations:
import { HeartIcon , BellIcon , CheckIcon , ActivityIcon } from "lucide-animated" ;
export default function IconShowcase () {
return (
< div className = "flex items-center gap-6 p-8" >
< div className = "text-center" >
< HeartIcon size = { 32 } />
< p className = "mt-2 text-sm" > Heart </ p >
</ div >
< div className = "text-center" >
< BellIcon size = { 32 } />
< p className = "mt-2 text-sm" > Bell </ p >
</ div >
< div className = "text-center" >
< CheckIcon size = { 32 } />
< p className = "mt-2 text-sm" > Check </ p >
</ div >
< div className = "text-center" >
< ActivityIcon size = { 32 } />
< p className = "mt-2 text-sm" > Activity </ p >
</ div >
</ div >
);
}
Hover animations are disabled when using imperative control via refs. See the Imperative Control guide for more details.