alonadashko/filament-table-vertical-scroll

Filament plugin that makes tables vertically scrollable with a sticky header row via ->verticalScrollable().

Maintainers

Package info

github.com/Alena009/filament-table-vertical-scroll

pkg:composer/alonadashko/filament-table-vertical-scroll

Transparency log

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-08-24 11:57 UTC

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

  1. ->verticalScrollable() marks the table with the fi-ta-vertical-scrollable class.
  2. CSS limits the height of the content container (.fi-ta-content / .fi-ta-content-ctn) and enables overflow-y: auto.
  3. thead uses position: 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)',
];