Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Blade Element Plus Icons Laravel Package

codeat3/blade-element-plus-icons

A Laravel Blade package that makes Element Plus icons available as simple, ready-to-use Blade components. Install via Composer and render scalable SVG icons in your views with clean, expressive tags, no manual SVG copying required.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on icon plumbing: buy, and stop thinking about it. Curating, naming, and re-syncing ~1,000 Element Plus SVGs is undifferentiated maintenance work. This package collapses that into one Composer line on top of blade-ui-kit/blade-icons — no build step, no JS runtime, no asset pipeline, no design work. Cheap to adopt, cheap to reverse: that is the whole decision.
  • Framework-upgrade gating. Release 1.2.0 exists for exactly one reason: Laravel 13 support. That is the only product-relevant event in this package's history — it takes the dependency off the critical path of the next Laravel major. Without it, this becomes a fork-or-remove item in the upgrade plan. Treat it as a prerequisite on the upgrade checklist, never a blocker.
  • Design-system parity across server-rendered surfaces. Admin panels, transactional emails, invoices, and PDFs can render the same icon vocabulary as an Element Plus/Vue front end. This retires the recurring "icons look different outside the SPA" defect class and removes a category of design-QA and asset-maintenance overhead at zero engineering design cost.
  • Feature velocity on small UI stories. Any story shaped like "add a settings page / status badge / nav item" becomes a markup task: <x-ep-plus-edit class="w-4 h-4" />. That compresses estimates on the long tail of small work — the most tangible day-to-day leverage here.
  • Explicitly not a differentiator. It should never appear on a roadmap as an initiative. The right PM posture is a low-debate adopt-and-standardise call, an entry in the front-end style guide, and a line on the Laravel 13 upgrade checklist.

When to Consider This Package

Adopt when all of these hold:

  • Your design language is already Element Plus. Without Element Plus elsewhere in the product, this is just an arbitrary Vue-flavoured icon set. Match the wrapper to the design system — Heroicons, Tabler, Lucide, and Phosphor all have blade-icons wrappers — not to whichever package happens to be in front of you.
  • You have Blade-rendered surfaces that must visually match a Vue/Element Plus app. Admin panels, transactional emails, invoices, and PDFs are the canonical cases.
  • Your Laravel version is inside the supported range. Laravel 13 landed in 1.2.0; pin ^1.2 and verify with composer why-not before the framework bump.
  • You want Blade component ergonomics, not raw SVG includes. Attribute passthrough for classes, sizes, and HTML attributes is the value.
  • You accept a thin, single-maintainer dependency for decorative assets. That is fine when it breaks cleanly — mirror the SVGs and you can inline or swap in an afternoon — and unacceptable when an icon failure is a hard availability event.

Look elsewhere when:

  • You're not on Element Plus. Pick the wrapper that matches your design system; this one buys you nothing extra.
  • You need the icons, not a wrapper. The source of truth is @element-plus/icons-vue; if you need icons the maintainer hasn't regenerated yet, wrapping upstream yourself or using an SVG sprite is faster than waiting.
  • Icon rendering is a measured performance problem. ~1,000 registered components makes php artisan blade:icon-cache a deploy gate, not an optimisation — if that's a fight you don't want, a trimmed set or a sprite is simpler.
  • You need more than static glyphs. Animated, multi-colour, or runtime-themed icons are out of scope.
  • An icon outage is a hard availability event. Community package, one maintainer, no SLA, no commercial backing. Mirror first, or don't adopt.

How to Pitch It (Stakeholders)

Executives (one paragraph). This is a small, free, MIT-licensed add-on that supplies our Element Plus icon set to the server-rendered parts of the product — admin screens, transactional emails, invoices — so the app and everything we send out stay visually consistent without anyone hand-maintaining image files. The release that matters is 1.2.0, which adds Laravel 13 support: this package no longer stands between us and our next framework upgrade. It is a maintenance-cost reduction, not a feature, and it carries no budget, no vendor contract, and no training. If it ever becomes a problem, it comes out in an afternoon.

Engineering (the short version). codeat3/blade-element-plus-icons generates Blade icon components from the Element Plus icon set and registers them with blade-ui-kit/blade-icons. Version 1.2.0 is a pure compatibility release: Laravel 13 support, no API changes, no deprecations, no breaking changes. Practical guidance:

  • Bump alongside the Laravel 13 upgrade, not after it — prerequisite, not blocker.
  • Pin ^1.2 so a future major can't ride in silently; review minor diffs to catch visual drift from upstream re-syncs.
  • Gate deploys on the icon cache (php artisan blade:icon-cache), and verify it survives ephemeral container layers — cold-start spikes and pod-to-pod inconsistency are the realistic failure mode.
  • Confirm the real component prefix (x-ep-plus-* vs x-element-plus-*) before standardising, by listing registered components rather than trusting the README.
  • Configure a fallback icon so an unknown or renamed icon degrades instead of throwing at render time, and wrap usage in our own Blade component for transactional or regulated UI so the pack is a one-file swap.
  • Group it with blade-icons in the same Renovate/Dependabot bucket, and mirror the vendored SVGs as the abandonment contingency.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings