lucide-laravel

Lucide icon library integration for Laravel Blade templates. Use when working with Lucide icons in Laravel applications, Blade components with the x-lucide- prefix, icon styling with Tailwind CSS, dynamic icon rendering in Blade, or any Laravel view work requiring SVG icons. Keywords include lucide icons, blade icons, x-lucide, SVG icons Laravel, blade-lucide-icons, mallardduck/blade-lucide-icons.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "lucide-laravel" with this command: npx skills add 1naichii/ai-code-tools/1naichii-ai-code-tools-lucide-laravel

Lucide Laravel

Laravel Blade integration for the Lucide icon library - 1,666+ beautiful, consistent SVG icons.

Installation

composer require mallardduck/blade-lucide-icons

Clear view cache if icons don't appear:

php artisan view:clear

Quick Start

Basic Usage

Icons use the x-lucide- prefix with kebab-case naming:

<x-lucide-activity />
<x-lucide-heart />
<x-lucide-shopping-cart />
<x-lucide-circle-check />

Naming Convention

Convert PascalCase icon names to kebab-case:

Icon NameBlade Component
Activity<x-lucide-activity />
ShoppingCart<x-lucide-shopping-cart />
CircleCheck<x-lucide-circle-check />
ArrowRight<x-lucide-arrow-right />

Styling

Tailwind CSS

<!-- Size and color -->
<x-lucide-album class="w-6 h-6 text-gray-500"/>

<!-- Responsive sizing -->
<x-lucide-heart class="w-4 h-4 md:w-6 md:h-6 text-red-500"/>

<!-- Hover effects -->
<x-lucide-star class="w-5 h-5 text-yellow-400 hover:text-yellow-500 cursor-pointer"/>

<!-- Transitions -->
<x-lucide-bell class="w-6 h-6 text-gray-700 hover:text-gray-900 transition-colors duration-200"/>

Inline Styles

<x-lucide-anchor style="color: #555"/>
<x-lucide-heart style="color: #ff0000; width: 48px; height: 48px;"/>
<x-lucide-activity style="color: var(--primary-color); stroke-width: 1.5;"/>

Common Patterns

Navigation Menus

<nav>
    <div class="flex items-center gap-6">
        <a href="/dashboard" class="flex items-center gap-2">
            <x-lucide-layout-dashboard class="w-5 h-5"/>
            <span>Dashboard</span>
        </a>
        <a href="/products" class="flex items-center gap-2">
            <x-lucide-package class="w-5 h-5"/>
            <span>Products</span>
        </a>
        <a href="/settings" class="flex items-center gap-2">
            <x-lucide-settings class="w-5 h-5"/>
            <span>Settings</span>
        </a>
    </div>
</nav>

Form Inputs

<div class="relative">
    <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
        <x-lucide-search class="w-5 h-5 text-gray-400"/>
    </div>
    <input type="text" class="pl-10 w-full border rounded-lg" placeholder="Search..."/>
</div>

Alerts

<!-- Success -->
<div class="flex items-start gap-3 p-4 bg-green-50 border-l-4 border-green-500 rounded">
    <x-lucide-check-circle class="w-6 h-6 text-green-600 flex-shrink-0"/>
    <div>
        <h4 class="font-semibold text-green-800">Success!</h4>
        <p class="text-green-700">Your changes have been saved.</p>
    </div>
</div>

<!-- Error -->
<div class="flex items-start gap-3 p-4 bg-red-50 border-l-4 border-red-500 rounded">
    <x-lucide-alert-circle class="w-6 h-6 text-red-600 flex-shrink-0"/>
    <div>
        <h4 class="font-semibold text-red-800">Error</h4>
        <p class="text-red-700">Something went wrong.</p>
    </div>
</div>

<!-- Info -->
<div class="flex items-start gap-3 p-4 bg-blue-50 border-l-4 border-blue-500 rounded">
    <x-lucide-info class="w-6 h-6 text-blue-600 flex-shrink-0"/>
    <p class="text-blue-700">Please review your changes before submitting.</p>
