Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Livewire Flux Editor Filemanager Laravel Package

darvis/livewire-flux-editor-filemanager

A Livewire Flux editor file manager package for Laravel. Browse, upload, and manage files through a clean interface, and integrate file selection into Flux-powered editors. A simple way to add media handling to Livewire applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for rich-text authoring. This is a composition layer over Flux Pro's editor, not a standalone editor. It wires Laravel Filemanager into the toolbar, registers Image/Link extensions with extra attributes (class, style, data-align), adds image resize/align, an HTML-source modal, drop/paste handling, and table toolbar wiring. If the roadmap says "CMS-grade authoring in Laravel," this is a credible 1–2 week alternative to a quarter of custom glue work — assuming the stack match is already in place.
  • Media governance and storage strategy. Image and file browsing ride on Laravel Filemanager (?type=Images, ?type=Files), Laravel storage disks, upload limits, and whatever authorization Filemanager already enforces. Adopting the package therefore implies adopting Filemanager's folder model, permission model, and retention/cleanup policy. That is a platform decision with its own review — not merely an editor feature ticket.
  • Authoring scope ladder, tiered by preset. Minimal (bold, link) for comments and internal notes; full for CMS and marketing pages with images, file links, tables, code blocks, horizontal rules, and HTML-source editing. Every capability shipped is also a capability authors can misuse — HTML source editing plus direct style/class injection on images and links makes the sanitizer and the content style guide part of the product surface.
  • Round-trip fidelity as a data-integrity requirement. The HTML-source modal round-trips content through getHTML() → setContent(), and tags without a registered extension are dropped (the modal names them in advance). Tables now survive because Flux's table extensions are enabled. Any ingestion path — API payloads, imports, legacy CMS migrations, email-to-content — must be tested against this rule. "What survives an edit-and-save" belongs in the written requirements, not in a production discovery.
  • Install and verification tooling as the adoption wedge. flux-filemanager:install publishes config/assets and patches the app.js setup block; flux-filemanager:check reports missing wiring; a checklist page mirrors the same signal in the admin UI. That tooling — not the feature list — is the durable reason to adopt rather than copy-pasting Flux docs, and it frames rollout as an upgrade plus a validation gate.
  • Dependency-floor sequencing. Recent releases pin a minimum Flux Pro version (2.15.1+ for tables) and a hard app.js registration contract. "Do we take this package?" is inseparable from "are we willing to track Flux Pro releases?" Anyone below the floor gets a disabled table button and a console-only explanation.
  • Roadmap risk register. Four stars, zero dependents, one maintainer. That is not a rejection criterion — MIT license, small surface, readable code keep exit cost low — but it should shape sequencing: adopt on a non-critical surface first, document the vendored JS/CSS contract in-house, and never let the package become the only thing standing between the team and a release.
  • Image strategy per surface. drag_drop.method = upload produces stored URLs appropriate for persisted content; the base64 default is fine for prototypes but bloats the database column and the HTML source. Decide once per editor instance and write it down.
  • Localization commitments. Toolbar labels, table menu items, and checklist strings are all translation keys. Enabling full for a non-English market is a checklist item, not an afterthought.

When to Consider This Package

Consider it when:

  • The application is Laravel + Livewire on Flux Pro and already uses, or plans to use, flux:editor in forms. The package assumes Flux's setup-block convention and the flux:editor extension-registration event; outside that stack it delivers nothing.
  • You already run Laravel Filemanager, or you are prepared to adopt it wholesale. The image and file-link buttons open Filemanager popups and depend on its window.SetUrl callback. There is no supported path to swap in a different media backend without custom work.
  • You can absorb a Flux Pro version floor — 2.15.1+ if table authoring matters — and have a repeatable way to track and test Flux upgrades.
  • The authoring requirements are mainstream CMS: images with resize/align/alt, file links, tables with header rows and merge/split, code blocks, horizontal rules, and raw HTML editing. That is precisely the shipped surface.
  • You want proof before commitment. The install → check → click image → insert → save → reload round-trip is a same-day smoke test. Run it on one internal form before it appears in a roadmap commitment.
  • You need low exit cost. Small, readable, MIT-licensed code with a documented vendored JS/CSS contract is the profile of a dependency you can fork or replace in days rather than quarters.

Look elsewhere when:

  • The stack is not Flux Pro, or the team is unwilling to pay for and track Flux Pro. There is no free-tier path here; the editor itself is the paid dependency.
  • You need Word/Sheets paste fidelity, cell backgrounds, column widths, cell alignment, or row/column drag-reordering. None of these are covered. Budget custom Tiptap/ProseMirror work — which largely defeats the buy case.
  • You need a headless or API-first content model. This is HTML-in-a-column tooling; if the roadmap is structured content, blocks, or JSON documents, this is the wrong primitive.
  • You need enterprise support, a security review trail, or vendor accountability. One maintainer, four stars, no dependents. Fine for a non-critical surface; not fine as a load-bearing dependency in a regulated release path.
  • Filemanager is off the table for governance or licensing reasons. Then this package's central value proposition — "insert from your existing media library" — evaporates.
  • Your sanitization policy forbids style/class/data-* on inline elements. The image and link extensions deliberately persist those attributes; retrofitting a stricter model means fighting the package's data shape.

How to Pitch It (Stakeholders)

For executives — a one-paragraph summary:

This package gives our Laravel forms a production-quality rich-text editor with media, file links, tables, and image sizing, in roughly the time it takes to wire one integration rather than build one. It is not a new platform: it sits on top of Flux Pro, which we license, and Laravel Filemanager, which owns our media storage and permissions. The cost is a dependency on a young, single-maintainer, MIT-licensed package plus a commitment to track Flux Pro releases — bounded risk, because the code is small and replaceable. Recommendation: pilot it on one internal, non-customer-facing authoring surface, gate the pilot on our existing Filemanager governance review, and revisit for the customer-facing CMS once the upgrade-tracking cadence is proven.

For engineering — what we are actually signing up for:

  • A stack contract, not a library. resources/js/app.js must import the package's JS and CSS from vendor/, register Image and Link extensions on the flux:editor event, and enable Flux's bundled table extensions. Treat that block as a versioned interface: keep the namespace import and the optional calls (createImageDropPastePlugin?.(), enableExtension?.()) so a lagging vendor/ copy degrades one feature instead of killing the whole toolbar.
  • A media dependency. Files and images live behind Laravel Filemanager routes, disks, and limits. Configuration is config/flux-filemanager.php — disk, paths, upload limits, resize_presets, drag_drop.method. That config is now part of our deployment surface.
  • A verification habit. php artisan flux-filemanager:check plus the checklist page in CI and in the admin. Run it after every Flux or package upgrade; a missing extension should fail a build, not ship as a silently disabled button.
  • A debugging runbook worth writing down once. check → checklist page → app.js import/registration → browser console → editor.getHTML(). That ordering resolves nearly every "the button does nothing" ticket without an investigation.
  • Hard rules to prevent self-inflicted bugs. Never handle hr, code-block, or table-* in app.js — Flux's toolbar handler owns those clicks and a second handler runs the command twice. Do not break the CSS chain (tiptap-table.css is imported by tiptap-image.css); skipping the image stylesheet silently loses table styling. Review the installer diff — it is a codemod against an existing setup block and can duplicate lines on a customized app.js.
  • Known content-model gaps, stated up front. Cells always contain a <p>, tables require the full preset, and cell backgrounds, column widths, cell alignment, and Word/Sheets paste fidelity are not covered. Disabled-button state is console-only today; if table authoring matters to content editors, we surface it in our own UI.
  • Localization is a task, not a toggle. Twelve table keys plus all toolbar strings need translating before a non-English launch.
  • Sequencing. Land the Flux Pro bump in its own PR. Then the package. Then the pilot form. Then the round-trip regression tests — including anything downstream that assumed <table> was stripped.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib