From 8fe65f1d10ef4e37fe7a1909934adab8e968c283 Mon Sep 17 00:00:00 2001 From: Ellet <73608287+ellet0@users.noreply.github.com> Date: Thu, 13 Jun 2024 18:04:56 +0300 Subject: [PATCH 01/50] chore: Update quill_videos_sample.dart --- .../lib/screens/quill/samples/quill_videos_sample.dart | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/example/lib/screens/quill/samples/quill_videos_sample.dart b/example/lib/screens/quill/samples/quill_videos_sample.dart index 90f0243e..9e47456d 100644 --- a/example/lib/screens/quill/samples/quill_videos_sample.dart +++ b/example/lib/screens/quill/samples/quill_videos_sample.dart @@ -1,7 +1,7 @@ const quillVideosSample = [ {'insert': '\n'}, { - 'insert': {'video': 'https://youtu.be/xz6_AlJkDPA'}, + 'insert': {'video': 'https://youtu.be/fq4N0hgOWzU?si=SqoY_bAZYnjCkUvn'}, 'attributes': { 'width': '300', 'height': '300', @@ -10,10 +10,8 @@ const quillVideosSample = [ }, {'insert': '\n'}, {'insert': '\n'}, - {'insert': 'And this is just a youtube video'}, {'insert': '\n'}, - { - 'insert': 'This sample is not complete.', - }, + {'insert': 'The video above is a Youtube video.'}, + {'insert': '\n'}, {'insert': '\n'}, ]; From 62c655b88042726dba7b56585de7133fed95800c Mon Sep 17 00:00:00 2001 From: AtlasAutocode <165201146+AtlasAutocode@users.noreply.github.com> Date: Thu, 13 Jun 2024 09:46:09 -0600 Subject: [PATCH 02/50] Improve: subscript and superscript should now work for all languages and characters. (#1909) * Value setting Stateful toolbar buttons derive from base class * Rename base class as QuillToolbarBaseValueButton * Removed deprecated functions * Move clipboard actions to QuillController * Fix: collectAllIndividualStylesAndEmbed for result span * Add: Clipboard toolbar buttons * Add: test for QuillController clipboard Dart Formatted * Subscript and Superscript * Translation Justify * Translation alignJustify * Fix: Translation ko * Fix: Translation en-US --------- Co-authored-by: Douglas Ward --- .../l10n/generated/quill_localizations.dart | 6 ++ .../generated/quill_localizations_ar.dart | 3 + .../generated/quill_localizations_bg.dart | 3 + .../generated/quill_localizations_bn.dart | 3 + .../generated/quill_localizations_cs.dart | 3 + .../generated/quill_localizations_da.dart | 3 + .../generated/quill_localizations_de.dart | 3 + .../generated/quill_localizations_en.dart | 3 + .../generated/quill_localizations_es.dart | 3 + .../generated/quill_localizations_fa.dart | 3 + .../generated/quill_localizations_fr.dart | 3 + .../generated/quill_localizations_he.dart | 3 + .../generated/quill_localizations_hi.dart | 3 + .../generated/quill_localizations_id.dart | 3 + .../generated/quill_localizations_it.dart | 3 + .../generated/quill_localizations_ja.dart | 3 + .../generated/quill_localizations_ko.dart | 3 + .../generated/quill_localizations_ku.dart | 3 + .../generated/quill_localizations_ms.dart | 3 + .../generated/quill_localizations_ne.dart | 3 + .../generated/quill_localizations_nl.dart | 3 + .../generated/quill_localizations_no.dart | 3 + .../generated/quill_localizations_pl.dart | 3 + .../generated/quill_localizations_pt.dart | 3 + .../generated/quill_localizations_ro.dart | 3 + .../generated/quill_localizations_ru.dart | 3 + .../generated/quill_localizations_sk.dart | 3 + .../generated/quill_localizations_sr.dart | 3 + .../generated/quill_localizations_sv.dart | 3 + .../generated/quill_localizations_sw.dart | 3 + .../generated/quill_localizations_tk.dart | 3 + .../generated/quill_localizations_tr.dart | 3 + .../generated/quill_localizations_uk.dart | 3 + .../generated/quill_localizations_ur.dart | 3 + .../generated/quill_localizations_vi.dart | 3 + .../generated/quill_localizations_zh.dart | 3 + lib/src/l10n/quill_en.arb | 4 ++ lib/src/l10n/untranslated.json | 43 +++++++++++++ .../quill_controller_configurations.dart | 8 ++- lib/src/widgets/editor/editor.dart | 1 + lib/src/widgets/quill/text_line.dart | 60 +++++++++++++++++-- .../toolbar/buttons/toggle_style_button.dart | 5 +- scripts/ensure_translations_correct.dart | 2 +- 43 files changed, 224 insertions(+), 10 deletions(-) diff --git a/lib/src/l10n/generated/quill_localizations.dart b/lib/src/l10n/generated/quill_localizations.dart index b9df03c0..6fc131a5 100644 --- a/lib/src/l10n/generated/quill_localizations.dart +++ b/lib/src/l10n/generated/quill_localizations.dart @@ -415,6 +415,12 @@ abstract class FlutterQuillLocalizations { /// **'Align right'** String get alignRight; + /// Justify the text over the full window width + /// + /// In en, this message translates to: + /// **'Align justify'** + String get alignJustify; + /// No description provided for @justifyWinWidth. /// /// In en, this message translates to: diff --git a/lib/src/l10n/generated/quill_localizations_ar.dart b/lib/src/l10n/generated/quill_localizations_ar.dart index a3933936..e32ac62b 100644 --- a/lib/src/l10n/generated/quill_localizations_ar.dart +++ b/lib/src/l10n/generated/quill_localizations_ar.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsAr extends FlutterQuillLocalizations { @override String get alignRight => 'محاذاة اليمين'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'تبرير مع العرض'; diff --git a/lib/src/l10n/generated/quill_localizations_bg.dart b/lib/src/l10n/generated/quill_localizations_bg.dart index 0d09070b..f9b2c4df 100644 --- a/lib/src/l10n/generated/quill_localizations_bg.dart +++ b/lib/src/l10n/generated/quill_localizations_bg.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsBg extends FlutterQuillLocalizations { @override String get alignRight => 'Подравни вдясно'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Подравни във всяка колонка'; diff --git a/lib/src/l10n/generated/quill_localizations_bn.dart b/lib/src/l10n/generated/quill_localizations_bn.dart index d0fce65a..8776817a 100644 --- a/lib/src/l10n/generated/quill_localizations_bn.dart +++ b/lib/src/l10n/generated/quill_localizations_bn.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsBn extends FlutterQuillLocalizations { @override String get alignRight => 'ডান সারিবদ্ধ'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'প্রস্থের সাথে সংযত'; diff --git a/lib/src/l10n/generated/quill_localizations_cs.dart b/lib/src/l10n/generated/quill_localizations_cs.dart index 4bee5da7..d218008f 100644 --- a/lib/src/l10n/generated/quill_localizations_cs.dart +++ b/lib/src/l10n/generated/quill_localizations_cs.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsCs extends FlutterQuillLocalizations { @override String get alignRight => 'Zarovnat vpravo'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Zarovnat do bloku'; diff --git a/lib/src/l10n/generated/quill_localizations_da.dart b/lib/src/l10n/generated/quill_localizations_da.dart index aed1dbbf..b67619b5 100644 --- a/lib/src/l10n/generated/quill_localizations_da.dart +++ b/lib/src/l10n/generated/quill_localizations_da.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsDa extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_de.dart b/lib/src/l10n/generated/quill_localizations_de.dart index e987cd86..77a8b93a 100644 --- a/lib/src/l10n/generated/quill_localizations_de.dart +++ b/lib/src/l10n/generated/quill_localizations_de.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsDe extends FlutterQuillLocalizations { @override String get alignRight => 'Rechtsbündig ausrichten'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Blocksatz'; diff --git a/lib/src/l10n/generated/quill_localizations_en.dart b/lib/src/l10n/generated/quill_localizations_en.dart index a73d71ca..0a6a341b 100644 --- a/lib/src/l10n/generated/quill_localizations_en.dart +++ b/lib/src/l10n/generated/quill_localizations_en.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsEn extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_es.dart b/lib/src/l10n/generated/quill_localizations_es.dart index d418394c..a991e416 100644 --- a/lib/src/l10n/generated/quill_localizations_es.dart +++ b/lib/src/l10n/generated/quill_localizations_es.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations { @override String get alignRight => 'Alinear a la derecha'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justificar'; diff --git a/lib/src/l10n/generated/quill_localizations_fa.dart b/lib/src/l10n/generated/quill_localizations_fa.dart index 7566152d..202183bd 100644 --- a/lib/src/l10n/generated/quill_localizations_fa.dart +++ b/lib/src/l10n/generated/quill_localizations_fa.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsFa extends FlutterQuillLocalizations { @override String get alignRight => 'چیدمان راست'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'تضمین عرض پنجره'; diff --git a/lib/src/l10n/generated/quill_localizations_fr.dart b/lib/src/l10n/generated/quill_localizations_fr.dart index d039b6f1..ceea9958 100644 --- a/lib/src/l10n/generated/quill_localizations_fr.dart +++ b/lib/src/l10n/generated/quill_localizations_fr.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsFr extends FlutterQuillLocalizations { @override String get alignRight => 'Aligner à droite'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justifier'; diff --git a/lib/src/l10n/generated/quill_localizations_he.dart b/lib/src/l10n/generated/quill_localizations_he.dart index 7497db7b..99234ee0 100644 --- a/lib/src/l10n/generated/quill_localizations_he.dart +++ b/lib/src/l10n/generated/quill_localizations_he.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsHe extends FlutterQuillLocalizations { @override String get alignRight => 'יישור לימין'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'יישור לרוחב החלון'; diff --git a/lib/src/l10n/generated/quill_localizations_hi.dart b/lib/src/l10n/generated/quill_localizations_hi.dart index dda88d59..47837514 100644 --- a/lib/src/l10n/generated/quill_localizations_hi.dart +++ b/lib/src/l10n/generated/quill_localizations_hi.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsHi extends FlutterQuillLocalizations { @override String get alignRight => 'दाएं संरेखित करें'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'जस्टीफ़ी विन चौड़ाई'; diff --git a/lib/src/l10n/generated/quill_localizations_id.dart b/lib/src/l10n/generated/quill_localizations_id.dart index 27ee79dd..92d29912 100644 --- a/lib/src/l10n/generated/quill_localizations_id.dart +++ b/lib/src/l10n/generated/quill_localizations_id.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsId extends FlutterQuillLocalizations { @override String get alignRight => 'Rata Kanan'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Rata Kanan dan Kiri'; diff --git a/lib/src/l10n/generated/quill_localizations_it.dart b/lib/src/l10n/generated/quill_localizations_it.dart index 33b68757..4b8550c1 100644 --- a/lib/src/l10n/generated/quill_localizations_it.dart +++ b/lib/src/l10n/generated/quill_localizations_it.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsIt extends FlutterQuillLocalizations { @override String get alignRight => 'Allinea a destra'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Giustifica per larghezza finestra'; diff --git a/lib/src/l10n/generated/quill_localizations_ja.dart b/lib/src/l10n/generated/quill_localizations_ja.dart index 18ce5f55..367d83d3 100644 --- a/lib/src/l10n/generated/quill_localizations_ja.dart +++ b/lib/src/l10n/generated/quill_localizations_ja.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsJa extends FlutterQuillLocalizations { @override String get alignRight => '右揃え'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => '両端揃え'; diff --git a/lib/src/l10n/generated/quill_localizations_ko.dart b/lib/src/l10n/generated/quill_localizations_ko.dart index 71f92659..94f7770c 100644 --- a/lib/src/l10n/generated/quill_localizations_ko.dart +++ b/lib/src/l10n/generated/quill_localizations_ko.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsKo extends FlutterQuillLocalizations { @override String get alignRight => '오른쪽 정렬'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => '좌우로 정렬'; diff --git a/lib/src/l10n/generated/quill_localizations_ku.dart b/lib/src/l10n/generated/quill_localizations_ku.dart index 772d8110..685fb305 100644 --- a/lib/src/l10n/generated/quill_localizations_ku.dart +++ b/lib/src/l10n/generated/quill_localizations_ku.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsKu extends FlutterQuillLocalizations { @override String get alignRight => 'بۆ ڕاست'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'پانی ڕێکبخە'; diff --git a/lib/src/l10n/generated/quill_localizations_ms.dart b/lib/src/l10n/generated/quill_localizations_ms.dart index c0218f2c..465c14b0 100644 --- a/lib/src/l10n/generated/quill_localizations_ms.dart +++ b/lib/src/l10n/generated/quill_localizations_ms.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsMs extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_ne.dart b/lib/src/l10n/generated/quill_localizations_ne.dart index ede805d7..5fe68ab5 100644 --- a/lib/src/l10n/generated/quill_localizations_ne.dart +++ b/lib/src/l10n/generated/quill_localizations_ne.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsNe extends FlutterQuillLocalizations { @override String get alignRight => 'दायाँ पङ्क्तिबद्ध'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'जस्टीफ़ी विन चौड़ाई'; diff --git a/lib/src/l10n/generated/quill_localizations_nl.dart b/lib/src/l10n/generated/quill_localizations_nl.dart index bb68eea8..10b0a55b 100644 --- a/lib/src/l10n/generated/quill_localizations_nl.dart +++ b/lib/src/l10n/generated/quill_localizations_nl.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsNl extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_no.dart b/lib/src/l10n/generated/quill_localizations_no.dart index d7e97e4e..1192e423 100644 --- a/lib/src/l10n/generated/quill_localizations_no.dart +++ b/lib/src/l10n/generated/quill_localizations_no.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsNo extends FlutterQuillLocalizations { @override String get alignRight => 'Høyrejuster'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Rettferdiggjør bredden'; diff --git a/lib/src/l10n/generated/quill_localizations_pl.dart b/lib/src/l10n/generated/quill_localizations_pl.dart index 4b5d400d..a2cacf26 100644 --- a/lib/src/l10n/generated/quill_localizations_pl.dart +++ b/lib/src/l10n/generated/quill_localizations_pl.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsPl extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_pt.dart b/lib/src/l10n/generated/quill_localizations_pt.dart index aa28b8ff..f5477abf 100644 --- a/lib/src/l10n/generated/quill_localizations_pt.dart +++ b/lib/src/l10n/generated/quill_localizations_pt.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsPt extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_ro.dart b/lib/src/l10n/generated/quill_localizations_ro.dart index 92a9b40f..d61bbff4 100644 --- a/lib/src/l10n/generated/quill_localizations_ro.dart +++ b/lib/src/l10n/generated/quill_localizations_ro.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsRo extends FlutterQuillLocalizations { @override String get alignRight => 'Aliniază la dreapta'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justifică lățimea ferestrei'; diff --git a/lib/src/l10n/generated/quill_localizations_ru.dart b/lib/src/l10n/generated/quill_localizations_ru.dart index 07a2b4ba..e4fe7932 100644 --- a/lib/src/l10n/generated/quill_localizations_ru.dart +++ b/lib/src/l10n/generated/quill_localizations_ru.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations { @override String get alignRight => 'Выровнять по правому краю'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Выровнять по ширине окна'; diff --git a/lib/src/l10n/generated/quill_localizations_sk.dart b/lib/src/l10n/generated/quill_localizations_sk.dart index a4609530..1c103108 100644 --- a/lib/src/l10n/generated/quill_localizations_sk.dart +++ b/lib/src/l10n/generated/quill_localizations_sk.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsSk extends FlutterQuillLocalizations { @override String get alignRight => 'Zarovnať vpravo'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Zarovnať na šírku okna'; diff --git a/lib/src/l10n/generated/quill_localizations_sr.dart b/lib/src/l10n/generated/quill_localizations_sr.dart index 10b73608..cc377204 100644 --- a/lib/src/l10n/generated/quill_localizations_sr.dart +++ b/lib/src/l10n/generated/quill_localizations_sr.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsSr extends FlutterQuillLocalizations { @override String get alignRight => 'Poravnanje desno'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Centriraj širinu prozora'; diff --git a/lib/src/l10n/generated/quill_localizations_sv.dart b/lib/src/l10n/generated/quill_localizations_sv.dart index 013fac0a..519c70a3 100644 --- a/lib/src/l10n/generated/quill_localizations_sv.dart +++ b/lib/src/l10n/generated/quill_localizations_sv.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsSv extends FlutterQuillLocalizations { @override String get alignRight => 'Högerjustera'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justera till fönsterbredd'; diff --git a/lib/src/l10n/generated/quill_localizations_sw.dart b/lib/src/l10n/generated/quill_localizations_sw.dart index 0757e4a4..d7c8e7a9 100644 --- a/lib/src/l10n/generated/quill_localizations_sw.dart +++ b/lib/src/l10n/generated/quill_localizations_sw.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsSw extends FlutterQuillLocalizations { @override String get alignRight => 'Pangilia Kulia'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Kuhalalisha Upana wa Ushindi'; diff --git a/lib/src/l10n/generated/quill_localizations_tk.dart b/lib/src/l10n/generated/quill_localizations_tk.dart index 19b2f73e..811037b8 100644 --- a/lib/src/l10n/generated/quill_localizations_tk.dart +++ b/lib/src/l10n/generated/quill_localizations_tk.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsTk extends FlutterQuillLocalizations { @override String get alignRight => 'Saga deňleşdir'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_tr.dart b/lib/src/l10n/generated/quill_localizations_tr.dart index 499bbf50..117faa2b 100644 --- a/lib/src/l10n/generated/quill_localizations_tr.dart +++ b/lib/src/l10n/generated/quill_localizations_tr.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsTr extends FlutterQuillLocalizations { @override String get alignRight => 'Sağa Hizala'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Kenarlara Hizala'; diff --git a/lib/src/l10n/generated/quill_localizations_uk.dart b/lib/src/l10n/generated/quill_localizations_uk.dart index 0e5b1314..8bbe407f 100644 --- a/lib/src/l10n/generated/quill_localizations_uk.dart +++ b/lib/src/l10n/generated/quill_localizations_uk.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsUk extends FlutterQuillLocalizations { @override String get alignRight => 'Вирівняти праворуч'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Вирівняти за шириною вікна'; diff --git a/lib/src/l10n/generated/quill_localizations_ur.dart b/lib/src/l10n/generated/quill_localizations_ur.dart index 82d0469e..57eb0d2a 100644 --- a/lib/src/l10n/generated/quill_localizations_ur.dart +++ b/lib/src/l10n/generated/quill_localizations_ur.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsUr extends FlutterQuillLocalizations { @override String get alignRight => 'دائیں ہم آہنگ ہوں'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'جسٹیفائی ون چوڑائی'; diff --git a/lib/src/l10n/generated/quill_localizations_vi.dart b/lib/src/l10n/generated/quill_localizations_vi.dart index 6eb72dcb..48ea1d84 100644 --- a/lib/src/l10n/generated/quill_localizations_vi.dart +++ b/lib/src/l10n/generated/quill_localizations_vi.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsVi extends FlutterQuillLocalizations { @override String get alignRight => 'Căn phải'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Căn đều chiều rộng'; diff --git a/lib/src/l10n/generated/quill_localizations_zh.dart b/lib/src/l10n/generated/quill_localizations_zh.dart index e38b1d81..db1054f0 100644 --- a/lib/src/l10n/generated/quill_localizations_zh.dart +++ b/lib/src/l10n/generated/quill_localizations_zh.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsZh extends FlutterQuillLocalizations { @override String get alignRight => '右对齐'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => '两端对齐'; diff --git a/lib/src/l10n/quill_en.arb b/lib/src/l10n/quill_en.arb index 1a6f4b7e..864de03f 100644 --- a/lib/src/l10n/quill_en.arb +++ b/lib/src/l10n/quill_en.arb @@ -41,6 +41,10 @@ "alignLeft": "Align left", "alignCenter": "Align center", "alignRight": "Align right", + "alignJustify": "Align justify", + "@alignJustify": { + "description": "Justify the text over the full window width" + }, "justifyWinWidth": "Justify win width", "textDirection": "Text direction", "headerStyle": "Header style", diff --git a/lib/src/l10n/untranslated.json b/lib/src/l10n/untranslated.json index 2b37eff6..802fa751 100644 --- a/lib/src/l10n/untranslated.json +++ b/lib/src/l10n/untranslated.json @@ -1,5 +1,6 @@ { "ar": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -10,6 +11,7 @@ ], "bg": [ + "alignJustify", "normal", "heading1", "heading2", @@ -33,6 +35,7 @@ ], "bn": [ + "alignJustify", "normal", "heading1", "heading2", @@ -56,6 +59,7 @@ ], "cs": [ + "alignJustify", "caseSensitive", "wholeWord", "close", @@ -65,6 +69,7 @@ ], "da": [ + "alignJustify", "normal", "heading1", "heading2", @@ -88,6 +93,7 @@ ], "de": [ + "alignJustify", "normal", "heading1", "heading2", @@ -106,6 +112,7 @@ ], "en_US": [ + "alignJustify", "normal", "heading1", "heading2", @@ -129,6 +136,7 @@ ], "es": [ + "alignJustify", "normal", "heading1", "heading2", @@ -147,6 +155,7 @@ ], "fa": [ + "alignJustify", "normal", "heading1", "heading2", @@ -170,6 +179,7 @@ ], "fr": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -180,6 +190,7 @@ ], "he": [ + "alignJustify", "normal", "heading1", "heading2", @@ -203,6 +214,7 @@ ], "hi": [ + "alignJustify", "normal", "heading1", "heading2", @@ -226,6 +238,7 @@ ], "id": [ + "alignJustify", "normal", "heading1", "heading2", @@ -249,6 +262,7 @@ ], "it": [ + "alignJustify", "normal", "heading1", "heading2", @@ -272,6 +286,7 @@ ], "ja": [ + "alignJustify", "normal", "heading1", "heading2", @@ -294,7 +309,12 @@ "paste" ], + "ko": [ + "alignJustify" + ], + "ku": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -305,6 +325,7 @@ ], "ku_CKB": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -315,6 +336,7 @@ ], "ms": [ + "alignJustify", "normal", "heading1", "heading2", @@ -338,6 +360,7 @@ ], "ne": [ + "alignJustify", "caseSensitive", "wholeWord", "close", @@ -347,6 +370,7 @@ ], "nl": [ + "alignJustify", "normal", "heading1", "heading2", @@ -370,6 +394,7 @@ ], "no": [ + "alignJustify", "normal", "heading1", "heading2", @@ -393,6 +418,7 @@ ], "pl": [ + "alignJustify", "normal", "heading1", "heading2", @@ -416,6 +442,7 @@ ], "pt": [ + "alignJustify", "normal", "heading1", "heading2", @@ -439,6 +466,7 @@ ], "pt_BR": [ + "alignJustify", "normal", "heading1", "heading2", @@ -462,6 +490,7 @@ ], "ro": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -472,6 +501,7 @@ ], "ro_RO": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -482,6 +512,7 @@ ], "ru": [ + "alignJustify", "normal", "heading1", "heading2", @@ -500,6 +531,7 @@ ], "sk": [ + "alignJustify", "caseSensitive", "wholeWord", "close", @@ -509,6 +541,7 @@ ], "sr": [ + "alignJustify", "normal", "heading1", "heading2", @@ -532,6 +565,7 @@ ], "sv": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -542,6 +576,7 @@ ], "sw": [ + "alignJustify", "normal", "heading1", "heading2", @@ -565,6 +600,7 @@ ], "tk": [ + "alignJustify", "normal", "heading1", "heading2", @@ -588,6 +624,7 @@ ], "tr": [ + "alignJustify", "normal", "heading1", "heading2", @@ -611,6 +648,7 @@ ], "uk": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -621,6 +659,7 @@ ], "ur": [ + "alignJustify", "normal", "heading1", "heading2", @@ -644,6 +683,7 @@ ], "vi": [ + "alignJustify", "normal", "heading1", "heading2", @@ -667,6 +707,7 @@ ], "zh": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -677,6 +718,7 @@ ], "zh_CN": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -687,6 +729,7 @@ ], "zh_HK": [ + "alignJustify", "normal", "heading1", "heading2", diff --git a/lib/src/models/config/quill_controller_configurations.dart b/lib/src/models/config/quill_controller_configurations.dart index ae38841a..95126178 100644 --- a/lib/src/models/config/quill_controller_configurations.dart +++ b/lib/src/models/config/quill_controller_configurations.dart @@ -1,8 +1,14 @@ class QuillControllerConfigurations { - const QuillControllerConfigurations({this.onClipboardPaste}); + const QuillControllerConfigurations( + {this.onClipboardPaste, this.requireScriptFontFeatures = false}); /// Callback when the user pastes and data has not already been processed /// /// Return true if the paste operation was handled final Future Function()? onClipboardPaste; + + /// Render subscript and superscript text using Open Type FontFeatures + /// + /// Default is false to use built-in script rendering that is independent of font capabilities + final bool requireScriptFontFeatures; } diff --git a/lib/src/widgets/editor/editor.dart b/lib/src/widgets/editor/editor.dart index a5635967..0fba7806 100644 --- a/lib/src/widgets/editor/editor.dart +++ b/lib/src/widgets/editor/editor.dart @@ -173,6 +173,7 @@ class QuillEditorState extends State void initState() { super.initState(); widget.configurations.controller.editorFocusNode ??= widget.focusNode; + widget.configurations.controller.editorFocusNode?.requestFocus(); _editorKey = configurations.editorKey ?? GlobalKey(); _selectionGestureDetectorBuilder = _QuillEditorSelectionGestureDetectorBuilder( diff --git a/lib/src/widgets/quill/text_line.dart b/lib/src/widgets/quill/text_line.dart index 88ae7020..1604ba9b 100644 --- a/lib/src/widgets/quill/text_line.dart +++ b/lib/src/widgets/quill/text_line.dart @@ -322,19 +322,71 @@ class _TextLineState extends State { return textStyle; } - TextSpan _getTextSpanFromNode( + /// Processes subscript and superscript attributed text. + /// + /// Reduces text fontSize and shifts down or up. Increases fontWeight to maintain balance with normal text. + /// Outputs characters individually to allow correct caret positioning and text selection. + InlineSpan _scriptSpan(String text, bool superScript, TextStyle style, + DefaultStyles defaultStyles) { + assert(text.isNotEmpty); + // + final lineStyle = style.fontSize == null || style.fontWeight == null + ? _getLineStyle(defaultStyles) + : null; + final fontWeight = FontWeight.lerp( + style.fontWeight ?? lineStyle?.fontWeight ?? FontWeight.normal, + FontWeight.w900, + 0.25); + final fontSize = style.fontSize ?? lineStyle?.fontSize ?? 16; + final y = (superScript ? -0.4 : 0.14) * fontSize; + final charStyle = style.copyWith( + fontFeatures: [], + fontWeight: fontWeight, + fontSize: fontSize * 0.7); + // + final offset = Offset(0, y); + final children = []; + for (final c in text.characters) { + children.add(WidgetSpan( + child: Transform.translate( + offset: offset, + child: Text( + c, + style: charStyle, + )))); + } + // + if (children.length > 1) { + return TextSpan(children: children); + } + return children[0]; + } + + InlineSpan _getTextSpanFromNode( DefaultStyles defaultStyles, Node node, Style lineStyle) { final textNode = node as leaf.QuillText; final nodeStyle = textNode.style; final isLink = nodeStyle.containsKey(Attribute.link.key) && nodeStyle.attributes[Attribute.link.key]!.value != null; - final recognizer = _getRecognizer(node, isLink); + final style = _getInlineTextStyle( + textNode, defaultStyles, nodeStyle, lineStyle, isLink); + + if (widget.controller.configurations.requireScriptFontFeatures == false && + textNode.value.isNotEmpty) { + if (nodeStyle.containsKey(Attribute.script.key)) { + final attr = nodeStyle.attributes[Attribute.script.key]; + if (attr == Attribute.superscript || attr == Attribute.subscript) { + return _scriptSpan(textNode.value, attr == Attribute.superscript, + style, defaultStyles); + } + } + } + final recognizer = _getRecognizer(node, isLink); return TextSpan( text: textNode.value, - style: _getInlineTextStyle( - textNode, defaultStyles, nodeStyle, lineStyle, isLink), + style: style, recognizer: recognizer, mouseCursor: (recognizer != null) ? SystemMouseCursors.click : null, ); diff --git a/lib/src/widgets/toolbar/buttons/toggle_style_button.dart b/lib/src/widgets/toolbar/buttons/toggle_style_button.dart index 941a893e..aad3b3fb 100644 --- a/lib/src/widgets/toolbar/buttons/toggle_style_button.dart +++ b/lib/src/widgets/toolbar/buttons/toggle_style_button.dart @@ -78,10 +78,7 @@ class QuillToolbarToggleStyleButtonState 'left' => (context.loc.alignLeft, Icons.format_align_left), 'right' => (context.loc.alignRight, Icons.format_align_right), 'center' => (context.loc.alignCenter, Icons.format_align_center), - 'justify' => ( - context.loc.justifyWinWidth, - Icons.format_align_justify - ), + 'justify' => (context.loc.alignJustify, Icons.format_align_justify), Object() => throw ArgumentError(widget.attribute.value), null => (context.loc.alignCenter, Icons.format_align_center), }; diff --git a/scripts/ensure_translations_correct.dart b/scripts/ensure_translations_correct.dart index 092178d7..147ed2db 100644 --- a/scripts/ensure_translations_correct.dart +++ b/scripts/ensure_translations_correct.dart @@ -18,7 +18,7 @@ import 'package:yaml/yaml.dart'; // This must be updated once add or remove some translation keys // if you update existing keys, no need to update it -const _expectedTranslationKeysLength = 96; +const _expectedTranslationKeysLength = 98; Future main(List args) async { final l10nYamlText = await File('l10n.yaml').readAsString(); From a7f4604b439cda0ad024f54e3280e7b4bd7a2166 Mon Sep 17 00:00:00 2001 From: Ellet Date: Thu, 13 Jun 2024 20:03:30 +0300 Subject: [PATCH 03/50] ci(publishing): fix passing the version content to the update package version script --- .github/workflows/publish.yml | 3 +++ scripts/update_package_version.dart | 22 ++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index dc9ad461..436dfc73 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -91,6 +91,9 @@ jobs: exit 1 fi + - name: 🖌️ Create required version content file to use in the next step + run: echo "${{ fromJson(steps.fetch-release-notes-request.outputs.response).body }}" > ./build/versionContent.md + - name: 📝 Update version and CHANGELOG for all the packages run: dart ./scripts/update_package_version.dart ${{ steps.extract_version.outputs.VERSION }} '${{ fromJson(steps.fetch-release-notes-request.outputs.response).body }}' diff --git a/scripts/update_package_version.dart b/scripts/update_package_version.dart index 0e831b53..61c33ef1 100644 --- a/scripts/update_package_version.dart +++ b/scripts/update_package_version.dart @@ -3,6 +3,8 @@ import 'dart:convert' show jsonDecode, jsonEncode; import 'dart:io' show File, exit; +// ignore: depend_on_referenced_packages +import 'package:path/path.dart' as path; import 'package:yaml_edit/yaml_edit.dart' show YamlEditor; /// The list of the packages that which will be used to update the `CHANGELOG.md` @@ -16,7 +18,8 @@ final _packages = [ './quill_pdf_converter', ]; -const _usage = 'Usage: ./script '; +const _usage = 'Usage: ./script '; +const _versionContentFileName = 'versionContent.md'; /// A script that should run in the root folder and not inside any other folder /// it has one task, which update the version for `pubspec.yaml` and @@ -34,11 +37,11 @@ const _usage = 'Usage: ./script '; /// this script designed to run in CI to automate the process of updating /// the package Future main(List args) async { - if (args.isEmpty || args.length < 2) { + if (args.isEmpty) { print('Missing required arguments ($args). $_usage'); exit(1); } - if (args.length > 2) { + if (args.length > 1) { print('Too many arguments ($args). $_usage'); exit(1); } @@ -47,14 +50,17 @@ Future main(List args) async { print('The version is empty ($args). $_usage'); exit(1); } - final passedVersionContent = args[1]; - if (passedVersionContent.isEmpty) { - print('The version content is empty ($args). $_usage'); + final versionContentFile = File(path.join('build', _versionContentFileName)); + if (!(await versionContentFile.exists())) { + print( + 'The file "$_versionContentFileName" in ${versionContentFile.path} does not exist.', + ); exit(1); } + final versionContent = await versionContentFile.readAsString(); print( - 'The version is $passedVersion and the content is:\n$passedVersionContent', + 'The version is "$passedVersion" and the content is:\n$versionContent', ); // A file that will be used to build the `CHANGELOG.md` files @@ -63,7 +69,7 @@ Future main(List args) async { await _replaceVersion( sourceChangeLogFile: sourceChangeLogFile, version: passedVersion, - versionContent: passedVersionContent, + versionContent: versionContent, ); final sourceChangeLog = jsonDecode(await sourceChangeLogFile.readAsString()) as Map; From b117ef18ec16a4cdddfc145ec30bc6626dae1e88 Mon Sep 17 00:00:00 2001 From: Ellet Date: Thu, 13 Jun 2024 20:33:20 +0300 Subject: [PATCH 04/50] refactor(publishing-workflow): move fethcing GitHub release notes steps into a dart script --- .github/workflows/publish.yml | 23 +------ pubspec.yaml | 3 +- ...e_version_content_from_github_release.dart | 65 +++++++++++++++++++ scripts/update_package_version.dart | 2 +- 4 files changed, 71 insertions(+), 22 deletions(-) create mode 100644 scripts/create_version_content_from_github_release.dart diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 436dfc73..421630f5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -74,28 +74,11 @@ jobs: id: release_tag run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT - - name: 📑 Fetch release notes from Github API - id: fetch-release-notes-request - uses: fjogeleit/http-request-action@v1 - with: - url: https://api.github.com/repos/${{ github.repository }}/releases/tags/${{ steps.release_tag.outputs.tag }} - method: 'GET' - customHeaders: '{"Authorization": "${{ secrets.GITHUB_TOKEN }}"}' - preventFailureOnNoResponse: 'false' - - - name: ⚠️ Validate release notes response - run: | - releaseNotesResponse="${{ fromJson(steps.fetch-release-notes-request.outputs.response) }}" - if [[ -z "$releaseNotesResponse" || "$releaseNotesResponse" == "null" ]]; then - echo "Error: Release notes response is empty." - exit 1 - fi - - - name: 🖌️ Create required version content file to use in the next step - run: echo "${{ fromJson(steps.fetch-release-notes-request.outputs.response).body }}" > ./build/versionContent.md + - name: 📑 Fetch release notes from Github API and create a required file by the next step + run: dart ./scripts/create_version_content_from_github_release.dart "${{ github.repository }}" "${{ steps.release_tag.outputs.tag }}" "${{ secrets.GITHUB_TOKEN }}" - name: 📝 Update version and CHANGELOG for all the packages - run: dart ./scripts/update_package_version.dart ${{ steps.extract_version.outputs.VERSION }} '${{ fromJson(steps.fetch-release-notes-request.outputs.response).body }}' + run: dart ./scripts/update_package_version.dart ${{ steps.extract_version.outputs.VERSION }} - name: 💾 Commit updated version and CHANGELOG id: auto-commit-action diff --git a/pubspec.yaml b/pubspec.yaml index d4bfc5c9..089858b6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -70,9 +70,10 @@ dev_dependencies: flutter_quill_test: ^9.3.4 test: ^1.24.3 - # Both yaml_edit and yaml are only used for the scripts + # For scripts only yaml_edit: ^2.2.1 yaml: ^3.1.2 + http: ^1.2.1 flutter: uses-material-design: true diff --git a/scripts/create_version_content_from_github_release.dart b/scripts/create_version_content_from_github_release.dart new file mode 100644 index 00000000..59ca0c97 --- /dev/null +++ b/scripts/create_version_content_from_github_release.dart @@ -0,0 +1,65 @@ +// ignore_for_file: avoid_print + +import 'dart:convert'; +import 'dart:io' show exit; + +import 'package:http/http.dart' as http; + +import 'update_package_version.dart'; + +// A script is used in CI that will fetch release notes using GitHub API +// and create a file from it that will be used by another script +// +// This script should run from root project folder instead of scripts folder +// or others. + +const _usage = + 'Usage: ./script (optional)'; + +Future main(List args) async { + print('📑 Fetch release notes from Github API'); + + if (args.isEmpty) { + print('Missing required arguments ($args). $_usage'); + exit(1); + } + if (args.length > 2) { + print('Too many arguments ($args). $_usage'); + exit(1); + } + if (args.length < 2) { + print('Missing arguments ($args). $_usage'); + exit(1); + } + + final githubRepository = args[0]; + final releaseTag = args[1]; + final githubAuthorization = args.elementAtOrNull(2); + final response = await http.get( + Uri.parse( + 'https://api.github.com/repos/$githubRepository/releases/tags/$releaseTag', + ), + headers: { + if (githubAuthorization != null) 'Authorization': githubAuthorization, + }, + ); + if (response.statusCode != 200) { + print('Response status code is ${response.statusCode} which is not 200'); + print('Response body: ${response.body}'); + exit(1); + } + final responseBody = response.body; + print('⚠️ Validate release notes response'); + if (responseBody.trim().isEmpty) { + print('Release notes response is empty.'); + exit(1); + } + print('Response body: $responseBody'); + final githubReleaseNotes = + (jsonDecode(responseBody) as Map)['body'] as String?; + if (githubReleaseNotes == null) { + print('Release notes is null.'); + exit(1); + } + await versionContentFile.writeAsString(githubReleaseNotes); +} diff --git a/scripts/update_package_version.dart b/scripts/update_package_version.dart index 61c33ef1..8ee1c9e8 100644 --- a/scripts/update_package_version.dart +++ b/scripts/update_package_version.dart @@ -20,6 +20,7 @@ final _packages = [ const _usage = 'Usage: ./script '; const _versionContentFileName = 'versionContent.md'; +final versionContentFile = File(path.join('build', _versionContentFileName)); /// A script that should run in the root folder and not inside any other folder /// it has one task, which update the version for `pubspec.yaml` and @@ -50,7 +51,6 @@ Future main(List args) async { print('The version is empty ($args). $_usage'); exit(1); } - final versionContentFile = File(path.join('build', _versionContentFileName)); if (!(await versionContentFile.exists())) { print( 'The file "$_versionContentFileName" in ${versionContentFile.path} does not exist.', From f8a0959219f980d0d0efd379359339966bf69b50 Mon Sep 17 00:00:00 2001 From: Ellet Date: Thu, 13 Jun 2024 20:36:57 +0300 Subject: [PATCH 05/50] ci(publishing): remove GitHub authorization header --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 421630f5..034fc634 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -75,7 +75,7 @@ jobs: run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT - name: 📑 Fetch release notes from Github API and create a required file by the next step - run: dart ./scripts/create_version_content_from_github_release.dart "${{ github.repository }}" "${{ steps.release_tag.outputs.tag }}" "${{ secrets.GITHUB_TOKEN }}" + run: dart ./scripts/create_version_content_from_github_release.dart "${{ github.repository }}" "${{ steps.release_tag.outputs.tag }}" - name: 📝 Update version and CHANGELOG for all the packages run: dart ./scripts/update_package_version.dart ${{ steps.extract_version.outputs.VERSION }} From 1f299e66bf32522c2a2ad69a371b3e2561ad11a9 Mon Sep 17 00:00:00 2001 From: Ellet Date: Thu, 13 Jun 2024 20:41:11 +0300 Subject: [PATCH 06/50] fix(publishing): create build directory if doesn't exist --- scripts/create_version_content_from_github_release.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/create_version_content_from_github_release.dart b/scripts/create_version_content_from_github_release.dart index 59ca0c97..63b51919 100644 --- a/scripts/create_version_content_from_github_release.dart +++ b/scripts/create_version_content_from_github_release.dart @@ -61,5 +61,8 @@ Future main(List args) async { print('Release notes is null.'); exit(1); } + if (!await versionContentFile.parent.exists()) { + await versionContentFile.parent.create(recursive: true); + } await versionContentFile.writeAsString(githubReleaseNotes); } From d98b1271475cea7655b1856150d789941c1b2069 Mon Sep 17 00:00:00 2001 From: ellet0 Date: Thu, 13 Jun 2024 17:42:28 +0000 Subject: [PATCH 07/50] chore(version): update to version 9.4.0 --- CHANGELOG.md | 145 ++++++++++++++++++++++++++ CHANGELOG_DATA.json | 2 +- dart_quill_delta/CHANGELOG.md | 145 ++++++++++++++++++++++++++ dart_quill_delta/pubspec.yaml | 2 +- flutter_quill_extensions/CHANGELOG.md | 145 ++++++++++++++++++++++++++ flutter_quill_extensions/pubspec.yaml | 2 +- flutter_quill_test/CHANGELOG.md | 145 ++++++++++++++++++++++++++ flutter_quill_test/pubspec.yaml | 2 +- pubspec.yaml | 2 +- quill_html_converter/CHANGELOG.md | 145 ++++++++++++++++++++++++++ quill_html_converter/pubspec.yaml | 2 +- quill_pdf_converter/CHANGELOG.md | 145 ++++++++++++++++++++++++++ quill_pdf_converter/pubspec.yaml | 2 +- 13 files changed, 877 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bdf2ede..ead849cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,151 @@ All notable changes to this project will be documented in this file. +## 9.4.0 + +This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` + +- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`: + ```dart + QuillToolbar.simple( + configurations: QuillSimpleToolbarConfigurations( + searchButtonType: SearchButtonType.legacy, + ), + ) + ``` + While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future. + + If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget + + Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated) + +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b) + + +
+ +
+ Improved + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04) + +
+ + For the detailed changes, see #1904 + +- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911 + +- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call: + + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x` + + We initially wanted to publish `flutter_quill_super_clipboard` to allow: + - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins + - Using `flutter_quill_extensions` with optional `super_clipboard` + + To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above. + + Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated. + + The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by: + ```dart + // ignore: implementation_imports + import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart'; + ``` + + Then you can call: + ```dart + // ignore: implementation_imports +import 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart'; + ClipboardServiceProvider.setInstance(YourClipboardService()); +``` + + The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future. + + If you use the above imports, you might get **breaking changes** in **non-breaking change releases**. + +- Subscript and Superscript should now work for all languages and characters + + The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices. +We have removed the Apple font from the example + +- Allow pasting Markdown and HTML file content from the system to the editor + + Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor + Copying an HTML file, or HTML content from apps and websites is different than copying plain text. + + This is why this change requires `super_clipboard` implementation as this is platform-dependent: + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + as mentioned above. + + The following example for copying a Markdown file: + +
+ Markdown File Content + + ```md + + **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor + + You have two options: + + 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well + (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly + 1. Another option is to use + [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document + to HTML. + This package has full support for all Quill operations—including images, videos, formulas, + tables, and mentions. + Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter. + It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html) + Typescript/Javascript package. + this package doesn't convert the HTML back to Quill Delta as far as we know + + ``` + +
+ +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e) + +
+ +
+ After + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788) + +
+ + Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot + however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info. + + ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9) + + For more details see #1915 + + Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. + + We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor + previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides. + + Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions) + +## New Contributors +* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0 + ## 9.3.21 * fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898 diff --git a/CHANGELOG_DATA.json b/CHANGELOG_DATA.json index 38551658..0509d24e 100644 --- a/CHANGELOG_DATA.json +++ b/CHANGELOG_DATA.json @@ -1 +1 @@ -{"9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file +{"9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file diff --git a/dart_quill_delta/CHANGELOG.md b/dart_quill_delta/CHANGELOG.md index 0bdf2ede..ead849cc 100644 --- a/dart_quill_delta/CHANGELOG.md +++ b/dart_quill_delta/CHANGELOG.md @@ -4,6 +4,151 @@ All notable changes to this project will be documented in this file. +## 9.4.0 + +This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` + +- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`: + ```dart + QuillToolbar.simple( + configurations: QuillSimpleToolbarConfigurations( + searchButtonType: SearchButtonType.legacy, + ), + ) + ``` + While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future. + + If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget + + Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated) + +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b) + + +
+ +
+ Improved + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04) + +
+ + For the detailed changes, see #1904 + +- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911 + +- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call: + + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x` + + We initially wanted to publish `flutter_quill_super_clipboard` to allow: + - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins + - Using `flutter_quill_extensions` with optional `super_clipboard` + + To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above. + + Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated. + + The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by: + ```dart + // ignore: implementation_imports + import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart'; + ``` + + Then you can call: + ```dart + // ignore: implementation_imports +import 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart'; + ClipboardServiceProvider.setInstance(YourClipboardService()); +``` + + The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future. + + If you use the above imports, you might get **breaking changes** in **non-breaking change releases**. + +- Subscript and Superscript should now work for all languages and characters + + The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices. +We have removed the Apple font from the example + +- Allow pasting Markdown and HTML file content from the system to the editor + + Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor + Copying an HTML file, or HTML content from apps and websites is different than copying plain text. + + This is why this change requires `super_clipboard` implementation as this is platform-dependent: + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + as mentioned above. + + The following example for copying a Markdown file: + +
+ Markdown File Content + + ```md + + **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor + + You have two options: + + 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well + (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly + 1. Another option is to use + [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document + to HTML. + This package has full support for all Quill operations—including images, videos, formulas, + tables, and mentions. + Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter. + It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html) + Typescript/Javascript package. + this package doesn't convert the HTML back to Quill Delta as far as we know + + ``` + +
+ +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e) + +
+ +
+ After + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788) + +
+ + Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot + however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info. + + ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9) + + For more details see #1915 + + Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. + + We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor + previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides. + + Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions) + +## New Contributors +* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0 + ## 9.3.21 * fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898 diff --git a/dart_quill_delta/pubspec.yaml b/dart_quill_delta/pubspec.yaml index d3b4fa78..79a4dfd0 100644 --- a/dart_quill_delta/pubspec.yaml +++ b/dart_quill_delta/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_quill_delta description: A port of quill-js-delta from typescript to dart -version: 9.3.21 +version: 9.4.0 homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_extensions/CHANGELOG.md b/flutter_quill_extensions/CHANGELOG.md index 0bdf2ede..ead849cc 100644 --- a/flutter_quill_extensions/CHANGELOG.md +++ b/flutter_quill_extensions/CHANGELOG.md @@ -4,6 +4,151 @@ All notable changes to this project will be documented in this file. +## 9.4.0 + +This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` + +- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`: + ```dart + QuillToolbar.simple( + configurations: QuillSimpleToolbarConfigurations( + searchButtonType: SearchButtonType.legacy, + ), + ) + ``` + While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future. + + If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget + + Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated) + +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b) + + +
+ +
+ Improved + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04) + +
+ + For the detailed changes, see #1904 + +- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911 + +- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call: + + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x` + + We initially wanted to publish `flutter_quill_super_clipboard` to allow: + - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins + - Using `flutter_quill_extensions` with optional `super_clipboard` + + To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above. + + Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated. + + The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by: + ```dart + // ignore: implementation_imports + import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart'; + ``` + + Then you can call: + ```dart + // ignore: implementation_imports +import 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart'; + ClipboardServiceProvider.setInstance(YourClipboardService()); +``` + + The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future. + + If you use the above imports, you might get **breaking changes** in **non-breaking change releases**. + +- Subscript and Superscript should now work for all languages and characters + + The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices. +We have removed the Apple font from the example + +- Allow pasting Markdown and HTML file content from the system to the editor + + Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor + Copying an HTML file, or HTML content from apps and websites is different than copying plain text. + + This is why this change requires `super_clipboard` implementation as this is platform-dependent: + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + as mentioned above. + + The following example for copying a Markdown file: + +
+ Markdown File Content + + ```md + + **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor + + You have two options: + + 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well + (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly + 1. Another option is to use + [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document + to HTML. + This package has full support for all Quill operations—including images, videos, formulas, + tables, and mentions. + Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter. + It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html) + Typescript/Javascript package. + this package doesn't convert the HTML back to Quill Delta as far as we know + + ``` + +
+ +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e) + +
+ +
+ After + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788) + +
+ + Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot + however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info. + + ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9) + + For more details see #1915 + + Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. + + We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor + previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides. + + Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions) + +## New Contributors +* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0 + ## 9.3.21 * fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898 diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index ae49584e..675573c7 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_extensions description: Embed extensions for flutter_quill including image, video, formula and etc. -version: 9.3.21 +version: 9.4.0 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_test/CHANGELOG.md b/flutter_quill_test/CHANGELOG.md index 0bdf2ede..ead849cc 100644 --- a/flutter_quill_test/CHANGELOG.md +++ b/flutter_quill_test/CHANGELOG.md @@ -4,6 +4,151 @@ All notable changes to this project will be documented in this file. +## 9.4.0 + +This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` + +- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`: + ```dart + QuillToolbar.simple( + configurations: QuillSimpleToolbarConfigurations( + searchButtonType: SearchButtonType.legacy, + ), + ) + ``` + While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future. + + If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget + + Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated) + +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b) + + +
+ +
+ Improved + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04) + +
+ + For the detailed changes, see #1904 + +- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911 + +- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call: + + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x` + + We initially wanted to publish `flutter_quill_super_clipboard` to allow: + - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins + - Using `flutter_quill_extensions` with optional `super_clipboard` + + To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above. + + Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated. + + The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by: + ```dart + // ignore: implementation_imports + import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart'; + ``` + + Then you can call: + ```dart + // ignore: implementation_imports +import 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart'; + ClipboardServiceProvider.setInstance(YourClipboardService()); +``` + + The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future. + + If you use the above imports, you might get **breaking changes** in **non-breaking change releases**. + +- Subscript and Superscript should now work for all languages and characters + + The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices. +We have removed the Apple font from the example + +- Allow pasting Markdown and HTML file content from the system to the editor + + Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor + Copying an HTML file, or HTML content from apps and websites is different than copying plain text. + + This is why this change requires `super_clipboard` implementation as this is platform-dependent: + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + as mentioned above. + + The following example for copying a Markdown file: + +
+ Markdown File Content + + ```md + + **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor + + You have two options: + + 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well + (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly + 1. Another option is to use + [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document + to HTML. + This package has full support for all Quill operations—including images, videos, formulas, + tables, and mentions. + Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter. + It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html) + Typescript/Javascript package. + this package doesn't convert the HTML back to Quill Delta as far as we know + + ``` + +
+ +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e) + +
+ +
+ After + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788) + +
+ + Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot + however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info. + + ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9) + + For more details see #1915 + + Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. + + We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor + previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides. + + Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions) + +## New Contributors +* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0 + ## 9.3.21 * fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898 diff --git a/flutter_quill_test/pubspec.yaml b/flutter_quill_test/pubspec.yaml index e7e9cb4a..2ca63b96 100644 --- a/flutter_quill_test/pubspec.yaml +++ b/flutter_quill_test/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_test description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. -version: 9.3.21 +version: 9.4.0 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/pubspec.yaml b/pubspec.yaml index 089858b6..dfe6e898 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 9.3.21 +version: 9.4.0 homepage: https://1o24bbs.com/c/bulletjournal/108/ repository: https://github.com/singerdmx/flutter-quill/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_html_converter/CHANGELOG.md b/quill_html_converter/CHANGELOG.md index 0bdf2ede..ead849cc 100644 --- a/quill_html_converter/CHANGELOG.md +++ b/quill_html_converter/CHANGELOG.md @@ -4,6 +4,151 @@ All notable changes to this project will be documented in this file. +## 9.4.0 + +This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` + +- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`: + ```dart + QuillToolbar.simple( + configurations: QuillSimpleToolbarConfigurations( + searchButtonType: SearchButtonType.legacy, + ), + ) + ``` + While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future. + + If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget + + Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated) + +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b) + + +
+ +
+ Improved + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04) + +
+ + For the detailed changes, see #1904 + +- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911 + +- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call: + + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x` + + We initially wanted to publish `flutter_quill_super_clipboard` to allow: + - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins + - Using `flutter_quill_extensions` with optional `super_clipboard` + + To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above. + + Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated. + + The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by: + ```dart + // ignore: implementation_imports + import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart'; + ``` + + Then you can call: + ```dart + // ignore: implementation_imports +import 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart'; + ClipboardServiceProvider.setInstance(YourClipboardService()); +``` + + The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future. + + If you use the above imports, you might get **breaking changes** in **non-breaking change releases**. + +- Subscript and Superscript should now work for all languages and characters + + The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices. +We have removed the Apple font from the example + +- Allow pasting Markdown and HTML file content from the system to the editor + + Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor + Copying an HTML file, or HTML content from apps and websites is different than copying plain text. + + This is why this change requires `super_clipboard` implementation as this is platform-dependent: + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + as mentioned above. + + The following example for copying a Markdown file: + +
+ Markdown File Content + + ```md + + **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor + + You have two options: + + 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well + (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly + 1. Another option is to use + [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document + to HTML. + This package has full support for all Quill operations—including images, videos, formulas, + tables, and mentions. + Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter. + It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html) + Typescript/Javascript package. + this package doesn't convert the HTML back to Quill Delta as far as we know + + ``` + +
+ +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e) + +
+ +
+ After + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788) + +
+ + Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot + however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info. + + ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9) + + For more details see #1915 + + Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. + + We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor + previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides. + + Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions) + +## New Contributors +* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0 + ## 9.3.21 * fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898 diff --git a/quill_html_converter/pubspec.yaml b/quill_html_converter/pubspec.yaml index 42a80920..fbc26aa3 100644 --- a/quill_html_converter/pubspec.yaml +++ b/quill_html_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_html_converter description: A extension for flutter_quill package to add support for dealing with conversion to/from html -version: 9.3.21 +version: 9.4.0 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_pdf_converter/CHANGELOG.md b/quill_pdf_converter/CHANGELOG.md index 0bdf2ede..ead849cc 100644 --- a/quill_pdf_converter/CHANGELOG.md +++ b/quill_pdf_converter/CHANGELOG.md @@ -4,6 +4,151 @@ All notable changes to this project will be documented in this file. +## 9.4.0 + +This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` + +- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`: + ```dart + QuillToolbar.simple( + configurations: QuillSimpleToolbarConfigurations( + searchButtonType: SearchButtonType.legacy, + ), + ) + ``` + While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future. + + If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget + + Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated) + +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b) + + +
+ +
+ Improved + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04) + +
+ + For the detailed changes, see #1904 + +- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911 + +- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call: + + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x` + + We initially wanted to publish `flutter_quill_super_clipboard` to allow: + - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins + - Using `flutter_quill_extensions` with optional `super_clipboard` + + To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above. + + Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated. + + The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by: + ```dart + // ignore: implementation_imports + import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart'; + ``` + + Then you can call: + ```dart + // ignore: implementation_imports +import 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart'; + ClipboardServiceProvider.setInstance(YourClipboardService()); +``` + + The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future. + + If you use the above imports, you might get **breaking changes** in **non-breaking change releases**. + +- Subscript and Superscript should now work for all languages and characters + + The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices. +We have removed the Apple font from the example + +- Allow pasting Markdown and HTML file content from the system to the editor + + Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor + Copying an HTML file, or HTML content from apps and websites is different than copying plain text. + + This is why this change requires `super_clipboard` implementation as this is platform-dependent: + ```dart + FlutterQuillExtensions.useSuperClipboardPlugin(); + ``` + as mentioned above. + + The following example for copying a Markdown file: + +
+ Markdown File Content + + ```md + + **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor + + You have two options: + + 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well + (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly + 1. Another option is to use + [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document + to HTML. + This package has full support for all Quill operations—including images, videos, formulas, + tables, and mentions. + Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter. + It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html) + Typescript/Javascript package. + this package doesn't convert the HTML back to Quill Delta as far as we know + + ``` + +
+ +
+ Before + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e) + +
+ +
+ After + + ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788) + +
+ + Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot + however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info. + + ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9) + + For more details see #1915 + + Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. + + We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor + previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides. + + Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions) + +## New Contributors +* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0 + ## 9.3.21 * fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898 diff --git a/quill_pdf_converter/pubspec.yaml b/quill_pdf_converter/pubspec.yaml index 31e8aa52..624dce89 100644 --- a/quill_pdf_converter/pubspec.yaml +++ b/quill_pdf_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_pdf_converter description: A extension for flutter_quill package to add support for dealing with conversion to pdf -version: 9.3.21 +version: 9.4.0 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ From 731e483d8bf271c768e396d251bff153fd4075c2 Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 11:54:57 +0300 Subject: [PATCH 08/50] chore: update outdated web example --- example/.metadata | 12 ++++++------ example/web/index.html | 39 +++++++++------------------------------ example/web/manifest.json | 2 +- 3 files changed, 16 insertions(+), 37 deletions(-) diff --git a/example/.metadata b/example/.metadata index e724e168..68b331fb 100644 --- a/example/.metadata +++ b/example/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "5dcb86f68f239346676ceb1ed1ea385bd215fba1" + revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49" channel: "stable" project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - - platform: linux - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: web + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 # User provided section diff --git a/example/web/index.html b/example/web/index.html index dbf15e99..e627ce09 100644 --- a/example/web/index.html +++ b/example/web/index.html @@ -23,45 +23,24 @@ - + - example + Flutter Quill Example - - - - + + + + - - - - - - + + - + diff --git a/example/web/manifest.json b/example/web/manifest.json index 096edf8f..1088bbfd 100644 --- a/example/web/manifest.json +++ b/example/web/manifest.json @@ -1,5 +1,5 @@ { - "name": "example", + "name": "Flutter Quill Example", "short_name": "example", "start_url": ".", "display": "standalone", From b5ecbd3dce695531aca515953179701a89943191 Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 12:23:43 +0300 Subject: [PATCH 09/50] chore(localizations): replace sh with dart script, update docs and remove the sh script. --- doc/translation.md | 33 ++++++++++++++-------------- scripts/regenerate_translations.dart | 24 ++++++++++++++++++++ scripts/regenerate_translations.sh | 29 ------------------------ 3 files changed, 40 insertions(+), 46 deletions(-) create mode 100644 scripts/regenerate_translations.dart delete mode 100755 scripts/regenerate_translations.sh diff --git a/doc/translation.md b/doc/translation.md index e255a461..bfd1232e 100644 --- a/doc/translation.md +++ b/doc/translation.md @@ -37,32 +37,31 @@ Currently, translations are available for these 37 locales: #### Contributing to translations -The translation files are located in the [l10n folder](../lib/src/l10n/). Feel free to contribute your own translations, just copy the [English translations](../lib/src/l10n/quill_en.arb) map and replace the values with your translations. +The translation files are located in the [l10n folder](../lib/src/l10n/). Feel free to contribute your own translations. -Add a new file in the l10n folder with the following name -`quill_${localName}.arb` for example `quill_de.arb` +You can take a look at the [untranslated.json](../lib/src/l10n/untranslated.json) file, which is a generated file that tells you which keys with which locales haven't translated so you can find the missings easily. -paste the English version and replace the values +1. Create a new file in [l10n](../lib/src/l10n/) folder, with the following name`quill_${localName}.arb` for example `quill_de.arb` -Also, you can take a look at the [untranslated.json](../lib/src/l10n/untranslated.json) JSON file, which is a generated file that tells you which keys with which locales haven't translated so you can find the missings easily +2. Copy the [Arb Template](../lib/src/l10n/quill_en.arb) file and paste it into your new file, replace the values with your translations -After you are done and want to test the changes, run the following in the root folder (preferred): +3. Once you finish, run the following script: -``` -./scripts/regenerate_translations.sh -``` + ```bash + dart ./scripts/regenerate_translations.dart + ``` -or (if you can't run the script for some reasons): + Or (if you can't run the script for some reason): -``` -flutter gen-l10n -dart fix --apply ./lib/src/l10n/generated -dart format ./lib/src/l10n/generated -``` + ```bash + flutter gen-l10n + dart fix --apply ./lib/src/l10n/generated + dart format ./lib/src/l10n/generated + ``` -This will generate the new dart files from the arb files in order to take effect, otherwise, you won't notice a difference +The script above will generate Dart files from the Arb files in order to test the changes and take effect, otherwise you won't notice a difference. -> If you added or removed translations, make sure to update `_expectedTranslationKeysLength` variable in `./scripts/ensure_translations_correct.dart`
+> If you added or removed translations in the template file, make sure to update `_expectedTranslationKeysLength` variable in `./scripts/ensure_translations_correct.dart`
> Otherwise you don't need to update it. Then open a pull request so everyone can benefit from your translations! diff --git a/scripts/regenerate_translations.dart b/scripts/regenerate_translations.dart new file mode 100644 index 00000000..3b17cca4 --- /dev/null +++ b/scripts/regenerate_translations.dart @@ -0,0 +1,24 @@ +// ignore_for_file: avoid_print + +import 'dart:io' show Directory, Process; + +Future main(List args) async { + final generatedDartLocalizationsFolder = Directory('lib/src/l10n/generated'); + if (await generatedDartLocalizationsFolder.exists()) { + print( + 'Generated directory (${generatedDartLocalizationsFolder.path}) exists, deleting it... 📁', + ); + await generatedDartLocalizationsFolder.delete(recursive: true); + } + print('Running flutter pub get... 📦'); + await Process.run('flutter', ['pub', 'get']); + + print('Running flutter gen-l10n... 🌍'); + await Process.run('flutter', ['gen-l10n']); + + print('Applying Dart fixes to the newly generated files... 🔧'); + await Process.run('dart', ['fix', '--apply', './lib/src/l10n/generated']); + + print('Formatting the newly generated Dart files... ✨'); + await Process.run('dart', ['format', './lib/src/l10n/generated']); +} diff --git a/scripts/regenerate_translations.sh b/scripts/regenerate_translations.sh deleted file mode 100755 index 921863c2..00000000 --- a/scripts/regenerate_translations.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# Important: make sure to run the script in the root folder of the repo: -# ./scripts/regenerate_translations.sh -# otherwise the script could delete the wrong folder in rare cases - -# TODO: Refactor this to a dart script to allow developers who use Windows to use it - -echo "" - -echo "Delete the current generated localizations..." -rm -rf lib/src/l10n/generated -echo "" - -echo "Run flutter pub get.." -flutter pub get -echo "" - -echo "Run flutter gen-l10n" -flutter gen-l10n -echo "" - -echo "" -echo "Apply dart fixes to the newly generated files" -dart fix --apply ./lib/src/l10n/generated - -echo "" -echo "Formate the newly generated dart files" -dart format ./lib/src/l10n/generated \ No newline at end of file From 1e76d95ceeedbfe4347b09abb12ca530bb5d0c70 Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 12:29:34 +0300 Subject: [PATCH 10/50] docs(translations): update outdated translation page --- doc/translation.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/doc/translation.md b/doc/translation.md index bfd1232e..6f268cd0 100644 --- a/doc/translation.md +++ b/doc/translation.md @@ -23,17 +23,14 @@ Expanded( ) ``` -Currently, translations are available for these 37 locales: - -* `Locale('en')`, `Locale('ar')`, `Locale('bn')`, `Locale('bs')` -* `Locale('cs')`, `Locale('de')`, `Locale('da')`, `Locale('fr')` -* `Locale('he')`, `Locale('zh', 'CN')`, `Locale('zh', 'HK')` -* `Locale('ko')`, `Locale('ku')`, `Locale('ku', 'CKB')` -* `Locale('ro', 'RO')`, `Locale('ru')`, `Locale('es')`, `Locale('tk')`, `Locale('tr')` -* `Locale('uk')`, `Locale('ur')`, `Locale('pt')`, `Locale('pl')` -* `Locale('vi')`, `Locale('id')`, `Locale('it')`, `Locale('ms')` -* `Locale('nl')`, `Locale('no')`, `Locale('ne', 'NP')`, `Locale('fa')`, `Locale('hi')` -* `Locale('sk')`, `Locale('sr')`, `Locale('sv')`, `Locale('sw')`, `Locale('ja')` +Currently, translations are available for these 41 locales: + +* `Locale('en')`, `Locale('hi')`, `Locale('ku', 'CKB')`, `Locale('pt')`, `Locale('sr')`, `Locale('ur')` +* `Locale('bg')`, `Locale('en', 'US')`, `Locale('id')`, `Locale('ms')`, `Locale('pt', 'br')`, `Locale('sv')`, `Locale('vi')` +* `Locale('bn')`, `Locale('es')`, `Locale('it')`, `Locale('ne')`, `Locale('ro')`, `Locale('sw')`, `Locale('zh')` +* `Locale('cs')`, `Locale('fa')`, `Locale('ja')`, `Locale('nl')`, `Locale('ro', 'RO')`, `Locale('tk')`, `Locale('zh', 'CN')` +* `Locale('da')`, `Locale('fr')`, `Locale('ko')`, `Locale('no')`, `Locale('ru')`, `Locale('tr')`, `Locale('zh', 'HK')` +* `Locale('de')`, `Locale('he')`, `Locale('ku')`, `Locale('pl')`, `Locale('ar')`, `Locale('sk')`, `Locale('uk')` #### Contributing to translations From 3b7b1081a0b8d0a2243cac02522ad0808cad5a32 Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 12:43:33 +0300 Subject: [PATCH 11/50] docs(translations): improve translation page --- doc/translation.md | 50 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/doc/translation.md b/doc/translation.md index 6f268cd0..bbf92c64 100644 --- a/doc/translation.md +++ b/doc/translation.md @@ -23,6 +23,8 @@ Expanded( ) ``` +## Supported Locales + Currently, translations are available for these 41 locales: * `Locale('en')`, `Locale('hi')`, `Locale('ku', 'CKB')`, `Locale('pt')`, `Locale('sr')`, `Locale('ur')` @@ -32,33 +34,55 @@ Currently, translations are available for these 41 locales: * `Locale('da')`, `Locale('fr')`, `Locale('ko')`, `Locale('no')`, `Locale('ru')`, `Locale('tr')`, `Locale('zh', 'HK')` * `Locale('de')`, `Locale('he')`, `Locale('ku')`, `Locale('pl')`, `Locale('ar')`, `Locale('sk')`, `Locale('uk')` -#### Contributing to translations +## Contributing to translations -The translation files are located in the [l10n folder](../lib/src/l10n/). Feel free to contribute your own translations. +The translation files are located in the [l10n](../lib/src/l10n/) folder. Feel free to contribute your own translations. You can take a look at the [untranslated.json](../lib/src/l10n/untranslated.json) file, which is a generated file that tells you which keys with which locales haven't translated so you can find the missings easily. +
+Add new local + 1. Create a new file in [l10n](../lib/src/l10n/) folder, with the following name`quill_${localName}.arb` for example `quill_de.arb` 2. Copy the [Arb Template](../lib/src/l10n/quill_en.arb) file and paste it into your new file, replace the values with your translations -3. Once you finish, run the following script: +3. Update [Supported Locales](#supported-locales) section in this page to update the supported translations for both the number and the list + +
+ +
+Update existing local + +1. Navigate to [l10n](../lib/src/l10n/) folder + +2. Find the existing local, let's say you want to update the Korean translations, it will be `quill_ko.arb` + +3. Use [untranslated.json](../lib/src/l10n/untranslated.json) as reference to find missings, update or add what you want to translate. - ```bash - dart ./scripts/regenerate_translations.dart - ``` +
+
- Or (if you can't run the script for some reason): +We usually avoid **updating existing value of a key in the template file without updating the key or creating a new one**, this will not update the [untranslated.json](../lib/src/l10n/untranslated.json) correctly and will make it harder for contributors to find missings or incomplete. - ```bash - flutter gen-l10n - dart fix --apply ./lib/src/l10n/generated - dart format ./lib/src/l10n/generated - ``` + +Once you finish, run the following script: + +```bash +dart ./scripts/regenerate_translations.dart +``` + +Or (if you can't run the script for some reason): + +```bash +flutter gen-l10n +dart fix --apply ./lib/src/l10n/generated +dart format ./lib/src/l10n/generated +``` The script above will generate Dart files from the Arb files in order to test the changes and take effect, otherwise you won't notice a difference. -> If you added or removed translations in the template file, make sure to update `_expectedTranslationKeysLength` variable in `./scripts/ensure_translations_correct.dart`
+> If you added or removed translations in the template file, make sure to update `_expectedTranslationKeysLength` variable in [scripts/ensure_translations_correct.dart](../scripts/ensure_translations_correct.dart)
> Otherwise you don't need to update it. Then open a pull request so everyone can benefit from your translations! From 97a08b82b7f6517e25d4b9846eab0adb24972b38 Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 12:47:47 +0300 Subject: [PATCH 12/50] docs: improve README.md --- README.md | 136 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 89 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index e391b51a..1412bef4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Flutter Quill

- + Flutter Quill

A rich text editor for Flutter

@@ -12,14 +12,23 @@ [![Watch on GitHub][github-forks-badge]][github-forks-link] [license-badge]: https://img.shields.io/github/license/singerdmx/flutter-quill.svg?style=for-the-badge + [license-link]: ./LICENSE + [prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge + [prs-link]: https://github.com/singerdmx/flutter-quill/issues + [github-watch-badge]: https://img.shields.io/github/watchers/singerdmx/flutter-quill.svg?style=for-the-badge&logo=github&logoColor=ffffff + [github-watch-link]: https://github.com/singerdmx/flutter-quill/watchers + [github-star-badge]: https://img.shields.io/github/stars/singerdmx/flutter-quill.svg?style=for-the-badge&logo=github&logoColor=ffffff + [github-star-link]: https://github.com/singerdmx/flutter-quill/stargazers + [github-forks-badge]: https://img.shields.io/github/forks/singerdmx/flutter-quill.svg?style=for-the-badge&logo=github&logoColor=ffffff + [github-forks-link]: https://github.com/singerdmx/flutter-quill/network/members --- @@ -27,35 +36,36 @@ FlutterQuill is a rich text editor and a [Quill] component for [Flutter]. This library is a WYSIWYG (What You See Is What You Get) editor built -for the modern Android, iOS, +for the modern Android, iOS, web and desktop platforms. Check out our [Youtube Playlist] or [Code Introduction](./doc/code_introduction.md) to take a detailed walkthrough of the code base. You can join our [Slack Group] for discussion. > If you are viewing this page from [pub.dev](https://pub.dev/) page, then you -might have some issues with opening some links, open it in the GitHub repo instead. +> might have some issues with opening some links, open it in the GitHub repo instead. ## Table of contents + - [Flutter Quill](#flutter-quill) - - [Table of contents](#table-of-contents) - - [Screenshots](#screenshots) - - [Installation](#installation) - - [Platform Specific Configurations](#platform-specific-configurations) - - [Usage](#usage) - - [Migration](#migration) - - [Input / Output](#input--output) - - [Links](#links) - - [Configurations](#configurations) - - [Links](#links-1) - - [Font Family](#font-family) - - [Embed Blocks](#embed-blocks) - - [Using the embed blocks from `flutter_quill_extensions`](#using-the-embed-blocks-from-flutter_quill_extensions) - - [Links](#links-2) - - [Conversion to HTML](#conversion-to-html) - - [Translation](#translation) - - [Testing](#testing) - - [Contributors](#contributors) + - [Table of contents](#table-of-contents) + - [Screenshots](#screenshots) + - [Installation](#installation) + - [Platform Specific Configurations](#platform-specific-configurations) + - [Usage](#usage) + - [Migration](#migration) + - [Input / Output](#input--output) + - [Links](#links) + - [Configurations](#configurations) + - [Links](#links-1) + - [Font Family](#font-family) + - [Embed Blocks](#embed-blocks) + - [Using the embed blocks from `flutter_quill_extensions`](#using-the-embed-blocks-from-flutter_quill_extensions) + - [Links](#links-2) + - [Conversion to HTML](#conversion-to-html) + - [Translation](#translation) + - [Testing](#testing) + - [Contributors](#contributors) ## Screenshots @@ -86,22 +96,27 @@ dependencies: git: https://github.com/singerdmx/flutter-quill.git ``` -> Using the latest version and reporting any issues you encounter on GitHub will greatly contribute to the improvement of the library. -> Your input and insights are valuable in shaping a stable and reliable version for all the developers. Thank you for being part of the open-source community! +> Using the latest version and reporting any issues you encounter on GitHub will greatly contribute to the improvement +> of the library. +> Your input and insights are valuable in shaping a stable and reliable version for all the developers. Thank you for +> being part of the open-source community! > ## Platform Specific Configurations -Before using the package, we must inform you the package use the following plugins: +Before using the package, we must inform you the package uses the following plugins: + ``` url_launcher flutter_keyboard_visibility device_info_plus ``` -All of them doesn't require any platform specific setup. +All of them don't require any platform-specific setup. -> Starting from Flutter Quill `9.4.x`, [super_clipboard](https://pub.dev/packages/super_clipboard) has been moved to [FlutterQuill Extensions], to use rich text features, support pasting images, gif files, take a look at `flutter_quill_extensions` Readme. +> Starting from Flutter Quill `9.4.x`, [super_clipboard](https://pub.dev/packages/super_clipboard) has been moved +> to [FlutterQuill Extensions], to use rich text features, support pasting images, gif files, take a look +> at `flutter_quill_extensions` Readme. ## Usage @@ -143,6 +158,7 @@ in most cases, it's better to. Check out [Sample Page] for more advanced usage. ## Migration + Starting from version `8.0.0` We have added [Migration Guide](/doc/migration.md) for migration from different versions @@ -170,7 +186,7 @@ final json = jsonEncode(_controller.document.toDelta().toJson()); You can then write this to storage. -To open a FlutterQuill editor with an existing JSON representation that you've previously stored, +To open a FlutterQuill editor with an existing JSON representation that you've previously stored, you can do something like this: ```dart @@ -194,6 +210,7 @@ The `QuillToolbar` and `QuillEditor` widgets let you customize a lot of things [Sample Page] provides sample code for advanced usage and configuration. ### Links + - [Using Custom App Widget](./doc/configurations/using_custom_app_widget.md) - [Localizations Setup](./doc/configurations/localizations_setup.md) - [Font Size](./doc/configurations/font_size.md) @@ -202,19 +219,27 @@ The `QuillToolbar` and `QuillEditor` widgets let you customize a lot of things ### Font Family -To use your own fonts, update your [assets folder](./example/assets/fonts) and pass in `fontFamilyValues`. -More details on [this commit](https://github.com/singerdmx/flutter-quill/commit/71d06f6b7be1b7b6dba2ea48e09fed0d7ff8bbaa), -[this article](https://stackoverflow.com/questions/55075834/fontfamily-property-not-working-properly-in-flutter) and [this](https://www.flutterbeads.com/change-font-family-flutter/). +To use your own fonts, update your [Assets](./example/assets/fonts) folder and pass in `fontFamilyValues`. +More details +on [this commit](https://github.com/singerdmx/flutter-quill/commit/71d06f6b7be1b7b6dba2ea48e09fed0d7ff8bbaa), +[this article](https://stackoverflow.com/questions/55075834/fontfamily-property-not-working-properly-in-flutter) +and [this](https://www.flutterbeads.com/change-font-family-flutter/). ## Embed Blocks -As of version 6.0, embed blocks are not provided by default as part of this package. Instead, this package provides an interface for all the users to provide their own implementations for embed blocks. Implementations for image, video, and formula embed blocks are proved in a separate package [`flutter_quill_extensions`](https://pub.dev/packages/flutter_quill_extensions). +As of version 6.0, embed blocks are not provided by default as part of this package. + +Instead, this package provides an interface for all the users to provide their own implementations for embed blocks. +Implementations for image, video, and +formula embed blocks are proved in a separate +package [`flutter_quill_extensions`](https://pub.dev/packages/flutter_quill_extensions). Provide a list of embed ### Using the embed blocks from `flutter_quill_extensions` -To see how to use the extension package, please take a look at the [README](./flutter_quill_extensions/README.md) of [FlutterQuill Extensions] +To see how to use the extension package, please take a look at the [README](./flutter_quill_extensions/README.md) +of [FlutterQuill Extensions] ### Links @@ -226,25 +251,30 @@ To see how to use the extension package, please take a look at the [README](./fl Having your document stored in Quill Delta format is sometimes not enough. Often you'll need to convert it to other formats such as HTML to publish it, or send an email. -**Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor +**Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when +pasting HTML content from the clipboard to the Quill Editor You have two options: -1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well -(it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly -1. Another option is to use -[vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document -to HTML. +1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to + HTML well + (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension + to do it more quickly +2. Another option is to use + [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document + to HTML. This package has full support for all Quill operations—including images, videos, formulas, -tables, and mentions. + tables, and mentions. Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter. -It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html) -Typescript/Javascript package. + It is a complete Dart part of the popular and + mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html) + Typescript/Javascript package. this package doesn't convert the HTML back to Quill Delta as far as we know ## Translation -The package offers translations for the quill toolbar and editor, it will follow the system locale unless you set your own locale. +The package offers translations for the quill toolbar and editor, it will follow the system locale unless you set your +own locale. Open this [page](./doc/translation.md) for more info @@ -257,7 +287,7 @@ Please use [flutter_quill_test](https://pub.dev/packages/flutter_quill_test) for - Special thanks to everyone who has contributed to this project... - + Contributors
@@ -269,20 +299,32 @@ Made with [contrib.rocks](https://contrib.rocks). and contributors who put time and effort into everything including making all the libraries, tools, and the information we rely on - We are incredibly grateful to many individuals and organizations who have played a -role in the project. This includes the welcoming community, dedicated volunteers, talented developers and -contributors, and the creators of the open-source tools we rely on. + role in the project. + This includes the welcoming community, dedicated volunteers, talented developers and + contributors, and the creators of the open-source tools we rely on. We welcome all contributions! -Please follow these guidelines when contributing to the project. See [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.
+Please follow these guidelines when contributing to the project. +See [CONTRIBUTING.md](./CONTRIBUTING.md) for more +details. +
-The [CONTRIBUTING.md](./CONTRIBUTING.md) has development notes, if you're planning on contributing to the package, please consider reading it. +The [CONTRIBUTING.md](./CONTRIBUTING.md) has development notes, if you're planning on contributing to the package, +please consider reading it. [Quill]: https://quilljs.com/docs/formats + [Flutter]: https://github.com/flutter/flutter + [FlutterQuill]: https://pub.dev/packages/flutter_quill + [FlutterQuill Extensions]: https://pub.dev/packages/flutter_quill_extensions + [ReactQuill]: https://github.com/zenoamaro/react-quill + [Youtube Playlist]: https://youtube.com/playlist?list=PLbhaS_83B97vONkOAWGJrSXWX58et9zZ2 + [Slack Group]: https://join.slack.com/t/bulletjournal1024/shared_invite/zt-fys7t9hi-ITVU5PGDen1rNRyCjdcQ2g + [Sample Page]: https://github.com/singerdmx/flutter-quill/blob/master/example/lib/screens/quill/quill_screen.dart From e863a539bf049a320b6da239c9862f830021d98b Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 12:53:05 +0300 Subject: [PATCH 13/50] docs(markdown-files): improve markdown docs files --- CONTRIBUTING.md | 53 +++++++++++------- doc/configurations/custom_buttons.md | 3 +- doc/configurations/font_size.md | 8 ++- doc/configurations/localizations_setup.md | 11 +++- doc/configurations/using_custom_app_widget.md | 8 ++- doc/custom_embed_blocks.md | 24 +++++--- doc/custom_toolbar.md | 5 +- doc/development_notes.md | 26 ++++++--- doc/todo.md | 55 ------------------- doc/translation.md | 32 +++++++---- 10 files changed, 117 insertions(+), 108 deletions(-) delete mode 100644 doc/todo.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3f884bd6..bdf2dbbd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,19 +2,26 @@ First of all, we would like to thank you for your time and efforts on this project, we appreciate it -You can see tutorials online on how to contribute to any open source project, it's a simple process, and you can do it even if you are not Git expert, simply start by forking the repository, clone it, creating a new branch, make your changes and commit them, then push the branch to your fork, and you will get link to send a PR to the upstream repository +You can see tutorials online on how to contribute to any open source project, it's a simple process, and you can do it +even if you are not Git expert, simply start by forking the repository, clone it, create a new branch, make your +changes and commit them, then push the branch to your fork, and you will get link to send a PR to the upstream +repository -If you don't have anything specific in mind to improve or fix, you can take a look at the issues tab or take a look at the todos of the project, they all start with `TODO:` so you can search in your IDE or use the todos tab in the IDE +If you don't have anything specific in mind to improve or fix, you can take a look at the issues tab or take a look at +the todos of the project, they all start with `TODO:` so you can search in your IDE or use the todos tab in the IDE -You can also check the [Todo](./doc/todo.md) list or the issues if you want to +You can also check the [Todo](./doc/todo.md) list or the issues if you want to -> Make sure to not edit the `CHANGELOG.md` or the version in `pubspec.yaml` for any of the packages, this process will be automated by CI. +> Make sure to not edit the `CHANGELOG.md` or the version in `pubspec.yaml` for any of the packages, CI will automate +> this process. ## Requirements -- [Flutter SDK](https://docs.flutter.dev/get-started/install) which can be installed by following the instructions the provided link, also make sure to add it to your path so `flutter --version` and `dart --version` work -- [Intellij IDEA Community Edition](https://www.jetbrains.com/idea/download/) or [Android Studio](https://developer.android.com/studio) (with Dart and Flutter plugins) or use [VS Code](https://code.visualstudio.com/) (with Dart and flutter extensions) - +- [Flutter SDK](https://docs.flutter.dev/get-started/install), which can be installed by following the instructions the + provided link, also make sure to add it to your path so `flutter --version` and `dart --version` work +- [IntelliJ IDEA Community Edition](https://www.jetbrains.com/idea/download/) + or [Android Studio](https://developer.android.com/studio) (with Dart and Flutter plugins) or + use [VS Code](https://code.visualstudio.com/) (with Dart and flutter extensions) ## Test your changes 🧪 @@ -22,8 +29,10 @@ Make sure you have the [Requirement](#requirements) installed and configured cor To test your changes: -1. Go to the [Example project](./example/) in [main.dart](./example/lib/main.dart) and run the project either by using your IDE or `flutter run` -2. Make sure to read the [Development Notes](./doc/development_notes.md) if you made certain changes or [Translations Page](./doc/translation.md) if you made changes to the translations of the package +1. Go to the [Example project](./example/) in [main.dart](./example/lib/main.dart) and run the project either by using + your IDE or `flutter run` +2. Make sure to read the [Development Notes](./doc/development_notes.md) if you made certain changes + or [Translations Page](./doc/translation.md) if you made changes to the translations of the package ## Steps to contributing @@ -35,24 +44,29 @@ You will need a GitHub account as well as Git installed and configured with your ``` git remote add upstream git@github.com:singerdmx/flutter-quill.git ``` -4. Open the project with your favorite IDE, usually, we prefer to use Jetbrains IDEs, but since [VS Code](https://code.visualstudio.com) is more used and has more support for Dart, then we suggest using it if you want to. +4. Open the project with your favorite IDE, usually, we prefer to use Jetbrains IDEs, but + since [VS Code](https://code.visualstudio.com) is more used and has more support for Dart, then we suggest using it + if you want to. 5. Create a new git branch and switch to it using `git checkout -b` 6. Make your changes -7. If you are working on changes that depend on different libraries in the same repo, then in that directory copy `pubspec_overrides.yaml.disabled` which exists in all the packages (`flutter_quill_test` and `flutter_quill_extensions` etc...) -to `pubspec_overrides.yaml` which will be ignored by `.gitignore` and will be used by dart pub to override the libraries +7. If you are working on changes that depend on different libraries in the same repo, then in that directory + copy `pubspec_overrides.yaml.disabled` which exists in all the packages (`flutter_quill_test` + and `flutter_quill_extensions` etc...) + to `pubspec_overrides.yaml` which will be ignored by `.gitignore` and will be used by dart pub to override the + libraries ``` cp pubspec_overrides.yaml.disabled pubspec_overrides.yaml ``` - or save some time with the following script: + or save some time with the following script: ``` ./scripts/enable_local_dev.sh ``` 8. Test them in the [example](./example) and add changes in there if necessary -9. Run the following script if possible - ``` - ./scripts/before_push.sh - ``` +9. Run the following script if possible + ``` + ./scripts/before_push.sh + ``` 10. When you are done sending your pull request, run: ``` git add . @@ -62,10 +76,11 @@ to `pubspec_overrides.yaml` which will be ignored by `.gitignore` and will be us this will push the new branch to your forked repository 11. Now you can send your pull request either by following the link that you will get in the command line or open your -forked repository. You will find an option to send the pull request, you can also -open the [Pull Requests](https://github.com/singerdmx/flutter-quill) tab and send new pull request + forked repository. You will find an option to send the pull request, you can also + open the [Pull Requests](https://github.com/singerdmx/flutter-quill) tab and send new pull request 12. Now, wait for the review, and we might ask you to make more changes, then run: + ``` git add . git commit -m "Your new commit message" diff --git a/doc/configurations/custom_buttons.md b/doc/configurations/custom_buttons.md index 24f9e1ca..1b52c25f 100644 --- a/doc/configurations/custom_buttons.md +++ b/doc/configurations/custom_buttons.md @@ -1,6 +1,7 @@ # Custom `QuillToolbar` Buttons -You may add custom buttons to the _end_ of the toolbar, via the `customButtons` option, which is a `List` of `QuillToolbarCustomButtonOptions`. +You may add custom buttons to the _end_ of the toolbar, via the `customButtons` option, which is a `List` +of `QuillToolbarCustomButtonOptions`. To add an Icon, we should use a new `QuillToolbarCustomButtonOptions` class diff --git a/doc/configurations/font_size.md b/doc/configurations/font_size.md index c73ddcb8..a4e25825 100644 --- a/doc/configurations/font_size.md +++ b/doc/configurations/font_size.md @@ -1,8 +1,12 @@ # Font Size -Within the editor toolbar, a drop-down with font-sizing capabilities is available. This can be enabled or disabled with `showFontSize`. +Within the editor toolbar, a drop-down with font-sizing capabilities is available. +This can be enabled or disabled +with `showFontSize`. -When enabled, the default font-size values can be modified via _optional_ `fontSizeValues`. `fontSizeValues` accepts a `Map` consisting of a `String` title for the font size and a `String` value for the font size. Example: +When enabled, the default font-size values can be modified via _optional_ `fontSizeValues`. +Accepts a `Map` consisting of a `String` title for the font size and a `String` value for the font size. +Example: ```dart fontSizeValues: const {'Small': '8', 'Medium': '24.5', 'Large': '46'} diff --git a/doc/configurations/localizations_setup.md b/doc/configurations/localizations_setup.md index cf446868..cf5c12f9 100644 --- a/doc/configurations/localizations_setup.md +++ b/doc/configurations/localizations_setup.md @@ -1,7 +1,9 @@ # Localizations Setup + in addition to the required delegates mentioned above in [Using custom app widget](./using_custom_app_widget.md) which are: + ```dart localizationsDelegates: const [ DefaultCupertinoLocalizations.delegate, @@ -9,9 +11,11 @@ localizationsDelegates: const [ DefaultWidgetsLocalizations.delegate, ], ``` + which are used by official Flutter widgets -The library also needs the +The library also needs the `FlutterQuillLocalizations.delegate` + ```dart // Required localizations delegates ... FlutterQuillLocalizations.delegate @@ -19,7 +23,10 @@ FlutterQuillLocalizations.delegate To offer the default localizations. -But **you don't have to** since we have wrapped the `QuillEditor` and `QuillToolbar` with `FlutterQuillLocalizationsWidget` which will check if it sets then it will go, if not, then it will be provided only for them, so it's not really required, but if you are overriding the `localizationsDelegates` you could also add the `FlutterQuillLocalizations.delegate` +But **you don't have to** since we have wrapped the `QuillEditor` and `QuillToolbar` +with `FlutterQuillLocalizationsWidget` which will check if it sets then it will go, if not, then it will be provided +only for them, so it's not really required, but if you are overriding the `localizationsDelegates` you could also add +the `FlutterQuillLocalizations.delegate` which won't change anything There are additional notes in the [Translation](../translation.md) section diff --git a/doc/configurations/using_custom_app_widget.md b/doc/configurations/using_custom_app_widget.md index d9457211..1b41bc2e 100644 --- a/doc/configurations/using_custom_app_widget.md +++ b/doc/configurations/using_custom_app_widget.md @@ -7,7 +7,7 @@ This project uses some adaptive widgets like `AdaptiveTextSelectionToolbar` whic 3. Default Widgets Localizations delegate You don't need to include those since they are defined by default - but if you are using a Custom app or you are overriding the `localizationsDelegates` in the App widget +but if you are using a Custom app or you are overriding the `localizationsDelegates` in the App widget then please make sure it includes those: ```dart @@ -18,7 +18,8 @@ localizationsDelegates: const [ ], ``` -You might need more depending on your use case, for example, if you are using custom localizations for your app, using a custom app widget like `FluentApp` from [FluentUI] +You might need more depending on your use case, for example, if you are using custom localizations for your app, using a +custom app widget like `FluentApp` from [FluentUI] which will also need ```dart @@ -29,7 +30,8 @@ localizationsDelegates: const [ ], ``` -Note: In the latest versions of `FluentApp` you no longer need to add the `localizationsDelegates` but this is just an example, for more [info](https://github.com/bdlukaa/fluent_ui/pull/946) +Note: In the latest versions of `FluentApp` you no longer need to add the `localizationsDelegates` but this is just an +example, for more [info](https://github.com/bdlukaa/fluent_ui/pull/946) There are additional notes on the [Localizations](./localizations_setup.md) page diff --git a/doc/custom_embed_blocks.md b/doc/custom_embed_blocks.md index a4f3b700..19f23ab5 100644 --- a/doc/custom_embed_blocks.md +++ b/doc/custom_embed_blocks.md @@ -1,12 +1,16 @@ # Custom Embed Blocks -Sometimes you want to add some custom content inside your text, custom widgets inside of them. An example is adding notes to the text, or anything custom that you want to add in your text editor. +Sometimes you want to add some custom content inside your text, custom widgets inside them. +An example is adding +notes to the text, or anything custom that you want to add in your text editor. -The only thing that you need is to add a `CustomBlockEmbed` and provide a builder for it to the `embedBuilders` parameter, to transform the data inside of the Custom Block into a widget! +The only thing that you need is to add a `CustomBlockEmbed` and provide a builder for it to the `embedBuilders` +parameter, to transform the data inside the Custom Block into a widget! Here is an example: -Starting with the `CustomBlockEmbed`, here we extend it and add the methods that are useful for the 'Note' widget, which will be the `Document`, used by the `flutter_quill` to render the rich text. +Starting with the `CustomBlockEmbed`, here we extend it and add the methods that are useful for the 'Note' widget, which +will be the `Document`, used by the `flutter_quill` to render the rich text. ```dart class NotesBlockEmbed extends CustomBlockEmbed { @@ -21,7 +25,8 @@ class NotesBlockEmbed extends CustomBlockEmbed { } ``` -After that, we need to map this "notes" type into a widget. In that case, I used a `ListTile` with a text to show the plain text resume of the note, and the `onTap` function to edit the note. +After that, we need to map this "notes" type into a widget. In that case, I used a `ListTile` with a text to show the +plain text resume of the note, and the `onTap` function to edit the note. Don't forget to add this method to the `QuillEditor` after that! ```dart @@ -64,7 +69,11 @@ class NotesEmbedBuilder extends EmbedBuilder { } ``` -And finally, we write the function to add/edit this note. The `showDialog` function shows the QuillEditor to edit the note after the user ends the edition, we check if the document has something, and if it has, we add or edit the `NotesBlockEmbed` inside of a `BlockEmbed.custom` (this is a little detail that will not work if you don't pass the `CustomBlockEmbed` inside of a `BlockEmbed.custom`). +And finally, we write the function to add/edit this note. +The `showDialog` function shows the QuillEditor to edit the +note after the user ends the edition, we check if the document has something, and if it has, we add or edit +the `NotesBlockEmbed` inside of a `BlockEmbed.custom` (this is a little detail that will not work if you don't pass +the `CustomBlockEmbed` inside of a `BlockEmbed.custom`). ```dart Future _addEditNote(BuildContext context, {Document? document}) async { @@ -116,11 +125,12 @@ Future _addEditNote(BuildContext context, {Document? document}) async { } ``` -And voila, we have a custom widget inside of the rich text editor! +And voilà, we have a custom widget inside the rich text editor!

1

-> 1. For more info and a video example, see the [PR of this feature](https://github.com/singerdmx/flutter-quill/pull/877) +> 1. For more info and a video example, see + the [PR of this feature](https://github.com/singerdmx/flutter-quill/pull/877) > 2. For more details, check out [this YouTube video](https://youtu.be/pI5p5j7cfHc) diff --git a/doc/custom_toolbar.md b/doc/custom_toolbar.md index fc661b6d..4e6650b7 100644 --- a/doc/custom_toolbar.md +++ b/doc/custom_toolbar.md @@ -1,6 +1,6 @@ # Custom Toolbar -If you want to use a custom toolbar but still want the support of this library +If you want to use a custom toolbar but still want the support of this library, You can use the `QuillBaseToolbar` which is the base for the `QuillToolbar` Example: @@ -112,4 +112,5 @@ QuillToolbar( ) ``` -if you want a more customized toolbar feel free to create your own and use the `controller` to interact with the editor. checkout the `QuillToolbar` and the buttons inside it to see an example of how that will work +if you want a more customized toolbar feel free to create your own and use the `controller` to interact with the editor. +checkout the `QuillToolbar` and the buttons inside it to see an example of how that will work diff --git a/doc/development_notes.md b/doc/development_notes.md index aaaba2be..dfdc6960 100644 --- a/doc/development_notes.md +++ b/doc/development_notes.md @@ -1,10 +1,22 @@ # Development notes -- When updating the translations or localizations in the app, please take a look at the [Translation](./translation.md) page as it has important notes in order to work, if you also add a feature that adds new localizations then you need to the instructions of it in order for the translations to take effect -- We use the same package version and `CHANGELOG.md` for all the packages, for more [details](https://github.com/singerdmx/flutter-quill/pull/1878), the process is automated. We have a script that will do the followings: - 1. Generate the `CHANGELOG.md` files by `CHANGELOG_JSON.json` (source of data) and then paste them into all the packages we have (overwrite), you don't need to - manually change/update any of the mentioned files above, once a new GitHub release published, the CI will take the release notes from the release, pass the info to the - script, the release notes can be auto-generated by Github using a button, a descirptive PRs title would help but you don't have to since we can change it at anytime. - 2. The script require the new version as an argument, you don't need to run the script manually, when a maintainer create a new tag and publish a new GitHub release, the publish workflow will extract the new version from the tag name, run the script (pass the extracted version as an argument), commit the changes and push them into the repository, the script will update the `version` property for all the packages so the `flutter pub publish` will use the new version for each package correctly. +- When updating the translations or localizations in the app, please take a look at the [Translation](./translation.md) + page as it has important notes to work. + If you also add a feature that adds new localizations, then you need it + to the instructions of it in order for the translations to take effect +- We use the same package version and `CHANGELOG.md` for all the packages, for + more [details](https://github.com/singerdmx/flutter-quill/pull/1878), the process is automated. We have a script that + will do the following: + 1. Generate the `CHANGELOG.md` files by `CHANGELOG_JSON.json` (source of data) and then paste them into all the + packages we have (overwrite), you don't need to + manually change/update any of the mentioned files above, once a new GitHub release published, the CI will take + the release notes from the release, pass the info to the + script, the release notes can be auto-generated by GitHub using a button, a descriptive PRs title would help but + you don't have to since we can change it at anytime. + 2. The script require the new version as an argument, you don't need to run the script manually, when a maintainer + create a new tag and publish a new GitHub release, the publish workflow will extract the new version from the tag + name, run the script (pass the extracted version as an argument), commit the changes and push them into the + repository, the script will update the `version` property for all the packages so the `flutter pub publish` will + use the new version for each package correctly. - the script will be used the CI and no need to run it manually \ No newline at end of file + the script will be used the CI and no need to run it manually \ No newline at end of file diff --git a/doc/todo.md b/doc/todo.md deleted file mode 100644 index 7617b022..00000000 --- a/doc/todo.md +++ /dev/null @@ -1,55 +0,0 @@ -# Todo - -This is a todo list page that added recently and will be updated soon. - -## Table of contents -- [Todo](#todo) - - [Table of contents](#table-of-contents) - - [Flutter Quill](#flutter-quill) - - [Features](#features) - - [Improvemenets](#improvemenets) - - [Bugs](#bugs) - - [Flutter Quill Extensions](#flutter-quill-extensions) - - [Features](#features-1) - - [Improvemenets](#improvemenets-1) - - [Bugs](#bugs-1) - -## Flutter Quill - -### Features - - - Add support for Text magnification feature, for more [info](https://github.com/singerdmx/flutter-quill/issues/1504) - - Provide a way to expose quills undo redo stacks, for more [info](https://github.com/singerdmx/flutter-quill/issues/1381) - - Add callback to the `QuillToolbarColorButton` for custom color picking logic - -### Improvemenets - - - Improve the Raw Quill Editor, for more [info](https://github.com/singerdmx/flutter-quill/issues/1509) - - Provide more support to all the platforms - - Extract the shared properties between `QuillRawEditorConfigurations` and `QuillEditorConfigurations` - - The todo in the this [commit](https://github.com/singerdmx/flutter-quill/commit/79597ea6425357795c0663588ac079665241f23a) needs to be checked - - use `maybeOf` and of instead `ofNotNull` in the providers to follow flutter offical convenstion, completly rework the providers and update the build context extensions - - Add line through to the text when the check point checked is true - - Change the color of the numbers and dots in ol/ul to match the ones in the item list - - Fix the bugs of the font family and font size - - Try to update Quill Html Converter - - When pasting a HTML text from cliboard by not using the context menu builder, the new logic won't work - - When selecting all text and paste HTML text, it will not replace the current text, instead it will add a text - - Add strike-through in checkbox text when the checkpoint is checked - - No more using of dynamic - - There is a bug here, the first character is not being formatted when choosing font family or font size and type in the editor - - Fix the toolbar and the toolbar buttons, rework some of them, for example missing tooltips - -### Bugs - -Empty for now. -Please go to the [issues](https://github.com/singerdmx/flutter-quill/issues) - - -## Flutter Quill Extensions - -### Features - -### Improvemenets - -### Bugs \ No newline at end of file diff --git a/doc/translation.md b/doc/translation.md index bbf92c64..0241a872 100644 --- a/doc/translation.md +++ b/doc/translation.md @@ -1,6 +1,8 @@ # Translation -The package offers translations for the quill toolbar and editor, it will follow the locale that is defined in your `WidgetsApp` for example `MaterialApp` which usually follows the system locally unless you set your own locale with: +The package offers translations for the quill toolbar and editor, it will follow the locale that is defined in +your `WidgetsApp` for example `MaterialApp` which usually follows the system locally unless you set your own locale +with: ```dart QuillToolbar.simple( @@ -38,16 +40,20 @@ Currently, translations are available for these 41 locales: The translation files are located in the [l10n](../lib/src/l10n/) folder. Feel free to contribute your own translations. -You can take a look at the [untranslated.json](../lib/src/l10n/untranslated.json) file, which is a generated file that tells you which keys with which locales haven't translated so you can find the missings easily. +You can take a look at the [untranslated.json](../lib/src/l10n/untranslated.json) file, which is a generated file that +tells you which keys with which locales haven't translated so you can find the missing easily.
Add new local -1. Create a new file in [l10n](../lib/src/l10n/) folder, with the following name`quill_${localName}.arb` for example `quill_de.arb` +1. Create a new file in [l10n](../lib/src/l10n/) folder, with the following name`quill_${localName}.arb` for + example `quill_de.arb` -2. Copy the [Arb Template](../lib/src/l10n/quill_en.arb) file and paste it into your new file, replace the values with your translations +2. Copy the [Arb Template](../lib/src/l10n/quill_en.arb) file and paste it into your new file, replace the values with + your translations -3. Update [Supported Locales](#supported-locales) section in this page to update the supported translations for both the number and the list +3. Update [Supported Locales](#supported-locales) section in this page to update the supported translations for both the + number and the list
@@ -58,13 +64,17 @@ You can take a look at the [untranslated.json](../lib/src/l10n/untranslated.json 2. Find the existing local, let's say you want to update the Korean translations, it will be `quill_ko.arb` -3. Use [untranslated.json](../lib/src/l10n/untranslated.json) as reference to find missings, update or add what you want to translate. +3. Use [untranslated.json](../lib/src/l10n/untranslated.json) as a reference to find missing, update or add what you + want + to translate.
-We usually avoid **updating existing value of a key in the template file without updating the key or creating a new one**, this will not update the [untranslated.json](../lib/src/l10n/untranslated.json) correctly and will make it harder for contributors to find missings or incomplete. - +> We usually avoid **updating the existing value of a key in the template file without updating the key or creating a new +one**. +> This will not update the [untranslated.json](../lib/src/l10n/untranslated.json) correctly and will make it harder +for contributors to find missing or incomplete. Once you finish, run the following script: @@ -80,9 +90,11 @@ dart fix --apply ./lib/src/l10n/generated dart format ./lib/src/l10n/generated ``` -The script above will generate Dart files from the Arb files in order to test the changes and take effect, otherwise you won't notice a difference. +The script above will generate Dart files from the Arb files to test the changes and take effect, otherwise you +won't notice a difference. -> If you added or removed translations in the template file, make sure to update `_expectedTranslationKeysLength` variable in [scripts/ensure_translations_correct.dart](../scripts/ensure_translations_correct.dart)
+> If you added or removed translations in the template file, make sure to update `_expectedTranslationKeysLength` +> variable in [scripts/ensure_translations_correct.dart](../scripts/ensure_translations_correct.dart)
> Otherwise you don't need to update it. Then open a pull request so everyone can benefit from your translations! From 9ce30bf1ebef738bf37e306d8571b7bab087f1ce Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 13:10:57 +0300 Subject: [PATCH 14/50] docs(markdown-files): improve readability --- README.md | 86 +++++++------- doc/translation.md | 8 +- flutter_quill_extensions/README.md | 179 +++++++++++++++++------------ 3 files changed, 153 insertions(+), 120 deletions(-) diff --git a/README.md b/README.md index 1412bef4..8e8934e4 100644 --- a/README.md +++ b/README.md @@ -45,29 +45,29 @@ You can join our [Slack Group] for discussion. > If you are viewing this page from [pub.dev](https://pub.dev/) page, then you > might have some issues with opening some links, open it in the GitHub repo instead. -## Table of contents +## 📚 Table of contents - [Flutter Quill](#flutter-quill) - - [Table of contents](#table-of-contents) - - [Screenshots](#screenshots) - - [Installation](#installation) - - [Platform Specific Configurations](#platform-specific-configurations) - - [Usage](#usage) - - [Migration](#migration) - - [Input / Output](#input--output) - - [Links](#links) - - [Configurations](#configurations) - - [Links](#links-1) - - [Font Family](#font-family) - - [Embed Blocks](#embed-blocks) - - [Using the embed blocks from `flutter_quill_extensions`](#using-the-embed-blocks-from-flutter_quill_extensions) - - [Links](#links-2) - - [Conversion to HTML](#conversion-to-html) - - [Translation](#translation) - - [Testing](#testing) - - [Contributors](#contributors) - -## Screenshots + - [📚 Table of contents](#-table-of-contents) + - [📸 Screenshots](#-screenshots) + - [📦 Installation](#-installation) + - [🛠 Platform Specific Configurations](#-platform-specific-configurations) + - [🚀 Usage](#-usage) + - [🔄 Migration](#-migration) + - [🔤 Input / Output](#-input--output) + - [🔗 Links](#-links) + - [⚙️ Configurations](#️-configurations) + - [🔗 Links](#-links-1) + - [🖋 Font Family](#-font-family) + - [📦 Embed Blocks](#-embed-blocks) + - [🛠️ Using the embed blocks from `flutter_quill_extensions`](#️-using-the-embed-blocks-from-flutter_quill_extensions) + - [🔗 Links](#-links-2) + - [🔄 Conversion to HTML](#-conversion-to-html) + - [🌐 Translation](#-translation) + - [🧪 Testing](#-testing) + - [👥 Contributors](#-contributors) + +## 📸 Screenshots
Tap to show/hide screenshots @@ -81,7 +81,7 @@ You can join our [Slack Group] for discussion.
-## Installation +## 📦 Installation ```yaml dependencies: @@ -102,15 +102,14 @@ dependencies: > being part of the open-source community! > -## Platform Specific Configurations +## 🛠 Platform Specific Configurations Before using the package, we must inform you the package uses the following plugins: - ``` - url_launcher - flutter_keyboard_visibility - device_info_plus - ``` +1. [url_launcher](https://pub.dev/packages/url_launcher) to open links. +2. [device_info_plus](https://pub.dev/packages/device_info_plus) to view info about the current device. +3. [flutter_keyboard_visibility](https://pub.dev/packages/flutter_keyboard_visibility) to listen for keyboard visibility + changes. All of them don't require any platform-specific setup. @@ -118,7 +117,7 @@ All of them don't require any platform-specific setup. > to [FlutterQuill Extensions], to use rich text features, support pasting images, gif files, take a look > at `flutter_quill_extensions` Readme. -## Usage +## 🚀 Usage First, you need to instantiate a controller @@ -157,12 +156,12 @@ in most cases, it's better to. Check out [Sample Page] for more advanced usage. -## Migration +## 🔄 Migration Starting from version `8.0.0` We have added [Migration Guide](/doc/migration.md) for migration from different versions -## Input / Output +## 🔤 Input / Output This library uses [Quill Delta](https://quilljs.com/docs/delta/) to represent the document content. @@ -195,7 +194,7 @@ final json = jsonDecode(r'{"insert":"hello\n"}'); _controller.document = Document.fromJson(json); ``` -### Links +### 🔗 Links - [Quill Delta](https://quilljs.com/docs/delta/) - [Quill Delta Formats](https://quilljs.com/docs/formats) @@ -204,12 +203,12 @@ _controller.document = Document.fromJson(json); - [Quill JS Interactive Playground](https://quilljs.com/playground/) - [Quill JS GitHub repo](https://github.com/quilljs/quill) -## Configurations +## ⚙️ Configurations The `QuillToolbar` and `QuillEditor` widgets let you customize a lot of things [Sample Page] provides sample code for advanced usage and configuration. -### Links +### 🔗 Links - [Using Custom App Widget](./doc/configurations/using_custom_app_widget.md) - [Localizations Setup](./doc/configurations/localizations_setup.md) @@ -217,7 +216,7 @@ The `QuillToolbar` and `QuillEditor` widgets let you customize a lot of things - [Font Family](#font-family) - [Custom Toolbar buttons](./doc/configurations/custom_buttons.md) -### Font Family +### 🖋 Font Family To use your own fonts, update your [Assets](./example/assets/fonts) folder and pass in `fontFamilyValues`. More details @@ -225,7 +224,7 @@ on [this commit](https://github.com/singerdmx/flutter-quill/commit/71d06f6b7be1b [this article](https://stackoverflow.com/questions/55075834/fontfamily-property-not-working-properly-in-flutter) and [this](https://www.flutterbeads.com/change-font-family-flutter/). -## Embed Blocks +## 📦 Embed Blocks As of version 6.0, embed blocks are not provided by default as part of this package. @@ -236,17 +235,17 @@ package [`flutter_quill_extensions`](https://pub.dev/packages/flutter_quill_exte Provide a list of embed -### Using the embed blocks from `flutter_quill_extensions` +### 🛠️ Using the embed blocks from `flutter_quill_extensions` To see how to use the extension package, please take a look at the [README](./flutter_quill_extensions/README.md) of [FlutterQuill Extensions] -### Links +### 🔗 Links - [Custom Embed Blocks](./doc/custom_embed_blocks.md) - [Custom Toolbar](./doc/custom_toolbar.md) -## Conversion to HTML +## 🔄 Conversion to HTML Having your document stored in Quill Delta format is sometimes not enough. Often you'll need to convert it to other formats such as HTML to publish it, or send an email. @@ -271,18 +270,18 @@ You have two options: Typescript/Javascript package. this package doesn't convert the HTML back to Quill Delta as far as we know -## Translation +## 🌐 Translation The package offers translations for the quill toolbar and editor, it will follow the system locale unless you set your own locale. Open this [page](./doc/translation.md) for more info -## Testing +## 🧪 Testing Please use [flutter_quill_test](https://pub.dev/packages/flutter_quill_test) for testing -## Contributors +## 👥 Contributors - Special thanks to everyone who has contributed to this project... @@ -306,8 +305,7 @@ Made with [contrib.rocks](https://contrib.rocks). We welcome all contributions! Please follow these guidelines when contributing to the project. -See [CONTRIBUTING.md](./CONTRIBUTING.md) for more -details. +See [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.
The [CONTRIBUTING.md](./CONTRIBUTING.md) has development notes, if you're planning on contributing to the package, diff --git a/doc/translation.md b/doc/translation.md index 0241a872..130eb653 100644 --- a/doc/translation.md +++ b/doc/translation.md @@ -1,4 +1,4 @@ -# Translation +# 🌍 Translation The package offers translations for the quill toolbar and editor, it will follow the locale that is defined in your `WidgetsApp` for example `MaterialApp` which usually follows the system locally unless you set your own locale @@ -25,7 +25,7 @@ Expanded( ) ``` -## Supported Locales +## 🌐 Supported Locales Currently, translations are available for these 41 locales: @@ -36,7 +36,7 @@ Currently, translations are available for these 41 locales: * `Locale('da')`, `Locale('fr')`, `Locale('ko')`, `Locale('no')`, `Locale('ru')`, `Locale('tr')`, `Locale('zh', 'HK')` * `Locale('de')`, `Locale('he')`, `Locale('ku')`, `Locale('pl')`, `Locale('ar')`, `Locale('sk')`, `Locale('uk')` -## Contributing to translations +## 📌 Contributing to translations The translation files are located in the [l10n](../lib/src/l10n/) folder. Feel free to contribute your own translations. @@ -93,7 +93,7 @@ dart format ./lib/src/l10n/generated The script above will generate Dart files from the Arb files to test the changes and take effect, otherwise you won't notice a difference. -> If you added or removed translations in the template file, make sure to update `_expectedTranslationKeysLength` +> 🔧 If you added or removed translations in the template file, make sure to update `_expectedTranslationKeysLength` > variable in [scripts/ensure_translations_correct.dart](../scripts/ensure_translations_correct.dart)
> Otherwise you don't need to update it. diff --git a/flutter_quill_extensions/README.md b/flutter_quill_extensions/README.md index 3e52c777..a3af327e 100644 --- a/flutter_quill_extensions/README.md +++ b/flutter_quill_extensions/README.md @@ -3,37 +3,38 @@ An extensions for [flutter_quill](https://pub.dev/packages/flutter_quill) to support embedding widgets like images, formulas, videos, and more. - Check [Flutter Quill](https://github.com/singerdmx/flutter-quill) for details of use. +Check [Flutter Quill](https://github.com/singerdmx/flutter-quill) for details of use. - ## Table of Contents +## 📚 Table of Contents - [Flutter Quill Extensions](#flutter-quill-extensions) - - [Table of Contents](#table-of-contents) - - [About](#about) - - [Installation](#installation) - - [Platform Specific Configurations](#platform-specific-configurations) - - [Usage](#usage) - - [Configurations](#configurations) - - [Embed Blocks](#embed-blocks) - - [Element properties](#element-properties) - - [Custom Element properties](#custom-element-properties) - - [Image Assets](#image-assets) - - [Drag and drop feature](#drag-and-drop-feature) - - [Features](#features) - - [Contributing](#contributing) - - [Acknowledgments](#acknowledgments) - - -## About - -Flutter Quill is a rich editor text. It'd allow you to customize a lot of things, + - [📚 Table of Contents](#-table-of-contents) + - [📝 About](#-about) + - [📦 Installation](#-installation) + - [🛠 Platform Specific Configurations](#-platform-specific-configurations) + - [🚀 Usage](#-usage) + - [⚙️ Configurations](#️-configurations) + - [📦 Embed Blocks](#-embed-blocks) + - [🔍Element properties](#element-properties) + - [🔧 Custom Element properties](#-custom-element-properties) + - [🖼️ Image Assets](#️-image-assets) + - [🎯 Drag and drop feature](#-drag-and-drop-feature) + - [💡 Features](#-features) + - [🤝 Contributing](#-contributing) + - [🌟 Acknowledgments](#-acknowledgments) + +## 📝 About + +Flutter Quill is a rich editor text. +It'd allow you to customize a lot of things, it has custom embed builders that allow you to render custom widgets in the editor
-this is an extension to extend its functionalities by adding more features like images, videos, and more -## Installation +This is an extension to extend its functionalities by adding more features like images, videos, and more + +## 📦 Installation Before starting using this package, please make sure to install -[flutter_quill](https://github.com/singerdmx/flutter-quill) package first and follow +[flutter_quill](https://github.com/singerdmx/flutter-quill) package first and follow its usage instructions. ```yaml @@ -50,46 +51,68 @@ dependencies: path: flutter_quill_extensions ``` -## Platform Specific Configurations +## 🛠 Platform Specific Configurations -The package use the following plugins: +The package uses the following plugins: 1. [`gal`](https://github.com/natsuk4ze/) plugin to save images. -For this to work, you need to add the appropriate configurations -See to add the needed lines. -1. [`image_picker`](https://pub.dev/packages/image_picker) plugin for picking images so please make sure to follow the instructions -2. [youtube_player_flutter](https://pub.dev/packages/youtube_player_flutter) plugin which uses [flutter_inappwebview](https://pub.dev/packages/flutter_inappwebview) which has requirement on web, please follow this [link](https://pub.dev/packages/flutter_inappwebview#installation) in order to setup the support for web -3. [image_picker](https://pub.dev/packages/image_picker) which also -requires some configurations, follow this [link](https://pub.dev/packages/image_picker#installation). It's needed for Android, iOS, and macOS, we must inform you that you can't pick photos using the camera on a desktop so make sure to handle that if you plan on adding support for the desktop, this may change in the future, and for more info follow this [link](https://pub.dev/packages/image_picker#windows-macos-and-linux) -4. [super_clipboard](https://pub.dev/packages/super_clipboard) which needs some setup on Android only, it's used to support copying images and pasting them into editor then you must setup it, open the page in pub.dev and read the `README.md` or click on this [link](https://pub.dev/packages/super_clipboard#android-support) to get the instructions. + For this to work, you need to add the appropriate configurations + See to add the needed lines. +2. [`image_picker`](https://pub.dev/packages/image_picker) plugin for picking images so please make sure to follow the + instructions +3. [youtube_player_flutter](https://pub.dev/packages/youtube_player_flutter) plugin which + uses [flutter_inappwebview](https://pub.dev/packages/flutter_inappwebview) which has a requirement on web, please + follow this [link](https://pub.dev/packages/flutter_inappwebview#installation) to set up the support for web +4. [image_picker](https://pub.dev/packages/image_picker) which also + requires some configurations, follow this [link](https://pub.dev/packages/image_picker#installation). + It's needed for + Android, iOS, and macOS, we must inform you that you can't pick photos using the camera on a desktop so make sure to + handle that if you plan on adding support for the desktop, this may change in the future, and for more info follow + this [link](https://pub.dev/packages/image_picker#windows-macos-and-linux) +5. [super_clipboard](https://pub.dev/packages/super_clipboard) which needs some setup on Android only, it's used to + support copying images and pasting them into editor then you must set up it, open the page in pub.dev and read + the `README.md` or click on this [link](https://pub.dev/packages/super_clipboard#android-support) to get the + instructions. The minSdkVersion is `23` as `super_clipboard` requires it > For loading the image from the internet

-> **Android**: you need to add permissions in `AndroidManifest.xml`, Follow this [Android Guide](https://developer.android.com/training/basics/network-ops/connecting) or [Flutter Networking](https://docs.flutter.dev/data-and-backend/networking#android) for more info, the internet permission is included by default only for debugging so you need to follow this link to add it in the release version too. you should allow loading images and videos only for the `https` protocol but if you want http too then you need to configure your Android application to accept `http` in the release mode, follow this [Android Cleartext / Plaintext HTTP](https://developer.android.com/privacy-and-security/risks/cleartext) page for more info.

-> **macOS**: you need to include a key in your `Info.plist`, follow this [link](https://docs.flutter.dev/data-and-backend/networking#macos) to add the required configurations +> **Android**: you need to add permissions in `AndroidManifest.xml`, Follow +> this [Android Guide](https://developer.android.com/training/basics/network-ops/connecting) +> or [Flutter Networking](https://docs.flutter.dev/data-and-backend/networking#android) for more info, the internet +> permission is included by default only for debugging, you need to follow this link to add it in the release version +> too. you should allow loading images and videos only for the `https` protocol but if you want http too then you need +> to +> configure your Android application to accept `http` in the release mode, follow +> this [Android Cleartext / Plaintext HTTP](https://developer.android.com/privacy-and-security/risks/cleartext) page for +> more info.

+> **macOS**: you need to include a key in your `Info.plist`, follow +> this [link](https://docs.flutter.dev/data-and-backend/networking#macos) to add the required configurations > -## Usage +## 🚀 Usage Start using the package in 3 steps: -1. Besure to to follow the [Installation](#installation) section. -2. This package already include `super_clipboard` and will be used internally in this package, to use it in `flutter_quill`, call this function before using any of the widgets or functionalities +1. Be sure to follow the [Installation](#installation) section. +2. This package already include `super_clipboard` and will be used internally in this package, to use it + in `flutter_quill`, call this function before using any of the widgets or functionalities ```dart FlutterQuillExtensions.useSuperClipboardPlugin(); ``` - `super_clipboard` is comprehensive plugin that provide many clipboard features for reading and writing of rich text, images and other formats. + `super_clipboard` is comprehensive plugin that provides many clipboard features for reading and writing of rich text, + images and other formats. - Executing this function will allow `flutter_quill` to use modern rich text features to paste HTML and Markdown, support for Gif files, and other formats. + Executing this function will allow `flutter_quill` to use modern rich text features to paste HTML and Markdown, + support for Gif files, and other formats. 3. Set the `embedBuilders` and `embedToolbar` params in configurations of `QuillEditor` and `QuillToolbar` with the - values provided by this repository. + values provided by this repository. - **Quill Toolbar**: + **Quill Toolbar**: ```dart QuillToolbar( configurations: QuillToolbarConfigurations( @@ -98,7 +121,7 @@ Start using the package in 3 steps: ), ``` - **Quill Editor** + **Quill Editor** ```dart Expanded( child: QuillEditor.basic( @@ -109,31 +132,35 @@ Start using the package in 3 steps: ) ``` -## Configurations +## ⚙️ Configurations -### Embed Blocks +### 📦 Embed Blocks -As of version [flutter_quill](https://pub.dev/packages/flutter_quill) `6.0.x`, embed blocks are not provided by default as part of Flutter quill. Instead, it provides an interface for all the users to provide their implementations for embed blocks. Implementations for image, video, and formula embed blocks are proved in this package +As of version [flutter_quill](https://pub.dev/packages/flutter_quill) `6.0.x`, embed blocks are not provided by default +as part of Flutter quill. +Instead, it provides an interface for all the users to provide their implementations for embed +blocks. +Implementations for image, video, and formula embed blocks are proved in this package The instructions for using the embed blocks are in the [Usage](#usage) section -### Element properties +### 🔍Element properties -Currently the library has limitied support for the image and video properties +Currently, the library has limited support for the image and video properties, and it supports only `width`, `height`, `margin` ```json { - "insert": { - "image": "https://user-images.githubusercontent.com/122956/72955931-ccc07900-3d52-11ea-89b1-d468a6e2aa2b.png" - }, - "attributes": { - "style":"width: 50px; height: 50px; margin: 10px;" - } + "insert": { + "image": "https://user-images.githubusercontent.com/122956/72955931-ccc07900-3d52-11ea-89b1-d468a6e2aa2b.png" + }, + "attributes": { + "style": "width: 50px; height: 50px; margin: 10px;" + } } ``` -### Custom Element properties +### 🔧 Custom Element properties Doesn't apply to official Quill JS @@ -141,18 +168,18 @@ Define flutterAlignment` as follows: ```json { - "insert": { - "image": "https://user-images.githubusercontent.com/122956/72955931-ccc07900-3d52-11ea-89b1-d468a6e2aa2b.png" - }, - "attributes":{ - "style":"flutterAlignment: topLeft" - } + "insert": { + "image": "https://user-images.githubusercontent.com/122956/72955931-ccc07900-3d52-11ea-89b1-d468a6e2aa2b.png" + }, + "attributes": { + "style": "flutterAlignment: topLeft" + } } ``` This works for all platforms except Web -### Image Assets +### 🖼️ Image Assets If you want to use image assets in the Quill Editor, you need to make sure your assets folder is `assets` otherwise: @@ -172,22 +199,27 @@ QuillEditor.basic( ); ``` -This info is needed by the package to check if it asset image to use the `AssetImage` provider +This info is needed by the package to check if its asset image to use the `AssetImage` provider + +### 🎯 Drag and drop feature -### Drag and drop feature -Currently, the drag-and-drop feature is not officially supported, but you can achieve this very easily in the following steps: +Currently, the drag-and-drop feature is not officially supported, but you can achieve this very easily in the following +steps: -1. Drag and drop require native code, you can use any Flutter plugin you like, if you want a suggestion we recommend [desktop_drop](https://pub.dev/packages/desktop_drop), it was originally developed for desktop but it has support for the web as well as Android (that is not the case for iOS) +1. Drag and drop require native code, you can use any Flutter plugin you like, if you want a suggestion we + recommend [desktop_drop](https://pub.dev/packages/desktop_drop), it was originally developed for desktop. + It has support for the web as well as Android (that is not the case for iOS) 2. Add the dependency in your `pubspec.yaml` using the following command: ```yaml flutter pub add desktop_drop ``` - and import it with + and import it with ```dart import 'package:desktop_drop/desktop_drop.dart'; ``` -3. in the configurations of `QuillEditor`, use the `builder` to wrap the editor with `DropTarget` which comes from `desktop_drop` +3. in the configurations of `QuillEditor`, use the `builder` to wrap the editor with `DropTarget` which comes + from `desktop_drop` ```dart import 'package:flutter_quill_extensions/flutter_quill_extensions.dart'; @@ -208,6 +240,7 @@ Currently, the drag-and-drop feature is not officially supported, but you can ac ) ``` 4. Implement the `_onDragDone`, it depends on your use case but this is just a simple example + ```dart const List imageFileExtensions = [ '.jpeg', @@ -247,23 +280,25 @@ OnDragDoneCallback get _onDragDone { } ``` -## Features +## 💡 Features ```markdown ## Features — Easy to use and customizable + - Rich text, images and other formats - Useful utilities and widgets ``` -## Contributing +## 🤝 Contributing We welcome contributions! -Please follow these guidelines when contributing to our project. See [CONTRIBUTING.md](../CONTRIBUTING.md) for more details. +Please follow these guidelines when contributing to our project. See [CONTRIBUTING.md](../CONTRIBUTING.md) for more +details. -## Acknowledgments +## 🌟 Acknowledgments - Thanks to the [Flutter Team](https://flutter.dev/) - Thanks to the welcoming community, the volunteers who helped along the journey, developers, contributors From ef4338cea3fe3c114b64956e7bc11c23a35f6d7c Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 13:12:32 +0300 Subject: [PATCH 15/50] docs: add spacing for Embed Blocks section in flutter_quill_extensions --- flutter_quill_extensions/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter_quill_extensions/README.md b/flutter_quill_extensions/README.md index a3af327e..8f30dc94 100644 --- a/flutter_quill_extensions/README.md +++ b/flutter_quill_extensions/README.md @@ -144,7 +144,7 @@ Implementations for image, video, and formula embed blocks are proved in this pa The instructions for using the embed blocks are in the [Usage](#usage) section -### 🔍Element properties +### 🔍 Element properties Currently, the library has limited support for the image and video properties, and it supports only `width`, `height`, `margin` From a7bd54341cf5adeb31a1d78350604d2f48a1c882 Mon Sep 17 00:00:00 2001 From: Ellet <73608287+ellet0@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:09:48 +0300 Subject: [PATCH 16/50] docs(readme): include a note about converting HTML and Markdown to Delta in Conversion to HTML section --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 8e8934e4..900d7e0c 100644 --- a/README.md +++ b/README.md @@ -270,6 +270,11 @@ You have two options: Typescript/Javascript package. this package doesn't convert the HTML back to Quill Delta as far as we know + +> **Converting to Delta from Markdown and HTML is highly experimental and shouldn't be used for production applications**, while the current implementation is far from perfect, it could improved a lot however **it will likely not work as expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.
+>We use it **internally** as it is more suitable for our specific use case, copying content from external websites and pasting it into the editor +previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides. + ## 🌐 Translation The package offers translations for the quill toolbar and editor, it will follow the system locale unless you set your From 3ecc9272a8ff23f77b215f9d303a698c2014ba52 Mon Sep 17 00:00:00 2001 From: Ellet <73608287+ellet0@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:11:08 +0300 Subject: [PATCH 17/50] docs(readme): add spacing between the We word and the blockquotes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 900d7e0c..126b8c40 100644 --- a/README.md +++ b/README.md @@ -272,7 +272,7 @@ You have two options: > **Converting to Delta from Markdown and HTML is highly experimental and shouldn't be used for production applications**, while the current implementation is far from perfect, it could improved a lot however **it will likely not work as expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.
->We use it **internally** as it is more suitable for our specific use case, copying content from external websites and pasting it into the editor +> We use it **internally** as it is more suitable for our specific use case, copying content from external websites and pasting it into the editor previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides. ## 🌐 Translation From 381a0caefaa78b90d7b653b85c228adf972a5c5c Mon Sep 17 00:00:00 2001 From: Ellet <73608287+ellet0@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:16:51 +0300 Subject: [PATCH 18/50] chore: Create config.yml for Github issue templates --- .github/ISSUE_TEMPLATE/config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..3ba13e0c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false From 5ad20b2ecdcf4f91e7a3b87062d3c80476a8a86b Mon Sep 17 00:00:00 2001 From: Ellet <73608287+ellet0@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:20:46 +0300 Subject: [PATCH 19/50] chore: update 3_question.yml template --- .github/ISSUE_TEMPLATE/3_question.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/3_question.yml b/.github/ISSUE_TEMPLATE/3_question.yml index 509ae635..f21caa90 100644 --- a/.github/ISSUE_TEMPLATE/3_question.yml +++ b/.github/ISSUE_TEMPLATE/3_question.yml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - Thank you for using Flutter Quill! + If you have any suggestions or questions, feel free to share them in the [Discussions](https://github.com/singerdmx/flutter-quill/discussions) section. - type: checkboxes attributes: @@ -21,4 +21,4 @@ body: placeholder: | How do I save the images of Quill Editor? validations: - required: true \ No newline at end of file + required: true From dfdbc4bd83616d8472547cb43051ebf9e94bdeae Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 14 Jun 2024 15:41:35 +0300 Subject: [PATCH 20/50] docs(readme): use inline code for plugin links --- README.md | 6 +++--- flutter_quill_extensions/README.md | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 126b8c40..a3cf0933 100644 --- a/README.md +++ b/README.md @@ -106,9 +106,9 @@ dependencies: Before using the package, we must inform you the package uses the following plugins: -1. [url_launcher](https://pub.dev/packages/url_launcher) to open links. -2. [device_info_plus](https://pub.dev/packages/device_info_plus) to view info about the current device. -3. [flutter_keyboard_visibility](https://pub.dev/packages/flutter_keyboard_visibility) to listen for keyboard visibility +1. [`url_launcher`](https://pub.dev/packages/url_launcher) to open links. +2. [`device_info_plus`](https://pub.dev/packages/device_info_plus) to view info about the current device. +3. [`flutter_keyboard_visibility`](https://pub.dev/packages/flutter_keyboard_visibility) to listen for keyboard visibility changes. All of them don't require any platform-specific setup. diff --git a/flutter_quill_extensions/README.md b/flutter_quill_extensions/README.md index 8f30dc94..47e79f21 100644 --- a/flutter_quill_extensions/README.md +++ b/flutter_quill_extensions/README.md @@ -15,7 +15,7 @@ Check [Flutter Quill](https://github.com/singerdmx/flutter-quill) for details of - [🚀 Usage](#-usage) - [⚙️ Configurations](#️-configurations) - [📦 Embed Blocks](#-embed-blocks) - - [🔍Element properties](#element-properties) + - [🔍 Element properties](#-element-properties) - [🔧 Custom Element properties](#-custom-element-properties) - [🖼️ Image Assets](#️-image-assets) - [🎯 Drag and drop feature](#-drag-and-drop-feature) @@ -60,16 +60,16 @@ The package uses the following plugins: See to add the needed lines. 2. [`image_picker`](https://pub.dev/packages/image_picker) plugin for picking images so please make sure to follow the instructions -3. [youtube_player_flutter](https://pub.dev/packages/youtube_player_flutter) plugin which - uses [flutter_inappwebview](https://pub.dev/packages/flutter_inappwebview) which has a requirement on web, please +3. [`youtube_player_flutter`](https://pub.dev/packages/youtube_player_flutter) plugin which + uses [`flutter_inappwebview`](https://pub.dev/packages/flutter_inappwebview) which has a requirement on web, please follow this [link](https://pub.dev/packages/flutter_inappwebview#installation) to set up the support for web -4. [image_picker](https://pub.dev/packages/image_picker) which also +4. [`image_picker`](https://pub.dev/packages/image_picker) which also requires some configurations, follow this [link](https://pub.dev/packages/image_picker#installation). It's needed for Android, iOS, and macOS, we must inform you that you can't pick photos using the camera on a desktop so make sure to handle that if you plan on adding support for the desktop, this may change in the future, and for more info follow this [link](https://pub.dev/packages/image_picker#windows-macos-and-linux) -5. [super_clipboard](https://pub.dev/packages/super_clipboard) which needs some setup on Android only, it's used to +5. [`super_clipboard`](https://pub.dev/packages/super_clipboard) which needs some setup on Android only, it's used to support copying images and pasting them into editor then you must set up it, open the page in pub.dev and read the `README.md` or click on this [link](https://pub.dev/packages/super_clipboard#android-support) to get the instructions. From 85182333b16a7f4711c9d15762d1f3783e483edd Mon Sep 17 00:00:00 2001 From: Ellet <73608287+ellet0@users.noreply.github.com> Date: Fri, 14 Jun 2024 15:43:35 +0300 Subject: [PATCH 21/50] docs(readme): update a note about using super_clipboard with flutter_quill --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3cf0933..bc9fff19 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ Before using the package, we must inform you the package uses the following plug All of them don't require any platform-specific setup. > Starting from Flutter Quill `9.4.x`, [super_clipboard](https://pub.dev/packages/super_clipboard) has been moved -> to [FlutterQuill Extensions], to use rich text features, support pasting images, gif files, take a look +> to [FlutterQuill Extensions], to use rich text pasting, support pasting images, and gif files, take a look > at `flutter_quill_extensions` Readme. ## 🚀 Usage From 082cea9e6bab1f91e1892ea5f1f625915905bb63 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Fri, 14 Jun 2024 23:33:47 +0500 Subject: [PATCH 22/50] replace base64 regex string (#1919) * replace base64 regex string * replace base64RegExp String due to app crash in release mode, throws stack overflow error --------- Co-authored-by: SalmanAhmed --- flutter_quill_extensions/lib/utils/patterns.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter_quill_extensions/lib/utils/patterns.dart b/flutter_quill_extensions/lib/utils/patterns.dart index 53c1650d..abb75171 100644 --- a/flutter_quill_extensions/lib/utils/patterns.dart +++ b/flutter_quill_extensions/lib/utils/patterns.dart @@ -1,5 +1,5 @@ RegExp base64RegExp = RegExp( - r'^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{4})$', + r'^(?:[A-Za-z0-9+\/][A-Za-z0-9+\/][A-Za-z0-9+\/][A-Za-z0-9+\/])*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{4})$', ); final imageRegExp = RegExp( From 3959c9e5549b08c8f86c460d25b2f72eae75d7fd Mon Sep 17 00:00:00 2001 From: singerdmx Date: Sat, 15 Jun 2024 17:19:51 +0000 Subject: [PATCH 23/50] chore(version): update to version 9.4.1 --- CHANGELOG.md | 9 +++++++++ CHANGELOG_DATA.json | 2 +- dart_quill_delta/CHANGELOG.md | 9 +++++++++ dart_quill_delta/pubspec.yaml | 2 +- flutter_quill_extensions/CHANGELOG.md | 9 +++++++++ flutter_quill_extensions/pubspec.yaml | 2 +- flutter_quill_test/CHANGELOG.md | 9 +++++++++ flutter_quill_test/pubspec.yaml | 2 +- pubspec.yaml | 2 +- quill_html_converter/CHANGELOG.md | 9 +++++++++ quill_html_converter/pubspec.yaml | 2 +- quill_pdf_converter/CHANGELOG.md | 9 +++++++++ quill_pdf_converter/pubspec.yaml | 2 +- 13 files changed, 61 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ead849cc..eb33b3d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.1 + +* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 + +## New Contributors +* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1 + ## 9.4.0 This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` diff --git a/CHANGELOG_DATA.json b/CHANGELOG_DATA.json index 0509d24e..11962aed 100644 --- a/CHANGELOG_DATA.json +++ b/CHANGELOG_DATA.json @@ -1 +1 @@ -{"9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file +{"9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file diff --git a/dart_quill_delta/CHANGELOG.md b/dart_quill_delta/CHANGELOG.md index ead849cc..eb33b3d6 100644 --- a/dart_quill_delta/CHANGELOG.md +++ b/dart_quill_delta/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.1 + +* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 + +## New Contributors +* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1 + ## 9.4.0 This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` diff --git a/dart_quill_delta/pubspec.yaml b/dart_quill_delta/pubspec.yaml index 79a4dfd0..88c73454 100644 --- a/dart_quill_delta/pubspec.yaml +++ b/dart_quill_delta/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_quill_delta description: A port of quill-js-delta from typescript to dart -version: 9.4.0 +version: 9.4.1 homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_extensions/CHANGELOG.md b/flutter_quill_extensions/CHANGELOG.md index ead849cc..eb33b3d6 100644 --- a/flutter_quill_extensions/CHANGELOG.md +++ b/flutter_quill_extensions/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.1 + +* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 + +## New Contributors +* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1 + ## 9.4.0 This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index 675573c7..e5e1b5a7 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_extensions description: Embed extensions for flutter_quill including image, video, formula and etc. -version: 9.4.0 +version: 9.4.1 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_test/CHANGELOG.md b/flutter_quill_test/CHANGELOG.md index ead849cc..eb33b3d6 100644 --- a/flutter_quill_test/CHANGELOG.md +++ b/flutter_quill_test/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.1 + +* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 + +## New Contributors +* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1 + ## 9.4.0 This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` diff --git a/flutter_quill_test/pubspec.yaml b/flutter_quill_test/pubspec.yaml index 2ca63b96..ff30a9f7 100644 --- a/flutter_quill_test/pubspec.yaml +++ b/flutter_quill_test/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_test description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. -version: 9.4.0 +version: 9.4.1 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/pubspec.yaml b/pubspec.yaml index dfe6e898..c4d92767 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 9.4.0 +version: 9.4.1 homepage: https://1o24bbs.com/c/bulletjournal/108/ repository: https://github.com/singerdmx/flutter-quill/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_html_converter/CHANGELOG.md b/quill_html_converter/CHANGELOG.md index ead849cc..eb33b3d6 100644 --- a/quill_html_converter/CHANGELOG.md +++ b/quill_html_converter/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.1 + +* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 + +## New Contributors +* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1 + ## 9.4.0 This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` diff --git a/quill_html_converter/pubspec.yaml b/quill_html_converter/pubspec.yaml index fbc26aa3..40be27b5 100644 --- a/quill_html_converter/pubspec.yaml +++ b/quill_html_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_html_converter description: A extension for flutter_quill package to add support for dealing with conversion to/from html -version: 9.4.0 +version: 9.4.1 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_pdf_converter/CHANGELOG.md b/quill_pdf_converter/CHANGELOG.md index ead849cc..eb33b3d6 100644 --- a/quill_pdf_converter/CHANGELOG.md +++ b/quill_pdf_converter/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.1 + +* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 + +## New Contributors +* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1 + ## 9.4.0 This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x` diff --git a/quill_pdf_converter/pubspec.yaml b/quill_pdf_converter/pubspec.yaml index 624dce89..0dd384c8 100644 --- a/quill_pdf_converter/pubspec.yaml +++ b/quill_pdf_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_pdf_converter description: A extension for flutter_quill package to add support for dealing with conversion to pdf -version: 9.4.0 +version: 9.4.1 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ From de5c5f801d79285e613fa04c621252d69d9c8654 Mon Sep 17 00:00:00 2001 From: Guillermo Bueno Vargas Date: Tue, 18 Jun 2024 03:18:02 +0200 Subject: [PATCH 24/50] Respect autofocus, closes #1923 (#1924) --- lib/src/widgets/editor/editor.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/src/widgets/editor/editor.dart b/lib/src/widgets/editor/editor.dart index 0fba7806..ad81ea20 100644 --- a/lib/src/widgets/editor/editor.dart +++ b/lib/src/widgets/editor/editor.dart @@ -173,7 +173,9 @@ class QuillEditorState extends State void initState() { super.initState(); widget.configurations.controller.editorFocusNode ??= widget.focusNode; - widget.configurations.controller.editorFocusNode?.requestFocus(); + if (configurations.autoFocus) { + widget.configurations.controller.editorFocusNode?.requestFocus(); + } _editorKey = configurations.editorKey ?? GlobalKey(); _selectionGestureDetectorBuilder = _QuillEditorSelectionGestureDetectorBuilder( From 5effc5ca21598d0952ac8d6357dc428065e885b5 Mon Sep 17 00:00:00 2001 From: singerdmx Date: Tue, 18 Jun 2024 01:23:12 +0000 Subject: [PATCH 25/50] chore(version): update to version 9.4.2 --- CHANGELOG.md | 7 +++++++ CHANGELOG_DATA.json | 2 +- dart_quill_delta/CHANGELOG.md | 7 +++++++ dart_quill_delta/pubspec.yaml | 2 +- flutter_quill_extensions/CHANGELOG.md | 7 +++++++ flutter_quill_extensions/pubspec.yaml | 2 +- flutter_quill_test/CHANGELOG.md | 7 +++++++ flutter_quill_test/pubspec.yaml | 2 +- pubspec.yaml | 2 +- quill_html_converter/CHANGELOG.md | 7 +++++++ quill_html_converter/pubspec.yaml | 2 +- quill_pdf_converter/CHANGELOG.md | 7 +++++++ quill_pdf_converter/pubspec.yaml | 2 +- 13 files changed, 49 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb33b3d6..9a27e69f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.2 + +* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2 + ## 9.4.1 * replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 diff --git a/CHANGELOG_DATA.json b/CHANGELOG_DATA.json index 11962aed..d4b8a65c 100644 --- a/CHANGELOG_DATA.json +++ b/CHANGELOG_DATA.json @@ -1 +1 @@ -{"9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file +{"9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file diff --git a/dart_quill_delta/CHANGELOG.md b/dart_quill_delta/CHANGELOG.md index eb33b3d6..9a27e69f 100644 --- a/dart_quill_delta/CHANGELOG.md +++ b/dart_quill_delta/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.2 + +* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2 + ## 9.4.1 * replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 diff --git a/dart_quill_delta/pubspec.yaml b/dart_quill_delta/pubspec.yaml index 88c73454..4ef82fb1 100644 --- a/dart_quill_delta/pubspec.yaml +++ b/dart_quill_delta/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_quill_delta description: A port of quill-js-delta from typescript to dart -version: 9.4.1 +version: 9.4.2 homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_extensions/CHANGELOG.md b/flutter_quill_extensions/CHANGELOG.md index eb33b3d6..9a27e69f 100644 --- a/flutter_quill_extensions/CHANGELOG.md +++ b/flutter_quill_extensions/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.2 + +* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2 + ## 9.4.1 * replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index e5e1b5a7..6a72a964 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_extensions description: Embed extensions for flutter_quill including image, video, formula and etc. -version: 9.4.1 +version: 9.4.2 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_test/CHANGELOG.md b/flutter_quill_test/CHANGELOG.md index eb33b3d6..9a27e69f 100644 --- a/flutter_quill_test/CHANGELOG.md +++ b/flutter_quill_test/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.2 + +* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2 + ## 9.4.1 * replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 diff --git a/flutter_quill_test/pubspec.yaml b/flutter_quill_test/pubspec.yaml index ff30a9f7..92204b4a 100644 --- a/flutter_quill_test/pubspec.yaml +++ b/flutter_quill_test/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_test description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. -version: 9.4.1 +version: 9.4.2 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/pubspec.yaml b/pubspec.yaml index c4d92767..3a6a31ec 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 9.4.1 +version: 9.4.2 homepage: https://1o24bbs.com/c/bulletjournal/108/ repository: https://github.com/singerdmx/flutter-quill/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_html_converter/CHANGELOG.md b/quill_html_converter/CHANGELOG.md index eb33b3d6..9a27e69f 100644 --- a/quill_html_converter/CHANGELOG.md +++ b/quill_html_converter/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.2 + +* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2 + ## 9.4.1 * replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 diff --git a/quill_html_converter/pubspec.yaml b/quill_html_converter/pubspec.yaml index 40be27b5..24930d25 100644 --- a/quill_html_converter/pubspec.yaml +++ b/quill_html_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_html_converter description: A extension for flutter_quill package to add support for dealing with conversion to/from html -version: 9.4.1 +version: 9.4.2 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_pdf_converter/CHANGELOG.md b/quill_pdf_converter/CHANGELOG.md index eb33b3d6..9a27e69f 100644 --- a/quill_pdf_converter/CHANGELOG.md +++ b/quill_pdf_converter/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.2 + +* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2 + ## 9.4.1 * replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919 diff --git a/quill_pdf_converter/pubspec.yaml b/quill_pdf_converter/pubspec.yaml index 0dd384c8..89aeb678 100644 --- a/quill_pdf_converter/pubspec.yaml +++ b/quill_pdf_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_pdf_converter description: A extension for flutter_quill package to add support for dealing with conversion to pdf -version: 9.4.1 +version: 9.4.2 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ From be4b21d1288822e569de31cef3a980ff9067da8b Mon Sep 17 00:00:00 2001 From: windows7lake <979506634@qq.com> Date: Wed, 19 Jun 2024 00:28:32 +0800 Subject: [PATCH 26/50] fixed: setState() called after dispose(): QuillToolbarClipboardButtonState (link #1895) (#1926) --- lib/src/widgets/toolbar/base_button/base_value_button.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/widgets/toolbar/base_button/base_value_button.dart b/lib/src/widgets/toolbar/base_button/base_value_button.dart index 670e2548..24cf993d 100644 --- a/lib/src/widgets/toolbar/base_button/base_value_button.dart +++ b/lib/src/widgets/toolbar/base_button/base_value_button.dart @@ -84,6 +84,7 @@ abstract class QuillToolbarBaseButtonState< } void didChangeEditingValue() { + if (!mounted) return; setState(() => currentValue = currentStateValue); } From 57302fdc6e16309d0864e2332e296dc9d5c6418e Mon Sep 17 00:00:00 2001 From: singerdmx Date: Tue, 18 Jun 2024 18:00:05 +0000 Subject: [PATCH 27/50] chore(version): update to version 9.4.3 --- CHANGELOG.md | 9 +++++++++ CHANGELOG_DATA.json | 2 +- dart_quill_delta/CHANGELOG.md | 9 +++++++++ dart_quill_delta/pubspec.yaml | 2 +- flutter_quill_extensions/CHANGELOG.md | 9 +++++++++ flutter_quill_extensions/pubspec.yaml | 2 +- flutter_quill_test/CHANGELOG.md | 9 +++++++++ flutter_quill_test/pubspec.yaml | 2 +- pubspec.yaml | 2 +- quill_html_converter/CHANGELOG.md | 9 +++++++++ quill_html_converter/pubspec.yaml | 2 +- quill_pdf_converter/CHANGELOG.md | 9 +++++++++ quill_pdf_converter/pubspec.yaml | 2 +- 13 files changed, 61 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a27e69f..84ab5248 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.3 + +* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 + +## New Contributors +* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3 + ## 9.4.2 * Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 diff --git a/CHANGELOG_DATA.json b/CHANGELOG_DATA.json index d4b8a65c..40b446f2 100644 --- a/CHANGELOG_DATA.json +++ b/CHANGELOG_DATA.json @@ -1 +1 @@ -{"9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file +{"9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file diff --git a/dart_quill_delta/CHANGELOG.md b/dart_quill_delta/CHANGELOG.md index 9a27e69f..84ab5248 100644 --- a/dart_quill_delta/CHANGELOG.md +++ b/dart_quill_delta/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.3 + +* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 + +## New Contributors +* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3 + ## 9.4.2 * Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 diff --git a/dart_quill_delta/pubspec.yaml b/dart_quill_delta/pubspec.yaml index 4ef82fb1..4bed7cdb 100644 --- a/dart_quill_delta/pubspec.yaml +++ b/dart_quill_delta/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_quill_delta description: A port of quill-js-delta from typescript to dart -version: 9.4.2 +version: 9.4.3 homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_extensions/CHANGELOG.md b/flutter_quill_extensions/CHANGELOG.md index 9a27e69f..84ab5248 100644 --- a/flutter_quill_extensions/CHANGELOG.md +++ b/flutter_quill_extensions/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.3 + +* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 + +## New Contributors +* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3 + ## 9.4.2 * Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index 6a72a964..415b6e1b 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_extensions description: Embed extensions for flutter_quill including image, video, formula and etc. -version: 9.4.2 +version: 9.4.3 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_test/CHANGELOG.md b/flutter_quill_test/CHANGELOG.md index 9a27e69f..84ab5248 100644 --- a/flutter_quill_test/CHANGELOG.md +++ b/flutter_quill_test/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.3 + +* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 + +## New Contributors +* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3 + ## 9.4.2 * Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 diff --git a/flutter_quill_test/pubspec.yaml b/flutter_quill_test/pubspec.yaml index 92204b4a..5edf70e4 100644 --- a/flutter_quill_test/pubspec.yaml +++ b/flutter_quill_test/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_test description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. -version: 9.4.2 +version: 9.4.3 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/pubspec.yaml b/pubspec.yaml index 3a6a31ec..9ac86506 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 9.4.2 +version: 9.4.3 homepage: https://1o24bbs.com/c/bulletjournal/108/ repository: https://github.com/singerdmx/flutter-quill/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_html_converter/CHANGELOG.md b/quill_html_converter/CHANGELOG.md index 9a27e69f..84ab5248 100644 --- a/quill_html_converter/CHANGELOG.md +++ b/quill_html_converter/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.3 + +* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 + +## New Contributors +* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3 + ## 9.4.2 * Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 diff --git a/quill_html_converter/pubspec.yaml b/quill_html_converter/pubspec.yaml index 24930d25..90bcc155 100644 --- a/quill_html_converter/pubspec.yaml +++ b/quill_html_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_html_converter description: A extension for flutter_quill package to add support for dealing with conversion to/from html -version: 9.4.2 +version: 9.4.3 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_pdf_converter/CHANGELOG.md b/quill_pdf_converter/CHANGELOG.md index 9a27e69f..84ab5248 100644 --- a/quill_pdf_converter/CHANGELOG.md +++ b/quill_pdf_converter/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.3 + +* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 + +## New Contributors +* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3 + ## 9.4.2 * Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924 diff --git a/quill_pdf_converter/pubspec.yaml b/quill_pdf_converter/pubspec.yaml index 89aeb678..4ede73cf 100644 --- a/quill_pdf_converter/pubspec.yaml +++ b/quill_pdf_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_pdf_converter description: A extension for flutter_quill package to add support for dealing with conversion to pdf -version: 9.4.2 +version: 9.4.3 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ From 01cf92a73e897917e3cf37778eb60064ad1de59c Mon Sep 17 00:00:00 2001 From: Joep Heijnen Date: Wed, 19 Jun 2024 22:31:25 +0200 Subject: [PATCH 28/50] fix: Enabled link regex to be overridden (#1931) * fix: Enabled link regex to be overridden * chore: Updated formatting --- lib/src/models/rules/insert.dart | 18 +++++++++--------- .../toolbar/buttons/link_style2_button.dart | 4 +++- .../toolbar/buttons/link_style_button.dart | 3 ++- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/src/models/rules/insert.dart b/lib/src/models/rules/insert.dart index b97058bc..873b1cc4 100644 --- a/lib/src/models/rules/insert.dart +++ b/lib/src/models/rules/insert.dart @@ -371,18 +371,18 @@ class AutoFormatMultipleLinksRule extends InsertRule { r'https?:\/\/[\w\-]+(\.[\w\-]+)*(:\d+)?(\/[^\s]*)?'; /// It requires a valid link in one link - static final oneLineLinkRegExp = RegExp( - _oneLineLinkPattern, - caseSensitive: false, - ); + RegExp get oneLineLinkRegExp => RegExp( + _oneLineLinkPattern, + caseSensitive: false, + ); /// It detect if there is a link in the text whatever if it in the middle etc // Used to solve bug https://github.com/singerdmx/flutter-quill/issues/1432 - static final detectLinkRegExp = RegExp( - _detectLinkPattern, - caseSensitive: false, - ); - static final linkRegExp = oneLineLinkRegExp; + RegExp get detectLinkRegExp => RegExp( + _detectLinkPattern, + caseSensitive: false, + ); + RegExp get linkRegExp => oneLineLinkRegExp; @override Delta? applyRule( diff --git a/lib/src/widgets/toolbar/buttons/link_style2_button.dart b/lib/src/widgets/toolbar/buttons/link_style2_button.dart index b6178cdd..bdc4388d 100644 --- a/lib/src/widgets/toolbar/buttons/link_style2_button.dart +++ b/lib/src/widgets/toolbar/buttons/link_style2_button.dart @@ -413,7 +413,9 @@ class _LinkStyleDialogState extends State { String? _validateLink(String? value) { if ((value?.isEmpty ?? false) || - !AutoFormatMultipleLinksRule.oneLineLinkRegExp.hasMatch(value!)) { + !const AutoFormatMultipleLinksRule() + .oneLineLinkRegExp + .hasMatch(value!)) { return widget.validationMessage ?? 'That is not a valid URL'; } diff --git a/lib/src/widgets/toolbar/buttons/link_style_button.dart b/lib/src/widgets/toolbar/buttons/link_style_button.dart index 92724012..3831f8b3 100644 --- a/lib/src/widgets/toolbar/buttons/link_style_button.dart +++ b/lib/src/widgets/toolbar/buttons/link_style_button.dart @@ -196,7 +196,8 @@ class _LinkDialogState extends State<_LinkDialog> { late String _text; RegExp get linkRegExp { - return widget.linkRegExp ?? AutoFormatMultipleLinksRule.oneLineLinkRegExp; + return widget.linkRegExp ?? + const AutoFormatMultipleLinksRule().oneLineLinkRegExp; } late TextEditingController _linkController; From 2d78e0985d54d47ec5ab9494e67ee6381cb2f92c Mon Sep 17 00:00:00 2001 From: singerdmx Date: Wed, 19 Jun 2024 20:36:17 +0000 Subject: [PATCH 29/50] chore(version): update to version 9.4.4 --- CHANGELOG.md | 7 +++++++ CHANGELOG_DATA.json | 2 +- dart_quill_delta/CHANGELOG.md | 7 +++++++ dart_quill_delta/pubspec.yaml | 2 +- flutter_quill_extensions/CHANGELOG.md | 7 +++++++ flutter_quill_extensions/pubspec.yaml | 2 +- flutter_quill_test/CHANGELOG.md | 7 +++++++ flutter_quill_test/pubspec.yaml | 2 +- pubspec.yaml | 2 +- quill_html_converter/CHANGELOG.md | 7 +++++++ quill_html_converter/pubspec.yaml | 2 +- quill_pdf_converter/CHANGELOG.md | 7 +++++++ quill_pdf_converter/pubspec.yaml | 2 +- 13 files changed, 49 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 84ab5248..2d2d1365 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.4 + +* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4 + ## 9.4.3 * Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 diff --git a/CHANGELOG_DATA.json b/CHANGELOG_DATA.json index 40b446f2..0ae0f3c6 100644 --- a/CHANGELOG_DATA.json +++ b/CHANGELOG_DATA.json @@ -1 +1 @@ -{"9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file +{"9.4.4":"* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4","9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file diff --git a/dart_quill_delta/CHANGELOG.md b/dart_quill_delta/CHANGELOG.md index 84ab5248..2d2d1365 100644 --- a/dart_quill_delta/CHANGELOG.md +++ b/dart_quill_delta/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.4 + +* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4 + ## 9.4.3 * Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 diff --git a/dart_quill_delta/pubspec.yaml b/dart_quill_delta/pubspec.yaml index 4bed7cdb..b34a75f5 100644 --- a/dart_quill_delta/pubspec.yaml +++ b/dart_quill_delta/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_quill_delta description: A port of quill-js-delta from typescript to dart -version: 9.4.3 +version: 9.4.4 homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_extensions/CHANGELOG.md b/flutter_quill_extensions/CHANGELOG.md index 84ab5248..2d2d1365 100644 --- a/flutter_quill_extensions/CHANGELOG.md +++ b/flutter_quill_extensions/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.4 + +* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4 + ## 9.4.3 * Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index 415b6e1b..801e952c 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_extensions description: Embed extensions for flutter_quill including image, video, formula and etc. -version: 9.4.3 +version: 9.4.4 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_test/CHANGELOG.md b/flutter_quill_test/CHANGELOG.md index 84ab5248..2d2d1365 100644 --- a/flutter_quill_test/CHANGELOG.md +++ b/flutter_quill_test/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.4 + +* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4 + ## 9.4.3 * Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 diff --git a/flutter_quill_test/pubspec.yaml b/flutter_quill_test/pubspec.yaml index 5edf70e4..07c27db4 100644 --- a/flutter_quill_test/pubspec.yaml +++ b/flutter_quill_test/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_test description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. -version: 9.4.3 +version: 9.4.4 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/pubspec.yaml b/pubspec.yaml index 9ac86506..10a6cf83 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 9.4.3 +version: 9.4.4 homepage: https://1o24bbs.com/c/bulletjournal/108/ repository: https://github.com/singerdmx/flutter-quill/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_html_converter/CHANGELOG.md b/quill_html_converter/CHANGELOG.md index 84ab5248..2d2d1365 100644 --- a/quill_html_converter/CHANGELOG.md +++ b/quill_html_converter/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.4 + +* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4 + ## 9.4.3 * Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 diff --git a/quill_html_converter/pubspec.yaml b/quill_html_converter/pubspec.yaml index 90bcc155..0d14f6ac 100644 --- a/quill_html_converter/pubspec.yaml +++ b/quill_html_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_html_converter description: A extension for flutter_quill package to add support for dealing with conversion to/from html -version: 9.4.3 +version: 9.4.4 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_pdf_converter/CHANGELOG.md b/quill_pdf_converter/CHANGELOG.md index 84ab5248..2d2d1365 100644 --- a/quill_pdf_converter/CHANGELOG.md +++ b/quill_pdf_converter/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. +## 9.4.4 + +* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4 + ## 9.4.3 * Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926 diff --git a/quill_pdf_converter/pubspec.yaml b/quill_pdf_converter/pubspec.yaml index 4ede73cf..55e9b171 100644 --- a/quill_pdf_converter/pubspec.yaml +++ b/quill_pdf_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_pdf_converter description: A extension for flutter_quill package to add support for dealing with conversion to pdf -version: 9.4.3 +version: 9.4.4 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ From 126921f2c7d4c41e7c95827e06273504b3fb2d9a Mon Sep 17 00:00:00 2001 From: geronimol <56521222+geronimol@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:46:02 -0300 Subject: [PATCH 30/50] fix: color picker hex unfocus on web (#1934) --- lib/src/widgets/toolbar/buttons/color/color_dialog.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/src/widgets/toolbar/buttons/color/color_dialog.dart b/lib/src/widgets/toolbar/buttons/color/color_dialog.dart index e7d65800..5f0d7985 100644 --- a/lib/src/widgets/toolbar/buttons/color/color_dialog.dart +++ b/lib/src/widgets/toolbar/buttons/color/color_dialog.dart @@ -54,6 +54,7 @@ class ColorPickerDialogState extends State { actions: [ TextButton( onPressed: () { + widget.onRequestChangeColor(context, selectedColor); Navigator.of(context).pop(); }, child: Text(context.loc.ok)), @@ -123,8 +124,6 @@ class ColorPickerDialogState extends State { controller: hexController, onChanged: (value) { selectedColor = hexToColor(value); - widget.onRequestChangeColor(context, selectedColor); - colorBoxSetState(() {}); }, decoration: InputDecoration( From fe6787272a80141639ca31c98da3a1bb06990178 Mon Sep 17 00:00:00 2001 From: singerdmx Date: Thu, 20 Jun 2024 19:49:19 +0000 Subject: [PATCH 31/50] chore(version): update to version 9.4.5 --- CHANGELOG.md | 9 +++++++++ CHANGELOG_DATA.json | 2 +- dart_quill_delta/CHANGELOG.md | 9 +++++++++ dart_quill_delta/pubspec.yaml | 2 +- flutter_quill_extensions/CHANGELOG.md | 9 +++++++++ flutter_quill_extensions/pubspec.yaml | 2 +- flutter_quill_test/CHANGELOG.md | 9 +++++++++ flutter_quill_test/pubspec.yaml | 2 +- pubspec.yaml | 2 +- quill_html_converter/CHANGELOG.md | 9 +++++++++ quill_html_converter/pubspec.yaml | 2 +- quill_pdf_converter/CHANGELOG.md | 9 +++++++++ quill_pdf_converter/pubspec.yaml | 2 +- 13 files changed, 61 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d2d1365..acbd8eb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.5 + +* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 + +## New Contributors +* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5 + ## 9.4.4 * fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 diff --git a/CHANGELOG_DATA.json b/CHANGELOG_DATA.json index 0ae0f3c6..ec30f0f0 100644 --- a/CHANGELOG_DATA.json +++ b/CHANGELOG_DATA.json @@ -1 +1 @@ -{"9.4.4":"* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4","9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file +{"9.4.5":"* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n## New Contributors\r\n* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5","9.4.4":"* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4","9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file diff --git a/dart_quill_delta/CHANGELOG.md b/dart_quill_delta/CHANGELOG.md index 2d2d1365..acbd8eb2 100644 --- a/dart_quill_delta/CHANGELOG.md +++ b/dart_quill_delta/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.5 + +* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 + +## New Contributors +* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5 + ## 9.4.4 * fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 diff --git a/dart_quill_delta/pubspec.yaml b/dart_quill_delta/pubspec.yaml index b34a75f5..cc4deca4 100644 --- a/dart_quill_delta/pubspec.yaml +++ b/dart_quill_delta/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_quill_delta description: A port of quill-js-delta from typescript to dart -version: 9.4.4 +version: 9.4.5 homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_extensions/CHANGELOG.md b/flutter_quill_extensions/CHANGELOG.md index 2d2d1365..acbd8eb2 100644 --- a/flutter_quill_extensions/CHANGELOG.md +++ b/flutter_quill_extensions/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.5 + +* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 + +## New Contributors +* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5 + ## 9.4.4 * fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index 801e952c..fd95d79e 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_extensions description: Embed extensions for flutter_quill including image, video, formula and etc. -version: 9.4.4 +version: 9.4.5 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_test/CHANGELOG.md b/flutter_quill_test/CHANGELOG.md index 2d2d1365..acbd8eb2 100644 --- a/flutter_quill_test/CHANGELOG.md +++ b/flutter_quill_test/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.5 + +* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 + +## New Contributors +* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5 + ## 9.4.4 * fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 diff --git a/flutter_quill_test/pubspec.yaml b/flutter_quill_test/pubspec.yaml index 07c27db4..09cf0e08 100644 --- a/flutter_quill_test/pubspec.yaml +++ b/flutter_quill_test/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_test description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. -version: 9.4.4 +version: 9.4.5 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/pubspec.yaml b/pubspec.yaml index 10a6cf83..482a3313 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 9.4.4 +version: 9.4.5 homepage: https://1o24bbs.com/c/bulletjournal/108/ repository: https://github.com/singerdmx/flutter-quill/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_html_converter/CHANGELOG.md b/quill_html_converter/CHANGELOG.md index 2d2d1365..acbd8eb2 100644 --- a/quill_html_converter/CHANGELOG.md +++ b/quill_html_converter/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.5 + +* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 + +## New Contributors +* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5 + ## 9.4.4 * fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 diff --git a/quill_html_converter/pubspec.yaml b/quill_html_converter/pubspec.yaml index 0d14f6ac..447c089d 100644 --- a/quill_html_converter/pubspec.yaml +++ b/quill_html_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_html_converter description: A extension for flutter_quill package to add support for dealing with conversion to/from html -version: 9.4.4 +version: 9.4.5 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_pdf_converter/CHANGELOG.md b/quill_pdf_converter/CHANGELOG.md index 2d2d1365..acbd8eb2 100644 --- a/quill_pdf_converter/CHANGELOG.md +++ b/quill_pdf_converter/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.5 + +* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 + +## New Contributors +* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5 + ## 9.4.4 * fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931 diff --git a/quill_pdf_converter/pubspec.yaml b/quill_pdf_converter/pubspec.yaml index 55e9b171..b2d17930 100644 --- a/quill_pdf_converter/pubspec.yaml +++ b/quill_pdf_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_pdf_converter description: A extension for flutter_quill package to add support for dealing with conversion to pdf -version: 9.4.4 +version: 9.4.5 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ From 26b04443f78df8d3a3d99cb7fd8f5b3113b9a2ce Mon Sep 17 00:00:00 2001 From: Ellet <73608287+ellet0@users.noreply.github.com> Date: Fri, 21 Jun 2024 03:57:16 +0300 Subject: [PATCH 32/50] fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor (#1938) --- lib/src/l10n/extensions/localizations.dart | 2 +- lib/src/l10n/widgets/localizations.dart | 5 ++++- lib/src/widgets/raw_editor/raw_editor_actions.dart | 7 +++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/src/l10n/extensions/localizations.dart b/lib/src/l10n/extensions/localizations.dart index dea6be89..2bee6a96 100644 --- a/lib/src/l10n/extensions/localizations.dart +++ b/lib/src/l10n/extensions/localizations.dart @@ -15,7 +15,7 @@ extension LocalizationsExt on BuildContext { ' required, please make sure you wrapping the current widget with ' 'FlutterQuillLocalizationsWidget or add ' 'FlutterQuillLocalizations.delegate to the localizationsDelegates ' - 'in your App widget, please consider report this in GitHub as a bug', + 'in your App widget, please consider reporting this as a bug', )); } } diff --git a/lib/src/l10n/widgets/localizations.dart b/lib/src/l10n/widgets/localizations.dart index 57277b6b..874ffd47 100644 --- a/lib/src/l10n/widgets/localizations.dart +++ b/lib/src/l10n/widgets/localizations.dart @@ -1,9 +1,12 @@ import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import '../../extensions/quill_configurations_ext.dart'; import '../extensions/localizations.dart'; +/// A widget that check if [FlutterQuillLocalizations.delegate] is provided +/// in the widgets app (e.g, [MaterialApp] or [WidgetsApp]). +/// +/// If not, will provide in the [child] to access it in the widget tree. class FlutterQuillLocalizationsWidget extends StatelessWidget { const FlutterQuillLocalizationsWidget({ required this.child, diff --git a/lib/src/widgets/raw_editor/raw_editor_actions.dart b/lib/src/widgets/raw_editor/raw_editor_actions.dart index 80774d20..63ee48d6 100644 --- a/lib/src/widgets/raw_editor/raw_editor_actions.dart +++ b/lib/src/widgets/raw_editor/raw_editor_actions.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; +import '../../../translations.dart'; import '../../models/documents/attribute.dart'; import '../editor/editor.dart'; import '../toolbar/buttons/link_style2_button.dart'; @@ -460,8 +461,10 @@ class QuillEditorOpenSearchAction extends ContextAction { } await showDialog( context: context, - builder: (_) => QuillToolbarSearchDialog( - controller: state.controller, + builder: (_) => FlutterQuillLocalizationsWidget( + child: QuillToolbarSearchDialog( + controller: state.controller, + ), ), ); } From 7d6731ca4010720bcb764ae077b14da8df38c790 Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 21 Jun 2024 16:01:28 +0300 Subject: [PATCH 33/50] test(localizations): write a few tests for FlutterQuillLocalizationsWidget --- lib/src/l10n/extensions/localizations.dart | 19 ++++-- test/widgets/editor_test.dart | 78 ++++++++++++++++++++++ 2 files changed, 90 insertions(+), 7 deletions(-) diff --git a/lib/src/l10n/extensions/localizations.dart b/lib/src/l10n/extensions/localizations.dart index 2bee6a96..d8726dee 100644 --- a/lib/src/l10n/extensions/localizations.dart +++ b/lib/src/l10n/extensions/localizations.dart @@ -4,18 +4,23 @@ import '../generated/quill_localizations.dart' as generated; typedef FlutterQuillLocalizations = generated.FlutterQuillLocalizations; +class MissingFlutterQuillLocalizationException extends UnimplementedError { + MissingFlutterQuillLocalizationException(); + @override + String? get message => + 'FlutterQuillLocalizations instance is required and could not found. ' + 'Ensure that you are wrapping the current widget with ' + 'FlutterQuillLocalizationsWidget or add ' + 'FlutterQuillLocalizations.delegate to the localizationsDelegates ' + 'in your App widget (e.,g WidgetsApp, MaterialApp). If you believe this is a bug, consider reporting it.'; +} + extension LocalizationsExt on BuildContext { /// Require the [FlutterQuillLocalizations] instance /// /// `loc` is short for `localizations` FlutterQuillLocalizations get loc { return FlutterQuillLocalizations.of(this) ?? - (throw UnimplementedError( - "The instance of FlutterQuillLocalizations.of(context) is null and it's" - ' required, please make sure you wrapping the current widget with ' - 'FlutterQuillLocalizationsWidget or add ' - 'FlutterQuillLocalizations.delegate to the localizationsDelegates ' - 'in your App widget, please consider reporting this as a bug', - )); + (throw MissingFlutterQuillLocalizationException()); } } diff --git a/test/widgets/editor_test.dart b/test/widgets/editor_test.dart index 2a4bd8ab..bb115284 100644 --- a/test/widgets/editor_test.dart +++ b/test/widgets/editor_test.dart @@ -3,6 +3,7 @@ import 'dart:convert' show jsonDecode; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_quill/flutter_quill.dart'; +import 'package:flutter_quill/translations.dart'; import 'package:flutter_quill_test/flutter_quill_test.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -137,5 +138,82 @@ void main() { await tester.tap(find.byIcon(Icons.copy)); expect(didCopy, isTrue); }); + + testWidgets( + 'make sure QuillEditorOpenSearchAction does not throw an exception', + (tester) async { + final editorFocusNode = FocusNode(); + await tester.pumpWidget( + MaterialApp( + home: QuillEditor.basic( + configurations: QuillEditorConfigurations(controller: controller), + focusNode: editorFocusNode, + ), + ), + ); + // Required, otherwise the action shortcuts won't be invoked. + editorFocusNode.requestFocus(); + + await tester.sendKeyDownEvent(LogicalKeyboardKey.control); + await tester.sendKeyEvent(LogicalKeyboardKey.keyF); + await tester.sendKeyUpEvent(LogicalKeyboardKey.control); + + await tester.pump(); + + final exception = tester.takeException(); + expect( + exception, + isNot( + isInstanceOf(), + ), + ); + + expect(exception, isNull); + }, + ); + + testWidgets( + 'should throw FlutterQuillLocalizationsWidget if the delegate not provided', + (tester) async { + await tester.pumpWidget( + MaterialApp( + home: Builder( + builder: (context) => Text(context.loc.font), + ), + ), + ); + + final exception = tester.takeException(); + + expect(exception, isNotNull); + expect( + exception, + isA(), + ); + }, + ); + + testWidgets( + 'should not throw FlutterQuillLocalizationsWidget if the delegate is provided', + (tester) async { + await tester.pumpWidget( + MaterialApp( + home: FlutterQuillLocalizationsWidget( + child: Builder( + builder: (context) => Text(context.loc.font), + ), + ), + ), + ); + + final exception = tester.takeException(); + + expect(exception, isNull); + expect( + exception, + isNot(isA()), + ); + }, + ); }); } From 5d9ad020c7082896df8fb716025b9d0f2f8a3c59 Mon Sep 17 00:00:00 2001 From: Ellet <73608287+ellet0@users.noreply.github.com> Date: Fri, 21 Jun 2024 16:09:39 +0300 Subject: [PATCH 34/50] fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent (#1937) * fix(editor): implement editor shortcut action for home and end keys to fix thrown exception about unimplemented ScrollToDocumentBoundaryIntent action --- .../raw_editor/raw_editor_actions.dart | 26 +++++++++++++++++++ .../widgets/raw_editor/raw_editor_state.dart | 15 ++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/lib/src/widgets/raw_editor/raw_editor_actions.dart b/lib/src/widgets/raw_editor/raw_editor_actions.dart index 63ee48d6..a343f03f 100644 --- a/lib/src/widgets/raw_editor/raw_editor_actions.dart +++ b/lib/src/widgets/raw_editor/raw_editor_actions.dart @@ -580,3 +580,29 @@ class QuillEditorInsertEmbedIntent extends Intent { final Attribute type; } + +class NavigateToDocumentBoundaryAction + extends ContextAction { + NavigateToDocumentBoundaryAction(this.state); + + final QuillRawEditorState state; + + @override + Object? invoke( + ScrollToDocumentBoundaryIntent intent, [ + BuildContext? context, + ]) { + return Actions.invoke( + context!, + UpdateSelectionIntent( + state.textEditingValue, + intent.forward + ? TextSelection.collapsed( + offset: state.controller.plainTextEditingValue.text.length, + ) + : const TextSelection.collapsed(offset: 0), + SelectionChangedCause.keyboard, + ), + ); + } +} diff --git a/lib/src/widgets/raw_editor/raw_editor_state.dart b/lib/src/widgets/raw_editor/raw_editor_state.dart index 6f146b8f..1f2b7ff4 100644 --- a/lib/src/widgets/raw_editor/raw_editor_state.dart +++ b/lib/src/widgets/raw_editor/raw_editor_state.dart @@ -701,6 +701,18 @@ class QuillRawEditorState extends EditorState control: !isDesktopMacOS, meta: isDesktopMacOS, ): const OpenSearchIntent(), + + // Navigate to the start or end of the document + SingleActivator( + LogicalKeyboardKey.home, + control: !isDesktopMacOS, + meta: isDesktopMacOS, + ): const ScrollToDocumentBoundaryIntent(forward: false), + SingleActivator( + LogicalKeyboardKey.end, + control: !isDesktopMacOS, + meta: isDesktopMacOS, + ): const ScrollToDocumentBoundaryIntent(forward: true), }, { ...?widget.configurations.customShortcuts }), @@ -1674,7 +1686,8 @@ class QuillRawEditorState extends EditorState IndentSelectionIntent: _indentSelectionAction, QuillEditorApplyHeaderIntent: _applyHeaderAction, QuillEditorApplyCheckListIntent: _applyCheckListAction, - QuillEditorApplyLinkIntent: QuillEditorApplyLinkAction(this) + QuillEditorApplyLinkIntent: QuillEditorApplyLinkAction(this), + ScrollToDocumentBoundaryIntent: NavigateToDocumentBoundaryAction(this) }; @override From 5fc6d34d1078539777b6748841f0d022e750442d Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 21 Jun 2024 16:45:15 +0300 Subject: [PATCH 35/50] fix(docs): update outdated code in markdown files --- doc/configurations/custom_buttons.md | 4 ++-- doc/custom_toolbar.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/configurations/custom_buttons.md b/doc/configurations/custom_buttons.md index 1b52c25f..0639ee37 100644 --- a/doc/configurations/custom_buttons.md +++ b/doc/configurations/custom_buttons.md @@ -17,8 +17,8 @@ To add an Icon, we should use a new `QuillToolbarCustomButtonOptions` class Each `QuillCustomButton` is used as part of the `customButtons` option as follows: ```dart -QuillToolbar( - configurations: QuillToolbarConfigurations( +QuillToolbar.simple( + configurations: QuillSimpleToolbarConfigurations( customButtons: [ QuillToolbarCustomButtonOptions( icon: const Icon(Icons.ac_unit), diff --git a/doc/custom_toolbar.md b/doc/custom_toolbar.md index 4e6650b7..f2ba0ff7 100644 --- a/doc/custom_toolbar.md +++ b/doc/custom_toolbar.md @@ -6,8 +6,8 @@ You can use the `QuillBaseToolbar` which is the base for the `QuillToolbar` Example: ```dart -QuillToolbar( - configurations: const QuillToolbarConfigurations( +QuillToolbar.simple( + configurations: const QuillSimpleToolbarConfigurations( buttonOptions: QuillToolbarButtonOptions( base: QuillToolbarBaseButtonOptions( globalIconSize: 20, From 4caa4c37ef12901f9ff535ffb53ee3f4f9f08b51 Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 21 Jun 2024 16:58:57 +0300 Subject: [PATCH 36/50] chore(docs): improve doc/configurations markdown files readability --- doc/configurations/custom_buttons.md | 6 +++++- doc/configurations/font_size.md | 2 +- doc/configurations/localizations_setup.md | 20 ++++++------------- doc/configurations/using_custom_app_widget.md | 18 +++++++---------- 4 files changed, 19 insertions(+), 27 deletions(-) diff --git a/doc/configurations/custom_buttons.md b/doc/configurations/custom_buttons.md index 0639ee37..d1f050f8 100644 --- a/doc/configurations/custom_buttons.md +++ b/doc/configurations/custom_buttons.md @@ -1,8 +1,10 @@ -# Custom `QuillToolbar` Buttons +# Custom QuillToolbar Buttons ✨ You may add custom buttons to the _end_ of the toolbar, via the `customButtons` option, which is a `List` of `QuillToolbarCustomButtonOptions`. +## Adding an Icon 🖌️ + To add an Icon, we should use a new `QuillToolbarCustomButtonOptions` class ```dart @@ -14,6 +16,8 @@ To add an Icon, we should use a new `QuillToolbarCustomButtonOptions` class ), ``` +## Example Usage 📚 + Each `QuillCustomButton` is used as part of the `customButtons` option as follows: ```dart diff --git a/doc/configurations/font_size.md b/doc/configurations/font_size.md index a4e25825..2eb3d8e9 100644 --- a/doc/configurations/font_size.md +++ b/doc/configurations/font_size.md @@ -1,4 +1,4 @@ -# Font Size +# 🔠 Font Size Within the editor toolbar, a drop-down with font-sizing capabilities is available. This can be enabled or disabled diff --git a/doc/configurations/localizations_setup.md b/doc/configurations/localizations_setup.md index cf5c12f9..fa7efa16 100644 --- a/doc/configurations/localizations_setup.md +++ b/doc/configurations/localizations_setup.md @@ -1,8 +1,6 @@ -# Localizations Setup +# 🌍 Localizations Setup -in addition to the required delegates mentioned above in [Using custom app widget](./using_custom_app_widget.md) - -which are: +In addition to the required delegates mentioned above in [Using custom app widget](./using_custom_app_widget.md), which are: ```dart localizationsDelegates: const [ @@ -12,21 +10,15 @@ localizationsDelegates: const [ ], ``` -which are used by official Flutter widgets +Which are used by Flutter widgets. -The library also needs the `FlutterQuillLocalizations.delegate` +📌 Note: The library also needs the `FlutterQuillLocalizations.delegate`: ```dart // Required localizations delegates ... FlutterQuillLocalizations.delegate ``` -To offer the default localizations. - -But **you don't have to** since we have wrapped the `QuillEditor` and `QuillToolbar` -with `FlutterQuillLocalizationsWidget` which will check if it sets then it will go, if not, then it will be provided -only for them, so it's not really required, but if you are overriding the `localizationsDelegates` you could also add -the `FlutterQuillLocalizations.delegate` -which won't change anything +**You don't have to add this explicitly** because we have wrapped the `QuillEditor` and `QuillToolbar` with `FlutterQuillLocalizationsWidget`. This widget will check if the necessary localizations are set; if not, it will provide them only for these widgets. Therefore, it's not strictly required. However, if you are overriding the `localizationsDelegates`, you can also add the `FlutterQuillLocalizations.delegate`. -There are additional notes in the [Translation](../translation.md) section +📄 For additional notes, refer to the [Translation](../translation.md) section. diff --git a/doc/configurations/using_custom_app_widget.md b/doc/configurations/using_custom_app_widget.md index 1b41bc2e..f498db58 100644 --- a/doc/configurations/using_custom_app_widget.md +++ b/doc/configurations/using_custom_app_widget.md @@ -1,14 +1,12 @@ -# Using Custom App Widget +# 🛠️ Using Custom App Widget -This project uses some adaptive widgets like `AdaptiveTextSelectionToolbar` which require the following delegates: +The project uses some adaptive widgets like `AdaptiveTextSelectionToolbar` which require the following delegates: 1. Default Material Localizations delegate 2. Default Cupertino Localizations delegate 3. Default Widgets Localizations delegate -You don't need to include those since they are defined by default -but if you are using a Custom app or you are overriding the `localizationsDelegates` in the App widget -then please make sure it includes those: +You don't need to include these since they are defined by default. However, if you are using a custom app or overriding the `localizationsDelegates` in the App widget, ensure it includes the following: ```dart localizationsDelegates: const [ @@ -18,9 +16,8 @@ localizationsDelegates: const [ ], ``` -You might need more depending on your use case, for example, if you are using custom localizations for your app, using a -custom app widget like `FluentApp` from [FluentUI] -which will also need + +You might need more depending on your use case. For example, if you are using custom localizations for your app with a custom app widget like `FluentApp` from [FluentUI], you will also need: ```dart localizationsDelegates: const [ @@ -30,9 +27,8 @@ localizationsDelegates: const [ ], ``` -Note: In the latest versions of `FluentApp` you no longer need to add the `localizationsDelegates` but this is just an -example, for more [info](https://github.com/bdlukaa/fluent_ui/pull/946) +📌 Note: In recent versions of `FluentApp`, you no longer need to add the `localizationsDelegates`. This is just an example. For more information, refer to the [#946](https://github.com/bdlukaa/fluent_ui/pull/946). -There are additional notes on the [Localizations](./localizations_setup.md) page +📄 For additional notes, see the [Localizations](./localizations_setup.md) page. [FluentUI]: https://pub.dev/packages/fluent_ui From 7cab43ed72296fcd3be48e419d077d9aab7dea83 Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 21 Jun 2024 17:00:30 +0300 Subject: [PATCH 37/50] docs: update custom_buttons to revert a minor change from previous commit --- doc/configurations/custom_buttons.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/configurations/custom_buttons.md b/doc/configurations/custom_buttons.md index d1f050f8..699b7b02 100644 --- a/doc/configurations/custom_buttons.md +++ b/doc/configurations/custom_buttons.md @@ -1,4 +1,4 @@ -# Custom QuillToolbar Buttons ✨ +# Custom `QuillToolbar` Buttons ✨ You may add custom buttons to the _end_ of the toolbar, via the `customButtons` option, which is a `List` of `QuillToolbarCustomButtonOptions`. From e722e70194c814624402584e70f1e14acb6d6d5c Mon Sep 17 00:00:00 2001 From: Ellet Date: Fri, 21 Jun 2024 17:03:23 +0300 Subject: [PATCH 38/50] chore(tests): update outdated description for FlutterQuillLocalizationsWidget tests --- test/widgets/editor_test.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/widgets/editor_test.dart b/test/widgets/editor_test.dart index bb115284..4e3a79f6 100644 --- a/test/widgets/editor_test.dart +++ b/test/widgets/editor_test.dart @@ -173,7 +173,7 @@ void main() { ); testWidgets( - 'should throw FlutterQuillLocalizationsWidget if the delegate not provided', + 'should throw MissingFlutterQuillLocalizationException if the delegate not provided', (tester) async { await tester.pumpWidget( MaterialApp( @@ -194,7 +194,7 @@ void main() { ); testWidgets( - 'should not throw FlutterQuillLocalizationsWidget if the delegate is provided', + 'should not throw MissingFlutterQuillLocalizationException if the delegate is provided', (tester) async { await tester.pumpWidget( MaterialApp( From 4969113359fb476ae5b2e1ec4bef87cb158c1d69 Mon Sep 17 00:00:00 2001 From: singerdmx Date: Fri, 21 Jun 2024 18:17:05 +0000 Subject: [PATCH 39/50] chore(version): update to version 9.4.6 --- CHANGELOG.md | 8 ++++++++ CHANGELOG_DATA.json | 2 +- dart_quill_delta/CHANGELOG.md | 8 ++++++++ dart_quill_delta/pubspec.yaml | 2 +- flutter_quill_extensions/CHANGELOG.md | 8 ++++++++ flutter_quill_extensions/pubspec.yaml | 2 +- flutter_quill_test/CHANGELOG.md | 8 ++++++++ flutter_quill_test/pubspec.yaml | 2 +- pubspec.yaml | 2 +- quill_html_converter/CHANGELOG.md | 8 ++++++++ quill_html_converter/pubspec.yaml | 2 +- quill_pdf_converter/CHANGELOG.md | 8 ++++++++ quill_pdf_converter/pubspec.yaml | 2 +- 13 files changed, 55 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index acbd8eb2..c606130b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. +## 9.4.6 + +* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 +* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6 + ## 9.4.5 * fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 diff --git a/CHANGELOG_DATA.json b/CHANGELOG_DATA.json index ec30f0f0..98b0dbc1 100644 --- a/CHANGELOG_DATA.json +++ b/CHANGELOG_DATA.json @@ -1 +1 @@ -{"9.4.5":"* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n## New Contributors\r\n* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5","9.4.4":"* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4","9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file +{"9.4.6":"* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938\r\n* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6","9.4.5":"* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n## New Contributors\r\n* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5","9.4.4":"* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4","9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file diff --git a/dart_quill_delta/CHANGELOG.md b/dart_quill_delta/CHANGELOG.md index acbd8eb2..c606130b 100644 --- a/dart_quill_delta/CHANGELOG.md +++ b/dart_quill_delta/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. +## 9.4.6 + +* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 +* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6 + ## 9.4.5 * fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 diff --git a/dart_quill_delta/pubspec.yaml b/dart_quill_delta/pubspec.yaml index cc4deca4..84a534b0 100644 --- a/dart_quill_delta/pubspec.yaml +++ b/dart_quill_delta/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_quill_delta description: A port of quill-js-delta from typescript to dart -version: 9.4.5 +version: 9.4.6 homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_extensions/CHANGELOG.md b/flutter_quill_extensions/CHANGELOG.md index acbd8eb2..c606130b 100644 --- a/flutter_quill_extensions/CHANGELOG.md +++ b/flutter_quill_extensions/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. +## 9.4.6 + +* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 +* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6 + ## 9.4.5 * fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index fd95d79e..b38e3320 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_extensions description: Embed extensions for flutter_quill including image, video, formula and etc. -version: 9.4.5 +version: 9.4.6 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_test/CHANGELOG.md b/flutter_quill_test/CHANGELOG.md index acbd8eb2..c606130b 100644 --- a/flutter_quill_test/CHANGELOG.md +++ b/flutter_quill_test/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. +## 9.4.6 + +* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 +* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6 + ## 9.4.5 * fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 diff --git a/flutter_quill_test/pubspec.yaml b/flutter_quill_test/pubspec.yaml index 09cf0e08..35d82bba 100644 --- a/flutter_quill_test/pubspec.yaml +++ b/flutter_quill_test/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_test description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. -version: 9.4.5 +version: 9.4.6 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/pubspec.yaml b/pubspec.yaml index 482a3313..6fdbc210 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 9.4.5 +version: 9.4.6 homepage: https://1o24bbs.com/c/bulletjournal/108/ repository: https://github.com/singerdmx/flutter-quill/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_html_converter/CHANGELOG.md b/quill_html_converter/CHANGELOG.md index acbd8eb2..c606130b 100644 --- a/quill_html_converter/CHANGELOG.md +++ b/quill_html_converter/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. +## 9.4.6 + +* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 +* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6 + ## 9.4.5 * fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 diff --git a/quill_html_converter/pubspec.yaml b/quill_html_converter/pubspec.yaml index 447c089d..a8f3369c 100644 --- a/quill_html_converter/pubspec.yaml +++ b/quill_html_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_html_converter description: A extension for flutter_quill package to add support for dealing with conversion to/from html -version: 9.4.5 +version: 9.4.6 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_pdf_converter/CHANGELOG.md b/quill_pdf_converter/CHANGELOG.md index acbd8eb2..c606130b 100644 --- a/quill_pdf_converter/CHANGELOG.md +++ b/quill_pdf_converter/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. +## 9.4.6 + +* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 +* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937 + + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6 + ## 9.4.5 * fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934 diff --git a/quill_pdf_converter/pubspec.yaml b/quill_pdf_converter/pubspec.yaml index b2d17930..7045a09e 100644 --- a/quill_pdf_converter/pubspec.yaml +++ b/quill_pdf_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_pdf_converter description: A extension for flutter_quill package to add support for dealing with conversion to pdf -version: 9.4.5 +version: 9.4.6 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ From ca12fb610e7b65dee610703d01da95ebd458c8ad Mon Sep 17 00:00:00 2001 From: Cat <114286961+CatHood0@users.noreply.github.com> Date: Fri, 28 Jun 2024 00:51:28 -0400 Subject: [PATCH 40/50] fixed #1953 italic detection error (#1954) --- lib/src/models/documents/delta_x.dart | 85 +++++++++++++++++++++++++-- test/utils/delta_x_test.dart | 22 +++++++ 2 files changed, 101 insertions(+), 6 deletions(-) create mode 100644 test/utils/delta_x_test.dart diff --git a/lib/src/models/documents/delta_x.dart b/lib/src/models/documents/delta_x.dart index 0762fa15..754c1e06 100644 --- a/lib/src/models/documents/delta_x.dart +++ b/lib/src/models/documents/delta_x.dart @@ -1,7 +1,6 @@ import 'package:html2md/html2md.dart' as html2md; import 'package:markdown/markdown.dart' as md; import 'package:meta/meta.dart'; - import '../../../markdown_quill.dart'; import '../../../quill_delta.dart'; @@ -15,9 +14,20 @@ class DeltaX { /// This api is **experimental** and designed to be used **internally** and shouldn't /// used for **production applications**. @experimental - static Delta fromMarkdown(String markdownText) { + static Delta fromMarkdown( + String markdownText, { + Md2DeltaConfigs md2DeltaConfigs = const Md2DeltaConfigs(), + }) { final mdDocument = md.Document(encodeHtml: false); - final mdToDelta = MarkdownToDelta(markdownDocument: mdDocument); + final mdToDelta = MarkdownToDelta( + markdownDocument: mdDocument, + customElementToBlockAttribute: + md2DeltaConfigs.customElementToBlockAttribute, + customElementToEmbeddable: md2DeltaConfigs.customElementToEmbeddable, + customElementToInlineAttribute: + md2DeltaConfigs.customElementToInlineAttribute, + softLineBreak: md2DeltaConfigs.softLineBreak, + ); return mdToDelta.convert(markdownText); } @@ -32,9 +42,72 @@ class DeltaX { /// used for **production applications**. /// @experimental - static Delta fromHtml(String htmlText) { - final markdownText = html2md.convert(htmlText).replaceAll('unsafe:', ''); - + static Delta fromHtml(String htmlText, {Html2MdConfigs? configs}) { + final markdownText = html2md + .convert( + htmlText, + rules: configs?.customRules, + ignore: configs?.ignoreIf, + rootTag: configs?.rootTag, + imageBaseUrl: configs?.imageBaseUrl, + styleOptions: configs?.styleOptions, + ) + .replaceAll( + 'unsafe:', + '', + ); return fromMarkdown(markdownText); } } + +@immutable +@experimental +class Md2DeltaConfigs { + const Md2DeltaConfigs({ + this.customElementToInlineAttribute = const {}, + this.customElementToBlockAttribute = const {}, + this.customElementToEmbeddable = const {}, + this.softLineBreak = false, + }); + final Map customElementToInlineAttribute; + final Map customElementToBlockAttribute; + final Map customElementToEmbeddable; + final bool softLineBreak; +} + +@immutable +@experimental +class Html2MdConfigs { + const Html2MdConfigs({ + this.customRules, + this.ignoreIf, + this.rootTag, + this.imageBaseUrl, + this.styleOptions = const {'emDelimiter': '*'}, + //emDelimiter set em to be "*" instead a "_" + }); + + /// The [rules] parameter can be used to customize element processing. + final List? customRules; + + /// Elements list in [ignore] would be ingored. + final List? ignoreIf; + + final String? rootTag; + final String? imageBaseUrl; + + /// The default and available style options: + /// + /// | Name | Default | Options | + /// | ------------- |:-------------:| -----:| + /// | headingStyle | "setext" | "setext", "atx" | + /// | hr | "* * *" | "* * *", "- - -", "_ _ _" | + /// | bulletListMarker | "*" | "*", "-", "_" | + /// | codeBlockStyle | "indented" | "indented", "fenced" | + /// | fence | "\`\`\`" | "\`\`\`", "~~~" | + /// | emDelimiter | "_" | "_", "*" | + /// | strongDelimiter | "**" | "**", "__" | + /// | linkStyle | "inlined" | "inlined", "referenced" | + /// | linkReferenceStyle | "full" | "full", "collapsed", "shortcut" | + final Map? styleOptions; +} diff --git a/test/utils/delta_x_test.dart b/test/utils/delta_x_test.dart new file mode 100644 index 00000000..a6b8fcee --- /dev/null +++ b/test/utils/delta_x_test.dart @@ -0,0 +1,22 @@ +import 'package:flutter_quill/quill_delta.dart'; +import 'package:flutter_quill/src/models/documents/delta_x.dart'; +import 'package:test/test.dart'; + +void main() { + const htmlWithEmp = + '

This is a normal sentence, and this section has greater emphasis.

'; + final expectedDeltaEmp = Delta.fromOperations([ + Operation.insert( + 'This is a normal sentence, and this section has greater emp'), + Operation.insert('hasis.', {'italic': true}), + Operation.insert('\n'), + ]); + + test('should detect emphasis and parse correctly', () { + final delta = DeltaX.fromHtml( + htmlWithEmp, + configs: const Html2MdConfigs(), + ); + expect(delta, expectedDeltaEmp); + }); +} From 83e27541e17fd484a97b272742a12adb33d72b06 Mon Sep 17 00:00:00 2001 From: singerdmx Date: Fri, 28 Jun 2024 04:56:39 +0000 Subject: [PATCH 41/50] chore(version): update to version 9.4.7 --- CHANGELOG.md | 9 +++++++++ CHANGELOG_DATA.json | 2 +- dart_quill_delta/CHANGELOG.md | 9 +++++++++ dart_quill_delta/pubspec.yaml | 2 +- flutter_quill_extensions/CHANGELOG.md | 9 +++++++++ flutter_quill_extensions/pubspec.yaml | 2 +- flutter_quill_test/CHANGELOG.md | 9 +++++++++ flutter_quill_test/pubspec.yaml | 2 +- pubspec.yaml | 2 +- quill_html_converter/CHANGELOG.md | 9 +++++++++ quill_html_converter/pubspec.yaml | 2 +- quill_pdf_converter/CHANGELOG.md | 9 +++++++++ quill_pdf_converter/pubspec.yaml | 2 +- 13 files changed, 61 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c606130b..d4b26e36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.7 + +* fixed #1953 italic detection error by @CatHood0 in https://github.com/singerdmx/flutter-quill/pull/1954 + +## New Contributors +* @CatHood0 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1954 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.6...v9.4.7 + ## 9.4.6 * fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 diff --git a/CHANGELOG_DATA.json b/CHANGELOG_DATA.json index 98b0dbc1..81489348 100644 --- a/CHANGELOG_DATA.json +++ b/CHANGELOG_DATA.json @@ -1 +1 @@ -{"9.4.6":"* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938\r\n* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6","9.4.5":"* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n## New Contributors\r\n* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5","9.4.4":"* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4","9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file +{"9.4.7":"* fixed #1953 italic detection error by @CatHood0 in https://github.com/singerdmx/flutter-quill/pull/1954\r\n\r\n## New Contributors\r\n* @CatHood0 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1954\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.6...v9.4.7","9.4.6":"* fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938\r\n* fix(editor): implement editor shortcut action for home and end keys to fix exception about unimplemented ScrollToDocumentBoundaryIntent by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1937\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.5...v9.4.6","9.4.5":"* fix: color picker hex unfocus on web by @geronimol in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n## New Contributors\r\n* @geronimol made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1934\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.4...v9.4.5","9.4.4":"* fix: Enabled link regex to be overridden by @JoepHeijnen in https://github.com/singerdmx/flutter-quill/pull/1931\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.3...v9.4.4","9.4.3":"* Fix: setState() called after dispose(): QuillToolbarClipboardButtonState #1895 by @windows7lake in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n## New Contributors\r\n* @windows7lake made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1926\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.2...v9.4.3","9.4.2":"* Respect autofocus, closes #1923 by @Guillergood in https://github.com/singerdmx/flutter-quill/pull/1924\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.1...v9.4.2","9.4.1":"* replace base64 regex string by @salba360496 in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n## New Contributors\r\n* @salba360496 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1919\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.0...v9.4.1","9.4.0":"This release can be used without changing anything, although it can break the behavior a little, we provided a way to use the old behavior in `9.3.x`\r\n\r\n- Thanks to @Alspb, the search bar/dialog has been reworked for improved UI that fits **Material 3** look and feel, the search happens on the fly, and other minor changes, if you want the old search bar, you can restore it with one line if you're using `QuillSimpleToolbar`:\r\n ```dart\r\n QuillToolbar.simple(\r\n configurations: QuillSimpleToolbarConfigurations(\r\n searchButtonType: SearchButtonType.legacy,\r\n ),\r\n )\r\n ```\r\n While the changes are mostly to the `QuillToolbarSearchDialog` and it seems this should be `searchDialogType`, we provided the old button with the old dialog in case we update the button in the future.\r\n\r\n If you're using `QuillToolbarSearchButton` in a custom Toolbar, you don't need anything to get the new button. if you want the old button, use the `QuillToolbarLegacySearchButton` widget\r\n \r\n Consider using the improved button with the improved dialog as the legacy button might removed in future releases (for now, it's not deprecated)\r\n\r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/9b40ad03-717f-4518-95f1-8d9cad773b2b)\r\n \r\n \r\n
\r\n \r\n
\r\n Improved\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/e581733d-63fa-4984-9c41-4a325a0a0c04)\r\n \r\n
\r\n \r\n For the detailed changes, see #1904\r\n\r\n- Korean translations by @leegh519 in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n- The usage of `super_clipboard` plugin in `flutter_quill` has been moved to the `flutter_quill_extensions` package, this will restore the old behavior in `8.x.x` though it will break the `onImagePaste`, `onGifPaste` and rich text pasting from HTML or Markdown, most of those features are available in `super_clipboard` plugin except `onImagePaste` which was available as we were using [pasteboard](https://pub.dev/packages/pasteboard), Unfortunately, it's no longer supported on recent versions of Flutter, and some functionalities such as an image from Clipboard and Html paste are not supported on some platforms such as Android, your project will continue to work, calls of `onImagePaste` and `onGifPaste` will be ignored unless you include [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions) package in your project and call:\r\n\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n Before using any `flutter_quill` widgets, this will restore the old behavior in `9.x.x`\r\n \r\n We initially wanted to publish `flutter_quill_super_clipboard` to allow:\r\n - Using `super_clipboard` without `flutter_quill_extensions` packages and plugins\r\n - Using `flutter_quill_extensions` with optional `super_clipboard`\r\n \r\n To simplify the usage, we moved it to `flutter_quill_extensions`, let us know if you want any of the use cases above.\r\n \r\n Overall `super_clipboard` is a Comprehensive clipboard plugin with a lot of features, the only thing that developers didn't want is Rust installation even though it's automated.\r\n\r\n The main goal of `ClipboardService` is to make `super_clipboard` optional, you can use your own implementation, and create a class that implements `ClipboardService`, which you can get by:\r\n ```dart\r\n // ignore: implementation_imports\r\n import 'package:flutter_quill/src/services/clipboard/clipboard_service.dart';\r\n ```\r\n\r\n Then you can call:\r\n ```dart\r\n // ignore: implementation_imports\r\nimport 'package:flutter_quill/src/services/clipboard/clipboard_service_provider.dart';\r\n ClipboardServiceProvider.setInstance(YourClipboardService());\r\n```\r\n \r\n The interface could change at any time and will be updated internally for `flutter_quill` and `flutter_quill_extensions`, we didn't export those two classes by default to avoid breaking changes in case you use them as we might change them in the future.\r\n\r\n If you use the above imports, you might get **breaking changes** in **non-breaking change releases**.\r\n\r\n- Subscript and Superscript should now work for all languages and characters\r\n\r\n The previous implementation required the Apple 'SF-Pro-Display-Regular.otf' font which is only licensed/permitted for use on Apple devices.\r\nWe have removed the Apple font from the example\r\n\r\n- Allow pasting Markdown and HTML file content from the system to the editor\r\n\r\n Before `9.4.x` if you try to copy an HTML or Markdown file, and paste it into the editor, you will get the file name in the editor\r\n Copying an HTML file, or HTML content from apps and websites is different than copying plain text.\r\n\r\n This is why this change requires `super_clipboard` implementation as this is platform-dependent:\r\n ```dart\r\n FlutterQuillExtensions.useSuperClipboardPlugin();\r\n ```\r\n as mentioned above.\r\n \r\n The following example for copying a Markdown file:\r\n\r\n
\r\n Markdown File Content\r\n \r\n ```md\r\n \r\n **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor\r\n \r\n You have two options:\r\n \r\n 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well\r\n (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly\r\n 1. Another option is to use\r\n [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document\r\n to HTML.\r\n This package has full support for all Quill operations—including images, videos, formulas,\r\n tables, and mentions.\r\n Conversion can be performed in vanilla Dart (i.e., server-side or CLI) or in Flutter.\r\n It is a complete Dart part of the popular and mature [quill-delta-to-html](https://www.npmjs.com/package/quill-delta-to-html)\r\n Typescript/Javascript package.\r\n this package doesn't convert the HTML back to Quill Delta as far as we know \r\n \r\n ```\r\n\r\n
\r\n \r\n
\r\n Before\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/03f5ae20-796c-4e8b-8668-09a994211c1e)\r\n \r\n
\r\n \r\n
\r\n After\r\n \r\n ![image](https://github.com/singerdmx/flutter-quill/assets/73608287/7e3a1987-36e7-4665-944a-add87d24e788)\r\n \r\n
\r\n \r\n Markdown, and HTML converting from and to Delta are **currently far from perfect**, the current implementation could improved a lot \r\n however **it will likely not work like expected**, due to differences between HTML and Delta, see this [comment](https://github.com/slab/quill/issues/1551#issuecomment-311458570) for more info.\r\n \r\n ![Copying Markdown file into Flutter Quill Editor](https://github.com/singerdmx/flutter-quill/assets/73608287/63bd6ba6-cc49-4335-84dc-91a0fa5c95a9)\r\n \r\n For more details see #1915\r\n \r\n Using or converting to HTML or Markdown is highly experimental and shouldn't be used for production applications. \r\n \r\n We use it internally as it is more suitable for our specific use case., copying content from external websites and pasting it into the editor \r\n previously breaks the styles, while the current implementation is not ready, it provides a better user experience and doesn't have many downsides.\r\n\r\n Feel free to report any bugs or feature requests at [Issues](https://github.com/singerdmx/flutter-quill/issues) or drop any suggestions and questions at [Discussions](https://github.com/singerdmx/flutter-quill/discussions)\r\n\r\n## New Contributors\r\n* @leegh519 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1911\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.21...v9.4.0","9.3.21":"* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21","9.3.20":"* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892\r\n* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n## New Contributors\r\n* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20","9.3.19":"* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19","9.3.18":"* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18","9.3.17":"* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.16...v9.3.17","9.3.16":"* Update `lint` dev package to 4.0.0\r\n* Require at least version 0.8.13 of the plugin\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.15...v9.3.16","9.3.15":"\r\n* Ci/automate updating the files by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1879\r\n* Updating outdated README.md and adding a few guidelines for CONTRIBUTING.md\r\n\r\n\r\n**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.14...v9.3.15","9.3.14":"* Chore/use original color picker package in [#1877](https://github.com/singerdmx/flutter-quill/pull/1877)","9.3.13":"* fix: `readOnlyMouseCursor` losing in construction function\n* Fix block multi-line selection style","9.3.12":"* Add `readOnlyMouseCursor` to config mouse cursor type","9.3.11":"* Fix typo in QuillHtmlConverter\n* Fix re-create checkbox","9.3.10":"* Support clipboard actions from the toolbar","9.3.9":"* fix: MD Parsing for multi space\n* fix: FontFamily and FontSize toolbars track the text selected in the editor\n* feat: Add checkBoxReadOnly property which can override readOnly for checkbox","9.3.8":"* fix: removed misleading parameters\n* fix: added missed translations for ru, es, de\n* added translations for Nepali Locale('ne', 'NP')","9.3.7":"* Fix for keyboard jumping when switching focus from a TextField\n* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care","9.3.6":"* Add SK and update CS locales [#1796](https://github.com/singerdmx/flutter-quill/pull/1796)\n* Fixes:\n * QuillIconTheme changes for FontFamily and FontSize buttons are not applied [#1797](https://github.com/singerdmx/flutter-quill/pull/1796)\n * Make the arrow_drop_down icons in the QuillToolbar the same size for all MenuAnchor buttons [#1799](https://github.com/singerdmx/flutter-quill/pull/1796)","9.3.5":"* Update the minimum version for the packages to support `device_info_plus` version 10.0.0 [#1783](https://github.com/singerdmx/flutter-quill/issues/1783)\n* Update the minimum version for `youtube_player_flutter` to new major version 9.0.0 in the `flutter_quill_extensions`","9.3.4":"* fix: multiline styling stuck/not working properly [#1782](https://github.com/singerdmx/flutter-quill/pull/1782)","9.3.3":"* Update `quill_html_converter` versions","9.3.2":"* Fix dispose of text painter [#1774](https://github.com/singerdmx/flutter-quill/pull/1774)","9.3.1":"* Require Flutter 3.19.0 as minimum version","9.3.0":"* **Breaking change**: `Document.fromHtml(html)` is now returns `Document` instead of `Delta`, use `DeltaX.fromHtml` to return `Delta`\n* Update old deprecated api from Flutter 3.19\n* Scribble scroll fix by @mtallenca in https://github.com/singerdmx/flutter-quill/pull/1745","9.2.14":"* feat: move cursor after inserting video/image\n* Apple pencil","9.2.13":"* Fix crash with inserting text from contextMenuButtonItems\n* Fix incorrect behaviour of context menu \n* fix: selection handles behaviour and unnessesary style assert\n* Update quill_fr.arb","9.2.12":"* Fix safari clipboard bug\n* Add the option to disable clipboard functionality","9.2.11":"* Fix a bug where it has problems with pasting text into the editor when the clipboard has styled text","9.2.10":"* Update example screenshots\n* Refactor `Container` to `QuillContainer` with backward compatibility\n* A workaround fix in history feature","9.2.9":"* Refactor the type of `Delta().toJson()` to be more clear type","9.2.8":"* feat: Export Container node as QuillContainer\n* fix web cursor position / height (don't use iOS logic)\n* Added Swedish translation","9.2.6":"* [fix selection.affinity always downstream after updateEditingValue](https://github.com/singerdmx/flutter-quill/pull/1682)\n* Bumb version of `super_clipboard`","9.2.5":"* Bumb version of `super_clipboard`","9.2.4":"* Use fixed version of intl","9.2.3":"* remove unncessary column in Flutter quill video embed block","9.2.2":"* Fix bug [#1627](https://github.com/singerdmx/flutter-quill/issues/1627)","9.2.1":"* Fix [bug](https://github.com/singerdmx/flutter-quill/issues/1119#issuecomment-1872605246) with font size button\n* Added ro RO translations\n* 📖 Update zh, zh_CN translations","9.2.0":"* Require minimum version `6.0.0` of `flutter_keyboard_visibility` to fix some build issues with Android Gradle Plugin 8.2.0\n* Add on image clicked in `flutter_quill_extensions` callback\n* Deprecate `globalIconSize` and `globalIconButtonFactor`, use `iconSize` and `iconButtonFactor` instead\n* Fix the `QuillToolbarSelectAlignmentButtons`","9.1.1":"* Require `super_clipboard` minimum version `0.8.1` to fix some bug with Linux build failure","9.1.1-dev":"* Fix bug [#1636](https://github.com/singerdmx/flutter-quill/issues/1636)\n* Fix a where you paste styled content (HTML) it always insert a new line at first even if the document is empty\n* Fix the font size button and migrate to `MenuAnchor`\n* The `defaultDisplayText` is no longer required in the font size and header dropdown buttons\n* Add pdf converter in a new package (`quill_pdf_converter`)","9.1.0":"* Fix the simple toolbar by add properties of `IconButton` and fix some buttons","9.1.0-dev.2":"* Fix the history buttons","9.1.0-dev.1":"* Bug fixes in the simple toolbar buttons","9.1.0-dev":"* **Breaking Change**: in the `QuillSimpleToolbar` Fix the `QuillIconTheme` by replacing all the properties with two properties of type `ButtonStyle`, use `IconButton.styleFrom()`","9.0.6":"* Fix bug in QuillToolbarSelectAlignmentButtons","9.0.5":"* You can now use most of the buttons without internal provider","9.0.4":"* Feature: [#1611](https://github.com/singerdmx/flutter-quill/issues/1611)\n* Export missing widgets","9.0.3":"* Flutter Quill Extensions:\n * Fix file image support for web image emebed builder","9.0.2":"* Remove unused properties in the `QuillToolbarSelectHeaderStyleDropdownButton`\n* Fix the `QuillSimpleToolbar` when `useMaterial3` is false, please upgrade to the latest version of flutter for better support","9.0.2-dev.3":"* Export `QuillSingleChildScrollView`","9.0.2-dev.2":"* Add the new translations for ru, uk arb files by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Add a new dropdown button by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Update the default style values by [#1575](https://github.com/singerdmx/flutter-quill/pull/1575)\n* Fix bug [#1562](https://github.com/singerdmx/flutter-quill/issues/1562)\n* Fix the second bug of [#1480](https://github.com/singerdmx/flutter-quill/issues/1480)","9.0.2-dev.1":"* Add configurations for the new dropdown `QuillToolbarSelectHeaderStyleButton`, you can use the orignal one or this\n* Fix the [issue](https://github.com/singerdmx/flutter-quill/issues/1119) when enter is pressed, all font settings is lost","9.0.2-dev":"* **Breaking change** Remove the spacer widget, removed the controller option for each button\n* Add `toolbarRunSpacing` property to the simple toolbar","9.0.1":"* Fix default icon size","9.0.0":"* This version is quite stable but it's not how we wanted to be, because the lack of time and there are not too many maintainers active, we decided to publish it, we might make a new breaking changes verion","9.0.1-dev.1":"* Flutter Quill Extensions:\n * Update `QuillImageUtilities` and fixining some bugs","9.0.1-dev":"* Test new GitHub workflows","9.0.0-dev-10":"* Fix a bug of the improved pasting HTML contents contents into the editor","9.0.0-dev-9":"* Improves the new logic of pasting HTML contents into the Editor\n* Update `README.md` and the doc\n* Dispose the `QuillToolbarSelectHeaderStyleButton` state listener in `dispose`\n* Upgrade the font family button to material 3\n* Rework the font family and font size functionalities to change the font once and type all over the editor","9.0.0-dev-8":"* Better support for pasting HTML contents from external websites to the editor\n* The experimental support of converting the HTML from `quill_html_converter` is now built-in in the `flutter_quill` and removed from there (Breaking change for `quill_html_converter`)","9.0.0-dev-7":"* Fix a bug in chaning the background/font color of ol/ul list\n* Flutter Quill Extensions:\n * Fix link bug in the video url\n * Fix patterns","9.0.0-dev-6":"* Move the `child` from `QuillToolbarConfigurations` into `QuillToolbar` directly\n* Bug fixes\n* Add the ability to change the background and font color of the ol/ul elements dots and numbers\n* Flutter Quill Extensions:\n * **Breaking Change**: The `imageProviderBuilder`is now providing the context and image url","9.0.0-dev-5":"* The `QuillToolbar` is now accepting only `child` with no configurations so you can customize everything you wants, the `QuillToolbar.simple()` or `QuillSimpleToolbar` implements a simple toolbar that is based on `QuillToolbar`, you are free to use it but it just an example and not standard\n* Flutter Quill Extensions:\n * Improve the camera button","9.0.0-dev-4":"* The options parameter in all of the buttons is no longer required which can be useful to create custom toolbar with minimal efforts\n* Toolbar buttons fixes in both `flutter_quill` and `flutter_quill_extensions`\n* The `QuillProvider` has been dropped and no longer used, the providers will be used only internally from now on and we will not using them as much as possible","9.0.0-dev-3":"* Breaking Changes:\n * Rename `QuillToolbar` to `QuillSimpleToolbar`\n * Rename `QuillBaseToolbar` to `QuillToolbar`\n * Replace `pasteboard` with `rich_cliboard`\n* Fix a bug in the example when inserting an image from url\n* Flutter Quill Extensions:\n * Add support for copying the image to the system cliboard","9.0.0-dev-2":"* An attemp to fix CI automated publishing","9.0.0-dev-1":"* An attemp to fix CI automated publishing","9.0.0-dev":"* **Major Breaking change**: The `QuillProvider` is now optional, the `controller` parameter has been moved to the `QuillEditor` and `QuillToolbar` once again.\n* Flutter Quill Extensions;\n * **Breaking Change**: Completly change the way how the source code structured to more basic and simple way, organize folders and file names, if you use the library\nfrom `flutter_quill_extensions.dart` then there is nothing you need to do, but if you are using any other import then you need to re-imports\nembed, this won't affect how quill js work\n * Improvemenets to the image embed\n * Add support for `margin` for web\n * Add untranslated strings to the `quill_en.arb`","8.6.4":"* The default value of `keyboardAppearance` for the iOS will be the one from the App/System theme mode instead of always using the `Brightness.light`\n* Fix typos in `README.md`","8.6.3":"* Update the minimum flutter version to `3.16.0`","8.6.2":"* Restore use of alternative QuillToolbarLinkStyleButton2 widget","8.6.1":"* Temporary revert style bug fix","8.6.0":"* **Breaking Change** Support [Flutter 3.16](https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1), please upgrade to the latest stable version of flutter to use this update\n* **Breaking Change**: Remove Deprecated Fields\n* **Breaking Change**: Extract the shared things between `QuillToolbarConfigurations` and `QuillBaseToolbarConfigurations`\n* **Breaking Change**: You no longer need to use `QuillToolbarProvider` when using custom toolbar buttons, the example has been updated\n* Bug fixes","8.5.5":"* Now when opening dialogs by `QuillToolbar` you will not get an exception when you don't use `FlutterQuillLocalizations.delegate` in your `WidgetsApp`, `MaterialApp`, or `CupertinoApp`. The fix is for the `QuillToolbarSearchButton`, `QuillToolbarLinkStyleButton`, and `QuillToolbarColorButton` buttons","8.5.4":"* The `mobileWidth`, `mobileHeight`, `mobileMargin`, and `mobileAlignment` is now deprecated in `flutter_quill`, they are now defined in `flutter_quill_extensions`\n* Deprecate `replaceStyleStringWithSize` function which is in `string.dart`\n* Deprecate `alignment`, and `margin` as they don't conform to official Quill JS","8.5.3":"* Update doc\n* Update `README.md` and `CHANGELOG.md`\n* Fix typos\n* Use `immutable` when possible\n* Update `.pubignore`","8.5.2":"* Updated `README.md`.\n* Feature: Added the ability to include a custom callback when the `QuillToolbarColorButton` is pressed.\n* The `QuillToolbar` now implements `PreferredSizeWidget`, enabling usage in the AppBar, similar to `QuillBaseToolbar`.","8.5.1":"* Updated `README.md`.","8.5.0":"* Migrated to `flutter_localizations` for translations.\n* Fixed: Translated all previously untranslated localizations.\n* Fixed: Added translations for missing items.\n* Fixed: Introduced default Chinese fallback translation.\n* Removed: Unused parameters `items` in `QuillToolbarFontFamilyButtonOptions` and `QuillToolbarFontSizeButtonOptions`.\n* Updated: Documentation.","8.4.4":"* Updated `.pubignore` to ignore unnecessary files and folders.","8.4.3":"* Updated `CHANGELOG.md`.","8.4.2":"* **Breaking change**: Configuration for `QuillRawEditor` has been moved to a separate class. Additionally, `readOnly` has been renamed to `isReadOnly`. If using `QuillEditor`, no action is required.\n* Introduced the ability for developers to override `TextInputAction` in both `QuillRawEditor` and `QuillEditor`.\n* Enabled using `QuillRawEditor` without `QuillEditorProvider`.\n* Bug fixes.\n* Added image cropping implementation in the example.","8.4.1":"* Added `copyWith` in `OptionalSize` class.","8.4.0":"* **Breaking change**: Updated `QuillCustomButton` to use `QuillCustomButtonOptions`. Moved all properties from `QuillCustomButton` to `QuillCustomButtonOptions`, replacing `iconData` with `icon` widget for increased customization.\n* **Breaking change**: `customButtons` in `QuillToolbarConfigurations` is now of type `List`.\n* Bug fixes following the `8.0.0` update.\n* Updated `README.md`.\n* Improved platform checking.","8.3.0":"* Added `iconButtonFactor` property to `QuillToolbarBaseButtonOptions` for customizing button size relative to its icon size (defaults to `kIconButtonFactor`, consistent with previous releases).","8.2.6":"* Organized `QuillRawEditor` code.","8.2.5":"* Added `builder` property in `QuillEditorConfigurations`.","8.2.4":"* Adhered to Flutter best practices.\n* Fixed auto-focus bug.","8.2.3":"* Updated `README.md`.","8.2.2":"* Moved `flutter_quill_test` to a separate package: [flutter_quill_test](https://pub.dev/packages/flutter_quill_test).","8.2.1":"* Updated `README.md`.","8.2.0":"* Added the option to add configurations for `flutter_quill_extensions` using `extraConfigurations`.","8.1.11":"* Followed Dart best practices by using `lints` and removed `pedantic` and `platform` since they are not used.\n* Fixed text direction bug.\n* Updated `README.md`.","8.1.10":"* Secret for automated publishing to pub.dev.","8.1.9":"* Fixed automated publishing to pub.dev.","8.1.8":"* Fixed automated publishing to pub.dev.","8.1.7":"* Automated publishing to pub.dev.","8.1.6":"* Fixed compatibility with `integration_test` by downgrading the minimum version of the platform package to 3.1.0.","8.1.5":"* Reversed background/font color toolbar button icons.","8.1.4":"* Reversed background/font color toolbar button tooltips.","8.1.3":"* Moved images to screenshots instead of `README.md`.","8.1.2":"* Fixed a bug related to the regexp of the insert link dialog.\n* Required Dart 3 as the minimum version.\n* Code cleanup.\n* Added a spacer widget between each button in the `QuillToolbar`.","8.1.1":"* Fixed null error in line.dart #1487(https://github.com/singerdmx/flutter*quill/issues/1487).","8.1.0":"* Fixed a word typo of `mirgration` to `migration` in the readme & migration document.\n* Updated migration guide.\n* Removed property `enableUnfocusOnTapOutside` in `QuillEditor` configurations and added `isOnTapOutsideEnabled` instead.\n* Added a new callback called `onTapOutside` in the `QuillEditorConfigurations` to perform actions when tapping outside the editor.\n* Fixed a bug that caused the web platform to not unfocus the editor when tapping outside of it. To override this, please pass a value to the `onTapOutside` callback.\n* Removed the old property of `iconTheme`. Instead, pass `iconTheme` in the button options; you will find the `base` property inside it with `iconTheme`.","8.0.0":"* If you have migrated recently, don't be alarmed by this update; it adds documentation, a migration guide, and marks the version as a more stable release. Although there are breaking changes (as reported by some developers), the major version was not changed due to time constraints during development. A single property was also renamed from `code` to `codeBlock` in the `elements` of the new `QuillEditorConfigurations` class.\n* Updated the README for better readability.","7.10.2":"* Removed line numbers from code blocks by default. You can still enable this feature thanks to the new configurations in the `QuillEditor`. Find the `elementOptions` property and enable `enableLineNumbers`.","7.10.1":"* Fixed issues and utilized the new parameters.\n* No longer need to use `MaterialApp` for most toolbar button child builders.\n* Compatibility with [fresh_quill_extensions](https://pub.dev/packages/fresh_quill_extensions), a temporary alternative to [flutter_quill_extensions](https://pub.dev/packages/flutter_quill_extensions).\n* Updated most of the documentation in `README.md`.","7.10.0":"* **Breaking change**: `QuillToolbar.basic()` can be accessed directly from `QuillToolbar()`, and the old `QuillToolbar` can be accessed from `QuillBaseToolbar`.\n* Refactored Quill editor and toolbar configurations into a single class each.\n* After changing checkbox list values, the controller will not request keyboard focus by default.\n* Moved toolbar and editor configurations directly into the widget but still use inherited widgets internally.\n* Fixes to some code after the refactoring.","7.9.0":"* Buttons Improvemenets\n* Refactor all the button configurations that used in `QuillToolbar.basic()` but there are still few lefts\n* **Breaking change**: Remove some configurations from the QuillToolbar and move them to the new `QuillProvider`, please notice this is a development version and this might be changed in the next few days, the stable release will be ready in less than 3 weeks\n* Update `flutter_quill_extensions` and it will be published into pub.dev soon.\n* Allow you to customize the search dialog by custom callback with child builder","7.8.0":"* **Important note**: this is not test release yet, it works but need more test and changes and breaking changes, we don't have development version and it will help us if you try the latest version and report the issues in Github but if you want a stable version please use `7.4.16`. this refactoring process will not take long and should be done less than three weeks with the testing.\n* We managed to refactor most of the buttons configurations and customizations in the `QuillProvider`, only three lefts then will start on refactoring the toolbar configurations\n* Code improvemenets","7.7.0":"* **Breaking change**: We have mirgrated more buttons in the toolbar configurations, you can do change them in the `QuillProvider`\n* Important bug fixes","7.6.1":"* Bug fixes","7.6.0":"* **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider`","7.5.0":"* **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations","7.4.16":"* Update documentation and README.md","7.4.15":"* Custom style attrbuites for platforms other than mobile (alignment, margin, width, height)\n* Bug fixes and other improvemenets","7.4.14":"* Improve performance by reducing the number of widgets rebuilt by listening to media query for only the needed things, for example instead of using `MediaQuery.of(context).size`, now we are using `MediaQuery.sizeOf(context)`\n* Add MediaButton for picking the images only since the video one is not ready\n* A new feature which allows customizing the text selection in quill editor which is useful for custom theme design system for custom app widget","7.4.13":"* Fixed tab editing when in readOnly mode.","7.4.12":"* Update the minimum version of device_info_plus to 9.1.0.","7.4.11":"* Add sw locale.","7.4.10":"* Update translations.","7.4.9":"* Style recognition fixes.","7.4.8":"* Upgrade dependencies.","7.4.7":"* Add Vietnamese and German translations.","7.4.6":"* Fix more null errors in Leaf.retain [##1394](https://github.com/singerdmx/flutter-quill/issues/1394) and Line.delete [##1395](https://github.com/singerdmx/flutter-quill/issues/1395).","7.4.5":"* Fix null error in Container.insert [##1392](https://github.com/singerdmx/flutter-quill/issues/1392).","7.4.4":"* Fix extra padding on checklists [##1131](https://github.com/singerdmx/flutter-quill/issues/1131).","7.4.3":"* Fixed a space input error on iPad.","7.4.2":"* Fix bug with keepStyleOnNewLine for link.","7.4.1":"* Fix toolbar dividers condition.","7.4.0":"* Support Flutter version 3.13.0.","7.3.3":"* Updated Dependencies conflicting.","7.3.2":"* Added builder for custom button in _LinkDialog.","7.3.1":"* Added case sensitive and whole word search parameters.\n* Added wrap around.\n* Moved search dialog to the bottom in order not to override the editor and the text found.\n* Other minor search dialog enhancements.","7.3.0":"* Add default attributes to basic factory.","7.2.19":"* Feat/link regexp.","7.2.18":"* Fix paste block text in words apply same style.","7.2.17":"* Fix paste text mess up style.\n* Add support copy/cut block text.","7.2.16":"* Allow for custom context menu.","7.2.15":"* Add flutter_quill.delta library which only exposes Delta datatype.","7.2.14":"* Fix errors when the editor is used in the `screenshot` package.","7.2.13":"* Fix around image can't delete line break.","7.2.12":"* Add support for copy/cut select image and text together.","7.2.11":"* Add affinity for localPosition.","7.2.10":"* LINE._getPlainText queryChild inclusive=false.","7.2.9":"* Add toPlainText method to `EmbedBuilder`.","7.2.8":"* Add custom button widget in toolbar.","7.2.7":"* Fix language code of Japan.","7.2.6":"* Style custom toolbar buttons like builtins.","7.2.5":"* Always use text cursor for editor on desktop.","7.2.4":"* Fixed keepStyleOnNewLine.","7.2.3":"* Get pixel ratio from view.","7.2.2":"* Prevent operations on stale editor state.","7.2.1":"* Add support for android keyboard content insertion.\n* Enhance color picker, enter hex color and color palette option.","7.2.0":"* Checkboxes, bullet points, and number points are now scaled based on the default paragraph font size.","7.1.20":"* Pass linestyle to embedded block.","7.1.19":"* Fix Rtl leading alignment problem.","7.1.18":"* Support flutter latest version.","7.1.17+1":"* Updates `device_info_plus` to version 9.0.0 to benefit from AGP 8 (see [changelog##900](https://pub.dev/packages/device_info_plus/changelog##900)).","7.1.16":"* Fixed subscript key from 'sup' to 'sub'.","7.1.15":"* Fixed a bug introduced in 7.1.7 where each section in `QuillToolbar` was displayed on its own line.","7.1.14":"* Add indents change for multiline selection.","7.1.13":"* Add custom recognizer.","7.1.12":"* Add superscript and subscript styles.","7.1.11":"* Add inserting indents for lines of list if text is selected.","7.1.10":"* Image embedding tweaks\n * Add MediaButton which is intened to superseed the ImageButton and VideoButton. Only image selection is working.\n * Implement image insert for web (image as base64)","7.1.9":"* Editor tweaks PR from bambinoua(https://github.com/bambinoua).\n * Shortcuts now working in Mac OS\n * QuillDialogTheme is extended with new properties buttonStyle, linkDialogConstraints, imageDialogConstraints, isWrappable, runSpacing,\n * Added LinkStyleButton2 with new LinkStyleDialog (similar to Quill implementation\n * Conditinally use Row or Wrap for dialog's children.\n * Update minimum Dart SDK version to 2.17.0 to use enum extensions.\n * Use merging shortcuts and actions correclty (if the key combination is the same)","7.1.8":"* Dropdown tweaks\n * Add itemHeight, itemPadding, defaultItemColor for customization of dropdown items.\n * Remove alignment property as useless.\n * Fix bugs with max width when width property is null.","7.1.7":"* Toolbar tweaks.\n * Implement tooltips for embed CameraButton, VideoButton, FormulaButton, ImageButton.\n * Extends customization for SelectAlignmentButton, QuillFontFamilyButton, QuillFontSizeButton adding padding, text style, alignment, width.\n * Add renderFontFamilies to QuillFontFamilyButton to show font faces in dropdown.\n * Add AxisDivider and its named constructors for for use in parent project.\n * Export ToolbarButtons enum to allow specify tooltips for SelectAlignmentButton.\n * Export QuillFontFamilyButton, SearchButton as they were not exported before.\n * Deprecate items property in QuillFontFamilyButton, QuillFontSizeButton as the it can be built usinr rawItemsMap.\n * Make onSelection QuillFontFamilyButton, QuillFontSizeButton omittable as no need to execute callback outside if controller is passed to widget.\n\nNow the package is more friendly for web projects.","7.1.6":"* Add enableUnfocusOnTapOutside field to RawEditor and Editor widgets.","7.1.5":"* Add tooltips for toolbar buttons.","7.1.4":"* Fix inserting tab character in lists.","7.1.3":"* Fix ios cursor bug when word.length==1.","7.1.2":"* Fix non scrollable editor exception, when tapped under content.","7.1.1":"* customLinkPrefixes parameter * makes possible to open links with custom protoco.","7.1.0":"* Fix ordered list numeration with several lists in document.","7.0.9":"* Use const constructor for EmbedBuilder.","7.0.8":"* Fix IME position bug with scroller.","7.0.7":"* Add TextFieldTapRegion for contextMenu.","7.0.6":"* Fix line style loss on new line from non string.","7.0.5":"* Fix IME position bug for Mac and Windows.\n* Unfocus when tap outside editor. fix the bug that cant refocus in afterButtonPressed after click ToggleStyleButton on Mac.","7.0.4":"* Have text selection span full line height for uneven sized text.","7.0.3":"* Fix ordered list numeration for lists with more than one level of list.","7.0.2":"* Allow widgets to override widget span properties.","7.0.1":"* Update i18n_extension dependency to version 8.0.0.","7.0.0":"* Breaking change: Tuples are no longer used. They have been replaced with a number of data classes.","6.4.4":"* Increased compatibility with Flutter widget tests.","6.4.3":"* Update dependencies (collection: 1.17.0, flutter_keyboard_visibility: 5.4.0, quiver: 3.2.1, tuple: 2.0.1, url_launcher: 6.1.9, characters: 1.2.1, i18n_extension: 7.0.0, device_info_plus: 8.1.0)","6.4.2":"* Replace `buildToolbar` with `contextMenuBuilder`.","6.4.1":"* Control the detect word boundary behaviour.","6.4.0":"* Use `axis` to make the toolbar vertical.\n* Use `toolbarIconCrossAlignment` to align the toolbar icons on the cross axis.\n* Breaking change: `QuillToolbar`'s parameter `toolbarHeight` was renamed to `toolbarSize`.","6.3.5":"* Ability to add custom shortcuts.","6.3.4":"* Update clipboard status prior to showing selected text overlay.","6.3.3":"* Fixed handling of mac intents.","6.3.2":"* Added `unknownEmbedBuilder` to QuillEditor.\n* Fix error style when input chinese japanese or korean.","6.3.1":"* Add color property to the basic factory function.","6.3.0":"* Support Flutter 3.7.","6.2.2":"* Fix: nextLine getter null where no assertion.","6.2.1":"* Revert \"Align numerical and bullet lists along with text content\".","6.2.0":"* Align numerical and bullet lists along with text content.","6.1.12":"* Apply i18n for default font dropdown option labels corresponding to 'Clear'.","6.1.11":"* Remove iOS hack for delaying focus calculation.","6.1.10":"* Delay focus calculation for iOS.","6.1.9":"* Bump keyboard show up wait to 1 sec.","6.1.8":"* Recalculate focus when showing keyboard.","6.1.7":"* Add czech localizations.","6.1.6":"* Upgrade i18n_extension to 6.0.0.","6.1.5":"* Fix formatting exception.","6.1.4":"* Add double quotes validation.","6.1.3":"* Revert \"fix order list numbering (##988)\".","6.1.2":"* Add typing shortcuts.","6.1.1":"* Fix order list numbering.","6.1.0":"* Add keyboard shortcuts for editor actions.","6.0.10":"* Upgrade device info plus to ^7.0.0.","6.0.9":"* Don't throw showAutocorrectionPromptRect not implemented. The function is called with every keystroke as a user is typing.","6.0.8+1":"* Fixes null pointer when setting documents.","6.0.8":"* Make QuillController.document mutable.","6.0.7":"* Allow disabling of selection toolbar.","6.0.6+1":"* Revert 6.0.6.","6.0.6":"* Fix wrong custom embed key.","6.0.5":"* Fixes toolbar buttons stealing focus from editor.","6.0.4":"* Bug fix for Type 'Uint8List' not found.","6.0.3":"* Add ability to paste images.","6.0.2":"* Address Dart Analysis issues.","6.0.1":"* Changed translation country code (zh_HK -> zh_hk) to lower case, which is required for i18n_extension used in flutter_quill.\n* Add localization in example's main to demonstrate translation.\n* Issue Windows selection's copy / paste tool bar not shown ##861: add selection's copy / paste toolbar, escape to hide toolbar, mouse right click to show toolbar, ctrl-Y / ctrl-Z to undo / redo.\n* Image and video displayed in Windows platform caused screen flickering while selecting text, a sample_data_nomedia.json asset is added for Desktop to demonstrate the added features.\n* Known issue: keyboard action sometimes causes exception mentioned in Flutter's issue ##106475 (Windows Keyboard shortcuts stop working after modifier key repeat flutter/flutter##106475).\n* Know issue: user needs to click the editor to get focus before toolbar is able to display.","6.0.0 BREAKING CHANGE":"* Removed embed (image, video & formula) blocks from the package to reduce app size.\n\nThese blocks have been moved to the package `flutter_quill_extensions`, migrate by filling the `embedBuilders` and `embedButtons` parameters as follows:\n\n```\nimport 'package:flutter_quill_extensions/flutter_quill_extensions.dart';\n\nQuillEditor.basic(\n controller: controller,\n embedBuilders: FlutterQuillEmbeds.builders(),\n);\n\nQuillToolbar.basic(\n controller: controller,\n embedButtons: FlutterQuillEmbeds.buttons(),\n);\n```","5.4.2":"* Upgrade i18n_extension.","5.4.1":"* Update German Translation.","5.4.0":"* Added Formula Button (for maths support).","5.3.2":"* Add more font family.","5.3.1":"* Enable search when text is not empty.","5.3.0":"* Added search function.","5.2.11":"* Remove default small color.","5.2.10":"* Don't wrap the QuillEditor's child in the EditorTextSelectionGestureDetector if selection is disabled.","5.2.9":"* Added option to modify SelectHeaderStyleButton options.\n* Added option to click again on h1, h2, h3 button to go back to normal.","5.2.8":"* Remove tooltip for LinkStyleButton.\n* Make link match regex case insensitive.","5.2.7":"* Add locale to QuillEditor.basic.","5.2.6":"* Fix keyboard pops up when resizing the image.","5.2.5":"* Upgrade youtube_player_flutter_quill to 8.2.2.","5.2.4":"* Upgrade youtube_player_flutter_quill to 8.2.1.","5.2.3":"* Flutter Quill Doesn't Work On iOS 16 or Xcode 14 Betas (Stored properties cannot be marked potentially unavailable with '@available').","5.2.2":"* Fix Web Unsupported operation: Platform.\\_operatingSystem error.","5.2.1":"* Rename QuillCustomIcon to QuillCustomButton.","5.2.0":"* Support font family selection.","5.1.1":"* Update README.","5.1.0":"* Added CustomBlockEmbed and customElementsEmbedBuilder.","5.0.5":"* Upgrade device_info_plus to 4.0.0.","5.0.4":"* Added onVideoInit callback for video documents.","5.0.3":"* Update dependencies.","5.0.2":"* Keep cursor position on checkbox tap.","5.0.1":"* Fix static analysis errors.","5.0.0":"* Flutter 3.0.0 support.","4.2.3":"* Ignore color:inherit and convert double to int for level.","4.2.2":"* Add clear option to font size dropdown.","4.2.1":"* Refactor font size dropdown.","4.2.0":"* Ensure selectionOverlay is available for showToolbar.","4.1.9":"* Using properly iconTheme colors.","4.1.8":"* Update font size dropdown.","4.1.7":"* Convert FontSize to a Map to allow for named Font Size.","4.1.6":"* Update quill_dropdown_button.dart.","4.1.5":"* Add Font Size dropdown to the toolbar.","4.1.4":"* New borderRadius for iconTheme.","4.1.3":"* Fix selection handles show/hide after paste, backspace, copy.","4.1.2":"* Add full support for hardware keyboards (Chromebook, Android tablets, etc) that don't alter screen UI.","4.1.1":"* Added textSelectionControls field in QuillEditor.","4.1.0":"* Added Node to linkActionPickerDelegate.","4.0.12":"* Add Persian(fa) language.","4.0.11":"* Fix cut selection error in multi-node line.","4.0.10":"* Fix vertical caret position bug.","4.0.9":"* Request keyboard focus when no child is found.","4.0.8":"* Fix blank lines do not display when **web*renderer=html.","4.0.7":"* Refactor getPlainText (better handling of blank lines and lines with multiple markups.","4.0.6":"* Bug fix for copying text with new lines.","4.0.5":"* Fixed casting null to Tuple2 when link dialog is dismissed without any input (e.g. barrier dismissed).","4.0.4":"* Bug fix for text direction rtl.","4.0.3":"* Support text direction rtl.","4.0.2":"* Clear toggled style on selection change.","4.0.1":"* Fix copy/cut/paste/selectAll not working.","4.0.0":"* Upgrade for Flutter 2.10.","3.9.11":"* Added Indonesian translation.","3.9.10":"* Fix for undoing a modification ending with an indented line.","3.9.9":"* iOS: Save image whose filename does not end with image file extension.","3.9.8":"* Added Urdu translation.","3.9.7":"* Fix for clicking on the Link button without any text on a new line crashes.","3.9.6":"* Apply locale to QuillEditor(contents).","3.9.5":"* Fix image pasting.","3.9.4":"* Hiding dialog after selecting action for image.","3.9.3":"* Update ImageResizer for Android.","3.9.2":"* Copy image with its style.","3.9.1":"* Support resizing image.","3.9.0":"* Image menu options for copy/remove.","3.8.8":"* Update set textEditingValue.","3.8.7":"* Fix checkbox not toggled correctly in toolbar button.","3.8.6":"* Fix cursor position changes when checking/unchecking the checkbox.","3.8.5":"* Fix \\_handleDragUpdate in \\_TextSelectionHandleOverlayState.","3.8.4":"* Fix link dialog layout.","3.8.3":"* Fix for errors on a non scrollable editor.","3.8.2":"* Fix certain keys not working on web when editor is a child of a scroll view.","3.8.1":"* Refactor \\_QuillEditorState to QuillEditorState.","3.8.0":"* Support pasting with format.","3.7.3":"* Fix selection overlay for collapsed selection.","3.7.2":"* Reverted Embed toPlainText change.","3.7.1":"* Change Embed toPlainText to be empty string.","3.7.0":"* Replace Toolbar showHistory group with individual showRedo and showUndo.","3.6.5":"* Update Link dialogue for image/video.","3.6.4":"* Link dialogue TextInputType.multiline.","3.6.3":"* Bug fix for link button text selection.","3.6.2":"* Improve link button.","3.6.1":"* Remove SnackBar 'What is entered is not a link'.","3.6.0":"* Allow link button to enter text.","3.5.3":"* Change link button behavior.","3.5.2":"* Bug fix for embed.","3.5.1":"* Bug fix for platform util.","3.5.0":"* Removed redundant classes.","3.4.4":"* Add more translations.","3.4.3":"* Preset link from attributes.","3.4.2":"* Fix launch link edit mode.","3.4.1":"* Placeholder effective in scrollable.","3.4.0":"* Option to save image in read-only mode.","3.3.1":"* Pass any specified key in QuillEditor constructor to super.","3.3.0":"* Fixed Style toggle issue.","3.2.1":"* Added new translations.","3.2.0":"* Support multiple links insertion on the go.","3.1.1":"* Add selection completed callback.","3.1.0":"* Fixed image ontap functionality.","3.0.4":"* Add maxContentWidth constraint to editor.","3.0.3":"* Do not show caret on screen when the editor is not focused.","3.0.2":"* Fix launch link for read-only mode.","3.0.1":"* Handle null value of Attribute.link.","3.0.0":"* Launch link improvements.\n* Removed QuillSimpleViewer.","2.5.2":"* Skip image when pasting.","2.5.1":"* Bug fix for Desktop `Shift` + `Click` support.","2.5.0":"* Update checkbox list.","2.4.1":"* Desktop selection improvements.","2.4.0":"* Improve inline code style.","2.3.3":"* Improves selection rects to have consistent height regardless of individual segment text styles.","2.3.2":"* Allow disabling floating cursor.","2.3.1":"* Preserve last newline character on delete.","2.3.0":"* Massive changes to support flutter 2.8.","2.2.2":"* iOS - floating cursor.","2.2.1":"* Bug fix for imports supporting flutter 2.8.","2.2.0":"* Support flutter 2.8.","2.1.1":"* Add methods of clearing editor and moving cursor.","2.1.0":"* Add delete handler.","2.0.23":"* Support custom replaceText handler.","2.0.22":"* Fix attribute compare and fix font size parsing.","2.0.21":"* Handle click on embed object.","2.0.20":"* Improved UX/UI of Image widget.","2.0.19":"* When uploading a video, applying indicator.","2.0.18":"* Make toolbar dividers optional.","2.0.17":"* Allow alignment of the toolbar icons to match WrapAlignment.","2.0.16":"* Add hide / show alignment buttons.","2.0.15":"* Implement change cursor to SystemMouseCursors.click when hovering a link styled text.","2.0.14":"* Enable customize the checkbox widget using DefaultListBlockStyle style.","2.0.13":"* Improve the scrolling performance by reducing the repaint areas.","2.0.12":"* Fix the selection effect can't be seen as the textLine with background color.","2.0.11":"* Fix visibility of text selection handlers on scroll.","2.0.10":"* cursorConnt.color notify the text_line to repaint if it was disposed.","2.0.9":"* Improve UX when trying to add a link.","2.0.8":"* Adding translations to the toolbar.","2.0.7":"* Added theming options for toolbar icons and LinkDialog.","2.0.6":"* Avoid runtime error when placed inside TabBarView.","2.0.5":"* Support inline code formatting.","2.0.4":"* Enable history shortcuts for desktop.","2.0.3":"* Fix cursor when line contains image.","2.0.2":"* Address KeyboardListener class name conflict.","2.0.1":"* Upgrade flutter_colorpicker to 0.5.0.","2.0.0":"* Text Alignment functions + Block Format standards.","1.9.6":"* Support putting QuillEditor inside a Scrollable view.","1.9.5":"* Skip image when pasting.","1.9.4":"* Bug fix for cursor position when tapping at the end of line with image(s).","1.9.3":"* Bug fix when line only contains one image.","1.9.2":"* Support for building custom inline styles.","1.9.1":"* Cursor jumps to the most appropriate offset to display selection.","1.9.0":"* Support inline image.","1.8.3":"* Updated quill_delta.","1.8.2":"* Support mobile image alignment.","1.8.1":"* Support mobile custom size image.","1.8.0":"* Support entering link for image/video.","1.7.3":"* Bumps photo_view version.","1.7.2":"* Fix static analysis error.","1.7.1":"* Support Youtube video.","1.7.0":"* Support video.","1.6.4":"* Bug fix for clear format button.","1.6.3":"* Fixed dragging right handle scrolling issue.","1.6.2":"* Fixed the position of the selection status drag handle.","1.6.1":"* Upgrade image_picker and flutter_colorpicker.","1.6.0":"* Support Multi Row Toolbar.","1.5.0":"* Remove file_picker dependency.","1.4.1":"* Remove filesystem_picker dependency.","1.4.0":"* Remove path_provider dependency.","1.3.4":"* Add option to paintCursorAboveText.","1.3.3":"* Upgrade file_picker version.","1.3.2":"* Fix copy/paste bug.","1.3.1":"* New logo.","1.3.0":"* Support flutter 2.2.0.","1.2.2":"* Checkbox supports tapping.","1.2.1":"* Indented position not holding while editing.","1.2.0":"* Fix image button cancel causes crash.","1.1.8":"* Fix height of empty line bug.","1.1.7":"* Fix text selection in read-only mode.","1.1.6":"* Remove universal_html dependency.","1.1.5":"* Enable \"Select\", \"Select All\" and \"Copy\" in read-only mode.","1.1.4":"* Fix text selection issue.","1.1.3":"* Update example folder.","1.1.2":"* Add pedantic.","1.1.1":"* Base64 image support.","1.1.0":"* Support null safety.","1.0.9":"* Web support for raw editor and keyboard listener.","1.0.8":"* Support token attribute.","1.0.7":"* Fix crash on web (dart:io).","1.0.6":"* Add desktop support WINDOWS, MACOS and LINUX.","1.0.5":"* Bug fix: Can not insert newline when Bold is toggled ON.","1.0.4":"* Upgrade photo_view to ^0.11.0.","1.0.3":"* Fix issue that text is not displayed while typing WEB.","1.0.2":"* Update toolbar in sample home page.","1.0.1":"* Fix static analysis errors.","1.0.0":"* Support flutter 2.0.","1.0.0-dev.2":"* Improve link handling for tel, mailto and etc.","1.0.0-dev.1":"* Upgrade prerelease SDK & Bump for master.","0.3.5":"* Fix for cursor focus issues when keyboard is on.","0.3.4":"* Improve link handling for tel, mailto and etc.","0.3.3":"* More fix on cursor focus issue when keyboard is on.","0.3.2":"* Fix cursor focus issue when keyboard is on.","0.3.1":"* cursor focus when keyboard is on.","0.3.0":"* Line Height calculated based on font size.","0.2.12":"* Support placeholder.","0.2.11":"* Fix static analysis error.","0.2.10":"* Update TextInputConfiguration autocorrect to true in stable branch.","0.2.9":"* Update TextInputConfiguration autocorrect to true.","0.2.8":"* Support display local image besides network image in stable branch.","0.2.7":"* Support display local image besides network image.","0.2.6":"* Fix cursor after pasting.","0.2.5":"* Toggle text/background color button in toolbar.","0.2.4":"* Support the use of custom icon size in toolbar.","0.2.3":"* Support custom styles and image on local device storage without uploading.","0.2.2":"* Update git repo.","0.2.1":"* Fix static analysis error.","0.2.0":"* Add checked/unchecked list button in toolbar.","0.1.8":"* Support font and size attributes.","0.1.7":"* Support checked/unchecked list.","0.1.6":"* Fix getExtentEndpointForSelection.","0.1.5":"* Support text alignment.","0.1.4":"* Handle url with trailing spaces.","0.1.3":"* Handle cursor position change when undo/redo.","0.1.2":"* Handle more text colors.","0.1.1":"* Fix cursor issue when undo.","0.1.0":"* Fix insert image.","0.0.9":"* Handle rgba color.","0.0.8":"* Fix launching url.","0.0.7":"* Handle multiple image inserts.","0.0.6":"* More toolbar functionality.","0.0.5":"* Update example.","0.0.4":"* Update example.","0.0.3":"* Update home page meta data.","0.0.2":"* Support image upload and launch url in read-only mode.","0.0.1":"* Rich text editor based on Quill Delta."} \ No newline at end of file diff --git a/dart_quill_delta/CHANGELOG.md b/dart_quill_delta/CHANGELOG.md index c606130b..d4b26e36 100644 --- a/dart_quill_delta/CHANGELOG.md +++ b/dart_quill_delta/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.7 + +* fixed #1953 italic detection error by @CatHood0 in https://github.com/singerdmx/flutter-quill/pull/1954 + +## New Contributors +* @CatHood0 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1954 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.6...v9.4.7 + ## 9.4.6 * fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 diff --git a/dart_quill_delta/pubspec.yaml b/dart_quill_delta/pubspec.yaml index 84a534b0..0b906a0a 100644 --- a/dart_quill_delta/pubspec.yaml +++ b/dart_quill_delta/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_quill_delta description: A port of quill-js-delta from typescript to dart -version: 9.4.6 +version: 9.4.7 homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_extensions/CHANGELOG.md b/flutter_quill_extensions/CHANGELOG.md index c606130b..d4b26e36 100644 --- a/flutter_quill_extensions/CHANGELOG.md +++ b/flutter_quill_extensions/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.7 + +* fixed #1953 italic detection error by @CatHood0 in https://github.com/singerdmx/flutter-quill/pull/1954 + +## New Contributors +* @CatHood0 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1954 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.6...v9.4.7 + ## 9.4.6 * fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index b38e3320..d0720622 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_extensions description: Embed extensions for flutter_quill including image, video, formula and etc. -version: 9.4.6 +version: 9.4.7 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/flutter_quill_test/CHANGELOG.md b/flutter_quill_test/CHANGELOG.md index c606130b..d4b26e36 100644 --- a/flutter_quill_test/CHANGELOG.md +++ b/flutter_quill_test/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.7 + +* fixed #1953 italic detection error by @CatHood0 in https://github.com/singerdmx/flutter-quill/pull/1954 + +## New Contributors +* @CatHood0 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1954 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.6...v9.4.7 + ## 9.4.6 * fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 diff --git a/flutter_quill_test/pubspec.yaml b/flutter_quill_test/pubspec.yaml index 35d82bba..d616cb1e 100644 --- a/flutter_quill_test/pubspec.yaml +++ b/flutter_quill_test/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill_test description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. -version: 9.4.6 +version: 9.4.7 homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/pubspec.yaml b/pubspec.yaml index 6fdbc210..399ab212 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 9.4.6 +version: 9.4.7 homepage: https://1o24bbs.com/c/bulletjournal/108/ repository: https://github.com/singerdmx/flutter-quill/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_html_converter/CHANGELOG.md b/quill_html_converter/CHANGELOG.md index c606130b..d4b26e36 100644 --- a/quill_html_converter/CHANGELOG.md +++ b/quill_html_converter/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.7 + +* fixed #1953 italic detection error by @CatHood0 in https://github.com/singerdmx/flutter-quill/pull/1954 + +## New Contributors +* @CatHood0 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1954 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.6...v9.4.7 + ## 9.4.6 * fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 diff --git a/quill_html_converter/pubspec.yaml b/quill_html_converter/pubspec.yaml index a8f3369c..ed11de8d 100644 --- a/quill_html_converter/pubspec.yaml +++ b/quill_html_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_html_converter description: A extension for flutter_quill package to add support for dealing with conversion to/from html -version: 9.4.6 +version: 9.4.7 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ diff --git a/quill_pdf_converter/CHANGELOG.md b/quill_pdf_converter/CHANGELOG.md index c606130b..d4b26e36 100644 --- a/quill_pdf_converter/CHANGELOG.md +++ b/quill_pdf_converter/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. +## 9.4.7 + +* fixed #1953 italic detection error by @CatHood0 in https://github.com/singerdmx/flutter-quill/pull/1954 + +## New Contributors +* @CatHood0 made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1954 + +**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.4.6...v9.4.7 + ## 9.4.6 * fix: search dialog throw an exception due to missing FlutterQuillLocalizations.delegate in the editor by @ellet0 in https://github.com/singerdmx/flutter-quill/pull/1938 diff --git a/quill_pdf_converter/pubspec.yaml b/quill_pdf_converter/pubspec.yaml index 7045a09e..ea3a2db4 100644 --- a/quill_pdf_converter/pubspec.yaml +++ b/quill_pdf_converter/pubspec.yaml @@ -1,6 +1,6 @@ name: quill_pdf_converter description: A extension for flutter_quill package to add support for dealing with conversion to pdf -version: 9.4.6 +version: 9.4.7 homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ From 1f32e84643c07c5afa74e091ac5696bd5a58e81c Mon Sep 17 00:00:00 2001 From: Cat <114286961+CatHood0@users.noreply.github.com> Date: Fri, 28 Jun 2024 18:28:26 -0400 Subject: [PATCH 42/50] Add support for html underline and videos (#1955) * fixed #1953 italic detection error fix: issue where when html2md parse to "_" instead of "*" that won't be detected MarkdownToDelta converter feat(test): added test for DeltaX feat: added config classes to MarkdownToDelta and html2md that allow users configure their own styles * Added support for html underline and videos * removed print calls and fix no expect in test * removed useless element attr for underline * improved video url validator pattern * Added support for