codeat3/blade-fontisto-icons
Blade Fontisto Icons provides simple Blade components for the Fontisto icon set, letting you drop scalable SVG icons into any Laravel view with a single tag. Install via Composer, then render icons by name with optional size and styling—no asset pipelines or extra configuration needed.
Architecture fit
codeat3/blade-fontisto-icons is a thin, generated distribution package in the blade-ui-kit/blade-icons ecosystem. It ships the Fontisto glyph set as individual SVG files plus a service provider that auto-registers them as Blade components (<x-fontisto-icon name="home" /> or the per-icon variant documented upstream). There is effectively no application logic to own, which makes this a leaf presentation dependency, not an architectural commitment.currentColor and CSS sizing, and require no icon font, no CDN call, no JS, and no publish/build step.fontisto- component namespace and blade-ui-kit/blade-icons (plus its illuminate/* constraints). Both are stable and widely used. Fit is weakest where a design system already standardizes on another icon family, or where high-volume pages require sprite/<use> delivery rather than repeated inline SVG.Integration feasibility
composer require codeat3/blade-fontisto-icons, auto-discovery registers the provider, components are immediately usable. No config publish required for baseline use.<x-icon name="..." /> abstraction so a future icon-set swap is a one-file change.Technical risk
blade-ui-kit/blade-icons version (and its own constraints) is itself Laravel 13-compatible. Verify the resolved graph, not just this package's tag.<x-dynamic-component :component="'fontisto-'.$userInput" />) must never accept untrusted input — that is a Blade component-name injection vector. Accessibility attributes (aria-hidden, role, <title>) are not injected by the vendor components; consuming markup must supply them. Inline SVG duplication inflates HTML payload on icon-dense pages — measure before wide rollout.Key questions
blade-icons version that supports Laravel 13 — and does the new constraint silently raise the minimum supported Laravel line? The notes state 13 compatibility but not whether older lines were dropped.<x-icon> wrapper for accessibility defaults, currentColor conventions, and swap-ability — and will we enforce it?Stack fit
Migration path
<x-icon name="..." />, and forbid direct vendor-component usage in feature views via lint rule or review checklist.<i class="fi fi-*"> with the wrapper incrementally, page by page. Keep the wrapper's prop surface aligned with the old class-name convention so the swap is mechanical rather than a template rewrite.Compatibility
^1.6 only if Laravel 13 is in scope; otherwise leave the existing constraint, since 1.6.0 introduces no behavioral change.blade-icons major-version alignment before locking. A blade-icons major bump is the real breaking event, not this release.fontisto- prefix. Low likelihood, but worth a one-time check in a multi-package application.Sequencing
<x-icon> wrapper with accessibility defaults and currentColor conventions.Maintenance
composer update cycles, pin the version, and let the lockfile govern. Add a light quarterly review — upstream activity, license check, composer audit.Support
aria-hidden / role / <title> pattern once prevents per-screen debates.Scaling
Failure modes
blade-icons major bump or Laravel floor change breaks rendering after an unrelated composer update. Mitigation: pinned version, lockfile discipline, CI smoke test that renders one icon.Ramp-up
How can I help you explore Laravel packages today?