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

Nova Pill Filter Laravel Package

eolica/nova-pill-filter

Nova Pill Filter adds a pill-style filter to Laravel Nova resource indexes, letting users toggle predefined options with a single click instead of opening a dropdown. Lightweight and quick to register in your Nova resource.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for admin UX polish. This package is a thin visual layer over Nova's native filter mechanism — a custom Filter class plus a Vue component that renders filter options as clickable pills instead of a dropdown. That is roughly one engineering day of work. The decision it supports is not "adopt this dependency," but "is pill-style filtering worth a day of internal build?" For any team with a high-traffic Nova dashboard, the answer is usually yes; the package itself is only a reference implementation.
  • Where to invest in ops/support ergonomics. Pill filters reduce clicks and mis-selections versus dropdowns when operators repeatedly toggle between a small set of states. That directly affects time-to-triage for support and operations staff working queue-style screens (Open / Pending / Escalated / Closed), lifecycle-stage filters in CRM-style admin, and any dashboard where filtering is the primary interaction rather than a one-off query.
  • Scope guardrail for filter UX. Pills stop paying off outside a narrow band: below ~3 options there's nothing to simplify, and above ~7–8 options pills wrap, crowd the toolbar, and become slower than a searchable select or a saved-filter pattern. This constrains the roadmap item to "segmented status filters," not "replace the filter system."
  • Dependency posture / vendoring decision. MIT license and a single-purpose component make this copyable rather than installable. The PM-level decision is to vendor the pattern into the codebase as an internal Nova filter — capturing the UX win while taking on zero supply-chain surface, no upgrade risk, and no external maintainer dependency.
  • Prioritization signal from the market. One star, zero dependents, and an archived repo after a single 2020 release tell you the demand for this specific package is negligible. The relatively high opportunity score reflects an unserved UX pattern, not an unserved package — a distinction that should keep this off the roadmap as a "dependency adoption" item and on it as a "small internal enhancement."

When to Consider This Package

Consider it only under a narrow and unlikely set of conditions:

  • You are running Nova 3.x on the Vue 2 toolchain, your admin panel is effectively frozen (no Nova major upgrade planned), and filter ergonomics is a measured pain point for a specific team.
  • You are willing to fork rather than depend — the repo is archived, so there is no upstream to receive fixes, security patches, or Nova-version compatibility work.
  • You have accepted the supply-chain review cost of a package with no dependents and therefore no field testing, and you can read the entire implementation yourself in an afternoon.
  • The filter set you're rendering fits the pill model (roughly 3–7 mutually exclusive, short-labelled values).

Look elsewhere — or build — in essentially every other case:

  • Nova 4/5 environments. Nova 4 moved to Vue 3 and Inertia; a 2020-era Vue 2 filter component is very likely incompatible. Do not budget for a migration path that doesn't exist.
  • Anything security- or compliance-sensitive. An archived, single-release, zero-dependent package offers no disclosure channel and no maintenance commitment.
  • Maintained alternatives or native features. Start with Nova's built-in filter UI and inline/boolean filter options; if that's insufficient, a maintained Nova filter/card package with recent releases and an active issue tracker is a better bet. Otherwise write a ~50-line custom Filter + Vue component in-house.
  • Complex filtering needs. Multi-select, range, date, or relation filters should use a searchable select or a dedicated filter panel, not pills.

How to Pitch It (Stakeholders)

To executives: There's a small UX pattern worth copying for our internal admin tooling — status filters as clickable pills instead of dropdowns, which speeds up triage for support and ops staff. The package itself is a dead end: archived since 2020, one star, no users, and almost certainly broken on our Nova version. Recommendation: don't add the dependency; spend roughly one engineering day replicating the pattern internally under its MIT license. No new vendor risk, no recurring cost, and the benefit is measured in operator time saved, not revenue — so treat it as a minor efficiency item, not a roadmap commitment.

To engineering: This is a reference, not a dependency. It's a single-purpose Nova filter that renders options as pill buttons, last released October 2020 and now archived — Vue 2 era, incompatible with Nova 4+. The ask is to implement an equivalent internal filter: a Filter subclass plus a small custom Vue component, scoped to segmented status filters with 3–7 options. MIT license means we can crib the implementation directly. Net new dependencies: zero. Estimated effort: one day including tests.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource