PHPackages                             scadini/nova-icon - 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. scadini/nova-icon

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

scadini/nova-icon
=================

A Laravel Nova icon field.

v0.2.1(6y ago)523.5k2MITPHPPHP &gt;=7.1.0

Since Sep 21Pushed 6y ago3 watchersCompare

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

READMEChangelogDependenciesVersions (4)Used By (0)

Nova Icon
---------

[](#nova-icon)

[![Latest Stable Version](https://camo.githubusercontent.com/ee1011fbe6db10eee6824bcda220f735968411970a713a0fe9b8b948516372f0/68747470733a2f2f706f7365722e707567782e6f72672f73636164696e692f6e6f76612d69636f6e2f762f737461626c65)](https://packagist.org/packages/scadini/nova-icon)[![License](https://camo.githubusercontent.com/04b54ff0126792f20d9adea54d71ff9a93a3c60e4840534b5825a39126a9a086/68747470733a2f2f706f7365722e707567782e6f72672f73636164696e692f6e6f76612d69636f6e2f6c6963656e7365)](https://packagist.org/packages/scadini/nova-icon)

This package allows you to render a SVG icon as a custom field.

[Available Icons](#available-icons) | [Examples](#example) | [Roadmap](#roadmap)

---

### Installation

[](#installation)

```
composer require scadini/nova-icon
```

### Usage

[](#usage)

```
use NovaIcon\Icon;
```

```
public function fields()
{
    return [
        ID::make()->sortable(),

        Text::make('Name'),

        Icon::make('Approved')
            ->icon('entypo:check'),
    ];
}
```

[![Example 1](https://github.com/scadini/nova-icon/raw/master/img/example_1.png)](https://github.com/scadini/nova-icon/blob/master/img/example_1.png)

---

The simplest way to add an icon is by using the `icon()` method. This method accepts either a string or a closure containing the **vendor name** and the **icon name** separated by a **colon**:

```
    Icon::make('Approved')->icon('entypo:check');
```

```
    Icon::make('Approved')->icon(function () {
        return 'entypo:check';
    });
```

To apply css classes, you can chain the `css()` method. This method accepts a string, an array, or a closure:

```
    Icon::make('Approved')->icon('entypo:check')->css('text-info h-12 w-12');

    Icon::make('Approved')->icon('entypo:check')->css(['text-info', 'h-12', 'w-12']);

    Icon::make('Approved')
        ->icon('entypo:check')
        ->css(function () {
            return 'text-info h-12 w-12'; // or ['text-info', 'h-12', 'w-12']
        }
    );
```

To hide an icon for a specific row, you can use the `hide()` method. This method accepts a closure:

```
    Icon::make('Approved')
        ->icon('entypo:check')
        ->hide(function () {
            return $this->role === 'admin';
        });
```

### Example

[](#example)

Here's an example about using this component. Let's say a user has a preferred internet platform:

```
    Icon::make('Platform')
        ->icon(function () {
            return 'entypo:' . $this->platform;
        })
        ->css(function () {
            $options = [
                'youtube' => 'text-danger',
                'vimeo'   => 'text-success'
            ];

            return $options[$this->platform];
        })
```

[![Example 2](https://github.com/scadini/nova-icon/raw/master/img/example_2.png)](https://github.com/scadini/nova-icon/blob/master/img/example_2.png)

---

Available Icons
---------------

[](#available-icons)

The icons available are organized by their vendor name.

Currently, the only vendor available is [Entypo](http://www.entypo.com/), but there are plans to include [Zondicons](https://www.zondicons.com/icons.html) library.

For the icon names you can use [this reference table](https://github.com/hypermodules/entypo#icon-names)

---

Roadmap
-------

[](#roadmap)

- Add all icons from Entypo
- Add all icons from Zondicons
- Make icons clickable to perform actions or view resources

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity45

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 ~0 days

Total

3

Last Release

2431d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/93860b51820c44a8a8298cc2de8a630dca1c5e1be1d4c40f80937b28d6cfa2bd?d=identicon)[scadini](/maintainers/scadini)

---

Top Contributors

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

---

Tags

laravel-novalaravel-nova-fieldlaravel-nova-iconlaravelsvgfieldiconnova

### Embed Badge

![Health badge](/badges/scadini-nova-icon/health.svg)

```
[![Health](https://phpackages.com/badges/scadini-nova-icon/health.svg)](https://phpackages.com/packages/scadini-nova-icon)
```

###  Alternatives

[timothyasp/nova-color-field

A Laravel Nova Color Picker field.

781.6M5](/packages/timothyasp-nova-color-field)[alexwenzel/nova-dependency-container

A Laravel Nova 4 form container for grouping fields that depend on other field values.

461.0M2](/packages/alexwenzel-nova-dependency-container)[sietse85/nova-button

(Nova 4+) A Laravel Nova package for adding buttons to your resources.

37347.3k](/packages/sietse85-nova-button)[inspheric/nova-defaultable

Default values for Nova fields when creating resources and running resource actions.

51174.8k1](/packages/inspheric-nova-defaultable)[optimistdigital/nova-notes-field

This Laravel Nova package adds a notes field to Nova's arsenal of fields.

52139.5k](/packages/optimistdigital-nova-notes-field)[outl1ne/nova-color-field

A Laravel Nova Color Picker field.

26249.4k](/packages/outl1ne-nova-color-field)

PHPackages © 2026

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