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

Filament Sticky Table Header Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin-panel UX polish as a discrete, low-cost work item. This package addresses a specific, well-understood friction point — losing column context when scanning long tables — with a one-line install. It's the kind of "table stakes" usability fix that otherwise sits in a backlog behind higher-priority work; adopting a maintained plugin lets you close it in an afternoon instead of scheduling CSS work.
  • Build vs. buy for front-end niceties. The alternative is an in-house sticky-header implementation (CSS 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.
  • Roadmap sequencing for internal tooling. If the roadmap includes "reduce time-to-find-a-record" or "improve ops team satisfaction," this is a cheap lever to pull in the same sprint as larger admin redesign work, and it can be shipped ahead of a bigger data-table overhaul rather than blocking on it.
  • Feature scope discovery. The opt-in 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.
  • Use cases where it pays off: ops/support queues and ticket lists, order and invoice tables with wide column counts, finance/reconciliation screens reviewed on laptops, and mobile or tablet use in the field where the header scrolls away fastest.
  • Standardization decision. If multiple Filament panels exist across products/teams, treating this as an approved default in the panel boilerplate makes table behavior consistent instead of per-team.

When to Consider This Package

Adopt when all of the following hold:

  • The app is on Filament 3.x, 4.x, or 5.x (Laravel ≥10, PHP 8.1+ — the package is unusually broad here, and 1.5.2 adds Laravel 13 support), and admin tables routinely run long enough to scroll.
  • The UX gap is genuinely scroll-context loss — users misreading rows, re-scrolling to check column meaning, or complaints from ops staff.
  • You want a zero-configuration, no-migration, CSS-asset-only change with an MIT license and a trivially reversible footprint.
  • Your dependency policy tolerates a small third-party plugin. The package has 100% test coverage and CI across Laravel 10–13 × Filament 3–5, which is stronger version hygiene than most micro-plugins; that partly offsets the thin adoption (35 stars, 0 dependents).

Look elsewhere or build in-house when:

  • Social proof matters to your approval process. Zero dependents and a single maintainer mean no downstream battle-testing. For a regulated or vendor-reviewed environment, the answer may be a 30-line internal CSS/asset addition you own outright.
  • You need more than header stickiness. No sticky first column, frozen rows, virtualized long lists, or row-density controls. If the underlying problem is table scalability, this is the wrong tool.
  • Your tables are heavily customized. Custom table views, Blade overrides, or bespoke theming are exactly where z-index and positioning fixes tend to regress; you'd be signing up to re-verify every Filament or theme upgrade.
  • You're not on Filament. Livewire tables or non-Filament front ends get nothing from this.
  • You require an SLA, support contract, or roadmap influence. This is a courtesy-maintained open-source project (Ko-fi funded). Accept that or don't adopt.
  • A design-system team already owns table styling. Duplicating the concern across an internal component and a plugin creates two sources of truth.

How to Pitch It (Stakeholders)

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.

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.
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle