makraz/ux-vvvebjs
A Laravel package that integrates the VvvebJs drag-and-drop page builder, letting you create and edit HTML pages visually. It provides UX components and assets for quick setup and customization in Laravel applications.
ux-vvvebjs is a credible "assemble, don't build" option for drag-and-drop HTML/page editing — a form type plus a Stimulus controller instead of a multi-month editor project. At v0.1.0 it supports a prototype/spike decision, not a platform bet.symfony/stimulus-bundle, PHP 8.1+). For a Laravel product this is effectively a no-go without a port — the decision it informs is "is the underlying VvvebJs library worth integrating ourselves?", not "can we install this?"VvvebJsAdminField, one-liner), marketing landing pages stored as HTML in a hidden field, template editing with Bootstrap 5 component groups, read-only preview workflows (readOnly), and multi-editor pages.public/, Flysystem/S3/GCS/Azure/SFTP, or a custom UploadHandlerInterface), max file size (10 MB default), allowed MIME types, and whether assets come from jsDelivr CDN or are self-hosted via cdn_url.cdn_url override keeps a self-hosted path open, which is the option to standardize on if it ships.Consider it when:
symfony/stimulus-bundle ≥ 2.9.1 already present.UploadHandlerInterface or pointing Flysystem at your bucket.Look elsewhere when:
POST /vvvebjs/upload) needs hardening beyond what's shipped, or your threat model treats a public write endpoint as a blocker without an audit.To executives: This is a low-cost experiment, not a platform commitment. A first experimental release now exists that drops a full drag-and-drop page builder into Symfony admin forms with no custom front-end work, including six component groups, six plugins (Google Fonts, CodeMirror, JSZip, Animate on Scroll, AI assistant, media), and three storage backends for uploads. The ask is one short spike to answer a roadmap question — "is visual page authoring worth investing in?" — before we spend real engineering quarters on it. Framing caveat: this is a Symfony package, so if we are building on Laravel, the honest version of the pitch is "the underlying editor is worth evaluating; this wrapper is not usable for us." Either way, the downside is bounded to spike effort, and the answer is a decision, not a dependency.
To engineering: Symfony-native integration — VvvebJsType renders the builder inline and writes HTML into a hidden field; multiple instances per page are supported; a Stimulus controller manages the iframe lifecycle with HTML sync on submit and unload; works with both AssetMapper and Encore. Uploads go through a built-in controller with local, Flysystem, or custom-handler backends. The constraints are real: v0.1.0, no backwards-compatibility guarantee, default assets from jsDelivr (override with cdn_url), and a new public upload route that needs a security pass on MIME validation and size limits before anything customer-facing. Recommended posture: pin the exact version, wrap the form type and upload handler behind our own thin adapter so an upstream breaking change costs us an afternoon, self-host the assets, and treat the editor as an internal-tool capability first — then re-evaluate at 1.0.
How can I help you explore Laravel packages today?