Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Icon Picker Laravel Package

wallacemartinss/filament-icon-picker

A beautiful, modern icon picker for Filament v5 powered by blade-icons. Features a modal grid with real-time search, icon set filtering, infinite scroll, and previews. Works in forms, table columns, and infolists, with support for Heroicons, FontAwesome, Phosphor, Material, and more.

View on GitHub
Deep Wiki
Context7
2.0.2

Added

  • afatmustafa/blade-hugeicons (Hugeicons Free, ~5,800 icons) as a recommended icon package — available via php artisan filament-icon-picker:install-icons and listed in the README. Any other blade-icons compatible package is also detected automatically.
2.0.1

Fixed

  • Removed ReflectionProperty::setAccessible(true) call in IconSetManager::getSets() — it has been a no-op since PHP 8.1 (all reflected properties are accessible) and now emits a deprecation warning on PHP 8.5.
1.4.4

Fixed

  • Icon Picker modal now works correctly inside Filament action modals (CreateAction, EditAction, etc.)
  • Fixed z-index conflict when Icon Picker is used inside another modal
  • Fixed inert attribute conflict with Filament's x-trap directive
  • Modal now properly handles focus and keyboard navigation inside nested modals
  • Escape key now correctly closes only the Icon Picker modal without affecting parent modals
1.4.3

Fixed

  • Search input now accepts text input correctly (changed from type="search" to type="text")
  • Fixed Alpine.js x-if template issue preventing input interaction
  • Optimized API response to include SVG data, reducing HTTP requests per icon
1.4.1

Added

  • icon() method on IconPickerColumn and IconPickerEntry for fixed/static icons without database
  • Support for closures in icon() method for dynamic icons based on record

Changed

  • Overrode getState() method to support fixed icons alongside database values
1.4.0

Added

  • HasIconAnimation trait with animation support (spin, pulse)
  • HasIconColor trait with semantic color support (primary, success, danger, warning, info)
  • HasIconSize trait with size shortcuts (extraSmall, small, medium, large, extraLarge)
  • Animation methods: animation(), spin(), pulse()
  • Color methods: color(), primary(), secondary(), success(), warning(), danger(), info()
  • Size methods: size(), extraSmall(), small(), medium(), large(), extraLarge()
  • Support for CSS color values (hex, rgb, named colors)
  • Support for closure-based color and animation (dynamic values based on record)
  • Support for custom Tailwind color classes
  • showLabel() method on IconPickerColumn to display icon name
  • showIconName() method on IconPickerEntry to toggle icon name visibility
  • Comprehensive unit tests for all components (69 tests, 147 assertions)
  • PHPUnit configuration for package testing
  • GitHub Actions CI/CD workflow for automated testing
  • Laravel Pint for code style formatting

Changed

  • Refactored size, color, and animation logic into reusable traits
  • Updated views to support dynamic colors and animations
  • Added 2xl size option (w-12 h-12)
1.3.0

Added

  • filament-icon-picker:generate-enums command to generate PHP Enums for icon sets
  • Generated enums in Wallacemartinss\FilamentIconPicker\Enums namespace
  • Enums implement Filament\Support\Contracts\ScalableIcon interface
  • Support for using icons as BackedEnum in navigation, actions, and pages
  • Icon helper class for dynamic icon creation without enum generation
  • IconEnums facade for quick access to generated enums
  • --all option to generate enums for all icon sets
  • --path option to customize enum output directory
  • --with-facade and --no-facade options for facade generation control
  • --no-enums and --no-facade options in install command
  • Enum methods: options(), search(), getIconForSize(), toString()
  • PHP reserved words validation (class, array, etc.) for enum case names

Changed

  • Enums are now automatically generated after package installation (no prompts)
  • Enums namespace changed from App\Enums\Icons to Wallacemartinss\FilamentIconPicker\Enums
  • Updated README with comprehensive Icon Enums documentation
  • Added usage examples for navigation icons, actions, and dynamic icons
1.2.0

Added

  • Interactive filament-icon-picker:install-icons command for easy icon package installation
  • --list option to show available and installed packages
  • --all option to install all icon packages at once
  • --no-update-config option to skip config file updates
  • Automatic config update with selected icon sets after installation
  • Support for 10 icon packages: Heroicons, FontAwesome, Phosphor, Material Design, Tabler, Lucide, Remix, Bootstrap, Octicons, Feather

Changed

  • Improved README with comprehensive installation guide
  • Better documentation for set names vs package names

Fixed

  • IconPickerField now respects allowed_sets from config file
  • Correct set names: heroicons, phosphor-icons, google-material-design-icons
  • Dropdown filter now shows only configured icon sets
1.1.5

Fixed

  • Correct icon set names in configuration examples
  • Better handling of FontAwesome subsets (solid, regular, brands)
1.1.4

Changed

  • Renamed components for better clarity:
    • IconPicker → IconPickerField
    • IconColumn → IconPickerColumn
    • IconEntry → IconPickerEntry
1.1.3

Added

  • Provider dropdown filter to filter icons by their set
  • showSetFilter() method to toggle the filter visibility

Changed

  • Improved modal UI with better organization
1.1.2

Added

  • Infinite scroll for better performance with large icon sets
  • icons_per_page config option

Changed

  • Icons are now loaded in batches for smoother scrolling
1.1.1

Added

  • Modal interface for icon selection
  • Real-time search filtering
  • Grid layout with configurable columns

Changed

  • Improved Alpine.js integration
  • Better responsive design
1.1.0

Added

  • Support for multiple icon sets
  • allowedSets() method to restrict available icons
  • Configuration file with customizable options
1.0.0

Added

  • Initial release
  • IconPickerField form component
  • IconPickerColumn table column
  • IconPickerEntry infolist entry
  • Support for blade-ui-kit/blade-icons
  • Preview of selected icon
  • 14 language translations (AR, DE, EN, ES, FA, FR, HI, IT, JA, KO, NL, PT_BR, RU, ZH_CN)
  • Form field component with modal icon picker
  • Table column component for displaying icons
  • Infolist entry component for read-only display
  • Support for all blade-icons packages
  • Search/filter functionality
  • Set filtering
  • Lazy loading with infinite scroll
  • Dark mode support
  • Configurable allowed icon sets
  • Icon caching for performance
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core