quill_web_editor 1.1.0
quill_web_editor: ^1.1.0 copied to clipboard
A rich text editor package for Flutter Web powered by Quill.js. Provides full-featured editing with tables, media embedding, custom fonts, and HTML export.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2025-12-23 #
Added #
- QuillEditorController - New controller-based state management for the editor
- Similar to
TextEditingController, eliminates need forGlobalKey - Provides reactive updates via
ChangeNotifier - Properties:
isReady,html,currentZoom,registeredActionNames
- Similar to
- Controllerless mode - Widget works without a controller (like
TextField)- Internal controller created automatically when not provided
- Just use callbacks for simple use cases
- Provide your own controller only when you need programmatic access
- Custom Actions API - Register and execute user-defined actions
QuillEditorActionclass for defining reusable actionsregisterAction()/registerActions()for registering actionsexecuteAction()for executing registered actions with parameter mergingexecuteCustom()for one-off actions without registration- Action callbacks:
onExecute,onResponse - JavaScript-side custom action handler support
- Command Queue - Proper FIFO queue for commands when editor not ready
- Commands queued in order, processed when editor becomes ready
- Maximum queue size (100) prevents memory issues
- Proper cleanup on widget disposal
- New Example Pages
- Dropdown Insert example - demonstrates inserting values from Flutter dropdowns
- Custom Actions example - demonstrates registering and executing custom actions
- 45 new unit tests for
QuillEditorControllerandQuillEditorAction
Changed #
- Updated home page to show all three example options
- Example pages now use
QuillEditorControllerinstead ofGlobalKey
1.0.1 - 2025-12-19 #
Fixed #
- Corrected dependency constraints for
google_fonts. - Renamed
docsdirectory todocto follow pub.dev conventions. - Updated
.gitignoreto exclude unnecessary files from the package. - Fixed deprecated
withOpacity()calls - replaced withwithValues()for Flutter compatibility. - Removed invalid lint rule
use_late_for_private_fields_used_only_in_testsfrom analysis_options.yaml. - Suppressed
dart:htmldeprecation warnings (intentional for web-only package). - Replaced
print()withdebugPrint()in example code.
Changed #
- Updated repository URLs to point to
https://github.com/ff-vivek/flutter_quill_web_editor. - Updated README with live playground link: https://flourishing-lollipop-18e8de.netlify.app/.
- Added
examplefield to pubspec.yaml for pub.dev. - Updated
.pubignoreto exclude build artifacts, publish script, and deployment files. - Package size reduced from 901 KB to 65 KB by excluding unnecessary files.
1.0.0 - 2024-12-17 #
Added #
- Initial release of Quill Web Editor package
QuillEditorWidget- Main editor widget with bidirectional Flutter-JS communication- Rich text editing with Quill.js 2.0
- Table support with quill-table-better
- Custom fonts (Roboto, Open Sans, Lato, Montserrat, Source Code Pro, Crimson Pro, DM Sans)
- Font sizes (small, normal, large, huge)
- Media embedding (images, videos, iframes) with resize controls
- Media alignment (left, center, right)
- Zoom controls (0.5x to 3.0x)
- HTML import/export with clean output
- Preview functionality
SaveStatusIndicatorwidget for save state displayZoomControlswidget for zoom managementOutputPreviewwidget with HTML/text tabsStatCardandStatCardRowfor statistics displayAppCardstyled card componentHtmlPreviewDialogfor full-screen HTML previewInsertHtmlDialogfor HTML insertionDocumentServicefor download, copy, print operationsHtmlCleanerutility for HTML processingTextStatsutility for word/character countingExportStyleswith CSS for exported documentsAppColorscolor palette constantsAppFontsfont configuration constantsEditorConfigeditor settings constantsAppThemetheme configuration- Example application demonstrating all features
Dependencies #
- flutter
- google_fonts: ^6.2.1
- pointer_interceptor: ^0.10.1+2