hasnayeen/blade-eva-icons
Laravel Blade components for the Eva Icons set. Render crisp, scalable SVG icons in your views with simple Blade tags, customizing size, color, and CSS classes. Ships with the full Eva Icons library, so you can drop consistent, open-source icons into any Laravel app without copying SVGs by hand.
outline and fill) as Blade components, so a Laravel/Blade product can add navigation icons, button affordances, status indicators, empty states, and dashboard chrome without introducing an npm/Vite icon pipeline, a sprite-sheet build, or an icon-font dependency. For a PM, that is a schedule and toolchain decision as much as a technical one: it removes a workstream (icon asset management) from the critical path of shipping screens.composer require and a Blade tag). The alternative paths are commissioning custom iconography (design spend, ongoing ownership) or maintaining an in-house SVG library (permanent maintenance liability). The honest trade-off: Eva's visual language is generic and widely seen, so this is commodity infrastructure, not brand differentiation. Adopt it to buy speed, and expect no brand equity from it.eva-icons-* directly across hundreds of views. That wrapper is the real architectural decision; the package choice is easily reversible, the convention is not.Consider adopting when:
^2.2.<x-ui.icon> wrapper to keep the package prefix out of your templates.Look elsewhere when:
blade-ui-kit/blade-icons with local SVG sets is more flexible and better maintained.eva-icons package client-side rather than server-rendered Blade components.For executives: This is a low-risk, zero-cost (MIT-licensed) dependency that gives our Laravel application a consistent, professional-looking icon set without design spend, licensing fees, or an added front-end build step. The v2.2.0 release is purely a Laravel 13 compatibility update — no breaking changes, no migration work, no new surface area — so it keeps us current on framework upgrades at no cost and no schedule impact. It is commodity infrastructure, not a strategic bet: it buys us speed on internal tools and dashboards and is straightforward to replace if our brand needs change.
For engineering: Adds Blade components backed by the Eva Icons set (~490 glyphs in outline and fill variants), installed via Composer only — no npm/Vite footprint, no runtime JavaScript, inline SVG rendered server-side. v2.2.0 adds explicit Laravel 13 support (PR #15, first-time contributor @arjanvanrees): a patch-level constraint change with no API changes and no deprecations, so treat it as a routine upgrade-window bump. Two caveats to record: upstream Eva Icons is largely static, and the package is in maintenance mode — budget it as a stable utility, not something that will grow with us. Engineering should also note the operational specifics: always wrap the package in a single internal <x-ui.icon> component so the eva-icons- prefix never leaks into templates, enforce sizing centrally (the SVGs ship with no default dimensions and will stretch or collapse in flex layouts), default to aria-hidden="true" and push accessible labels onto the surrounding control, drive colour through currentColor/text-* utilities rather than fill attributes, and run php artisan view:cache during deploy and view:clear when debugging stale icons. The variant suffix (-outline / -fill) is mandatory and is the most common "component not found" cause. If we later need custom iconography or tree-shaken SVG delivery, migrate to blade-ui-kit/blade-icons with local SVG sets — the wrapper boundary keeps that swap contained to a single file.
How can I help you explore Laravel packages today?