PHPackages                             onestrive/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. onestrive/heroicon

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

onestrive/heroicon
==================

Fork version with updated dependencies: A Laravel Nova field for managing icons.

5.1.1(4mo ago)0662↓40%MITVuePHP &gt;=8.1.0CI failing

Since Dec 29Pushed 4mo agoCompare

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

READMEChangelog (3)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 OneStrive/heroicon
```

Usage:
------

[](#usage)

Use it as regular nova field:

```
use OneStrive\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 OneStrive\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 OneStrive\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 OneStrive\Heroicon\Heroicon;

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

To allow certain sets of icons:

```
use OneStrive\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

41

—

FairBetter than 89% of packages

Maintenance78

Regular maintenance activity

Popularity19

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 50% 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 ~9 days

Total

3

Last Release

122d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3f0a16ae459cb659d603104dc8a8dec3b527483c1c55b8dba0f0272f06c4dfb6?d=identicon)[robertmarney](/maintainers/robertmarney)

---

Top Contributors

[![AlexAzartsev](https://avatars.githubusercontent.com/u/13518420?v=4)](https://github.com/AlexAzartsev "AlexAzartsev (8 commits)")[![robertmarney](https://avatars.githubusercontent.com/u/48888686?v=4)](https://github.com/robertmarney "robertmarney (5 commits)")[![aimalamiri](https://avatars.githubusercontent.com/u/34779928?v=4)](https://github.com/aimalamiri "aimalamiri (3 commits)")

---

Tags

laravelsvgHeroiconsnova

### Embed Badge

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

```
[![Health](https://phpackages.com/badges/onestrive-heroicon/health.svg)](https://phpackages.com/packages/onestrive-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)[alexazartsev/heroicon

A Laravel Nova field for managing icons.

10122.4k](/packages/alexazartsev-heroicon)[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)

PHPackages © 2026

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