nickperkins/blade-icon-picker
Standalone Blade icon picker component for Livewire forms. Works with any blade-icons pack (Heroicons, Font Awesome, custom). Includes search, lazy-loaded icon grid, keyboard navigation, responsive layout, and Tailwind-free CSS with customizable variables.
blade-icons for SVG rendering, ensuring compatibility with any icon pack (Heroicons, Font Awesome, etc.) without requiring Filament or other admin frameworks.wire:model binding, ensuring seamless integration with existing Livewire forms.vendor:publish, a standard Laravel pattern.blade-icons: If the project doesn’t use blade-icons, additional setup is required (e.g., installing blade-ui-kit/blade-heroicons).blade-icons? If not, is there budget for adding blade-ui-kit/blade-heroicons or another pack?wire:model binding and Alpine.js integration.composer require nickperkins/blade-icon-picker blade-ui-kit/blade-heroicons
php artisan vendor:publish --tag=icon-picker-assets
<head> and <body> (respecting Alpine.js load order).<x-icon-picker::icon-picker wire:model="icon" :value="$icon" />.<select> elements.blade-icon-picker and an icon pack (e.g., blade-heroicons).vendor:publish to generate CSS/JS.<link> and <script> tags to the main layout.blade-icons and Alpine.js compatibility.wire:model binding reduces support complexity.| Scenario | Impact | Mitigation |
|---|---|---|
Missing blade-icons pack |
Component shows error message | Install blade-ui-kit/blade-heroicons |
| Alpine.js not loaded | JS fails silently | Ensure Alpine.js is loaded before the package’s JS |
| Large icon set (>2,000 icons) | Slow initial load | Consider chunking initial payload or using a lighter icon pack |
| Dark mode misconfiguration | Incorrect theming | Manually implement OS-level detection or use ip-dark class |
| Livewire 3 incompatibility | Binding fails | Verify Livewire version compatibility |
How can I help you explore Laravel packages today?