PHPackages                             sparrowhawk-labs/pinion-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. [Templating &amp; Views](/categories/templating)
4. /
5. sparrowhawk-labs/pinion-icons

ActiveLibrary[Templating &amp; Views](/categories/templating)

sparrowhawk-labs/pinion-icons
=============================

Unified icon system for Laravel. 7,404 Solar icons across 6 style variants, plus Fluent Emoji and Pixelarticons virtual variants — switch styles or libraries at the call site.

v1.0.0(1mo ago)0201MITPHP ^8.2

Since May 14Compare

[ Source](https://github.com/sparrowhawk-labs/pinion-icons)[ Packagist](https://packagist.org/packages/sparrowhawk-labs/pinion-icons)[ Docs](https://sparrowhawk-labs.dev)[ RSS](/packages/sparrowhawk-labs-pinion-icons/feed)WikiDiscussions Synced 3w ago

READMEChangelog (1)Dependencies (2)Versions (3)Used By (1)

Pinion Icons
============

[](#pinion-icons)

[![Latest Version on Packagist](https://camo.githubusercontent.com/884e45914e76d109196f66b47705de2d9261f805aad101d92ded1501301f4d79/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73706172726f776861776b2d6c6162732f70696e696f6e2d69636f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sparrowhawk-labs/pinion-icons)[![Total Downloads](https://camo.githubusercontent.com/40cbdcf66c0ebbda2b1b92e8f772bd233381cd53d5e206146c666db7209dc7c0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73706172726f776861776b2d6c6162732f70696e696f6e2d69636f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sparrowhawk-labs/pinion-icons)[![License](https://camo.githubusercontent.com/c65a0eaf49d53e8d7d9921934350750cbd2c6f8444990e1f49e7cd7ddd7c3cd5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f73706172726f776861776b2d6c6162732f70696e696f6e2d69636f6e732e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![PHP Version](https://camo.githubusercontent.com/5580121b65e38891ec0487c1ff21094923d01919a13550bdaa216307c44d47be/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f73706172726f776861776b2d6c6162732f70696e696f6e2d69636f6e732e7376673f7374796c653d666c61742d737175617265)](composer.json)

A unified icon system for Laravel Blade. One `` component, four built-in libraries, and a swap-the-variant trick that lets you switch between Solar line art, Fluent emoji, and 8-bit pixel art without changing the call site.

By [Sparrowhawk Labs](https://sparrowhawk-labs.dev) — part of the `pinion-*` series.

Features
--------

[](#features)

- **7,404 Solar Icons** — 1,234 concepts across 6 stroke variants (bold-duotone, bold, broken, line-duotone, linear, outline)
- **`solar-extra`** — plain `close` / `check` / `plus` / `minus` that Solar omits, in the same 6 variants
- **Virtual variants** — `variant="emoji"` swaps in Fluent Emoji; `variant="pixel"` swaps in Pixelarticons. Same concept names resolve in all libraries.
- **Direct SVG inlining** — no runtime HTTP, no JS, no font, no sprite map. Attributes merge into the rendered `` so Tailwind `class="w-5 h-5 text-primary"` Just Works.
- **Synthetic-variant fallback** — single-style libraries (Fluent Emoji, Pixelarticons) reuse the same SVG for every `variant=` request.
- **Zero configuration** — install, render. Publish the config only if you want to add libraries or change defaults.

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

[](#installation)

```
composer require sparrowhawk-labs/pinion-icons
```

Laravel auto-discovers the service provider. No further wiring needed.

Quick start
-----------

[](#quick-start)

```
{{-- Default: Solar bold-duotone --}}

{{-- Pick a stroke variant --}}

{{-- Swap libraries with virtual variants --}}
   {{-- Fluent Emoji --}}
   {{-- Pixelarticons --}}

{{-- Explicit library --}}

```

Component API
-------------

[](#component-api)

PropTypeDefaultDescription`type`stringrequiredIcon concept name (e.g., `home`, `heart`, `alt-arrow-right`)`variant`string`bold-duotone`Stroke style (`bold`, `linear`, …) or virtual (`emoji`, `pixel`)`library`string`solar`Icon library (`solar`, `solar-extra`, `fluent-emoji`, `pixelarticons`)`class`string—CSS classes applied to the rendered ``Any other HTML attribute passes through to the rendered ``.

Libraries
---------

[](#libraries)

LibraryStylecurrentColorNotes`solar`6 variants × 1,234 concepts✓Default. The full Solar Icon Set.`solar-extra`6 variants✓Plain `close` / `check` / `plus` / `minus` that Solar wraps in rings.`fluent-emoji`single (flat)✗ (baked colors)Microsoft Fluent Emoji, Flat colour.`pixelarticons`single (8-bit)✓Pixelarticons v1.8.1, 24×24 monochrome.Fluent Emoji and Pixelarticons resolve all 1,234 Solar concept names — many via semantic mapping (e.g., `accessibility` → emoji `wheelchair_symbol`, pixel `human`). Native slug names (`red_heart`, `close`) also work.

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

[](#configuration)

Defaults can be overridden via `.env`:

```
ICON_DEFAULT_LIBRARY=solar
ICON_DEFAULT_STYLE=bold-duotone
```

To add libraries, publish the config:

```
php artisan vendor:publish --tag=pinion-icons-config
```

Then edit `config/icons.php`. See [REFERENCE.md](REFERENCE.md) for the full library schema and synthetic-variant fallback rules.

Installing icon files locally (optional)
----------------------------------------

[](#installing-icon-files-locally-optional)

By default, the component reads SVGs directly from the vendor directory. If you want them inside your project (for build pipelines or CDN serving), publish them:

```
php artisan icons:install            # default library only
php artisan icons:install solar      # specific library
php artisan icons:install --all      # all libraries
```

Add `--claude` to also write a `## pinion-icons` reference block into your project's `CLAUDE.md`.

Documentation
-------------

[](#documentation)

- **[REFERENCE.md](REFERENCE.md)** — full API, virtual variant rules, synthetic-variant fallback, adding custom libraries.
- **[INDEX.md](INDEX.md)** — searchable list of every Solar icon name (1,234 concepts) with quick-discovery prefix categories. Grep-friendly for AI agents (`rg "^- cart" INDEX.md`).
- **[CLAUDE\_SNIPPET.md](CLAUDE_SNIPPET.md)** — drop-in `## pinion-icons` block for Claude Code project guides.

Pinion series
-------------

[](#pinion-series)

Pinion Icons is part of the [Sparrowhawk Labs](https://sparrowhawk-labs.dev) `pinion-*` series — Laravel UI plugins built around shared design language. A *pinion* is a primary flight feather: the stroke that lets a hawk steer.

- **`sparrowhawk-labs/pinion-icons`** *(this package)*
- `sparrowhawk-labs/pinion-ui` *(coming soon — Blade/Livewire component library, hard-requires `pinion-icons`)*
- `sparrowhawk-labs/sparrowhawk` *(framework core, in design)*

License
-------

[](#license)

MIT — see [LICENSE](LICENSE).

Credits
-------

[](#credits)

- [Solar Icon Set](https://github.com/480-Design/Solar-Icon-Set) by 480 Design (MIT)
- [Fluent Emoji](https://github.com/microsoft/fluentui-emoji) by Microsoft (MIT)
- [Pixelarticons](https://github.com/halfmage/pixelarticons) by Gerrit Halfmann (MIT)
- Maintained by [Akihiko Takai](https://github.com/akihiko-takai) at [Sparrowhawk Labs](https://sparrowhawk-labs.dev)

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance90

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

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

Total

2

Last Release

46d ago

Major Versions

v0.1.0 → v1.0.02026-06-09

### Community

Maintainers

![](https://www.gravatar.com/avatar/0d0d13d86fafedefd34c2b31dd9b85e4080fb156cbf15742200129c1d0e63ff6?d=identicon)[akihikotakai](/maintainers/akihikotakai)

---

Tags

laraveliconssvgbladepixelarticonssolarfluent-emojisparrowhawk-labspinion

### Embed Badge

![Health badge](/badges/sparrowhawk-labs-pinion-icons/health.svg)

```
[![Health](https://phpackages.com/badges/sparrowhawk-labs-pinion-icons/health.svg)](https://phpackages.com/packages/sparrowhawk-labs-pinion-icons)
```

###  Alternatives

[blade-ui-kit/blade-icons

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

2.5k42.5M423](/packages/blade-ui-kit-blade-icons)[hasinhayder/tyro-dashboard

Tyro Dashboard - Beautiful admin dashboard for managing Tyro roles, privileges, users, and settings

5443.8k](/packages/hasinhayder-tyro-dashboard)[technikermathe/blade-lucide-icons

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

18421.4k11](/packages/technikermathe-blade-lucide-icons)

PHPackages © 2026

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