</div>

Action Buttons

<!-- Icon-only button with aria-label -->
<button class="p-2 hover:bg-gray-100 rounded" aria-label="Delete">
    <x-lucide-trash class="w-5 h-5 text-red-600"/>
</button>

<!-- Button with icon and text -->
<button class="flex items-center gap-2 bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700">
    <x-lucide-save class="w-5 h-5"/>
    <span>Save</span>
</button>

<!-- Primary action -->
<button class="flex items-center gap-2 bg-green-600 text-white px-4 py-2 rounded-lg">
    <x-lucide-plus class="w-5 h-5"/>
    <span>Add New</span>
</button>

With Livewire

<!-- Loading states -->
<button wire:click="refresh" class="flex items-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg">
    <x-lucide-refresh-cw class="w-5 h-5" wire:loading.class="animate-spin"/>
    <span wire:loading.remove>Refresh Data</span>
    <span wire:loading>Loading...</span>
</button>

<!-- Toggle icon based on state -->
<div class="flex items-center gap-2">
    @if($isFavorited)
        <x-lucide-heart class="w-5 h-5 text-red-500 fill-current" wire:click="unfavorite"/>
    @else
        <x-lucide-heart class="w-5 h-5 text-gray-400" wire:click="favorite"/>
    @endif
</div>

Dynamic Icons

Use <x-dynamic-component> for dynamic icon names:

@php
    $iconName = 'heart';
    $iconComponent = 'lucide-' . $iconName;
@endphp

<x-dynamic-component :component="$iconComponent" class="w-6 h-6" />

Common use case - icon from database:

<x-dynamic-component
    :component="'lucide-' . $menu->icon"
    class="w-5 h-5"
/>

Best Practices

Consistent Sizing

ContextSize
Navigationw-5 h-5
Button (small)w-4 h-4
Button (medium)w-5 h-5
Feature iconsw-12 h-12
Hero iconsw-16 h-16

Semantic Icon Usage

Choose icons that clearly represent their action:

<x-lucide-trash />        <!-- Delete -->
<x-lucide-edit />         <!-- Edit -->
<x-lucide-download />     <!-- Download -->
<x-lucide-upload />       <!-- Upload -->
<x-lucide-copy />         <!-- Copy -->
<x-lucide-share />        <!-- Share -->
<x-lucide-settings />     <!-- Settings -->
<x-lucide-user />         <!-- User/Profile -->
<x-lucide-home />         <!-- Home -->

Color Semantics

<!-- Primary actions -->
<x-lucide-save class="w-5 h-5 text-blue-600"/>

<!-- Success states -->
<x-lucide-check class="w-5 h-5 text-green-600"/>
<x-lucide-check-circle class="w-5 h-5 text-green-600"/>

<!-- Danger/warning -->
<x-lucide-trash class="w-5 h-5 text-red-600"/>
<x-lucide-alert-triangle class="w-5 h-5 text-yellow-600"/>

<!-- Neutral/secondary -->
<x-lucide-info class="w-5 h-5 text-gray-600"/>

Accessibility

<!-- Icon-only button - always include aria-label -->
<button aria-label="Close dialog">
    <x-lucide-x class="w-6 h-6"/>
</button>

<!-- Decorative icon - hide from screen readers -->
<x-lucide-star class="w-5 h-5" aria-hidden="true"/>

<!-- Icon with visible text - accessible by default -->
<button class="flex items-center gap-2">
    <x-lucide-download class="w-5 h-5"/>
    <span>Download</span>
</button>

Icon Reference

Total Icons: 1,666 across 43 categories

Quick Reference

