muazzam/slick-scrollbar

Slick Scrollbar plugin for Filament panels (Filament v4).

Installs: 395

Dependents: 0

Suggesters: 0

Security: 0

Stars: 8

Watchers: 0

Forks: 1

Open Issues: 0

pkg:composer/muazzam/slick-scrollbar

v1.0.0 2025-09-05 23:32 UTC

This package is auto-updated.

Last update: 2025-10-06 17:48:28 UTC


README

πŸ“– About

Slick Scrollbar is a lightweight plugin that gives your Filament v4 panels clean, theme-aware scrollbars.
It automatically inherits your panel’s colors (secondary β†’ primary) and works seamlessly in both light and dark mode.

✨ Features

  • 🎨 Automatic theme colors β€” Uses panel secondary (500/600), or falls back to primary (500/600).
  • πŸŽ›οΈ Customizable β€” Override size, color, and hover color with CSS variables, hex, RGB, OKLCH, or Filament Color palettes.
  • πŸ–₯️ Cross-browser support β€” Works on Firefox, Chrome, Edge, and Safari.
  • πŸŒ— Dark mode ready β€” Adapts to your Filament theme out of the box.

πŸ“¦ Installation

Install via Composer:

composer require muazzam/slick-scrollbar

Filament will auto-discover the service provider.

βš™οΈ Usage

Enable the plugin in your panel provider:

use Muazzam\SlickScrollbar\SlickScrollbarPlugin;

public function panel(\Filament\Panel $panel): \Filament\Panel
{
    return $panel->plugins([
        SlickScrollbarPlugin::make(),
    ]);
}

That’s it πŸŽ‰ β€” scrollbars will automatically use your panel’s theme colors.

🎨 Configuration & Customization

Default behavior

If your panel defines custom colors:

->colors([
    'primary' => \Filament\Support\Colors\Color::Amber,
    'secondary' => \Filament\Support\Colors\Color::Cyan,
])

The plugin will use:

  • Secondary: 500 for normal, 600 for hover
  • If no secondary is defined β†’ Primary: 500 for normal, 600 for hover
  • If neither are set, the plugin falls back to safe defaults (amber / cyan).

Override settings

use Filament\Support\Colors\Color;

SlickScrollbarPlugin::make()
    ->size('6px')                   // scrollbar width/height (default: 8px)
    ->palette('primary')            // force panel palette ('primary' or 'secondary')
    ->color(Color::Amber)           // use a Filament palette (500 normal, 600 auto for hover)
    ->hoverColor(Color::Amber, 700) // pick a custom shade
    ->color('#ef4444')              // hex
    ->hoverColor('rgb(220 38 38)')  // rgb()
    ->color('var(--primary-500)');  // reference CSS vars directly

πŸ“Έ Screenshots

alt text

πŸ“‹ Requirements

  • PHP ^8.2
  • Laravel ^10 | ^11 | ^12
  • Filament ^4.0

πŸš€ Versioning

  • v1.x β†’ Compatible with Filament v4
  • Future Filament majors will get their own major version of this package (e.g. v2.x).

πŸ”§ Development

Clone and install:

git clone git@github.com:muazzam/slick-scrollbar.git
cd slick-scrollbar
composer install

In your app’s composer.json:

"repositories": [
  {
    "type": "path",
    "url": "../slick-scrollbar",
    "options": { "symlink": true }
  }
]

Require it locally:

composer require muazzam/slick-scrollbar:*@dev

πŸ“ License

This package is open-sourced software licensed under the MIT license.

❀️ Credits

  • Muazzam Khan – Author
  • Filament – Admin