asignua/filament-rating
A Filament plugin that adds a customizable star rating field and table column to your admin panel. Let users rate records directly in forms and tables, with configurable icons, colors, and half-star support.
composer require delivers the three surfaces a rating feature actually needs in an admin panel — the editable form field, the sortable/display table column, and the read-only infolist entry. That removes the most common reason teams write a bespoke field (you otherwise build and maintain three slightly divergent implementations).halfStars()), clearable(), and showValue() cover the common product asks without custom code, so roadmap estimates for "add customer ratings" shrink to wiring + policy work.role="slider" (arrows, Home/End, Delete) with aria-valuetext ("3 of 5 stars"), and read-only columns/entries are role="img" with equivalent labels. That is the part teams routinely under-scope and then fail an audit on. If WCAG 2.2 AA conformance is a contractual or public-sector requirement, this removes a named risk item from the launch checklist rather than deferring it.mokhosh/filament-rating (stars(), allowZero(), color(), size(), theme(RatingTheme::…)) means adoption is reversible: switching in is a near no-op, and switching back out is bounded. That materially lowers the cost of saying yes, and it means we are not betting a roadmap item on a single unmaintained dependency..fi-rating*) and no JavaScript build step means no asset-pipeline work, no bundler coupling, and low probability of colliding with other panel plugins. For a PM this is a "low ongoing tax" signal — the kind of dependency that doesn't come back as recurring maintenance work each Filament upgrade.Adopt when most of the following hold:
mokhosh/filament-rating and want the a11y and half-star capabilities without an API rewrite.Look elsewhere when:
To executives: This is a small, reversible decision that unblocks a customer-facing capability we would otherwise have to build in-house. One dependency gives us the editable rating control, the read-only display, and the table column — three things we'd normally specify, build, test, and maintain separately. It ships with accessibility built in (keyboard operable, properly labelled for screen readers), which is the expensive part of this kind of component and a common cause of audit failures and launch delays. It supports ten languages out of the box, so it doesn't become a blocker for market expansion. Two risk factors are worth naming plainly: it targets Filament 5 only, and it is at v1.0.0 — mitigated by API compatibility with the established mokhosh/filament-rating package, which means we can switch in either direction cheaply. My recommendation is to adopt it behind a thin internal wrapper so the rest of our code doesn't depend on its API directly.
To engineering: Low-integration-cost, low-maintenance dependency. One package covers form field, table column, and infolist entry; no JavaScript build step and a namespaced stylesheet (.fi-rating*), so no asset-pipeline work and minimal collision risk with other panel plugins. Validation (numeric, range, step) is enforced, which keeps bad values out of downstream reporting. Accessibility is handled at the component level — role="slider" with arrow/Home/End/Delete key support and aria-valuetext on the input, role="img" with matching labels on read-only surfaces — so nobody needs to retrofit that. Constraints: Filament 5 only. Diligence items before merge: confirm licence, supported PHP/Laravel versions, and release cadence; and wrap the field/column/entry in our own thin factory methods so a future swap stays a one-file change. Given it's v1.0.0, budget a short spike to verify behaviour under our panel's theme and RTL configuration rather than assuming parity.
How can I help you explore Laravel packages today?