PHPackages                             jerabix/moonshine-iconify - 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. jerabix/moonshine-iconify

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

jerabix/moonshine-iconify
=========================

Integrate iconify library to Moonshine

2.0.1(1y ago)16765[1 issues](https://github.com/JeRabix/moonshine-iconify/issues)MITPHPPHP ^8.0|^8.1|^8.2|^8.3

Since Sep 7Pushed 1y ago1 watchersCompare

[ Source](https://github.com/JeRabix/moonshine-iconify)[ Packagist](https://packagist.org/packages/jerabix/moonshine-iconify)[ Docs](https://github.com/JeRabix)[ RSS](/packages/jerabix-moonshine-iconify/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (15)Used By (0)

Moonshine-Iconify - integrate [Iconify](https://iconify.design/) library for [Moonshine](https://github.com/moonshine-software/moonshine) admin panel
-----------------------------------------------------------------------------------------------------------------------------------------------------

[](#moonshine-iconify---integrate-iconify-library-for-moonshine-admin-panel)

[![logo](https://github.com/JeRabix/moonshine-iconify/raw/master/art/logo-new.png)](https://github.com/JeRabix/moonshine-iconify/raw/master/art/logo-new.png)

 **[EN](https://github.com/JeRabix/moonshine-iconify) | [RU](https://github.com/JeRabix/moonshine-iconify/blob/master/README_RU.md)**

Versions
--------

[](#versions)

MoonshineMoonshine-iconifyv2v1v3v2Installation
------------

[](#installation)

Install composer package

```
composer require jerabix/moonshine-iconify
```

Publish `icon.blade.php` file from package:

```
php artisan vendor:publish --tag="moonshine-iconify-blade"
```

This command put file `icon.blade.php` in `resources/views/vendor/moonshine/components` folder.

(Optional) You can also publish config file from package:

```
php artisan vendor:publish --tag="moonshine-iconify-config"
```

Usage
-----

[](#usage)

When you use `ICONIFY_COMPONENT_MODE` - you not need additional actions.

When you use `DOWNLOAD_USAGE_ICONS_MODE` - you need run command:

```
php artisan moonshine-iconify:icons:download
```

for download all usage icons in project.

Use moonshine default `Icon` component as before. Package work as fallback if icon is not found in moonshine - use iconify library.

Iconify icons can be found [here](https://icon-sets.iconify.design/).

Working mode
------------

[](#working-mode)

Package has 2 working mode:

### ICONIFY\_COMPONENT\_MODE [iconify doc](https://iconify.design/docs/icon-components/#process)

[](#iconify_component_mode-iconify-doc)

Used iconify component. Load icons from iconify API on demand, and cache to user localstorage, need load iconify JS script (package add it automatically).

### DOWNLOAD\_USAGE\_ICONS\_MODE

[](#download_usage_icons_mode)

Use package command for download used iconify icons to project. Need re-run command for each new iconify icon in project.

Config
------

[](#config)

**Key****Description****Default value**working\_modeWorking package mode, can be WorkingMode::ICONIFY\_COMPONENT\_MODE or WorkingMode::DOWNLOAD\_USAGE\_ICONS\_MODE, check enum description for more informationWorkingMode::ICONIFY\_COMPONENT\_MODEiconify\_script\_url(Only for ICONIFY\_COMPONENT\_MODE) URL for load iconify script. By default use CDN link from official website.NULLicon\_size\_multiplier(Only for ICONIFY\_COMPONENT\_MODE) Moonshine icons and iconify icons has different size measurements. Therefore, some kind of multiplier is required so that moonshine icons and iconify do not differ in size3.2additional\_detectors(Only for DOWNLOAD\_USAGE\_ICONS\_MODE) Additional detectors for moonshine icons. When you have own classes with using icons, you need to create detectors for classes.\[\]delete\_not\_used\_icons(Only for DOWNLOAD\_USAGE\_ICONS\_MODE) Delete not used icons in download command?truedetect\_icons\_path(Only for DOWNLOAD\_USAGE\_ICONS\_MODE) Path to detect icons usageapp\_path()Detector N has error: X
-----------------------

[](#detector-n-has-error-x)

When you has error: `Detector {DetectorClass} has error: {Error}. Details in log file`

Create issue [here](https://github.com/JeRabix/moonshine-iconify/issues/new). And provide info from log file.

Icon not download with command
------------------------------

[](#icon-not-download-with-command)

When you has own class with using icon, you need to create detector for class. Check IconComponentDetector class.

When class provide from Moonshine - you can create issue [here](https://github.com/JeRabix/moonshine-iconify/issues/new).

TODO
----

[](#todo)

- \[Local icons mode\] Detect `WithIcon` trait on classes
- \[Local icons mode\] Detect `Url` class
- \[Local icons mode\] Add `Icon` class detector
- \[Local icons mode\] Detect `Icon` attribute usage
- \[Local icons mode\] Remove not used icons
- \[Local icons mode\] Not download all icons every run command, only new
- \[Local icons mode\] Add `mode` to config to change dynamic/static icons mode
- Add button to ignition error page
- Refactor detect logic
- Update README file for new working mode
- Add tests for detect logic

###  Health Score

37

—

LowBetter than 82% of packages

Maintenance42

Moderate activity, may be stable

Popularity23

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

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

Recently: every ~30 days

Total

13

Last Release

473d ago

Major Versions

0.1.3-beta → 1.0.02024-09-14

1.0.1 → 2.0.02025-01-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/a67d2dc6b03af4e9c40b5a262b1f2bc2ac9af14760bf5395d6c0749a9fcaa499?d=identicon)[rabix](/maintainers/rabix)

---

Top Contributors

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

---

Tags

laraveliconmoonshineiconify

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/jerabix-moonshine-iconify/health.svg)

```
[![Health](https://phpackages.com/badges/jerabix-moonshine-iconify/health.svg)](https://phpackages.com/packages/jerabix-moonshine-iconify)
```

###  Alternatives

[stephenjude/filament-blog

Filament Blog Builder

20317.8k](/packages/stephenjude-filament-blog)[datomatic/nova-detached-actions

A Laravel Nova tool to allow for placing actions in the Nova toolbar detached from the checkbox selection mechanism.

11229.2k](/packages/datomatic-nova-detached-actions)

PHPackages © 2026

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