signifly/nova-progressbar-field
A Laravel Nova field that displays values as a customizable progress bar, making percentages and completion metrics easy to visualize in Nova resources. Simple to install and configure.
Adopt only when all of the following hold:
Number field with ->min(0)->max(100)); if a colored number communicates the same thing, skip the field.Look elsewhere or build in-house when:
Number field instead.Practical disqualifier to check before any evaluation: run composer why-not laravel/nova and read the package's own Composer constraints. If they don't cover your Nova major version, stop — the decision is already made.
For executives: This is a minor admin-panel utility that turns a stored percentage into a readable bar for internal operators. No revenue upside, no customer-facing differentiation, no operational or scaling exposure — it is authenticated admin UI only. Its archived status, 2019 release, and near-zero adoption make it a poor long-term dependency. Approve at most a small, time-boxed prototype; expect the recommendation to land on "reimplement in-house as a tiny first-party field." The honest cost is organizational, not technical: someone must own dependency updates, asset rebuilds, and revalidation on every Nova upgrade.
For engineering: It's a thin Nova field — a PHP class passing min/max/color meta plus a small Vue 2 component that sets bar width. Integration is a Composer install, asset registration, and one line per resource. The risk-to-value ratio is poor: version incompatibility, stale compiled assets that can't be rebuilt on a Vite pipeline, no tests, no maintainer, and unclamped values overflowing the bar. The cheap mitigation is to reimplement — copy the PHP field class, write a minimal Vue component, register your own script, and own it. If we fork instead, put it in an internal namespace, preserve the license header, and never let an unmodified archived package sit in production composer.json. Either way: resolve against computed values rather than raw columns, clamp to 0–100 in PHP, guard denominators against empty collections, and add the field to the Nova upgrade regression checklist.
For the wider business: No security, scaling, or compliance exposure — this only affects the internal admin. The tradeoff is ownership: a free add-on today becomes an indefinitely owned asset tomorrow, with a small but permanent maintenance tail tied to every Nova upgrade. Treat it as a two-day internal utility with a named owner, not as a dependency decision.
How can I help you explore Laravel packages today?