Skip to content

tomatophp/filament-icons

Repository files navigation

Screenshot

Filament Icons Picker & Provider

Latest Stable Version License Downloads

Picker & Table Column & Icons Provider for FilamentPHP

Screenshots

Dark Input

Dark Input Select

Light Input

Light Input Select

Table Column

Installation

composer require tomatophp/filament-icons

after install use this command to cache all icons

php artisan filament-icons:install

Usage

use TomatoPHP\FilamentIcons\Components\IconPicker;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            IconPicker::make('icon')
                ->default('heroicon-o-academic-cap')
                ->label('Icon'),
        ]);
}
use TomatoPHP\FilamentIcons\Components\IconColumn;

public static function table(Table $table): Table
{
    return $table
        ->columns([
            IconColumn::make('icon')
                ->label('Icon'),
        ]);
}

Add Custom Icons

you can add a custom icon lib by use this Facade class inside your provider like this

use TomatoPHP\FilamentIcons\Facades\FilamentIcons;

public function boot(): void
{
    FilamentIcons::register('boxicons')
        ->asset('https://unpkg.com/[email protected]/css/boxicons.min.css')
        ->template('<i class="{ ICON }"></i>', 'text-xl', 'text-sm')
        ->icons([
            "bx bx-accessibility",
            "bx bx-add-to-queue",
            "bx bx-adjust"
        ])  
        ->replace(['bx ', 'bxs-', 'bxl-', 'bx-'])
        ->save();
}

than you need to clear cache by use this command

php artisan filament-icons:clear

to cache it again use this command

php artisan filament-icons:install

you can try add Box Icons using this snap Box Icon Snap

Publish Assets

you can publish views file by use this command

php artisan vendor:publish --tag="filament-icons-views"

Publish Config

you can publish config file by use this command

php artisan vendor:publish --tag="filament-icons-config"

Other Filament Packages

Checkout our Awesome TomatoPHP