PHPackages                             digital-creative/nova-pill-filter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. digital-creative/nova-pill-filter

ActiveLibrary[Search &amp; Filtering](/categories/search)

digital-creative/nova-pill-filter
=================================

A Laravel Nova filter that renders into clickable pills.

v1.0.1(2y ago)1859.7k↓35.7%41MITVuePHP &gt;=8.0

Since Nov 24Pushed 2y ago3 watchersCompare

[ Source](https://github.com/dcasia/nova-pill-filter)[ Packagist](https://packagist.org/packages/digital-creative/nova-pill-filter)[ RSS](/packages/digital-creative-nova-pill-filter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (7)Used By (1)

Nova Pill Filter
================

[](#nova-pill-filter)

[![Latest Version on Packagist](https://camo.githubusercontent.com/22c2be0d2c10d5750d76659e22618e04c63f995f70116e543269e931bd44cb6b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6469676974616c2d63726561746976652f6e6f76612d70696c6c2d66696c746572)](https://packagist.org/packages/digital-creative/nova-pill-filter)[![Total Downloads](https://camo.githubusercontent.com/62bdc4cd41e5352c07da4dba2689e31362a79a7de88942e93ee1fee7d56b5188/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6469676974616c2d63726561746976652f6e6f76612d70696c6c2d66696c746572)](https://packagist.org/packages/digital-creative/nova-pill-filter)[![License](https://camo.githubusercontent.com/8f3e6a937e79eecb6790f15adc922f1cbc4d69fc75d1e2bdc70956150aa160da/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6469676974616c2d63726561746976652f6e6f76612d70696c6c2d66696c746572)](https://github.com/dcasia/nova-pill-filter/blob/main/LICENSE)

A Laravel Nova filter that renders into clickable pills.

  ![PillFilter in Action](https://raw.githubusercontent.com/dcasia/nova-pill-filter/main/screenshots/light-1.png)Installation
============

[](#installation)

You can install the package via composer:

```
composer require digital-creative/nova-pill-filter
```

Basic Usage
-----------

[](#basic-usage)

Create a filter as usual and extend the `DigitalCreative\PillFilter\PillFilter` class

```
use DigitalCreative\PillFilter\PillFilter;

class MyFilter extends PillFilter {

    public function apply(Request $request, $query, $values)
    {
        // $values will always be an array
    }

    public function options(NovaRequest $request): array
    {
        return [
           'Display Text 1' => 'value-1',
           'Display Text 2' => 'value-2'
        ];
    }

}
```

and use it as usual on the filters methods within your resource class:

```
class ExampleNovaResource extends Resource {

    public function filters(NovaRequest $request): array
    {
        return [
            MyFilter::make()
        ];
    }

}
```

By default, multiple items can be selected, you can restrict it to a single item at time by calling `->single()`

```
class ExampleNovaResource extends Resource {

    public function filters(NovaRequest $request): array
    {
        return [
            MyFilter::make()->single()
        ];
    }

}
```

Additionally, you can customize the mode the filter is displayed, by default it wraps to show all pills at once, however there is also a `drag` and `stack` mode:

Drag ModeStack ModeWrap Mode![](https://raw.githubusercontent.com/dcasia/nova-pill-filter/main/screenshots/drag-light.png)![](https://raw.githubusercontent.com/dcasia/nova-pill-filter/main/screenshots/stack-light.png)![](https://raw.githubusercontent.com/dcasia/nova-pill-filter/main/screenshots/wrap-light.png)```
class ExampleNovaResource extends Resource {

    public function filters(NovaRequest $request): array
    {
        return [
            MyFilter::make()->dragMode(),
            MyFilter::make()->stackMode(),
            MyFilter::make()->wrapMode(),
        ];
    }

}
```

⭐️ Show Your Support
--------------------

[](#️-show-your-support)

Please give a ⭐️ if this project helped you!

### Other Packages You Might Like

[](#other-packages-you-might-like)

- [Nova Dashboard](https://github.com/dcasia/nova-dashboard) - The missing dashboard for Laravel Nova!
- [Nova Welcome Card](https://github.com/dcasia/nova-welcome-card) - A configurable version of the `Help card` that comes with Nova.
- [Icon Action Toolbar](https://github.com/dcasia/icon-action-toolbar) - Replaces the default boring action menu with an inline row of icon-based actions.
- [Expandable Table Row](https://github.com/dcasia/expandable-table-row) - Provides an easy way to append extra data to each row of your resource tables.
- [Collapsible Resource Manager](https://github.com/dcasia/collapsible-resource-manager) - Provides an easy way to order and group your resources on the sidebar.
- [Resource Navigation Tab](https://github.com/dcasia/resource-navigation-tab) - Organize your resource fields into tabs.
- [Resource Navigation Link](https://github.com/dcasia/resource-navigation-link) - Create links to internal or external resources.
- [Nova Mega Filter](https://github.com/dcasia/nova-mega-filter) - Display all your filters in a card instead of a tiny dropdown!
- [Nova Pill Filter](https://github.com/dcasia/nova-pill-filter) - A Laravel Nova filter that renders into clickable pills.
- [Nova Slider Filter](https://github.com/dcasia/nova-slider-filter) - A Laravel Nova filter for picking range between a min/max value.
- [Nova Range Input Filter](https://github.com/dcasia/nova-range-input-filter) - A Laravel Nova range input filter.
- [Nova FilePond](https://github.com/dcasia/nova-filepond) - A Nova field for uploading File, Image and Video using Filepond.
- [Custom Relationship Field](https://github.com/dcasia/custom-relationship-field) - Emulate HasMany relationship without having a real relationship set between resources.
- [Column Toggler](https://github.com/dcasia/column-toggler) - A Laravel Nova package that allows you to hide/show columns in the index view.
- [Batch Edit Toolbar](https://github.com/dcasia/batch-edit-toolbar) - Allows you to update a single column of a resource all at once directly from the index page.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](https://raw.githubusercontent.com/dcasia/nova-pill-filter/master/LICENSE) for more information.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity38

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 88.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~281 days

Recently: every ~349 days

Total

6

Last Release

960d ago

Major Versions

v0.1.3 → v1.0.02023-09-29

PHP version history (2 changes)v0.1.0PHP &gt;=7.1.0

v1.0.0PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/e4a85b779289ce63c67af70941a545331f3e362a4b58330495cc7e77250e5401?d=identicon)[milewski](/maintainers/milewski)

---

Top Contributors

[![milewski](https://avatars.githubusercontent.com/u/2874967?v=4)](https://github.com/milewski "milewski (15 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

---

Tags

filterlaravelnovanova4pilltagslaravelfiltertagsnovapill

### Embed Badge

![Health badge](/badges/digital-creative-nova-pill-filter/health.svg)

```
[![Health](https://phpackages.com/badges/digital-creative-nova-pill-filter/health.svg)](https://phpackages.com/packages/digital-creative-nova-pill-filter)
```

###  Alternatives

[outl1ne/nova-multiselect-filter

Multiselect filter for Laravel Nova.

45802.7k3](/packages/outl1ne-nova-multiselect-filter)[outl1ne/nova-detached-filters

This Laravel Nova package allows you to detach filters from the filter dropdown

64343.5k](/packages/outl1ne-nova-detached-filters)[digital-creative/nova-mega-filter

Allows you to control the columns and filters shown on your nova resources.

87159.3k](/packages/digital-creative-nova-mega-filter)[optimistdigital/nova-detached-filters

This Laravel Nova package allows you to detach filters from the filter dropdown

64235.5k](/packages/optimistdigital-nova-detached-filters)[outl1ne/nova-input-filter

An input filter for Laravel Nova

24822.7k](/packages/outl1ne-nova-input-filter)[suenerds/nova-searchable-belongs-to-filter

Searchable Nova filter for belongsTo relationships.

29516.9k](/packages/suenerds-nova-searchable-belongs-to-filter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
