A Filament v5 ERP-inspired theme package.
benriadh1/filament-benriadh-theme is a Laravel package for a filament v5 erp-inspired theme package..
It currently has 0 GitHub stars and 278 downloads on Packagist (latest version 1.0.0).
Install it with composer require benriadh1/filament-benriadh-theme.
Discover more Laravel packages by benriadh1
or browse all Laravel packages to compare alternatives.
Last updated
A reusable Filament v5 theme package built with a token-first architecture, preset system, accessibility guardrails, and extension hooks for long-term upgrade safety.
Release version: 1.0.0
surface, text, primary, danger, etc.)corporate, minimal, bold, neutral) + import/export commandsTranslationManagerAdapter referenceschema_version) + migration command for legacy config^8.2^11.0 || ^12.0 || ^13.0^5.0composer require benriadh1/filament-benriadh-theme
php artisan filament-benriadh-theme:install --migrate
Manual install remains available:
php artisan vendor:publish --tag="filament-benriadh-theme-config"
php artisan vendor:publish --tag="filament-benriadh-theme-assets"
php artisan vendor:publish --tag="filament-benriadh-theme-lang"
php artisan vendor:publish --tag="filament-benriadh-theme-migrations"
php artisan migrate
use Benriadh1\FilamentBenriadhTheme\FilamentBenriadhThemePlugin;
public function panel(Panel $panel): Panel
{
return $panel->plugins([
FilamentBenriadhThemePlugin::make(),
]);
}
FilamentBenriadhThemePlugin::make()
->preset('corporate')
->mode('auto')
->accentColor('#cba24c')
->sidebarGradient('#0f172a', '#111827')
->showLeftSidebar(true)
->compactSidebar(false)
->cardRadius('0.9rem')
->softShadows(true)
->tokens([
'primary' => '#2563eb',
])
->layout([
'compact_sidebar' => true,
]);
Main config file: config/filament-benriadh-theme.php
Core keys:
schema_versionasset_pathmodepresetpresetstokenslayoutbreadcrumbsbrandingapps_dropdownpanel_overridestenantextensionsa11yshow_theme_settings_pageLegacy keys are still supported and mapped into v1 schema for backward compatibility.
Controls the navigation grid shown in the topbar when the sidebar is hidden:
'apps_dropdown' => [
'max_items' => 15, // Maximum navigation items shown in the grid
],
The Theme Settings page is translated into 6 languages out of the box:
| Code | Language |
|------|------------|
| en | English |
| fr | French |
| ar | Arabic (RTL) |
| de | German |
| es | Spanish |
| pt | Portuguese |
Publish the language files to customize or add new locales:
php artisan vendor:publish --tag="filament-benriadh-theme-lang"
Files are placed under lang/vendor/filament-benriadh-theme/{locale}/messages.php.
panel_overrides to provide per-panel visual behavior.tenant.enabled + tenant.resolver to inject tenant branding at runtime.Benriadh1\FilamentBenriadhTheme\Contracts\TenantThemeResolverImplement these contracts to extend without forking:
Benriadh1\FilamentBenriadhTheme\Contracts\ThemeTokenTransformerBenriadh1\FilamentBenriadhTheme\Contracts\PluginThemeAdapterBenriadh1\FilamentBenriadhTheme\Contracts\TenantThemeResolverThe package ships with TranslationManagerAdapter as a reference implementation. It bridges the optional benriadh1/filament-translation-manager package by mapping its CSS variables to theme tokens. To activate it (or any custom adapter), register it in your config:
'extensions' => [
'plugin_adapters' => [
\Benriadh1\FilamentBenriadhTheme\Adapters\TranslationManagerAdapter::class,
// or your own adapter:
App\Theme\MyPluginAdapter::class,
],
],
The adapter is automatically skipped when the target plugin is not installed.
php artisan filament-benriadh-theme:install --migrate
php artisan filament-benriadh-theme:migrate-schema
php artisan filament-benriadh-theme:preset-export corporate
php artisan filament-benriadh-theme:preset-import ./preset.json my_custom --overwrite
php artisan filament-benriadh-theme:a11y-check --panel=admin
When enabled, the package registers:
Settings > Theme Settings/admin/theme-settingsValues are stored in filament_theme_settings and merged with config + runtime overrides.
composer install
composer test # runs Pest
composer lint # runs Laravel Pint
Test coverage includes CSS injection sanitization, color token validation, theme mode normalization, ThemeSetting::store() idempotency, and WCAG contrast ratio math.
MIT. See LICENSE.md.