Editorial Theme plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Editorial Theme by Jefferson Gonçalves

Community

Editorial Terminal — a paper + terminal theme for Filament 3, 4 and 5, the one behind jeffersongoncalves.dev.br. Fraunces (display), DM Sans (UI) and JetBrains Mono (code), bundled — no Google Fonts request Ink / paper / amber palette with dark (default) and light schemes driven by semantic tokens Paper-grain overlay, amber scrollbars, sidebar layout fixes for Livewire morphing Footer and sidebar-status partials, external links opened in a new tab Optional terminal-style login with a light/dark

Tags: Theme
Supported versions:
5.x 4.x 3.x
Jefferson Gonçalves avatar Author: Jefferson Gonçalves

Package health

Automated checks of this plugin's Composer package

100 / 100
Security 100
Maintenance 100
Ecosystem 100
15 checks
  • Passed: GitHub Actions pinned to SHA
  • Skipped: GitLab CI includes pinned to SHA
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No open Dependabot PRs.
  • Skipped: Renovate MR responsiveness
  • Passed: Dependabot or Renovate configured
  • Passed: Dependency update cooldown configured
  • Passed: Provides a security policy
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 0 days ago; last release 0 days ago.
  • Passed: composer.lock not committed by library — composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Passed: Current Laravel version supported — Package dependencies resolve together with current Laravel 13.0.
  • Passed: Current PHP version supported — Constraint ^8.2 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 14 hours ago

Documentation

Version:

Filament Editorial Theme

Buy Me A Coffee

Latest Version on Packagist Tests Total Downloads License

Editorial Terminal — a paper + terminal theme for Filament 3, 4 and 5, the one behind jeffersongoncalves.dev.br.

  • Fraunces (display), DM Sans (UI) and JetBrains Mono (code), bundled — no Google Fonts request
  • Ink / paper / amber palette with dark (default) and light schemes driven by semantic tokens
  • Paper-grain overlay, amber scrollbars, sidebar layout fixes for Livewire morphing
  • Footer and sidebar-status partials, external links opened in a new tab
  • Optional terminal-style login with a light/dark toggle

#Compatibility

Branch Filament Package version
1.x 3.x ^1.1
2.x 4.x ^2.0
3.x 5.x ^3.0

1.0.0 was a Filament 5 build published before the branches were split — on Filament 5 require ^3.0.

#Screenshots

Screenshot Light Dark
Login login login
Dashboard dashboard dashboard
Resource list resource-list resource-list
Resource edit resource-edit resource-edit

#Starter kits

Start a new project with the theme already wired in: admin, app and guest panels, multi-auth, terminal login and developer logins.

Kit Filament Install
EditorialTheme v5 5.x composer create-project jeffersongoncalves/editorialthemev5 my-app
EditorialTheme v4 4.x composer create-project jeffersongoncalves/editorialthemev4 my-app
EditorialTheme v3 3.x composer create-project jeffersongoncalves/editorialthemev3 my-app

#Installation

composer require jeffersongoncalves/filament-editorial-theme:"^3.0"

The theme ships as CSS that your panel's Vite theme imports. If the panel has no custom theme yet, create one with php artisan make:filament-theme, then make resources/css/filament/admin/theme.css look like this:

@import '../../../../vendor/filament/filament/resources/css/theme.css';
@import '../../../../vendor/jeffersongoncalves/filament-editorial-theme/resources/css/theme.css';

/* Tailwind v4 only keeps utilities found in @source files: include the theme's partials. */
@source '../../../../vendor/jeffersongoncalves/filament-editorial-theme/resources/views';

@source '../../../../app/Filament';
@source '../../../../resources/views/filament';

/* Your overrides below */

Make sure the file is a Vite input and the panel uses it (->viteTheme('resources/css/filament/admin/theme.css')), then build with pnpm run build (or npm run build).

#Usage

use JeffersonGoncalves\FilamentEditorialTheme\EditorialThemePlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->viteTheme('resources/css/filament/admin/theme.css')
        ->plugin(
            EditorialThemePlugin::make()
                ->logo(fn () => asset('img/logo.svg'))
                ->brandName('Acme Inc.')
                ->terminalLogin(),
        );
}

#Options

Method Default
primaryColor(array $color) amber Panel primary palette (e.g. Color::Green)
grayColor(array $color) ink/paper Panel gray palette
logo(string|Htmlable|Closure) / brandName(string|Closure) — Shortcuts for the panel brand
terminalLogin(bool) off Terminal-style login page (Pages\Auth\Login)
footer(bool) on Footer partial
footerCopyright(…) / footerRight(…) © {year} · {app.name} / empty Footer contents (string, HTML or Closure)
sidebarStatus(bool) on "status · production/local" block pinned to the bottom of the sidebar
sidebarStatusVersion(…) — Version shown next to the status, e.g. fn () => config('app.version')
externalLinks(bool) on Open cross-host links in a new tab (noopener noreferrer)
fonts(bool) on Use the bundled DM Sans / JetBrains Mono / Fraunces as the panel fonts (no font CDN); false keeps the fonts you set with ->font()
paperGrain(float $opacity) 0.06 dark / 0.04 light Paper-grain overlay opacity
textOnAccent(string $color) ink (dark) / #fff (light) Text color on primary buttons — set it when your primaryColor() needs a different contrast

