awcodes/filament-sticky-header
Makes Filament panel page headers sticky on scroll, with an optional floating theme and colored variant. Install via Composer, add the plugin to your panel provider, and import the provided CSS into your theme. Supports Filament 2.x through 5.x depending on package version.
composer require, a CSS import in your theme, one plugin registration line.stickOnListPages(false) for dense tables and disabledOn([...]) for custom pages where the header isn't an action bar. Decide per surface, not globally.floating() and colored() accept closures, which makes per-user theming technically trivial — but you then own the preference column, the settings UI, and its support load. Recommendation: ship a single house style now; treat per-user toggles as a separate, demand-driven request. Don't let a cosmetic plugin expand your settings surface.Consider it when:
@import to your CSS entrypoint.composer remove.Look elsewhere (or just skip it) when:
position: sticky on the header may be a smaller diff than a new dependency.To executives: A low-cost UX improvement for our admin panel. It pins page titles and action buttons to the top of the screen on long pages, so staff don't lose the Save button while scrolling. MIT-licensed, installs with one line, touches no data, no security surface, no vendor contract, and is reversible in a single commit. Don't fund it as a project — fold it into an existing polish pass. Success is soft (fewer "where's the save button" tickets, better task completion on long forms), so treat it as polish, not a bet.
To engineering: Add awcodes/filament-sticky-header via Composer, import vendor/awcodes/filament-sticky-header/resources/css/plugin.css into our theme, and register StickyHeaderPlugin::make() in the panel provider. Scope it deliberately: stickOnListPages(false) for dense tables, disabledOn([...]) for pages without an action bar. Test sticky behavior against notifications, table filters, and the mobile menu toggle before shipping — the upstream changelog shows these are the recurring break points. It tracks Filament majors (1.x→4.x), so pin the version and budget a small CSS regression check after each Filament upgrade.
How can I help you explore Laravel packages today?