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

Nova Pill Filter Laravel Package

digital-creative/nova-pill-filter

A Laravel Nova package that adds customizable pill-style filters to resource index screens, letting users quickly toggle predefined filters through a clean, compact interface. Simple to configure and ideal for streamlining resource navigation in Nova admin panels.

View on GitHub
Deep Wiki
Context7

digital-creative/nova-pill-filter adds sleek, pill-style filter buttons to Laravel Nova resources. Instead of hiding filters inside a dropdown, it renders them as clickable pills directly on the resource index, giving users instant, one-click access to common filter states. It integrates cleanly with Nova's existing filter system, so your current filters keep working while the UI becomes faster and more intuitive.

  • Renders Nova filters as toggleable pill buttons on the index view
  • Supports single and multi-select filter behavior
  • Keeps native Nova filters compatible — no rewrites required
  • Configurable styling and active states for clear visual feedback
  • Lightweight, dependency-free integration via Composer
Frequently asked questions about Nova Pill Filter
How do I install digital-creative/nova-pill-filter in a Laravel Nova app?
Install it with Composer using composer require digital-creative/nova-pill-filter. Then register the filter class inside the filters() method of the Nova resource where you want pill-style filtering. Because it extends Laravel Nova's native filter contract, it can be added alongside existing filters without any database migration. Check that Nova's front-end assets are published and rebuilt if your setup requires it.
Does nova-pill-filter support Laravel Nova 4 and Nova 5?
The package's last release was in October 2023, so it is most likely validated against a Nova 4-era front-end stack. Nova 5 moved to Vue 3 and Vite-based asset compilation, which can break precompiled package JavaScript even when the PHP side still works. Test the filter in a staging environment against your exact pinned Nova version and watch the browser console for Vue or asset errors before rolling it out.
How do I create a pill filter for a boolean or status column in Nova?
Create a filter class that returns your pill options and use the package's pill filter base or view so Nova renders them as clickable chips. In the apply() method, read the selected value from the request and add the matching where clause to the query, such as filtering an active boolean or an order status column. Register that class in the resource's filters() method. The pill UI then toggles the same filter value that a select box would normally submit.
Can I customize the labels and colors of Nova pill filters?
Yes. The package is described as supporting custom labels, colors, and default states, so you can map each filter option to a human-readable label and a pill color. For deeper styling changes, such as matching your application's design tokens, you may need to publish or override the package's Vue component and CSS. Treat hardcoded styling as a fork-or-override decision if the exposed color options are not enough.
How do I set a default state for a pill filter in Laravel Nova?
The package supports default states, so you can configure which pill is active when the resource index page first loads. Set the default value on your filter class according to the package's option format, and confirm that Nova's filter query string behavior still persists the selection across page loads. Test both the initial page load and a manually cleared filter state to make sure the default does not unexpectedly reapply.
Does nova-pill-filter support multi-select filters or a clear-all action?
The package is primarily positioned for boolean and status toggles rendered as pills, not as a full multi-select filter UI. Nova's filter contract can pass arrays, but you should verify whether this package's Vue component renders and submits multiple active values correctly. The standard Nova filter menu usually provides a reset or clear action, but per-pill clear-all behavior should be confirmed in your installed version or added via a fork.
Is nova-pill-filter accessible for keyboard and screen reader users?
Accessibility depends on the package's compiled Vue markup, and the project does not advertise a formal accessibility audit. Check for keyboard toggling, aria-pressed or equivalent state attributes, visible focus styles, and sufficient color contrast before shipping it to production. If those are missing, a small fork of the Vue component is usually the fastest way to add them.
Is nova-pill-filter maintained and safe to use in production?
Treat it as unmaintained by default: it has a small star count, no significant dependent ecosystem, and its last release was in October 2023. The risk profile is relatively low because it is MIT licensed, presentation-only, and does not write data or expose new authentication surfaces. The main production risk is front-end breakage after a Nova upgrade, so pin the version and test it against your Nova major before relying on it.
How should I test a Nova pill filter in my Laravel application?
Start with a unit test for the filter's apply() method, passing a request and value and asserting the expected query constraints. Add a feature test that hits the Nova resource index endpoint with the filter query string and verifies the filtered results. For the pill UI itself, use a browser test to confirm toggling, default state, and clear behavior, plus a quick keyboard and console-error check.
Should I fork nova-pill-filter or build my own Nova pill filter?
If your team has a no-unmaintained-dependencies policy, build or fork it: a pill filter is a small extension of Laravel\Nova\Filters\Filter plus a Vue component, and the assessment estimates roughly a day of work. The package is MIT licensed and small enough to own in-house within a sprint. Alternatives include Nova's native boolean or select filters, other community Nova filter packages, or a custom filter class if you need full control over styling and accessibility.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo