northwestern-sysdev/northwestern-filament-theme
A branded Filament theme plugin for Northwestern University applications. It applies the official NU color palette, typography, and institutional styling to any Filament panel, and can also be imported into your panel's Vite-compiled stylesheet.
composer require northwestern-sysdev/northwestern-filament-theme
PanelProvider:
use Northwestern\FilamentTheme\NorthwesternTheme;
public function panel(Panel $panel): Panel {
return $panel
->plugins([
NorthwesternTheme::make(),
]);
}
php artisan filament:assets
Apply the Northwestern theme to your Filament admin panel immediately. The package automatically:
Basic Integration:
NorthwesternTheme::make()
->footer() // Enable footer for public-facing panels
->withoutEnvironmentIndicator(); // Disable for production-like staging
Vite Theme Integration (for Tailwind users):
php artisan northwestern-theme:install
Then configure in PanelProvider:
NorthwesternTheme::make()
->withoutAssetRegistration();
Now use NU colors in your CSS:
.button { background: theme('colors.nu-gold.500'); }
Conditional Features:
NorthwesternTheme::make()
->footer(enabled: fn () => auth()->check())
->impersonationBanner(visible: fn () => session()->has('impersonating'));
php artisan vendor:publish --tag=northwestern-filament-theme-views) to customize:
bg-nu-purple-100, text-nu-gold, etc. (requires Vite integration).// Admin panel (no footer)
NorthwesternTheme::make()->withoutFooter();
// Public panel (with footer)
NorthwesternTheme::make()->footer();
northwestern-laravel-ui: The theme auto-detects config from the UI package (e.g., office.* for footers).viteTheme() remains intact.Double-Loading Assets:
filament:assets and Vite integration are enabled.withoutAssetRegistration() when using Vite:
NorthwesternTheme::make()->withoutAssetRegistration();
<link> tags.CDN Dependencies:
common.northwestern.edu. Blocked CSP or restricted networks will break them.<meta http-equiv="Content-Security-Policy" content="... img-src https://common.northwestern.edu ...">
Footer Overrides:
northwestern-laravel-ui isn’t installed.NorthwesternTheme::make()->footer(
officeName: 'Custom Office',
officeAddr: '123 Main St'
);
Impersonation Banner Conflicts:
lab404/laravel-impersonate + this package.NorthwesternTheme::make()->withoutImpersonationBanner();
php artisan view:clear
!important sparingly—NU’s theme uses utility classes (e.g., .nu-purple-bg). Override with:
.my-class { --nu-purple-100: #yourcolor !important; }
tinker:
php artisan tinker
>>> NorthwesternTheme::make()->environmentIndicator()->visible()
theme() function in tailwind.config.js:
theme: {
extend: {
colors: {
'nu-custom': '#yourhex',
}
}
}
NorthwesternTheme::make()
->footer(enabled: config('app.show_footer'));
pnpm build:css:watch for live CSS updates.composer fix
pnpm test:visual
NorthwesternTheme::make()->modalsWithoutBorders();
.filament-table th { background: var(--nu-purple-surface) !important; }
notifications.css, badges.css) for easier overrides.composer update).How can I help you explore Laravel packages today?