- 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.