- What is lara-zeus/tabler-icons-enum used for?
- It is a single-purpose data package: a PHP backed enum whose cases enumerate Tabler Icons names, plus a label() helper and a convenience accessor that returns the icons as Filament select options. Use it to populate dropdowns, validate icon submissions, and reference icons in Blade or Filament without hard-coded strings or hand-maintained arrays. There is no runtime logic, persistence, or meaningful service-provider surface, so it should be judged on the accuracy of its case list rather than its architecture.
- How do I install lara-zeus/tabler-icons-enum?
- Run composer require lara-zeus/tabler-icons-enum. There is nothing to publish, migrate, or configure: Composer autoloading is the entire installation, and you can start referencing enum cases immediately. The only hard requirement is PHP 8.1 or newer, since the package is a backed enum.
- Which PHP and Laravel versions does it support?
- PHP 8.1 or newer is required because the package is a backed enum. Laravel itself is barely a constraint since there is effectively no framework code involved. The real constraint is Filament: release evidence suggests the 2.x line tracks Filament 5, so check the tags against your Filament major before committing.
- Does it work with Filament, and how do I populate a Filament select with Tabler icons?
- Yes. The package ships a convenience accessor that returns the enum as an options array, so you can pass it straight into a Filament Select or form component instead of writing out an icon list by hand. Note the version coupling: the 2.x line appears to track Filament 5, so projects still on Filament 4 likely need the 1.x line. Confirm the matching major on the repository tags before installing.
- How do I use the enum in Blade templates?
- Because each icon is an enum case, you can pass it into the view and echo its value inside the Tabler class attribute, typically as a ti ti-* class name, so the reference is type-checked rather than free text. A typo then fails at analysis or review time instead of rendering a blank space in production. Keep the same enum-to-markup pattern across templates so the mapping stays consistent.
- How do I validate an icon name submitted from a form?
- Point Laravel's Enum validation rule at the package's enum, or use Rule::enum(), so anything that is not a real Tabler icon name is rejected before it reaches storage. That is stricter and cheaper to maintain than an in: rule with a hand-copied list of names. It also closes the gap where a stale hard-coded list silently accepts icons you no longer render.
- Which Tabler Icons version is the enum generated from?
- The enum is generated from a specific Tabler icon set release, while the browser renders whatever Tabler CSS or sprite version your application ships, so those are two independently versioned sources of truth. If they drift you get either missing icons or silent visual regressions in your admin UI. Ask which Tabler version the enum was built from, pin your asset to match, and add a smoke test that renders your icon set.
- Does the package include SVG paths or icon metadata?
- No. It enumerates icon names and provides a label helper, but it carries no SVG paths, categories, search index, or weight variants. Rendering and asset delivery are still the job of your Tabler CSS or sprite. If you need runtime icon metadata, this package alone is not sufficient.
- Can I use it with Heroicons or Font Awesome instead of Tabler?
- No. The cases are Tabler icon names specifically, so installing it alongside Heroicons, Lucide, or Font Awesome gains you nothing. It is only worth adopting if Tabler is already, or is becoming, your standard icon vocabulary for Blade views and Filament panels.
- Is it safe to use in production, and what happens if it is abandoned?
- The adoption signals are thin: a single maintainer, minimal dependents, and terse release notes, which is tolerable for a lookup-table data package but removes the assumption that the ecosystem will catch regressions for you. The MIT license is the key mitigant, since you can fork it or copy the enum into app/Support/ at trivial cost. Treat that escape hatch as the approved fallback and add your own verification test rather than relying on upstream maintenance.