alonadashko / filament-table-vertical-scroll
Filament plugin that makes tables vertically scrollable with a sticky header row via ->verticalScrollable().
Package info
github.com/Alena009/filament-table-vertical-scroll
pkg:composer/alonadashko/filament-table-vertical-scroll
v1.0.1
2026-08-24 11:57 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0|^4.0|^5.0
- spatie/laravel-package-tools: ^1.16
This package is not auto-updated.
Last update: 2026-08-24 21:26:59 UTC
README
A Filament plugin that makes tables vertically scrollable: the header row (thead) stays fixed while only the table body scrolls.
Installation
Add a path repository to your app's composer.json (for local development):
{
"repositories": [
{
"type": "path",
"url": "../filament-table-vertical-scroll",
"options": {
"symlink": true
}
}
]
}
Then require the package:
composer require alonadashko/filament-table-vertical-scroll:@dev php artisan filament:assets
Optionally register the plugin in your Panel Provider (to set a default max height):
use Alonadashko\FilamentTableVerticalScroll\FilamentTableVerticalScrollPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ FilamentTableVerticalScrollPlugin::make() ->maxHeight('calc(100vh - 16rem)'), ]); }
Usage
use Filament\Tables\Table; public function table(Table $table): Table { return $table ->columns([ // ... ]) ->verticalScrollable(); }
Custom container height:
$table->verticalScrollable('400px'); // or $table->verticalScrollable('50vh'); // or $table->verticalScrollable('calc(100vh - 12rem)');
How it works
->verticalScrollable()marks the table with thefi-ta-vertical-scrollableclass.- CSS limits the height of the content container (
.fi-ta-content/.fi-ta-content-ctn) and enablesoverflow-y: auto. theadusesposition: sticky, so the header stays visible while rows scroll.
Compatibility: Filament 3 / 4 / 5.
Configuration
php artisan vendor:publish --tag="filament-table-vertical-scroll-config"
// config/filament-table-vertical-scroll.php return [ 'max_height' => 'calc(100vh - 20rem)', ];