PHPackages                             elemind/flux-blade-icons - 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. elemind/flux-blade-icons

ActiveLibrary

elemind/flux-blade-icons
========================

Import third-party Blade icon packages into Flux by generating Flux-compatible Blade icon views.

v1.0.0(yesterday)10MITPHPPHP ^8.3CI passing

Since Mar 23Pushed yesterdayCompare

[ Source](https://github.com/elemind/flux-blade-icons)[ Packagist](https://packagist.org/packages/elemind/flux-blade-icons)[ Docs](https://github.com/elemind/flux-blade-icons)[ GitHub Sponsors](https://github.com/Elemind)[ RSS](/packages/elemind-flux-blade-icons/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (12)Versions (2)Used By (0)

Flux Blade Icons
================

[](#flux-blade-icons)

[![Latest Version on Packagist](https://camo.githubusercontent.com/8bffeb8c2096635b08d379ac4c276eb9f9d52108353b3529681664fdbd28042f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f656c656d696e642f666c75782d626c6164652d69636f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/elemind/flux-blade-icons)[![GitHub Tests Action Status](https://camo.githubusercontent.com/7e11ba465890ed2c2c4a85e4ba749de6b85918632eb629f5010c7a26cafdfc03/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f656c656d696e642f666c75782d626c6164652d69636f6e732f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/elemind/flux-blade-icons/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/ce707383b23c5bd41b5773454e049e3bd807407849117208e02e6f806b6b8426/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f656c656d696e642f666c75782d626c6164652d69636f6e732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/elemind/flux-blade-icons/actions?query=workflow%3A%22Fix+PHP+code+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/5a719d0f73bf9b6655f2af322fa5b886e712689c96dc96c91160a53f84a887f9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f656c656d696e642f666c75782d626c6164652d69636f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/elemind/flux-blade-icons)

`flux-blade-icons` imports SVGs from third-party Blade icon packages and generates Flux-compatible Blade icon views inside your Laravel application.

The package is built for projects that already use Flux and want to reuse the Blade icon ecosystem without manually copying SVG files. It ships with a large registry of supported icon packages, lets you add or override icon sets through configuration, caches remote icon lists for the interactive importer, and writes the generated views to your application so they can be versioned with the rest of your codebase.

What The Package Does
---------------------

[](#what-the-package-does)

- Imports icons from supported Blade icon packages.
- Generates local Flux-compatible Blade views under `resources/views/flux/icon` by default.
- Supports both interactive imports and direct command-line imports.
- Caches fetched icon lists to speed up repeated imports.
- Lets you register custom icon sets or override built-in ones.

Installation
------------

[](#installation)

Install the package from Packagist with Composer:

```
composer require elemind/flux-blade-icons
```

Laravel package discovery will register the service provider automatically.

Publish The Configuration
-------------------------

[](#publish-the-configuration)

If you want to change the output path, cache TTL, or icon set registry, publish the configuration file:

```
php artisan vendor:publish --tag="flux-blade-icons-config"
```

This will create `config/flux-blade-icons.php`.

Configuration
-------------

[](#configuration)

The published configuration contains four main options:

```
return [
    'output_path' => resource_path('views/flux/icon'),

    'cache_ttl' => 86400,

    'default_icon_sets' => [
        // Built-in icon sets shipped with the package.
    ],

    'icon_sets' => [
        // Your custom icon sets or overrides.
    ],
];
```

### `output_path`

[](#output_path)

Defines where generated Flux icon Blade views will be stored.

Default:

```
resource_path('views/flux/icon')
```

### `cache_ttl`

[](#cache_ttl)

Defines how long fetched icon lists should remain cached, in seconds.

Default:

```
86400
```

### `default_icon_sets`

[](#default_icon_sets)

Contains the built-in registry shipped with the package. This includes many Blade icon packages out of the box, such as Heroicons, Feather Icons, Bootstrap Icons, and others.

### `icon_sets`

[](#icon_sets)

Use this section to add your own icon sources or override one of the built-in keys without editing the package defaults.

Example:

```
'icon_sets' => [
    'custom-icons' => [
        'name' => 'Custom Icons',
        'url' => 'https://icons.example.com',
        'svg' => 'https://cdn.example.com/icons/',
    ],
],
```

Each icon set must define:

- `name`: the label shown in the interactive command.
- `url`: the package or documentation URL shown to the user.
- `svg`: the base URL used to fetch individual SVG files.

Available Commands
------------------

[](#available-commands)

The package registers two Artisan commands:

```
php artisan flux:blade-icons
php artisan flux:blade-icons:clear-cache
```

Import Icons
------------

[](#import-icons)

Use `flux:blade-icons` to generate one or more Flux-compatible Blade views from a configured icon set.

### Fully interactive import

[](#fully-interactive-import)

Choose the icon package first, then search and select icons interactively:

```
php artisan flux:blade-icons
```

[![Interactive import screenshot](docs/images/screenshot01.png)](docs/images/screenshot01.png)[![Icon galley demo](docs/images/screenshot02.png)](docs/images/screenshot02.png)

### Import a single icon from a specific set

[](#import-a-single-icon-from-a-specific-set)

```
php artisan flux:blade-icons plus --set=blade-feather-icons
```

### Import multiple icons in one command

[](#import-multiple-icons-in-one-command)

```
php artisan flux:blade-icons plus minus x --set=blade-feather-icons
```

### Import a nested icon

[](#import-a-nested-icon)

Some icon packages store icons inside subdirectories. In that case, use the relative icon path:

```
php artisan flux:blade-icons outline/arrow-left --set=blade-heroicons
```

### Refresh the remote icon list before importing

[](#refresh-the-remote-icon-list-before-importing)

Use `--fresh` to bypass the cached icon list:

```
php artisan flux:blade-icons --set=blade-heroicons --fresh
```

### Interactive fallback for non-GitHub sources

[](#interactive-fallback-for-non-github-sources)

If an icon set is not hosted on GitHub, or if the GitHub API cannot be reached, the command falls back to manual icon name entry. You can still import icons as long as the configured `svg` URL points to valid SVG files.

Clear Cached Icon Lists
-----------------------

[](#clear-cached-icon-lists)

Use `flux:blade-icons:clear-cache` to remove cached icon lists used by the importer.

### Clear the cache for all registered icon sets

[](#clear-the-cache-for-all-registered-icon-sets)

```
php artisan flux:blade-icons:clear-cache
```

### Clear the cache for one icon set only

[](#clear-the-cache-for-one-icon-set-only)

```
php artisan flux:blade-icons:clear-cache --set=blade-feather-icons
```

Generated Component Usage
-------------------------

[](#generated-component-usage)

After importing an icon, the package tells you the component name to use in your Flux views.

If you import:

```
php artisan flux:blade-icons plus --set=blade-feather-icons
```

You can use it like this:

```

```

If you import a nested icon such as:

```
php artisan flux:blade-icons outline/arrow-left --set=blade-heroicons
```

You can use it like this:

```

```

Notes
-----

[](#notes)

- Generated icons are stored as local Blade views in your application.
- If an icon already exists, the import command asks whether it should be overwritten.
- The generated templates adapt the imported SVG to Flux icon conventions.

Testing
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

MIT. See [LICENSE.md](LICENSE.md) for details.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance100

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.2% 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

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

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

---

Top Contributors

[![tizianozonta](https://avatars.githubusercontent.com/u/219696?v=4)](https://github.com/tizianozonta "tizianozonta (25 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

laraveliconssvgfluxblade-icons

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/elemind-flux-blade-icons/health.svg)

```
[![Health](https://phpackages.com/badges/elemind-flux-blade-icons/health.svg)](https://phpackages.com/packages/elemind-flux-blade-icons)
```

###  Alternatives

[blade-ui-kit/blade-icons

A package to easily make use of icons in your Laravel Blade views.

2.4k31.8M219](/packages/blade-ui-kit-blade-icons)[ympact/flux-icons

A package to provide icons from different vendors for Livewire Flux.

124.4k](/packages/ympact-flux-icons)

PHPackages © 2026

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