alexazartsev/heroicon

用于管理图标的 Laravel Nova 字段。

v2.0.0 2022-08-10 13:59 UTC

This package is auto-updated.

Last update: 2024-09-10 19:47:03 UTC


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();

支持

alex.azarsecond@gmail.com

许可证

MIT 许可证(MIT)。请参阅许可证文件以获取更多信息。