Search by

ympact / laravel-icon-registry

mauritskorse

A searchable catalogue of the icons a Laravel app can draw, across Flux, Blade Icons and your own providers.

Package info

github.com/Ympact/laravel-icon-registry

pkg:composer/ympact/laravel-icon-registry

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-11-09 15:48 UTC

This package is auto-updated.

Last update: 2026-11-09 15:55:24 UTC


README

A searchable catalogue of the icons a Laravel application can draw, across Flux, Blade Icons and your own providers. Store an icon key, validate it, draw it, and let people find icons by the words they actually type.

Icons::search('dustbin');                    // tabler.trash, best match first

$request->validate(['icon' => ['nullable', new IconExists]]);
<x-registry-icon :icon="$item->icon" class="size-5" />

Features

  • Providers for Flux (its own icons, your resources/views/flux/icon, and everything built there by ympact/flux-icons) and for every Blade Icons set. Both optional, and you can add your own.
  • Scored search over names, labels, aliases, use cases and purposes, with typo tolerance.
  • A metadata file for labels and aliases, which the doctor command prunes without losing your comments.
  • Purposes: one icon and label per meaning (action.delete), so similar actions look the same across your app.
  • An IconExists rule that suggests the closest icon.
  • A cache that php artisan optimize builds. With opcache, drawing a few icons does not load the whole set.
  • A VS Code extension that completes icon keys as you type. See Editor support.

Requirements

PHP 8.3+
Laravel 12 or 13
Optional livewire/flux 2, blade-ui-kit/blade-icons 1.10+

Installation

composer require ympact/laravel-icon-registry

See the documentation for configuration and usage.

Development

composer test           # Pest
composer test:browser   # the Browser suite (installs Playwright's Chromium first)
composer analyse        # PHPStan, level 8
composer lint           # Pint
composer serve          # the workbench application, at http://localhost:8000

License

MIT. See LICENSE.md.