watheqalshowaiter/filament-sticky-table-header
Makes Filament table headers stick to the top while scrolling, keeping column labels visible in long tables. Supports Filament 3, 4, and 5 with quick installation, and works with Laravel 10+ and PHP for a lightweight usability boost in any admin panel.
position: sticky, z-index layering against Filament's action dropdowns, filter panels, and column groups). The changelog shows exactly that class of bug being chased across five minor releases (v1.2.0 mobile fixes, v1.2.1 dropdown conflicts in v3, v1.3.0 column-group gaps). Buying removes a recurring, low-value maintenance tax from the design-system/engineering backlog.shouldScrollToTopOnPageChanged(enabled:, behavior: 'smooth'|'instant') flag is the only configuration surface. That tells you the author's scope boundary: presentation-only, no opinions on data volume, pagination strategy, or column configuration. Useful when scoping whether the real problem is sticky headers or poor pagination/filtering — the plugin is not a substitute for the latter.Adopt when all of the following hold:
Look elsewhere or build in-house when:
For executives (one paragraph): This is a small, free, MIT-licensed plugin that keeps table headers visible while users scroll our admin panel — a change users feel immediately and that costs roughly an hour of engineering, with no infrastructure, licensing, or migration impact. It improves accuracy on long lists (order, invoice, and ticket tables) where losing the column header causes misreads, and it is fully reversible: one Composer line and one registration line. Risk is concentrated in maintenance rather than technology — a single maintainer, limited adoption — but because the package is presentation-only CSS with no database or business-logic surface, we can pin the version, and fork or replace it internally in under a day if it ever goes stale.
For engineering (the specifics): composer require watheqalshowaiter/filament-sticky-table-header, register StickyTableHeaderPlugin::make() in the panel's plugins([...]) array, then php artisan filament:assets. Optional ->shouldScrollToTopOnPageChanged(enabled: true, behavior: 'smooth'|'instant') for pagination. No config file, no migrations, no service provider changes beyond the plugin registration. Supports Filament 3/4/5 and Laravel 10–13 (Laravel 13 needs PHP 8.3+ and a Filament 5 release), PHP 8.1–8.5, PHPUnit at 100% coverage, CI matrix across the supported version grid.
Known caveats to state up front: the changelog is a history of CSS layering bugs — mobile screens, interaction with row action dropdowns and filters, and gaps with column groups — so budget a visual QA pass on our actual table configurations (filters, column groups, bulk actions) rather than assuming drop-in behavior. Pin the version, keep CSS-override changes out of table views, and re-run that QA checklist on each Filament major upgrade.
How can I help you explore Laravel packages today?