Emerald, Ocean, Violet, Amber, Rose, and Slate — switched from an Appearance page or the header. Persistence via Spatie Settings, a user column, or session.
Theme tokens live in config. No product copy is baked into the plugin.
Emerald Forest, Ocean Teal, Royal Violet, Sunset Amber, Coral Rose, Graphite Slate.
Filament Settings page. ThemeManager writes the chosen key.
Optional USER_MENU_BEFORE hook so operators can change palette in place.
Injects --spiggle-primary, --spiggle-accent, --spiggle-ink on HEAD_END.
settings (Spatie), user_attribute, or session — set in config.
Panel font is Inter. Primary maps to Color::hex of the current palette.
Keys are stable. Labels are for the UI only.
| Key | Profile | Primary |
|---|---|---|
| emerald | Emerald Forest | #059669 |
| ocean | Ocean Teal | #0d9488 |
| violet | Royal Violet | #7c3aed |
| amber | Sunset Amber | #d97706 |
| rose | Coral Rose | #e11d48 |
| slate | Graphite Slate | #334155 |
Up and running in three steps.
composer require spiggle/filament-visual-theme php artisan vendor:publish --tag=filament-visual-theme-config
use Spiggle\FilamentVisualTheme\VisualThemePlugin; $panel->plugin(VisualThemePlugin::make());
Default is Spatie Settings. Switch to a user column or session in config.