v1.0.0 · MIT License

Six profile palettes for
Laravel Filament

Emerald, Ocean, Violet, Amber, Rose, and Slate — switched from an Appearance page or the header. Persistence via Spatie Settings, a user column, or session.

PHP 8.3+ Laravel 13 Filament 5 MIT License

Everything you need

Theme tokens live in config. No product copy is baked into the plugin.

Six palettes

Emerald Forest, Ocean Teal, Royal Violet, Sunset Amber, Coral Rose, Graphite Slate.

Appearance page

Filament Settings page. ThemeManager writes the chosen key.

Header switcher

Optional USER_MENU_BEFORE hook so operators can change palette in place.

CSS variables

Injects --spiggle-primary, --spiggle-accent, --spiggle-ink on HEAD_END.

Persistence

settings (Spatie), user_attribute, or session — set in config.

Inter + colors

Panel font is Inter. Primary maps to Color::hex of the current palette.

Palettes

Keys are stable. Labels are for the UI only.

KeyProfilePrimary
emeraldEmerald Forest#059669
oceanOcean Teal#0d9488
violetRoyal Violet#7c3aed
amberSunset Amber#d97706
roseCoral Rose#e11d48
slateGraphite Slate#334155

How it works

Up and running in three steps.

1

Install

composer require spiggle/filament-visual-theme
php artisan vendor:publish --tag=filament-visual-theme-config
2

Register

use Spiggle\FilamentVisualTheme\VisualThemePlugin;

$panel->plugin(VisualThemePlugin::make());
3

Persistence

Default is Spatie Settings. Switch to a user column or session in config.

Other Spiggle packages