CategoryCountFileCommon Icons
Accessibility30accessibility.mdaccessibility, eye, ear, glasses, sun, moon
Accounts & access133accounts-access.mduser, users, shield, key, lock, log-in, log-out
Animals23animals.mddog, cat, bird, bug, fish, paw-print
Arrows209arrows.mdarrow-up, arrow-down, chevron-left, chevron-right
Brands21brands.mdgithub, twitter, facebook, instagram, youtube
Buildings25buildings.mdbuilding, building-2, home, warehouse, store
Charts31charts.mdbar-chart, line-chart, pie-chart, trending-up, trending-down
Coding & development243coding-development.mdcode, terminal, git-branch, git-commit, bug, cpu
Communication54communication.mdmail, message-circle, phone, send, bell, rss
Connectivity90connectivity.mdwifi, bluetooth, usb, cast, radio, signal
Cursors33cursors.mdmouse-pointer, hand, move, crosshair, pointer
Design145design.mdpalette, paintbrush, eraser, pen-tool, selection
Devices164devices.mdlaptop, monitor, smartphone, tablet, keyboard, hard-drive
Emoji28emoji.mdsmile, frown, meh, heart, thumbs-up, thumbs-down
File icons162file-icons.mdfile, file-text, folder, upload, download, copy
Finance56finance.mddollar-sign, credit-card, wallet, banknote, coins, piggy-bank
Food & beverage69food-beverage.mdcoffee, utensils, pizza, burger, beer, cake
Gaming148gaming.mdgamepad, gamepad-2, trophy, dice, puzzle, sword
Home57home.mdcouch, chair, bed, lamp, tv, bathtub
Layout139layout.mdlayout, panel-left, panel-right, columns, sidebar, grid
Mail26mail.mdmail, inbox, send, at-sign, mail-open, mail-check
Mathematics74mathematics.mdequal, plus, minus, divide, percent, infinity
Medical42medical.mdheart-pulse, activity, pill, syringe, stethoscope, bone
Multimedia138multimedia.mdplay, pause, volume, music, image, video
Nature23nature.mdtree, flower, leaf, sun, cloud, mountain
Navigation, Maps, POIs84navigation-maps-pois.mdmap, map-pin, compass, navigation, route, flag
Notification39notification.mdbell, bell-ring, alert-circle, alert-triangle, info
People3people.mduser, users, user-plus
Photography75photography.mdcamera, image, aperture, shutter, lens, film
Science32science.mdflask, microscope, atom, beaker, magnet, dna
Seasons5seasons.mdsun, cloud-rain, snowflake, thermometer
Security55security.mdshield, lock, unlock, key, fingerprint, eye-off
Shapes48shapes.mdcircle, square, triangle, star, hexagon, diamond
Shopping27shopping.mdshopping-cart, shopping-bag, credit-card, tag, package
Social119social.mdheart, thumbs-up, share, bookmark, user-plus, link
Sports13sports.mdfootball, basketball, tennis, golf, trophy, medal
Sustainability24sustainability.mdrecycle, leaf, tree, sun, wind, droplet
Text formatting246text-formatting.mdbold, italic, underline, align-left, list, quote
Time & calendar58time-calendar.mdcalendar, clock, timer, hourglass, watch, alarm
Tools66tools.mdhammer, wrench, screwdriver, saw, drill, measure
Transportation64transportation.mdcar, bus, train, plane, bike, ship
Travel67travel.mdsuitcase, plane, hotel, map, compass, passport
Weather45weather.mdsun, cloud, cloud-rain, snowflake, lightning, wind

Finding Icons

  1. Browse by category: Read the category reference files for complete icon lists
  2. Search visually: Visit lucide.dev/icons
  3. Use autocomplete: IDEs with Blade autocomplete can suggest available icons

Category File Format

Each category file contains:

  • Icon count and description
  • Complete table of icons with Blade component syntax
  • Related categories for each icon
  • Usage examples specific to that category

Troubleshooting

Icons not displaying:

php artisan view:clear

Styling not applied:

  • Ensure Tailwind processes Blade files
  • Check icon names use kebab-case

Publish raw SVGs (optional):

php artisan vendor:publish --tag=blade-lucide-icons --force

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

daisyui

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

convert-url-html-to-md

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

laravel-livewire

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

inertia

No summary provided by upstream source.

Repository SourceNeeds Review