icon component
Drop-in semantic component. See examples, sizes, variants, and source.
Icons render from the Lucide set with automatic SVG injection. Write
<i class="icon [name]"> and the SVG is fetched
from /webroot/assets/css/lucide-icons/[name].svg at runtime.
Layer adjectives for size (xs sm md xl lg), semantic color
(primary positive negative warning info neutral), opacity
(muted faded), or transforms (rotate-90 flip-horizontal).
Behaviour is wired by icon.js.
Icon System
Basic Icons
Icon Sizes
Icon Colors
Icon Animations
Animated Icons
Icon States
Icon Utilities
Rotation & Flipping
Common Patterns
Left Icon
Right Icon
Both Icons (Clearable)
Icons with Badges
3
Class API Reference
| Type | Class | Usage | Notes |
|---|---|---|---|
| Base | icon |
Required base class on an <i> |
Pair with the icon name (e.g. icon star) |
| Sizes | xs |
12px (w-3 h-3) | Standalone modifier |
sm |
16px (w-4 h-4) | Standalone modifier | |
md / (default) |
20px (w-5 h-5) | Default size; class is optional | |
xl |
24px (w-6 h-6) | Standalone modifier | |
lg |
32px (w-8 h-8) | Standalone modifier | |
| Color | primary |
blue-600 | Standalone modifier |
positive |
green-600 | Standalone modifier | |
negative |
red-600 | Standalone modifier | |
warning |
orange-500 | Standalone modifier | |
info |
blue-600 | Alias of primary |
|
neutral |
gray-500 | Standalone modifier | |
| State | muted |
60% opacity | Standalone modifier |
faded |
40% opacity | Standalone modifier | |
| Animation | animate-spin |
Continuous rotation | Loaders / spinners |
animate-pulse |
Opacity pulse | Status indicators | |
| Transform | rotate-45 |
Rotate 45° | Standalone modifier |
rotate-90 |
Rotate 90° | Standalone modifier | |
rotate-180 |
Rotate 180° | Standalone modifier | |
rotate-270 |
Rotate 270° | Standalone modifier | |
flip-horizontal |
Mirror on X-axis | Standalone modifier | |
flip-vertical |
Mirror on Y-axis | Standalone modifier | |
| Position | left |
Position icon at the left of an input-wrapper |
Pair wrapper with has-left-icon |
right |
Position icon at the right of an input-wrapper |
Pair wrapper with has-right-icon |
|
clickable |
Cursor + hover scale on a non-button icon | Standalone modifier |