PHPackages                             alexazartsev/heroicon - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. alexazartsev/heroicon

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

alexazartsev/heroicon
=====================

A Laravel Nova field for managing icons.

v2.0.0(3y ago)10122.4k↑15.1%9[3 issues](https://github.com/AlexAzartsev/heroicon/issues)[2 PRs](https://github.com/AlexAzartsev/heroicon/pulls)MITVuePHP &gt;=7.1.0

Since Mar 12Pushed 2y ago1 watchersCompare

[ Source](https://github.com/AlexAzartsev/heroicon)[ Packagist](https://packagist.org/packages/alexazartsev/heroicon)[ RSS](/packages/alexazartsev-heroicon/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (6)Used By (0)

Heroicon Nova Field
===================

[](#heroicon-nova-field)

A Laravel Nova Field for managing icons. [Heroicons](https://heroicons.com/) and free [Font Awesome](https://fontawesome.com/) supported out of the box, pro version of Font Awesome can be registered as custom set of icons.

Custom sets of icons can be registered globally for each field or locally for concrete field instanse and used with or instead default sets.

Each icon can be changed via editor.

Icon saved as svg html tag into db.

Installation:
-------------

[](#installation)

Use composer for installation. Laravel with nova required.

```
composer require alexazartsev/heroicon
```

Usage:
------

[](#usage)

Use it as regular nova field:

```
use AlexAzartsev\Heroicon\Heroicon;

Heroicon::make('Icon');
```

### Default icon sets available:

[](#default-icon-sets-available)

NameLabelIconssolidHeroicons solid[Heroicons solid](https://heroicons.com/)outlineHeroicons outline[Heroicons outline](https://heroicons.com/)fa-brandsFont Awesome brands[Font Awesome brands](https://fontawesome.com/v5.15/icons?d=gallery&p=2&s=brands&m=free)fa-solidFont Awesome solid[Font Awesome solid](https://fontawesome.com/v5.15/icons?d=gallery&p=2&s=solid&m=free)fa-regularFont Awesome regular[Font Awesome regular](https://fontawesome.com/v5.15/icons?d=gallery&p=2&s=regular&m=free)To use custom or customize existing icon click on `Edit` button and just edit svg code of selected icon:

[![](screenshots/heroicon_demo.gif)](screenshots/heroicon_demo.gif)

To register custom set of icons use global or local configuration discribed below:

Configuration:
--------------

[](#configuration)

### Global configuration:

[](#global-configuration)

Field can be configured globally in `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);

    }
```

### Local configuration:

[](#local-configuration)

To disable or enable svg editor of the icon:

```
use AlexAzartsev\Heroicon\Heroicon;

Heroicon::make('Icon')->disableEditor();
Heroicon::make('Icon')->enableEditor();
```

To register custom set of icons (icons should be located directly in specified folder in .svg format):

```
use AlexAzartsev\Heroicon\Heroicon;

Heroicon::make('Icon')->registerIconSet('custom', 'Custom', resource_path('img/icons'));
```

To allow certain sets of 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();
```

Support:
--------

[](#support)

License:
--------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance14

Infrequent updates — may be unmaintained

Popularity41

Moderate usage in the ecosystem

Community11

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~128 days

Total

5

Last Release

1377d ago

Major Versions

v1.0.3 → v2.0.02022-08-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/7c98867e62c2ca393b169d0e4b4b82021801750889a522a8137e72e31d029b16?d=identicon)[AlexAzartsev](/maintainers/AlexAzartsev)

---

Top Contributors

[![AlexAzartsev](https://avatars.githubusercontent.com/u/13518420?v=4)](https://github.com/AlexAzartsev "AlexAzartsev (8 commits)")

---

Tags

laravelsvgHeroiconsnova

### Embed Badge

![Health badge](/badges/alexazartsev-heroicon/health.svg)

```
[![Health](https://phpackages.com/badges/alexazartsev-heroicon/health.svg)](https://phpackages.com/packages/alexazartsev-heroicon)
```

###  Alternatives

[optimistdigital/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2872.1M6](/packages/optimistdigital-nova-sortable)[outl1ne/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2861.8M9](/packages/outl1ne-nova-sortable)[optimistdigital/nova-multiselect-field

A multiple select field for Laravel Nova.

3403.5M7](/packages/optimistdigital-nova-multiselect-field)[digital-creative/conditional-container

Provides an easy way to conditionally show and hide fields in your Nova resources.

116593.8k4](/packages/digital-creative-conditional-container)[sbine/route-viewer

A Laravel Nova tool to view your registered routes.

57215.9k](/packages/sbine-route-viewer)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

14720.0k](/packages/markwalet-nova-modal-response)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
