Weave Code
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

Ux Quill Laravel Package

ehyiah/ux-quill

Symfony UX bundle integrating the Quill.js WYSIWYG editor. Drop-in QuillType form field with multiple editors per page, works with AssetMapper or Webpack Encore, and includes a Twig component to render saved content with optional inline styling.

View on GitHub
Deep Wiki
Context7

Symfony UX Bundle to use Quill JS wysiwyg text editor with full and easy customisation

Frequently asked questions about Ux Quill
Can I use this Symfony UX Quill bundle directly in Laravel without rewriting?
No, this package is designed for Symfony UX and requires adaptation for Laravel. You’ll need to replace Symfony’s `QuillType` with a Laravel-compatible form field (e.g., Livewire, Alpine.js, or custom Blade components) and handle asset loading via Vite or Mix instead of AssetMapper.
How do I install Quill.js in Laravel for rich-text editing?
Install Quill.js via npm (`npm install quill`) or CDN, then integrate it with Laravel Mix/Vite. For form handling, use Livewire or Alpine.js to mirror Symfony’s reactivity. Replace the Symfony `QuillType` with a custom solution or a Laravel form package like `collective/html`.
What’s the best way to handle Quill.js uploads in Laravel?
Create a Laravel route (e.g., `/api/upload`) with CSRF protection (using Laravel’s `@csrf` or Sanctum/JWT). Use Stimulus.js or Alpine.js to trigger uploads from the frontend. Store files in S3 or local storage via Laravel’s Filesystem.
How do I sanitize HTML content from Quill in Laravel?
Use Laravel’s built-in `Str::of()->allowedTags()` or a third-party sanitizer like HTML Purifier. Configure allowed tags (e.g., `<p>`, `<strong>`) to balance functionality and security. Avoid raw user input in Blade templates—always sanitize before rendering.
Is this package compatible with Laravel’s FilamentPHP or Nova admin panels?
No, the package’s `QuillAdminField` is Symfony EasyAdmin-specific. For Laravel, integrate Quill.js manually in Filament or Nova using custom fields. Use Livewire or Alpine.js for dynamic form interactions, and handle asset loading via Vite/Mix.
How do I replace the Twig `quill_content_styles()` and `QuillContent` component in Laravel?
For styles, import Quill’s CSS in your Vite/Mix entry file (e.g., `quill/dist/quill.snow.css`). Replace Twig components with Blade directives or JavaScript-based rendering (e.g., Alpine.js to parse and display HTML). Use `{{ $content|e }}` or `{{ $content|nl2br }}` cautiously for safety.
Will Quill’s toolbars/modules (e.g., tables, mentions) work in Laravel?
Yes, Quill’s JavaScript modules are framework-agnostic. Configure them in your Quill initialization (e.g., `modules: ['tables', 'mentions']`). For uploads or custom modules, use Laravel routes and Stimulus/Alpine.js to bridge frontend and backend logic.
What’s the best alternative for Quill.js in Laravel if I want a ready-made solution?
Consider Laravel-specific packages like `spatie/laravel-medialibrary` (for file uploads) + custom Quill integration, or all-in-one solutions like `beberlei/doctrineextensions` (for rich-text fields in Doctrine). For admin panels, FilamentPHP’s `RichText` field or Nova’s `HTML` field are Quill-compatible.
How do I debug Quill.js asset loading issues in Laravel (e.g., missing CSS/JS)?
Ensure Quill’s assets are compiled via Vite/Mix (`resources/js/app.js`). Check your `vite.config.js` or `webpack.mix.js` for proper imports (e.g., `quill/dist/quill.snow.css`). Use browser dev tools to verify files are loaded and inspect for 404 errors on CSS/JS paths.
Can I use this package with Laravel Livewire for real-time rich-text editing?
Yes, Livewire is a great fit for Quill.js in Laravel. Replace Symfony’s `QuillType` with a Livewire component that initializes Quill on mount. Use Livewire’s `$emit` and `$on` to handle events like content changes or uploads, and sync data with Laravel’s backend seamlessly.
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.
codraw/framework-extra-bundle
codraw/messenger
codraw/security
codraw/mailer
codraw/contracts
codraw/profiling
codraw/dependency-injection
codraw/tester
codraw/core
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony