kisame76/filament-advanced-rich-editor
Advanced rich text editor for Filament and Laravel admin panels. Adds a customizable WYSIWYG field with formatting, media, and content tools, making it easy to author, edit, and manage polished rich content directly in forms, resources, and admin interfaces. Built for FilamentPHP and Laravel project...
/enum finds énumération). This turns localization from "we'll ship English UI and hope" into something you can put in front of regional editorial teams. The caveat is explicit and belongs in the decision: the new translations are AI-generated, only English and German have had a native speaker read them. Plan for native review before an editorial team depends on the chrome.invisibles, descriptionList) follow the same pattern — capability flags, not forks.P, H2, LI) without touching the stored HTML, clipboard, or undo history. That's a support-and-training lever for non-technical authors and a debugging lever for whoever owns the content model — cheap to ship, and it reduces "why does this paragraph look wrong" tickets.<dl>/<dt>/<dd>, /glossary, Markdown round-trip, off by default) let glossaries, spec sheets, and term/definition content be modeled properly instead of faked as bolded bullets. Relevant if you're deciding whether your CMS can hold reference content — but it's a per-field opt-in and a published config must be re-published to see the new key.Good fit when:
Look elsewhere when:
Operational note for adopters (new in v1.7.0): assets are now split into two stylesheets — filament-advanced-rich-editor.css on every panel page and filament-advanced-rich-editor-overlays.css loaded on demand via x-load-css. The overlays sheet must be published: php artisan filament:assets is now mandatory after every update, and skipping it renders pickers, menus and dialogs unstyled. Several scripts (menu-position.js, image-panel.js, color-picker.js, font-size-picker.js, and the new invisibles script) are now Alpine components loaded at runtime. Put the publish step in your deploy pipeline and in your upgrade runbook, and budget a smoke test of the overlay UI after each bump. Published config files also need re-publishing to receive the new invisibles key and the fourth lists entry.
Honest read on the signal: still a young, single-maintainer, MIT-licensed package with negligible adoption evidence. What v1.7.0 changes is the quality of that signal: this is a dense, self-aware release — real profiling numbers, an explicit fix for a current framework version, and a changelog that tells you what it broke and how to recover. That's a meaningfully better maintenance signal than a feature-drop, and it should raise your confidence in the fork path. It doesn't change the structural risk. Price it as a tactical adoption with a fork budget, not a strategic platform dependency, and assume you may be the one fixing it.
To executives: We can deliver a modern, Notion-class authoring experience — self-arranged toolbars, slash commands, media browsing, accessibility checking, autosaved drafts, glossary support, and twelve-language UI — in one integration instead of a multi-sprint build. It's MIT-licensed, so there's no per-seat cost and no lock-in. The latest release also removes the performance ceiling that would have forced us to limit editors to one per page: pages with twenty embedded editors now render roughly a third faster, and the whole stylesheet payload dropped from 128 KB to 80 KB on pages that don't use an editor. The honest caveats: it's an early-stage open-source project with a single maintainer, and the newly added translations are machine-generated and not yet native-reviewed. So we adopt it deliberately: pinned version, isolated behind our own interface, a deploy step to publish its assets, a review pass on translations for any non-English team, and an escape hatch back to the stock editor. Downside risk is bounded to a few days of engineering; upside is a release cycle of editor work we don't have to staff.
To engineering: Drop-in replacement for Filament v5's RichEditor — PHP configuration, no JS build pipeline to own, no new runtime services. Media handling rides on Spatie Media Library where present. What changed in v1.7.0 and what you should review before committing: styles are split into a base sheet plus a lazy-loaded overlays sheet, and per-widget scripts are now Alpine components loaded via x-load-src/x-load-css — so the upgrade path includes php artisan filament:assets and a config re-publish for published configs. Performance work targets per-editor hot paths (:has() scoping, deferred font-size measurement, one menu-position.js instead of one per menu), so repeater and multi-locale layouts are now in scope. The parts still worth owning tests on: how it persists and rewrites stored HTML (including the new <dl> round-trip and Markdown serialization), the replace/delete fan-out to referencing documents, and the extension points (MediaSource, ReplacesMedia) if we plug in our own asset pool. Note that picker behaviour is now tested as JavaScript rather than asserted as strings in PHP — our smoke tests should exercise the overlays, not just the field.
The ask: a short timeboxed spike to validate fit against our content model — including a repeater page and one non-English locale — then adoption behind an abstraction layer with a pinned version, a documented asset-publish step, and a documented fork path.
How can I help you explore Laravel packages today?