serhii-antoniuk / filament-mineral-theme
A considered theme for Filament panels.
Package info
github.com/sergfront/filament-mineral-theme
Language:Python
pkg:composer/serhii-antoniuk/filament-mineral-theme
Requires
- php: ^8.2
- filament/filament: ^4.0 || ^5.0
- illuminate/contracts: ^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.0
- orchestra/testbench: ^10.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A calm, readable theme for Filament 4 and 5 panels. Mineral keeps Filament's own components and adds a quiet palette, comfortable surfaces and clear focus states, in both light and dark mode.
Features
- Default palette in light and dark mode, with text, muted and accent colors checked for contrast
- Compiled CSS overlay on top of Filament's stylesheet: no npm build in your application
- Density setting (compact, default, comfortable) and standard sidebar
- Visible keyboard focus on buttons, tabs, pagination and form fields
- No overrides of Filament's Blade views
Requirements
- PHP 8.2 or newer
- Laravel 12
- Filament 4 or 5
- A modern browser with CSS
:has()support (Safari 16.4+, Chrome 111+, Firefox 121+)
Installation
composer require serhii-antoniuk/filament-mineral-theme php artisan filament:assets
Register the plugin in your panel provider:
use SerhiiAntoniuk\Mineral\MineralThemePlugin; public function panel(Panel $panel): Panel { return $panel // ... ->plugin(MineralThemePlugin::make()); }
Keep Filament's own stylesheet enabled: Mineral is an overlay, not a replacement.
Configuration
Publish the config file to change the defaults:
php artisan vendor:publish --tag=mineral-theme-config
Options set fluently on MineralThemePlugin::make() take priority over the config file.
Development
composer install
npm ci
npm run build
npm run contrast
composer test
License
MIT. Questions and bug reports: GitHub issues or sergefrontend@gmail.com.