Everything else is a CSS token: override --surface-*, --text-*, --accent, the fonts (--font-serif, --font-sans, --font-mono in an @theme block) and the rest below the @import in your theme file.

#Terminal login

->terminalLogin() swaps the panel login for the bundled page. To customize it, extend it and point the panel at your class:

namespace App\Filament\Admin\Pages\Auth;

class Login extends \JeffersonGoncalves\FilamentEditorialTheme\Pages\Auth\Login
{
    protected function getCredentialsFromFormData(array $data): array
    {
        return [...parent::getCredentialsFromFormData($data), 'status' => true];
    }
}

$panel->login(\App\Filament\Admin\Pages\Auth\Login::class);

Behind the terminal you can show a blurred preview of any view (your public homepage, for instance) — publish the config and set login.preview_view:

php artisan vendor:publish --tag=filament-editorial-theme-config

The login and status strings ship in 19 languages (ar, az, de, en, es, fa, fr, hi, it, ja, nl, pl, pt, pt_BR, ru, tr, uk, uz, zh_CN).

#Gotchas

The theme includes layout fixes that look unusual but exist for concrete reasons — keep them if you copy the CSS:

  • Sidebar layout fixes are desktop-only (@media (min-width: 1024px)): on mobile the sidebar is a drawer; pinning the wrapper to 81px would leave an empty gutter.
  • min-height: 0 on .fi-sidebar-nav is what lets overflow-y: auto clip — without it the sidebar footer scrolls off-screen.
  • --text-on-accent is #fff in the light scheme because amber-600 is too dark for ink text to read well.
  • Outlined primary buttons keep currentColor icons instead of --text-on-accent, so the icon matches the label on a transparent background.
  • Scrollbars use tokens (--accent on --surface-base) — they're part of the visual identity.

#Requirements

  • PHP 8.2 or higher
  • Filament 5.x

#Testing

composer test

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see License File for more information. The bundled fonts are licensed under the SIL Open Font License 1.1 — see resources/fonts/OFL.md.

The author

Jefferson Gonçalves avatar Author: Jefferson Gonçalves

I'm a Full Stack PHP Developer from Assis, SP, Brazil with over 18 years of hands-on experience building robust platforms, managing server infrastructures, and crafting scalable solutions for businesses of all sizes.

My passion lives in the open source world — I actively maintain 20+ Filament plugins and a growing collection of Laravel packages used by thousands of developers worldwide. I believe great software should be accessible to everyone.

Plugins
41
Stars
203

From the same author

Scanner Guard plugin thumbnail

Scanner Guard

Filament UI for jeffersongoncalves/laravel-scanner-guard: list, filter and unban vulnerability-scanner IPs directly from your admin panel. This plugin ships a read-only Resource over the scanner_guard_bans table, an active/expired filter, and unban / bulk unban actions.

Jefferson Gonçalves avatar Author: Jefferson Gonçalves
100 / 100 package health score out of 100
0 stars
Tag: Widget Tag: Analytics
Dark mode ready Multilingual support
Free
Get it now
Short URL plugin thumbnail

Short URL

A complete Filament v5 admin layer for jeffersongoncalves/laravel-short-url — the headless core package that owns the models, migrations, redirect pipeline, tracking and every business rule. This package duplicates none of that: it's the presentation layer (Resources, Pages and Filament components) built on top of the core's Facade and contracts.

Jefferson Gonçalves avatar Author: Jefferson Gonçalves
100 / 100 package health score out of 100
3 stars
Tag: Analytics Tag: Widget
Dark mode ready Multilingual support
Free
Get it now
TeamKit v5 plugin thumbnail

TeamKit v5

Teamkit is a robust starter kit, designed to accelerate the development of modern web applications with a ready-to-use multi-panel structure.

Jefferson Gonçalves avatar Author: Jefferson Gonçalves
97 / 100 package health score out of 100
6 stars
Tag: Kit
Dark mode ready Multilingual support
Free
Get it now
Ban plugin thumbnail

Ban

Ban and unban any Eloquent model directly from your Filament panel. This package wraps cybercog/laravel-ban and ships ready-to-use actions, bulk actions, an icon column and a status filter for your Filament resources and tables. Inspired by cybercog/laravel-nova-ban.

Jefferson Gonçalves avatar Author: Jefferson Gonçalves
100 / 100 package health score out of 100
0 stars
Tag: Action
Dark mode ready Multilingual support
Free
Get it now