w84t / filament-solar-icons
Solar Icons icon pack for Filament Icons.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/w84t/filament-solar-icons
Requires
- php: ^8.2
- codeat3/blade-solar-icons: *
- filafly/filament-icons: ^2.0
- filament/filament: ^4.0
Requires (Dev)
- laravel/pint: ^1.22
README
Filament Solar Icons Icons
A Solar Icons icon set implementation for Filament Icons, allowing for instant replacement of all icons used within the Filament framework.
Installation
You can install the package via composer:
composer require w84t/filament-solar-icons
After the package is installed, you must register the plugin in your Filament Panel provider:
use W84T\Icons\SolarIcons\SolarIcons; public function panel(Panel $panel): Panel { return $panel ->plugin(SolarIcons::make()); }
Setting the global icon style
Solar Icons icons come in multiple styles that you can switch between. Available styles include:
- Outline
- Broken
- Linear
- Bold
- Bold-duotone
- Line-duotone
You can change the style using the following methods:
SolarIcons::make()->bold(); SolarIcons::make()->bold_duotone(); SolarIcons::make()->broken(); SolarIcons::make()->line_duotone(); SolarIcons::make()->linear(); SolarIcons::make()->outline();
Setting style for a subset of icons
If you need to override certain icons to use a different style, you can use either icon aliases or icon enum cases.
Using icon aliases
Use the overrideStyleForAlias
method with a Filament Icon Alias. This method works with either a single icon key (string) or multiple icon keys (array).
use W84T\Icons\SolarIcons\SolarIcons; use W84T\Icons\SolarIcons\Enums\SolarStyle; use Filament\Tables\View\TablesIconAlias; use Filament\Actions\View\ActionsIconAlias; // Override a single icon key SolarIcons::make()->overrideStyleForAlias(TablesIconAlias::ACTIONS_FILTER, Solar IconsStyle::Bold); // Override multiple icon keys at once SolarIcons::make()->overrideStyleForAliases([ TablesIconAlias::COLUMNS_ICON_COLUMN_TRUE => SolarStyle::Bold, TablesIconAlias::COLUMNS_ICON_COLUMN_FALSE => SolarStyle::Light, ActionsIconAlias::MODAL_CLOSE_BUTTON => SolarStyle::Regular, ]);
Using icon enum cases
Use the overrideStyleForIcon
method with a Solar enum case:
use W84T\Icons\SolarIcons\SolarIcons; use W84T\Icons\SolarIcons\Enums\Solar; use W84T\Icons\SolarIcons\Enums\SolarStyle; // Override a specific icon SolarIcons::make()->overrideStyleForIcon(Solar::Check, SolarStyle::Bold); // Override multiple icons at once SolarIcons::make()->overrideStyleForIcons([ Solar::Check => SolarStyle::Bold, Solar::X => SolarStyle::Light, Solar::ArrowRight => SolarStyle::Regular, ]);
Overriding individual icons
You can change which icon is used for any given Filament alias:
Using icon aliases
use W84T\Icons\SolarIcons\SolarIcons; use W84T\Icons\SolarIcons\Enums\Solar; use Filament\Tables\View\TablesIconAlias; use Filament\Actions\View\ActionsIconAlias; // Override a single alias SolarIcons::make()->overrideAlias(TablesIconAlias::ACTIONS_FILTER, Solar::FunnelSimple); // Override multiple aliases at once SolarIcons::make()->overrideAliases([ TablesIconAlias::ACTIONS_FILTER => Solar::FunnelSimple, ActionsIconAlias::BUTTON_GROUP_DROPDOWN_INDICATOR => Solar::CaretUpDown, ]);
Using icon enum cases
use W84T\Icons\SolarIcons\SolarIcons; use W84T\Icons\SolarIcons\Enums\Solar; // Replace every instance of one icon with another SolarIcons::make()->overrideIcon(Solar::User,Solar::UserCircle); // Replace multiple icons at once SolarIcons::make()->overrideIcons([ Solar::User => Solar::UserCircle, Solar::Heart => Solar::HeartFilled, ]);
Credits
- Solar Icons for the icon library
- Filament Icons for the base icon system
License
The MIT License (MIT). Please see License File for more information.