Convenient Heroicons selection field for MoonShine
MoonShine | This package |
---|---|
2.0+ | 0.x |
3.0+ | 1.x |
composer require bugo/moonshine-heroicons-field
You can specify desired default style for icons:
.env
:
HEROICONS_STYLE=outline
config/heroicons-field.php
:
php artisan vendor:publish --tag=heroicons-field
/*
* Possible values:
* 's', 'solid' - Solid 24x24, Solid fill
* 'o', 'outline' - Outline 24x24, 1.5px stroke
* 'm', 'mini' - Mini 20x20, Solid fill
* 'c', 'micro' - Micro 16x16, Solid fill
*/
return [
'style' => env('HEROICONS_STYLE', 'solid'),
];
You can use Icon
field in your resources:
<?php
declare(strict_types=1);
namespace App\MoonShine\Resources;
use Bugo\MoonShine\Heroicons\Fields\Icon;
use MoonShine\Laravel\Resources\ModelResource;
use MoonShine\Contracts\UI\FieldContract;
use MoonShine\Contracts\UI\ComponentContract;
/**
* @extends ModelResource<Custom>
*/
class CustomResource extends ModelResource
{
/**
* @return list<ComponentContract|FieldContract>
*/
protected function formFields(): iterable
{
return [
Icon::make('Icon')
->searchable()
->useStyle('mini'),
];
}
}
All use cases of Blade Heroicons are also available for you.
When using icons in Blade templates, be sure to enable Caching.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.