alexazartsev / heroicon
用于管理图标的 Laravel Nova 字段。
v2.0.0
2022-08-10 13:59 UTC
Requires
- php: >=7.1.0
- laravel/nova: ^4.0
README
用于管理图标的 Laravel Nova 字段。支持开箱即用的 Heroicons 和免费 Font Awesome,Font Awesome 的专业版本可以注册为自定义图标集。
可以全局或局部注册自定义图标集,用于每个字段或具体字段实例,并用其替换默认集。
每个图标都可以通过编辑器进行更改。
图标以 svg html 标签的形式保存到数据库中。
安装
使用 composer 进行安装。需要 Laravel 和 nova。
composer require alexazartsev/heroicon
使用方法
将其用作常规 nova 字段
use AlexAzartsev\Heroicon\Heroicon; Heroicon::make('Icon');
提供默认图标集
要使用自定义图标或自定义现有图标,请点击 编辑
按钮,然后编辑所选图标的 svg 代码
要注册自定义图标集,请使用以下全局或局部配置
配置
全局配置
可以在 NovaServiceProvider
中全局配置字段
namespace App\Providers; use AlexAzartsev\Heroicon\Heroicon; class NovaServiceProvider extends NovaApplicationServiceProvider { ... public function boot() { parent::boot(); // to register set of icons globally, just specify folder with svg icons like this: // (icons should be located directly in specified folder in .svg format) // 'custom' icon set will be available for every Heroicon in your app Heroicon::registerGlobalIconSet('custom', 'Custom Icons', resource_path('img/icons')); // to pick default icon sets that will be available on field all over app use this: // default sets available: 'solid', 'outline', 'fa-brands', 'fa-regular', 'fa-solid' Heroicon::defaultIconSets(['solid', 'fa-brands', 'custom']); // to make svg editor disabled by default for every field use this: Heroicon::defaultEditorEnable(false); }
局部配置
禁用或启用图标 svg 编辑器
use AlexAzartsev\Heroicon\Heroicon; Heroicon::make('Icon')->disableEditor(); Heroicon::make('Icon')->enableEditor();
注册自定义图标集(图标应直接位于指定文件夹中,格式为 .svg)
use AlexAzartsev\Heroicon\Heroicon; Heroicon::make('Icon')->registerIconSet('custom', 'Custom', resource_path('img/icons'));
允许某些图标集
use AlexAzartsev\Heroicon\Heroicon; Heroicon::make('Icon')->only(['custom', 'solid']); //for default sets you can use these methods: Heroicon::make('Icon')->onlySolid(); Heroicon::make('Icon')->onlyOutline(); Heroicon::make('Icon')->onlyFaBrands(); Heroicon::make('Icon')->onlyFaSolid(); Heroicon::make('Icon')->onlyFaRegular();
支持
许可证
MIT 许可证(MIT)。请参阅许可证文件以获取更多信息。