Warning Does not work in Safari < v16.
A Filament Admin plugin to make page headers sticky when scrolling.
Install packages via composer
composer require awcodes/filament-sticky-header
Just add the plugin to your panel provider, and you're good to go.
use Awcodes\FilamentStickyHeader\StickyHeaderPlugin;Â public function panel(Panel $panel): Panel{ return $panel ->plugins([ StickyHeaderPlugin::make(), ]) ])}
To use the 'Floating Theme' use the floating()
method when instantiating the plugin.
When using the floating theme you can also use the colored()
method to add your primary background color to the header.
use Awcodes\FilamentStickyHeader\StickyHeaderPlugin;Â public function panel(Panel $panel): Panel{ return $panel ->plugins([ StickyHeaderPlugin::make() ->floating() ->colored() ]) ]);}
Both the floating()
and colored()
methods can receive closure that will be evaluated to determine if the theme should be applied. This allows you to apply the theme conditionally, for instance, based off of user preferences.
use Awcodes\FilamentStickyHeader\StickyHeaderPlugin;Â public function panel(Panel $panel): Panel{ return $panel ->plugins([ StickyHeaderPlugin::make() ->floating(fn():bool => auth()->user()->use_floating_header) ->colored(fn():bool => auth()->user()->use_floating_header) ]) ]);}
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.
Adam is a full-stack web developer (with a focus on Laravel) who has been coding for close to 20 years. He is a core Filament team member as well and has authored numerous plugins for Filament such as Curator, Tiptap Editor and Table Repeater, to name a few. You can learn more about Adam on his website.