packstub/filament-rating
A Filament plugin for adding star ratings to your admin panels. Render interactive or read-only star fields in forms, tables, and infolists, with configurable star counts, colors, sizes, and half-star support for flexible review and feedback workflows.
RatingInputColumn (v0.2.0) means ratings can be captured inline from a table row without opening an edit form — a meaningful workflow decision for moderation queues, support triage, and QA scoring screens. Ask whether inline rating capture replaces a full edit-page flow in your next iteration.RatingInputColumn) → interpretation (labels()) → visual signal (colors()) → segmentation (RatingFilter with exact()) → reporting (RatingDistribution with counts/percentages()). This gives a PM a credible phased roadmap where each phase is a config change, not a build.labels() are announced by screen readers and shown on hover. That is an accessibility and clarity win that would otherwise need design and QA time. It supports the decision to ship rating capture earlier rather than deferring for an a11y pass.RatingDistribution with percentages() delivers a ratings breakdown inside the panel, which can defer or shrink the scope of an external dashboarding request — a genuine cost-avoidance decision.labels() is a product-content decision (what does 3 stars mean to us?), and this package makes that vocabulary reusable across input, display, filter, and summarizer. Worth a short PM/design sign-off rather than leaving it to engineering defaults.Adopt when:
labels(), colors()) across all four.Look elsewhere or defer when:
clearable(), disabled(), exact(), percentages(), showLabel()) may still move. Acceptable for internal admin tooling; riskier if you're exposing it through a public or partner-facing surface.For executives (one paragraph): We identified a small, low-cost Filament plugin that gives us star ratings across our admin tooling — capture, display, filtering, and summary charts — without a build. Release 0.2.0 is a substantial step up: ratings can now be set directly from a table row, star meanings can carry our own wording and colors, and we get a "4 stars and up" filter and a distribution breakdown out of the box. The commercial case is speed and avoided cost: this replaces custom component work in several screens and removes a UI detail that teams routinely underestimate. The trade-off is maturity — this is a pre-1.0 package, so it suits internal operational surfaces well and public-facing or regulated surfaces less well.
For engineering: Small, focused dependency; the 0.2.0 surface is RatingInputColumn, labels(), colors(), RatingFilter (including exact()), and RatingDistribution (counts or percentages()), with summarizers inheriting the column's labels and colors — so a single configuration point keeps capture and reporting consistent. It's a Filament plugin, so scope is confined to panels already on Filament. Note it's pre-1.0: pin the version, wrap usage thinly so a rename is a one-file change, and budget for occasional upgrade churn rather than assuming API stability.
For design and content: labels() makes rating meaning a configurable, reusable product decision rather than a hardcoded string — one word per rating, applied consistently to the field, the display, and the summarizer, and announced to screen readers. That's a genuine accessibility and clarity gain for very little effort. Worth a short session to agree the vocabulary and the colors() thresholds before we ship.
Recommendation: Trial on one internal Filament panel, pinned to v0.2.0, with a thin wrapper around the components. Reassess at 1.0 or once two or three screens depend on it.
How can I help you explore Laravel packages today?