spykapps/theme-aberdeen
Aberdeen is a refined, minimal Filament theme with tight spacing, subtle shadows, warm-amber accents, compact UI elements, smooth transitions, and full dark mode support. Built for Filament v4/v5; install via artisan command and register as a panel plugin.
Install the package:
composer require spykapps/theme-aberdeen
Run the installer:
php artisan aberdeen:install
Register the plugin in your panel provider:
use SpyApp\ThemeAberdeen\ThemeAberdeenPlugin;
public function panel(Panel $panel): Panel {
return $panel
->plugin(ThemeAberdeenPlugin::make());
}
Compile assets (if using Vite):
npm run build
Apply the theme to a new Filament admin panel or existing panel to instantly upgrade its visual design with minimal configuration. Ideal for:
Theme Integration:
resources/css/filament.css).Panel-Specific Customization:
ThemeAberdeenPlugin in multiple panels independently by registering it per panel in your PanelProvider.// app/Providers/Filament/AdminPanelProvider.php
public function panel(Panel $panel): Panel {
if ($panel->getId() === 'admin') {
return $panel->plugin(ThemeAberdeenPlugin::make());
}
return $panel;
}
Dark Mode:
Component-Level Overrides:
/* resources/css/filament.css */
.filament-tables-table th {
padding: 0.5rem 0.75rem; /* Override compact spacing */
}
Dynamic Theming: Combine with Filament’s dynamic themes to switch between Aberdeen and other themes at runtime.
$panel->theme('aberdeen'); // Hypothetical; check for API changes.
Custom Accents: Override the warm-amber palette by extending the theme’s CSS variables:
:root {
--aberdeen-primary-500: #ff6b35; /* Custom amber */
}
Plugin Integration: Use the theme’s subtle shadows and tight spacing to design custom Filament plugins with a cohesive look.
Asset Compilation:
npm run build after installation may leave styles unapplied.package.json:
"scripts": {
"postinstall": "npm run build"
}
CSS Specificity:
!important) may override them unintentionally.Dark Mode Conflicts:
Panel Detection Issues:
PanelProvider and skip the installer’s panel detection.Inspect Styles:
Use browser dev tools to check if Aberdeen’s classes (e.g., .aberdeen-shadow) are loaded. Missing classes often indicate a build or import issue.
Clear Cache: After changes, run:
php artisan view:clear
php artisan cache:clear
Customize Spacing:
Override the theme’s gap, padding, and margin values via CSS variables:
:root {
--aberdeen-spacing-xs: 0.25rem; /* Override smallest spacing */
}
Add Animations: Extend the theme’s transitions by targeting interactive elements:
.aberdeen-transition {
transition: all 200ms ease-in-out;
}
Localization: The theme supports Filament’s RTL mode out-of-the-box. Test with:
$panel->direction('rtl');
Testing: Use Filament’s testing utilities to verify theme consistency across views:
$this->get('/admin')
->assertSee('.aberdeen-shadow')
->assertSee('.filament-dark\:bg-gray-800');
How can I help you explore Laravel packages today?