Weave Code
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
Filament Header Filters

Filament Header Filters Laravel Package

leek/filament-header-filters

Add inline filters to Filament table column headers. Attach any BaseFilter (selects, date pickers, min/max ranges, custom schemas) as a richer alternative to individual searchable fields. Works with Filament v4/v5, PHP 8.2+.

View on GitHub
Deep Wiki
Context7

Inline header filters for Filament tables

Frequently asked questions about Filament Header Filters
How do I add inline filters to Filament table columns without breaking existing search functionality?
Use the `headerFilter()` method on any column and pass a `BaseFilter` instance (e.g., `SelectFilter`, custom `Filter`). This attaches the filter directly to the column header while preserving global search. No conflicts occur since they operate independently.
Does this package support Filament v5, or is it only for v4?
This package explicitly supports both Filament v4 and v5. The installation instructions and usage examples work identically across both versions, with no version-specific configurations required.
I’m using a custom Livewire table page with `HasTable`. Will this package work without issues?
Yes, the package includes fixes for `HasTable` pages where Livewire trait initialization order previously caused filter registration failures. Simply add the `HasHeaderFilters` trait to your custom component, and it will work reliably.
How do I fix stale state issues in single-select filters after switching from multi-select?
The package includes a dedicated fix for stale state bugs in single-select filters. No manual intervention is needed—just update the package, and the issue is resolved automatically. Multi-select filters remain unaffected.
Can I use this with third-party Filament filters or only Filament’s built-in ones?
You can use any `BaseFilter` class, including third-party filters, as long as they extend Filament’s `BaseFilter`. The package doesn’t restrict filter types, so custom or community-built filters work seamlessly.
What PHP version is required, and why?
PHP 8.2+ is required due to boot order fixes involving `::class` string handling in Livewire traits. This ensures compatibility with Filament’s modern architecture and avoids initialization errors in complex setups.
Do I need to rebuild assets (Vite/NPM) after installing this package?
Yes, you must rebuild your assets (`npm run build` or `npm run dev`) to include the package’s CSS. The stylesheet must be imported after Filament’s theme CSS in your Vite config to override default table header styles.
Will this package work with Filament v6 when it’s released, or should I avoid upgrading?
The package is currently locked to Filament v4/v5 and hasn’t been tested with v6. While the core functionality may remain compatible, no guarantees exist. Monitor updates or check for a v6-specific branch before upgrading.
How do I test if the package works in my custom table component?
Add the `HasHeaderFilters` trait to your Livewire component, then apply `headerFilter()` to a column. Test single-select, multi-select, and custom filters to ensure no stale state or boot order issues persist. Use Pest or manual testing for edge cases.
Are there performance implications for large tables with many filters?
The package introduces minimal overhead, primarily during table initialization. The boot order fixes may add slight delays in complex Livewire setups, but no measurable impact has been reported for typical use cases. Monitor table load times if using deeply nested or highly filtered tables.
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.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui