@mks2508/mks-ui
Advanced

Animated Icons

32 animated Lucide icons with entrance/exit transitions built on lucie-animated.

Animated Icons

@mks2508/mks-ui ships 32 animated Lucide icons with entrance and exit transitions, built on the lucie-animated library.

Import

// Individual icon
import { Check } from '@mks2508/mks-ui/react/icons/lucide-animated';

// All icons
import * as AnimatedIcons from '@mks2508/mks-ui/react/icons/lucide-animated';

Usage

<Check className="size-5 text-emerald-400" />

Icons animate on mount (entrance) and can animate on unmount (exit) when used with AnimatePresence from motion.

Available Icons

The following 32 animated icons are available:

IconImport Name
Arrow DownArrowDown
Arrow LeftArrowLeft
Arrow RightArrowRight
Arrow UpArrowUp
BellBell
Bell OffBellOff
CheckCheck
Check CircleCheckCircle
Chevron DownChevronDown
Chevron LeftChevronLeft
Chevron RightChevronRight
Chevron UpChevronUp
CircleCircle
CopyCopy
EyeEye
Eye OffEyeOff
HeartHeart
HomeHome
LoaderLoader
MailMail
MenuMenuIcon
MoonMoon
MoreVerticalMoreVertical
SearchSearch
SettingsSettings
StarStar
SunSun
TrashTrash
TrendingDownTrendingDown
TrendingUpTrendingUp
XX
ActivityActivity

Sizing

Icons follow the standard Lucide sizing convention:

<Check className="size-4" />  {/* 16px — inline with text */}
<Check className="size-5" />  {/* 20px — default */}
<Check className="size-6" />  {/* 24px — larger contexts */}

Color

Icons inherit the current text color, or apply a specific color class:

<Check className="text-emerald-400" />
<X className="text-destructive" />
<Activity className="text-cyan-400" />

With Buttons

<Button>
  <Settings className="size-4" />
  Settings
</Button>

<Button size="icon" variant="outline">
  <MoreVertical className="size-4" />
</Button>

Adding New Icons

Install from the lucie-animated registry:

bunx --bun shadcn@latest add @lucie-animated/check-circle

Then export from the icons barrel:

// src/react-ui/icons/lucide-animated/index.ts
export * from './check-circle';