Merge branch 'master' into clipboard

# Conflicts:
#	lib/src/models/config/editor/editor_configurations.dart
pull/1843/head
Douglas Ward 12 months ago
commit e681e662ed
  1. 10
      CHANGELOG.md
  2. 10
      dart_quill_delta/CHANGELOG.md
  3. 2
      dart_quill_delta/pubspec.yaml
  4. 4
      doc/translation.md
  5. 10
      flutter_quill_extensions/CHANGELOG.md
  6. 1
      flutter_quill_extensions/lib/embeds/image/toolbar/image_button.dart
  7. 1
      flutter_quill_extensions/lib/embeds/others/camera_button/camera_button.dart
  8. 4
      flutter_quill_extensions/lib/models/config/camera/camera_configurations.dart
  9. 4
      flutter_quill_extensions/lib/models/config/formula/formula_configurations.dart
  10. 4
      flutter_quill_extensions/lib/models/config/image/toolbar/image_configurations.dart
  11. 2
      flutter_quill_extensions/lib/models/config/media/media_button_configurations.dart
  12. 4
      flutter_quill_extensions/lib/models/config/video/toolbar/video_configurations.dart
  13. 2
      flutter_quill_extensions/pubspec.yaml
  14. 5
      flutter_quill_test/CHANGELOG.md
  15. 2
      flutter_quill_test/pubspec.yaml
  16. 5
      lib/src/l10n/generated/quill_localizations.dart
  17. 27
      lib/src/l10n/generated/quill_localizations_de.dart
  18. 97
      lib/src/l10n/generated/quill_localizations_es.dart
  19. 279
      lib/src/l10n/generated/quill_localizations_ne.dart
  20. 122
      lib/src/l10n/generated/quill_localizations_ru.dart
  21. 22
      lib/src/l10n/quill_de.arb
  22. 96
      lib/src/l10n/quill_es.arb
  23. 100
      lib/src/l10n/quill_ne.arb
  24. 119
      lib/src/l10n/quill_ru.arb
  25. 10
      lib/src/l10n/untranslated.json
  26. 12
      lib/src/models/config/editor/editor_configurations.dart
  27. 10
      lib/src/models/config/raw_editor/raw_editor_configurations.dart
  28. 1
      lib/src/models/config/toolbar/buttons/font_size_configurations.dart
  29. 3
      lib/src/models/config/toolbar/buttons/search_configurations.dart
  30. 4
      lib/src/models/config/toolbar/buttons/toggle_check_list_configurations.dart
  31. 4
      lib/src/models/config/toolbar/buttons/toggle_style_configurations.dart
  32. 7
      lib/src/models/themes/quill_icon_theme.dart
  33. 4
      lib/src/packages/quill_markdown/markdown_to_delta.dart
  34. 1
      lib/src/widgets/editor/editor.dart
  35. 4
      lib/src/widgets/quill/text_block.dart
  36. 4
      lib/src/widgets/raw_editor/raw_editor_state.dart
  37. 1
      lib/src/widgets/toolbar/buttons/toggle_check_list_button.dart
  38. 3
      lib/src/widgets/toolbar/buttons/toggle_style_button.dart
  39. 2
      pubspec.yaml
  40. 10
      quill_html_converter/CHANGELOG.md
  41. 2
      quill_html_converter/pubspec.yaml
  42. 10
      quill_pdf_converter/CHANGELOG.md
  43. 2
      quill_pdf_converter/pubspec.yaml
  44. 2
      version.dart

@ -2,6 +2,16 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.9
* fix: MD Parsing for multi space
* fix: FontFamily and FontSize toolbars track the text selected in the editor
* feat: Add checkBoxReadOnly property which can override readOnly for checkbox
## 9.3.8
* fix: removed misleading parameters
* fix: added missed translations for ru, es, de
* added translations for Nepali Locale('ne', 'NP')
## 9.3.7 ## 9.3.7
* Fix for keyboard jumping when switching focus from a TextField * Fix for keyboard jumping when switching focus from a TextField
* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care * Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care

@ -2,6 +2,16 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.9
* fix: MD Parsing for multi space
* fix: FontFamily and FontSize toolbars track the text selected in the editor
* feat: Add checkBoxReadOnly property which can override readOnly for checkbox
## 9.3.8
* fix: removed misleading parameters
* fix: added missed translations for ru, es, de
* added translations for Nepali Locale('ne', 'NP')
## 9.3.7 ## 9.3.7
* Fix for keyboard jumping when switching focus from a TextField * Fix for keyboard jumping when switching focus from a TextField
* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care * Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care

@ -1,6 +1,6 @@
name: dart_quill_delta name: dart_quill_delta
description: A port of quill-js-delta from typescript to dart description: A port of quill-js-delta from typescript to dart
version: 9.3.7 version: 9.3.9
homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/
repository: 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/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -23,7 +23,7 @@ Expanded(
) )
``` ```
Currently, translations are available for these 36 locales: Currently, translations are available for these 37 locales:
* `Locale('en')`, `Locale('ar')`, `Locale('bn')`, `Locale('bs')` * `Locale('en')`, `Locale('ar')`, `Locale('bn')`, `Locale('bs')`
* `Locale('cs')`, `Locale('de')`, `Locale('da')`, `Locale('fr')` * `Locale('cs')`, `Locale('de')`, `Locale('da')`, `Locale('fr')`
@ -32,7 +32,7 @@ Currently, translations are available for these 36 locales:
* `Locale('ro', 'RO')`, `Locale('ru')`, `Locale('es')`, `Locale('tk')`, `Locale('tr')` * `Locale('ro', 'RO')`, `Locale('ru')`, `Locale('es')`, `Locale('tk')`, `Locale('tr')`
* `Locale('uk')`, `Locale('ur')`, `Locale('pt')`, `Locale('pl')` * `Locale('uk')`, `Locale('ur')`, `Locale('pt')`, `Locale('pl')`
* `Locale('vi')`, `Locale('id')`, `Locale('it')`, `Locale('ms')` * `Locale('vi')`, `Locale('id')`, `Locale('it')`, `Locale('ms')`
* `Locale('nl')`, `Locale('no')`, `Locale('fa')`, `Locale('hi')` * `Locale('nl')`, `Locale('no')`, `Locale('ne', 'NP')`, `Locale('fa')`, `Locale('hi')`
* `Locale('sk')`, `Locale('sr')`, `Locale('sv')`, `Locale('sw')`, `Locale('ja')` * `Locale('sk')`, `Locale('sr')`, `Locale('sv')`, `Locale('sw')`, `Locale('ja')`
#### Contributing to translations #### Contributing to translations

@ -2,6 +2,16 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.9
* fix: MD Parsing for multi space
* fix: FontFamily and FontSize toolbars track the text selected in the editor
* feat: Add checkBoxReadOnly property which can override readOnly for checkbox
## 9.3.8
* fix: removed misleading parameters
* fix: added missed translations for ru, es, de
* added translations for Nepali Locale('ne', 'NP')
## 9.3.7 ## 9.3.7
* Fix for keyboard jumping when switching focus from a TextField * Fix for keyboard jumping when switching focus from a TextField
* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care * Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care

@ -81,7 +81,6 @@ class QuillToolbarImageButton extends StatelessWidget {
iconSize: iconSize, iconSize: iconSize,
iconButtonFactor: iconButtonFactor, iconButtonFactor: iconButtonFactor,
dialogTheme: options.dialogTheme, dialogTheme: options.dialogTheme,
fillColor: options.fillColor,
iconTheme: options.iconTheme, iconTheme: options.iconTheme,
linkRegExp: options.linkRegExp, linkRegExp: options.linkRegExp,
tooltip: options.tooltip, tooltip: options.tooltip,

@ -87,7 +87,6 @@ class QuillToolbarCameraButton extends StatelessWidget {
QuillToolbarCameraButtonOptions( QuillToolbarCameraButtonOptions(
afterButtonPressed: _afterButtonPressed(context), afterButtonPressed: _afterButtonPressed(context),
iconData: options.iconData, iconData: options.iconData,
fillColor: options.fillColor,
iconSize: options.iconSize, iconSize: options.iconSize,
iconButtonFactor: iconButtonFactor, iconButtonFactor: iconButtonFactor,
iconTheme: options.iconTheme, iconTheme: options.iconTheme,

@ -1,4 +1,3 @@
import 'package:flutter/widgets.dart' show Color;
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
import '../../../embeds/others/camera_button/camera_types.dart'; import '../../../embeds/others/camera_button/camera_types.dart';
@ -18,7 +17,6 @@ class QuillToolbarCameraButtonOptions extends QuillToolbarBaseButtonOptions<
this.cameraConfigurations = const QuillToolbarCameraConfigurations(), this.cameraConfigurations = const QuillToolbarCameraConfigurations(),
super.iconSize, super.iconSize,
super.iconButtonFactor, super.iconButtonFactor,
this.fillColor,
super.iconData, super.iconData,
super.afterButtonPressed, super.afterButtonPressed,
super.tooltip, super.tooltip,
@ -26,7 +24,5 @@ class QuillToolbarCameraButtonOptions extends QuillToolbarBaseButtonOptions<
super.childBuilder, super.childBuilder,
}); });
final Color? fillColor;
final QuillToolbarCameraConfigurations cameraConfigurations; final QuillToolbarCameraConfigurations cameraConfigurations;
} }

@ -1,4 +1,3 @@
import 'package:flutter/widgets.dart' show Color;
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
class QuillToolbarFormulaButtonExtraOptions class QuillToolbarFormulaButtonExtraOptions
@ -18,10 +17,7 @@ class QuillToolbarFormulaButtonOptions extends QuillToolbarBaseButtonOptions<
super.iconTheme, super.iconTheme,
super.afterButtonPressed, super.afterButtonPressed,
super.childBuilder, super.childBuilder,
this.fillColor,
super.iconSize, super.iconSize,
super.iconButtonFactor, super.iconButtonFactor,
}); });
final Color? fillColor;
} }

@ -1,4 +1,3 @@
import 'package:flutter/widgets.dart' show Color;
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
import 'package:meta/meta.dart' show immutable; import 'package:meta/meta.dart' show immutable;
@ -26,14 +25,11 @@ class QuillToolbarImageButtonOptions extends QuillToolbarBaseButtonOptions<
super.afterButtonPressed, super.afterButtonPressed,
super.childBuilder, super.childBuilder,
super.iconTheme, super.iconTheme,
this.fillColor,
this.dialogTheme, this.dialogTheme,
this.linkRegExp, this.linkRegExp,
this.imageButtonConfigurations = const QuillToolbarImageConfigurations(), this.imageButtonConfigurations = const QuillToolbarImageConfigurations(),
}); });
final Color? fillColor;
final QuillDialogTheme? dialogTheme; final QuillDialogTheme? dialogTheme;
/// [imageLinkRegExp] is a regular expression to identify image links. /// [imageLinkRegExp] is a regular expression to identify image links.

@ -24,7 +24,6 @@ class QuillToolbarMediaButtonOptions extends QuillToolbarBaseButtonOptions<
this.childrenSpacing = 16.0, this.childrenSpacing = 16.0,
this.autovalidateMode = AutovalidateMode.disabled, this.autovalidateMode = AutovalidateMode.disabled,
super.iconSize, super.iconSize,
this.fillColor,
this.dialogTheme, this.dialogTheme,
this.labelText, this.labelText,
this.hintText, this.hintText,
@ -40,7 +39,6 @@ class QuillToolbarMediaButtonOptions extends QuillToolbarBaseButtonOptions<
super.childBuilder, super.childBuilder,
}); });
final Color? fillColor;
final QuillMediaType type; final QuillMediaType type;
final QuillDialogTheme? dialogTheme; final QuillDialogTheme? dialogTheme;
final MediaFilePicker? mediaFilePicker; final MediaFilePicker? mediaFilePicker;

@ -1,4 +1,3 @@
import 'package:flutter/widgets.dart' show Color;
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
import '../../../../embeds/video/video.dart'; import '../../../../embeds/video/video.dart';
@ -17,7 +16,6 @@ class QuillToolbarVideoButtonOptions extends QuillToolbarBaseButtonOptions<
const QuillToolbarVideoButtonOptions({ const QuillToolbarVideoButtonOptions({
this.linkRegExp, this.linkRegExp,
this.dialogTheme, this.dialogTheme,
this.fillColor,
super.iconSize, super.iconSize,
super.iconButtonFactor, super.iconButtonFactor,
super.iconData, super.iconData,
@ -31,6 +29,4 @@ class QuillToolbarVideoButtonOptions extends QuillToolbarBaseButtonOptions<
final RegExp? linkRegExp; final RegExp? linkRegExp;
final QuillDialogTheme? dialogTheme; final QuillDialogTheme? dialogTheme;
final QuillToolbarVideoConfigurations videoConfigurations; final QuillToolbarVideoConfigurations videoConfigurations;
final Color? fillColor;
} }

@ -1,6 +1,6 @@
name: flutter_quill_extensions name: flutter_quill_extensions
description: Embed extensions for flutter_quill including image, video, formula and etc. description: Embed extensions for flutter_quill including image, video, formula and etc.
version: 9.3.7 version: 9.3.9
homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/
repository: 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/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -2,6 +2,11 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.8
* fix: removed misleading parameters
* fix: added missed translations for ru, es, de
* added translations for Nepali Locale('ne', 'NP')
## 9.3.7 ## 9.3.7
* Fix for keyboard jumping when switching focus from a TextField * Fix for keyboard jumping when switching focus from a TextField
* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care * Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care

@ -1,6 +1,6 @@
name: flutter_quill_test name: flutter_quill_test
description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases.
version: 9.3.7 version: 9.3.9
homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/
repository: 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/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -23,6 +23,7 @@ import 'quill_localizations_ja.dart';
import 'quill_localizations_ko.dart'; import 'quill_localizations_ko.dart';
import 'quill_localizations_ku.dart'; import 'quill_localizations_ku.dart';
import 'quill_localizations_ms.dart'; import 'quill_localizations_ms.dart';
import 'quill_localizations_ne.dart';
import 'quill_localizations_nl.dart'; import 'quill_localizations_nl.dart';
import 'quill_localizations_no.dart'; import 'quill_localizations_no.dart';
import 'quill_localizations_pl.dart'; import 'quill_localizations_pl.dart';
@ -145,6 +146,7 @@ abstract class FlutterQuillLocalizations {
Locale('ku'), Locale('ku'),
Locale('ku', 'CKB'), Locale('ku', 'CKB'),
Locale('ms'), Locale('ms'),
Locale('ne'),
Locale('nl'), Locale('nl'),
Locale('no'), Locale('no'),
Locale('pl'), Locale('pl'),
@ -726,6 +728,7 @@ class _FlutterQuillLocalizationsDelegate
'ko', 'ko',
'ku', 'ku',
'ms', 'ms',
'ne',
'nl', 'nl',
'no', 'no',
'pl', 'pl',
@ -833,6 +836,8 @@ FlutterQuillLocalizations lookupFlutterQuillLocalizations(Locale locale) {
return FlutterQuillLocalizationsKu(); return FlutterQuillLocalizationsKu();
case 'ms': case 'ms':
return FlutterQuillLocalizationsMs(); return FlutterQuillLocalizationsMs();
case 'ne':
return FlutterQuillLocalizationsNe();
case 'nl': case 'nl':
return FlutterQuillLocalizationsNl(); return FlutterQuillLocalizationsNl();
case 'no': case 'no':

@ -215,10 +215,10 @@ class FlutterQuillLocalizationsDe extends FlutterQuillLocalizations {
String get moveToNextOccurrence => 'Zum nächsten Auftreten springen'; String get moveToNextOccurrence => 'Zum nächsten Auftreten springen';
@override @override
String get savedUsingTheNetwork => 'Saved using the network'; String get savedUsingTheNetwork => 'Mit dem Netzwerk gespeichert';
@override @override
String get savedUsingLocalStorage => 'Saved using the local storage'; String get savedUsingLocalStorage => 'Mit dem lokalen Speicher gespeichert';
@override @override
String theImageHasBeenSavedAt(String imagePath) { String theImageHasBeenSavedAt(String imagePath) {
@ -226,16 +226,17 @@ class FlutterQuillLocalizationsDe extends FlutterQuillLocalizations {
} }
@override @override
String get errorWhileSavingImage => 'Error while saving image'; String get errorWhileSavingImage => 'Fehler beim Speichern des Bildes';
@override @override
String get pleaseEnterTextForYourLink => "e.g., 'Learn more'"; String get pleaseEnterTextForYourLink => "z.B. 'Mehr erfahren'";
@override @override
String get pleaseEnterTheLinkURL => "e.g., 'https://example.com'"; String get pleaseEnterTheLinkURL => "z.B. 'https://example.com'";
@override @override
String get pleaseEnterAValidImageURL => 'Please enter a valid image URL'; String get pleaseEnterAValidImageURL =>
'Bitte geben Sie eine gültige Bild-URL ein';
@override @override
String get pleaseEnterAValidVideoURL => String get pleaseEnterAValidVideoURL =>
@ -255,19 +256,23 @@ class FlutterQuillLocalizationsDe extends FlutterQuillLocalizations {
String get insertImage => 'Bild einfügen'; String get insertImage => 'Bild einfügen';
@override @override
String get pickAPhotoFromYourGallery => 'Pick a photo from your gallery'; String get pickAPhotoFromYourGallery =>
'Wählen Sie ein Foto aus Ihrer Galerie';
@override @override
String get takeAPhotoUsingYourCamera => 'Take a photo using your camera'; String get takeAPhotoUsingYourCamera =>
'Machen Sie ein Foto mit Ihrer Kamera';
@override @override
String get pasteAPhotoUsingALink => 'Paste a photo using a link'; String get pasteAPhotoUsingALink => 'Fügen Sie ein Foto über einen Link ein';
@override @override
String get pickAVideoFromYourGallery => 'Pick a video from your gallery'; String get pickAVideoFromYourGallery =>
'Wählen Sie ein Video aus Ihrer Galerie';
@override @override
String get recordAVideoUsingYourCamera => 'Record a video using your camera'; String get recordAVideoUsingYourCamera =>
'Nehmen Sie ein Video mit Ihrer Kamera auf';
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';

@ -77,64 +77,64 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations {
String get video => 'Vídeo'; String get video => 'Vídeo';
@override @override
String get undo => 'Undo'; String get undo => 'Deshacer';
@override @override
String get redo => 'Redo'; String get redo => 'Rehacer';
@override @override
String get fontFamily => 'Font family'; String get fontFamily => 'Familia de fuentes';
@override @override
String get fontSize => 'Font size'; String get fontSize => 'Tamaño de fuente';
@override @override
String get bold => 'Bold'; String get bold => 'Negrita';
@override @override
String get subscript => 'Subscript'; String get subscript => 'Subíndice';
@override @override
String get superscript => 'Superscript'; String get superscript => 'Superíndice';
@override @override
String get italic => 'Italic'; String get italic => 'Cursiva';
@override @override
String get underline => 'Underline'; String get underline => 'Subrayado';
@override @override
String get strikeThrough => 'Strike through'; String get strikeThrough => 'Tachado';
@override @override
String get inlineCode => 'Inline code'; String get inlineCode => 'Código en línea';
@override @override
String get fontColor => 'Font color'; String get fontColor => 'Color de fuente';
@override @override
String get backgroundColor => 'Background color'; String get backgroundColor => 'Color de fondo';
@override @override
String get clearFormat => 'Clear format'; String get clearFormat => 'Quitar formato';
@override @override
String get alignLeft => 'Align left'; String get alignLeft => 'Alinear a la izquierda';
@override @override
String get alignCenter => 'Align center'; String get alignCenter => 'Centrar';
@override @override
String get alignRight => 'Align right'; String get alignRight => 'Alinear a la derecha';
@override @override
String get justifyWinWidth => 'Justify win width'; String get justifyWinWidth => 'Justificar';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Dirección del texto';
@override @override
String get headerStyle => 'Header style'; String get headerStyle => 'Estilo de encabezado';
@override @override
String get normal => 'Normal'; String get normal => 'Normal';
@ -158,43 +158,43 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations {
String get heading6 => 'Heading 6'; String get heading6 => 'Heading 6';
@override @override
String get numberedList => 'Numbered list'; String get numberedList => 'Lista numerada';
@override @override
String get bulletList => 'Bullet list'; String get bulletList => 'Lista con viñetas';
@override @override
String get checkedList => 'Checked list'; String get checkedList => 'Lista de comprobación';
@override @override
String get codeBlock => 'Code block'; String get codeBlock => 'Bloque de código';
@override @override
String get quote => 'Quote'; String get quote => 'Cita';
@override @override
String get increaseIndent => 'Increase indent'; String get increaseIndent => 'Aumentar sangría';
@override @override
String get decreaseIndent => 'Decrease indent'; String get decreaseIndent => 'Disminuir sangría';
@override @override
String get insertURL => 'Insert URL'; String get insertURL => 'Insertar URL';
@override @override
String get visitLink => 'Visit link'; String get visitLink => 'Visitar enlace';
@override @override
String get enterLink => 'Enter link'; String get enterLink => 'Introducir enlace';
@override @override
String get enterMedia => 'Enter media'; String get enterMedia => 'Insertar medio';
@override @override
String get edit => 'Edit'; String get edit => 'Editar';
@override @override
String get apply => 'Apply'; String get apply => 'Aplicar';
@override @override
String get hex => 'Hex'; String get hex => 'Hex';
@ -206,19 +206,19 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations {
String get color => 'Color'; String get color => 'Color';
@override @override
String get findText => 'Find text'; String get findText => 'Buscar texto';
@override @override
String get moveToPreviousOccurrence => 'Move to previous occurrence'; String get moveToPreviousOccurrence => 'Ir a la ocurrencia anterior';
@override @override
String get moveToNextOccurrence => 'Move to next occurrence'; String get moveToNextOccurrence => 'Ir a la siguiente ocurrencia';
@override @override
String get savedUsingTheNetwork => 'Saved using the network'; String get savedUsingTheNetwork => 'Guardado usando la red';
@override @override
String get savedUsingLocalStorage => 'Saved using the local storage'; String get savedUsingLocalStorage => 'Guardado usando almacenamiento local';
@override @override
String theImageHasBeenSavedAt(String imagePath) { String theImageHasBeenSavedAt(String imagePath) {
@ -226,16 +226,17 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations {
} }
@override @override
String get errorWhileSavingImage => 'Error while saving image'; String get errorWhileSavingImage => 'Error al guardar imagen';
@override @override
String get pleaseEnterTextForYourLink => "e.g., 'Learn more'"; String get pleaseEnterTextForYourLink => "p.ej., 'Aprende más'";
@override @override
String get pleaseEnterTheLinkURL => "e.g., 'https://example.com'"; String get pleaseEnterTheLinkURL => "p.ej., 'https://example.com'";
@override @override
String get pleaseEnterAValidImageURL => 'Please enter a valid image URL'; String get pleaseEnterAValidImageURL =>
'Por favor, introduzca una URL de imagen válida';
@override @override
String get pleaseEnterAValidVideoURL => String get pleaseEnterAValidVideoURL =>
@ -249,25 +250,25 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations {
@override @override
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Sensibilidad a mayúsculas y minúsculas y búsqueda de palabras completas'; 'Sensibilidad a mayúsculas y búsqueda de palabras completas';
@override @override
String get insertImage => 'Insertar imagen'; String get insertImage => 'Insertar imagen';
@override @override
String get pickAPhotoFromYourGallery => 'Pick a photo from your gallery'; String get pickAPhotoFromYourGallery => 'Elige una foto de tu galería';
@override @override
String get takeAPhotoUsingYourCamera => 'Take a photo using your camera'; String get takeAPhotoUsingYourCamera => 'Toma una foto con tu cámara';
@override @override
String get pasteAPhotoUsingALink => 'Paste a photo using a link'; String get pasteAPhotoUsingALink => 'Pega una foto usando un enlace';
@override @override
String get pickAVideoFromYourGallery => 'Pick a video from your gallery'; String get pickAVideoFromYourGallery => 'Elige un video de tu galería';
@override @override
String get recordAVideoUsingYourCamera => 'Record a video using your camera'; String get recordAVideoUsingYourCamera => 'Graba un video con tu cámara';
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';

@ -0,0 +1,279 @@
import 'quill_localizations.dart';
/// The translations for Nepali (`ne`).
class FlutterQuillLocalizationsNe extends FlutterQuillLocalizations {
FlutterQuillLocalizationsNe([super.locale = 'ne']);
@override
String get pasteLink => 'िक पट गर';
@override
String get ok => 'िक छ';
@override
String get selectColor => 'ग छ';
@override
String get gallery => '';
@override
String get link => 'ि';
@override
String get open => '';
@override
String get copy => '';
@override
String get remove => 'हटउन';
@override
String get save => '';
@override
String get zoom => 'म गर';
@override
String get saved => 'भ गरि';
@override
String get text => '';
@override
String get resize => 'आकर परिवरतन गर';
@override
String get width => '';
@override
String get height => 'उच';
@override
String get size => 'आक';
@override
String get small => '';
@override
String get large => '';
@override
String get huge => 'ि';
@override
String get clear => ' गर';
@override
String get font => 'फन';
@override
String get search => '';
@override
String get camera => '';
@override
String get video => 'िि';
@override
String get undo => 'ववत गर';
@override
String get redo => ' गर';
@override
String get fontFamily => 'फनट परि';
@override
String get fontSize => 'फनट सइज';
@override
String get bold => '';
@override
String get subscript => 'सदसयत';
@override
String get superscript => 'परलिि';
@override
String get italic => 'इटि';
@override
String get underline => 'कन गर';
@override
String get strikeThrough => 'फत सइक';
@override
String get inlineCode => 'इनलईन क';
@override
String get fontColor => 'फनटक';
@override
String get backgroundColor => 'ठभि रङ';
@override
String get clearFormat => ' गर';
@override
String get alignLeft => ' पङिबद';
@override
String get alignCenter => 'र पङिबद';
@override
String get alignRight => ' पङिबद';
@override
String get justifyWinWidth => 'जसिन च';
@override
String get textDirection => 'ट दि';
@override
String get headerStyle => 'डर श';
@override
String get normal => '';
@override
String get heading1 => 'िङ १';
@override
String get heading2 => 'िङ २';
@override
String get heading3 => 'िङ ३';
@override
String get heading4 => 'िङ ४';
@override
String get heading5 => 'िङ ५';
@override
String get heading6 => 'िङ ६';
@override
String get numberedList => 'ित स';
@override
String get bulletList => 'ट स';
@override
String get checkedList => 'क स';
@override
String get codeBlock => 'ड बलक';
@override
String get quote => 'उदधरण';
@override
String get increaseIndent => 'इनट बढउन';
@override
String get decreaseIndent => 'इनट घटउन';
@override
String get insertURL => 'URL समिित गर';
@override
String get visitLink => 'िकम';
@override
String get enterLink => 'िक परविट गर';
@override
String get enterMedia => 'ििरविट गर';
@override
String get edit => 'समदन गर';
@override
String get apply => '';
@override
String get hex => 'Hex';
@override
String get material => 'Material';
@override
String get color => 'रङ';
@override
String get findText => 'ट फ';
@override
String get moveToPreviousOccurrence => 'अघि घटन';
@override
String get moveToNextOccurrence => 'अर घटन';
@override
String get savedUsingTheNetwork => 'टवरक परयग गरर बचत गरि';
@override
String get savedUsingLocalStorage => 'य भणरण परयग गरर बचत गरि';
@override
String theImageHasBeenSavedAt(String imagePath) {
return 'तसिर यहरकित गरिएक छ: $imagePath';
}
@override
String get errorWhileSavingImage => 'तसिर सरकित गरि भय';
@override
String get pleaseEnterTextForYourLink =>
"पय आफिककिठ परविट गर (जस, 'थप ज')";
@override
String get pleaseEnterTheLinkURL =>
"पयिक URL परविट गर (जस, 'https://example.com')";
@override
String get pleaseEnterAValidImageURL =>
'पयध छवि URL परविट गर';
@override
String get pleaseEnterAValidVideoURL =>
'पय एउटय भिि url परविट गर';
@override
String get photo => '';
@override
String get image => 'तसि';
@override
String get caseSensitivityAndWholeWordSearch =>
'स सदनशलत र समण शबद ख';
@override
String get insertImage => 'छवि समिित गर';
@override
String get pickAPhotoFromYourGallery => 'आफलरट फ';
@override
String get takeAPhotoUsingYourCamera =>
'आफरयग गरर फि';
@override
String get pasteAPhotoUsingALink => 'िक परयग गरर फ';
@override
String get pickAVideoFromYourGallery => 'आफलरट भिि';
@override
String get recordAVideoUsingYourCamera =>
'आफरयग गरर भििकरड गर';
@override
String get pasteAVideoUsingALink => 'िक परयग गरर भिि';
}

@ -41,100 +41,100 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations {
String get text => 'Текст'; String get text => 'Текст';
@override @override
String get resize => 'Resize'; String get resize => 'Изменить размер';
@override @override
String get width => 'Width'; String get width => 'Ширина';
@override @override
String get height => 'Height'; String get height => 'Высота';
@override @override
String get size => 'Size'; String get size => 'Размер';
@override @override
String get small => 'Small'; String get small => 'Маленький';
@override @override
String get large => 'Large'; String get large => 'Большой';
@override @override
String get huge => 'Huge'; String get huge => 'Огромный';
@override @override
String get clear => 'Clear'; String get clear => 'Очистить';
@override @override
String get font => 'Font'; String get font => 'Шрифт';
@override @override
String get search => 'Search'; String get search => 'Поиск';
@override @override
String get camera => 'Camera'; String get camera => 'Камера';
@override @override
String get video => 'Video'; String get video => 'Видео';
@override @override
String get undo => 'Undo'; String get undo => 'Отменить';
@override @override
String get redo => 'Redo'; String get redo => 'Повторить';
@override @override
String get fontFamily => 'Font family'; String get fontFamily => 'Семейство шрифтов';
@override @override
String get fontSize => 'Font size'; String get fontSize => 'Размер шрифта';
@override @override
String get bold => 'Bold'; String get bold => 'Жирный';
@override @override
String get subscript => 'Subscript'; String get subscript => 'Нижний индекс';
@override @override
String get superscript => 'Superscript'; String get superscript => 'Верхний индекс';
@override @override
String get italic => 'Italic'; String get italic => 'Курсив';
@override @override
String get underline => 'Underline'; String get underline => 'Подчеркнутый';
@override @override
String get strikeThrough => 'Strike through'; String get strikeThrough => 'Зачеркнутый';
@override @override
String get inlineCode => 'Inline code'; String get inlineCode => 'Встроенный код';
@override @override
String get fontColor => 'Font color'; String get fontColor => 'Цвет шрифта';
@override @override
String get backgroundColor => 'Background color'; String get backgroundColor => 'Цвет фона';
@override @override
String get clearFormat => 'Clear format'; String get clearFormat => 'Очистить форматирование';
@override @override
String get alignLeft => 'Align left'; String get alignLeft => 'Выровнять по левому краю';
@override @override
String get alignCenter => 'Align center'; String get alignCenter => 'Выровнять по центру';
@override @override
String get alignRight => 'Align right'; String get alignRight => 'Выровнять по правому краю';
@override @override
String get justifyWinWidth => 'Justify win width'; String get justifyWinWidth => 'Выровнять по ширине окна';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Направление текста';
@override @override
String get headerStyle => 'Header style'; String get headerStyle => 'Стиль заголовка';
@override @override
String get normal => 'Normal'; String get normal => 'Normal';
@ -158,43 +158,43 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations {
String get heading6 => 'Heading 6'; String get heading6 => 'Heading 6';
@override @override
String get numberedList => 'Numbered list'; String get numberedList => 'Нумерованный список';
@override @override
String get bulletList => 'Bullet list'; String get bulletList => 'Маркированный список';
@override @override
String get checkedList => 'Checked list'; String get checkedList => 'Список с галочками';
@override @override
String get codeBlock => 'Code block'; String get codeBlock => 'Блок кода';
@override @override
String get quote => 'Quote'; String get quote => 'Цитата';
@override @override
String get increaseIndent => 'Increase indent'; String get increaseIndent => 'Увеличить отступ';
@override @override
String get decreaseIndent => 'Decrease indent'; String get decreaseIndent => 'Уменьшить отступ';
@override @override
String get insertURL => 'Insert URL'; String get insertURL => 'Вставить URL';
@override @override
String get visitLink => 'Visit link'; String get visitLink => 'Посетить ссылку';
@override @override
String get enterLink => 'Enter link'; String get enterLink => 'Введите ссылку';
@override @override
String get enterMedia => 'Enter media'; String get enterMedia => 'Введите медиа';
@override @override
String get edit => 'Edit'; String get edit => 'Редактировать';
@override @override
String get apply => 'Apply'; String get apply => 'Применить';
@override @override
String get hex => 'Hex'; String get hex => 'Hex';
@ -206,19 +206,20 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations {
String get color => 'Цвет'; String get color => 'Цвет';
@override @override
String get findText => 'Find text'; String get findText => 'Найти текст';
@override @override
String get moveToPreviousOccurrence => 'Move to previous occurrence'; String get moveToPreviousOccurrence => 'Перейти к предыдущему вхождению';
@override @override
String get moveToNextOccurrence => 'Move to next occurrence'; String get moveToNextOccurrence => 'Перейти к следующему вхождению';
@override @override
String get savedUsingTheNetwork => 'Saved using the network'; String get savedUsingTheNetwork => 'Сохранено с использованием сети';
@override @override
String get savedUsingLocalStorage => 'Saved using the local storage'; String get savedUsingLocalStorage =>
'Сохранено с использованием локального хранилища';
@override @override
String theImageHasBeenSavedAt(String imagePath) { String theImageHasBeenSavedAt(String imagePath) {
@ -226,16 +227,17 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations {
} }
@override @override
String get errorWhileSavingImage => 'Error while saving image'; String get errorWhileSavingImage => 'Ошибка при сохранении изображения';
@override @override
String get pleaseEnterTextForYourLink => "e.g., 'Learn more'"; String get pleaseEnterTextForYourLink => "например, 'Узнать больше'";
@override @override
String get pleaseEnterTheLinkURL => "e.g., 'https://example.com'"; String get pleaseEnterTheLinkURL => "например, 'https://example.com'";
@override @override
String get pleaseEnterAValidImageURL => 'Please enter a valid image URL'; String get pleaseEnterAValidImageURL =>
'Пожалуйста, введите действительный URL изображения';
@override @override
String get pleaseEnterAValidVideoURL => String get pleaseEnterAValidVideoURL =>
@ -249,27 +251,27 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations {
@override @override
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Чувствительность к регистру и поиск целых слов'; 'Учет регистра и поиск по всему слову';
@override @override
String get insertImage => 'Вставить изображение'; String get insertImage => 'Вставить изображение';
@override @override
String get pickAPhotoFromYourGallery => 'Выберите фотографю из вашей галереи'; String get pickAPhotoFromYourGallery =>
'Выберите фотографию из вашей галереи';
@override @override
String get takeAPhotoUsingYourCamera => String get takeAPhotoUsingYourCamera =>
'Создайте фотографю, использую фотокамеру'; 'Сделайте фотографию, используя камеру';
@override @override
String get pasteAPhotoUsingALink => 'Вставьте фотографию, используя ссылку'; String get pasteAPhotoUsingALink => 'Вставьте фотографию, используя ссылку';
@override @override
String get pickAVideoFromYourGallery => 'Выберете видео из вашей галереи'; String get pickAVideoFromYourGallery => 'Выберите видео из вашей галереи';
@override @override
String get recordAVideoUsingYourCamera => String get recordAVideoUsingYourCamera => 'Запишите видео, используя камеру';
'Запишите видео, используя вдеокамеру';
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';

@ -60,12 +60,12 @@
"findText": "Text suchen", "findText": "Text suchen",
"moveToPreviousOccurrence": "Zum vorherigen Auftreten springen", "moveToPreviousOccurrence": "Zum vorherigen Auftreten springen",
"moveToNextOccurrence": "Zum nächsten Auftreten springen", "moveToNextOccurrence": "Zum nächsten Auftreten springen",
"savedUsingTheNetwork": "Saved using the network", "savedUsingTheNetwork": "Mit dem Netzwerk gespeichert",
"savedUsingLocalStorage": "Saved using the local storage", "savedUsingLocalStorage": "Mit dem lokalen Speicher gespeichert",
"errorWhileSavingImage": "Error while saving image", "errorWhileSavingImage": "Fehler beim Speichern des Bildes",
"pleaseEnterTextForYourLink": "e.g., 'Learn more'", "pleaseEnterTextForYourLink": "z.B. 'Mehr erfahren'",
"pleaseEnterTheLinkURL": "e.g., 'https://example.com'", "pleaseEnterTheLinkURL": "z.B. 'https://example.com'",
"pleaseEnterAValidImageURL": "Please enter a valid image URL", "pleaseEnterAValidImageURL": "Bitte geben Sie eine gültige Bild-URL ein",
"hex": "Hex", "hex": "Hex",
"material": "Material", "material": "Material",
"color": "Farbe", "color": "Farbe",
@ -73,6 +73,10 @@
"photo": "Foto", "photo": "Foto",
"image": "Bild", "image": "Bild",
"caseSensitivityAndWholeWordSearch": "Groß- und Kleinschreibung sowie Ganzwortsuche", "caseSensitivityAndWholeWordSearch": "Groß- und Kleinschreibung sowie Ganzwortsuche",
"insertImage": "Bild einfügen" "insertImage": "Bild einfügen",
} "pickAPhotoFromYourGallery": "Wählen Sie ein Foto aus Ihrer Galerie",
"takeAPhotoUsingYourCamera": "Machen Sie ein Foto mit Ihrer Kamera",
"pasteAPhotoUsingALink": "Fügen Sie ein Foto über einen Link ein",
"pickAVideoFromYourGallery": "Wählen Sie ein Video aus Ihrer Galerie",
"recordAVideoUsingYourCamera": "Nehmen Sie ein Video mit Ihrer Kamera auf"
}

@ -24,55 +24,59 @@
"search": "Buscar", "search": "Buscar",
"camera": "Cámara", "camera": "Cámara",
"video": "Vídeo", "video": "Vídeo",
"undo": "Undo", "undo": "Deshacer",
"redo": "Redo", "redo": "Rehacer",
"fontFamily": "Font family", "fontFamily": "Familia de fuentes",
"fontSize": "Font size", "fontSize": "Tamaño de fuente",
"bold": "Bold", "bold": "Negrita",
"subscript": "Subscript", "subscript": "Subíndice",
"superscript": "Superscript", "superscript": "Superíndice",
"italic": "Italic", "italic": "Cursiva",
"underline": "Underline", "underline": "Subrayado",
"strikeThrough": "Strike through", "strikeThrough": "Tachado",
"inlineCode": "Inline code", "inlineCode": "Código en línea",
"fontColor": "Font color", "fontColor": "Color de fuente",
"backgroundColor": "Background color", "backgroundColor": "Color de fondo",
"clearFormat": "Clear format", "clearFormat": "Quitar formato",
"alignLeft": "Align left", "alignLeft": "Alinear a la izquierda",
"alignCenter": "Align center", "alignCenter": "Centrar",
"alignRight": "Align right", "alignRight": "Alinear a la derecha",
"justifyWinWidth": "Justify win width", "justifyWinWidth": "Justificar",
"textDirection": "Text direction", "textDirection": "Dirección del texto",
"headerStyle": "Header style", "headerStyle": "Estilo de encabezado",
"numberedList": "Numbered list", "numberedList": "Lista numerada",
"bulletList": "Bullet list", "bulletList": "Lista con viñetas",
"checkedList": "Checked list", "checkedList": "Lista de comprobación",
"codeBlock": "Code block", "codeBlock": "Bloque de código",
"quote": "Quote", "quote": "Cita",
"increaseIndent": "Increase indent", "increaseIndent": "Aumentar sangría",
"decreaseIndent": "Decrease indent", "decreaseIndent": "Disminuir sangría",
"insertURL": "Insert URL", "insertURL": "Insertar URL",
"visitLink": "Visit link", "visitLink": "Visitar enlace",
"enterLink": "Enter link", "enterLink": "Introducir enlace",
"enterMedia": "Enter media", "enterMedia": "Insertar medio",
"edit": "Edit", "edit": "Editar",
"apply": "Apply", "apply": "Aplicar",
"findText": "Find text", "findText": "Buscar texto",
"moveToPreviousOccurrence": "Move to previous occurrence", "moveToPreviousOccurrence": "Ir a la ocurrencia anterior",
"moveToNextOccurrence": "Move to next occurrence", "moveToNextOccurrence": "Ir a la siguiente ocurrencia",
"savedUsingTheNetwork": "Saved using the network", "savedUsingTheNetwork": "Guardado usando la red",
"savedUsingLocalStorage": "Saved using the local storage", "savedUsingLocalStorage": "Guardado usando almacenamiento local",
"errorWhileSavingImage": "Error while saving image", "errorWhileSavingImage": "Error al guardar imagen",
"pleaseEnterTextForYourLink": "e.g., 'Learn more'", "pleaseEnterTextForYourLink": "p.ej., 'Aprende más'",
"pleaseEnterTheLinkURL": "e.g., 'https://example.com'", "pleaseEnterTheLinkURL": "p.ej., 'https://example.com'",
"pleaseEnterAValidImageURL": "Please enter a valid image URL", "pleaseEnterAValidImageURL": "Por favor, introduzca una URL de imagen válida",
"hex": "Hex", "hex": "Hex",
"material": "Material", "material": "Material",
"color": "Color", "color": "Color",
"pleaseEnterAValidVideoURL": "Por favor, ingrese una URL de video válida", "pleaseEnterAValidVideoURL": "Por favor, ingrese una URL de video válida",
"photo": "Foto", "photo": "Foto",
"image": "Imagen", "image": "Imagen",
"caseSensitivityAndWholeWordSearch": "Sensibilidad a mayúsculas y minúsculas y búsqueda de palabras completas", "caseSensitivityAndWholeWordSearch": "Sensibilidad a mayúsculas y búsqueda de palabras completas",
"insertImage": "Insertar imagen" "insertImage": "Insertar imagen",
} "pickAPhotoFromYourGallery": "Elige una foto de tu galería",
"takeAPhotoUsingYourCamera": "Toma una foto con tu cámara",
"pasteAPhotoUsingALink": "Pega una foto usando un enlace",
"pickAVideoFromYourGallery": "Elige un video de tu galería",
"recordAVideoUsingYourCamera": "Graba un video con tu cámara"
}

@ -0,0 +1,100 @@
{
"@@locale": "ne",
"pasteLink": "लिक पट गर",
"ok": "ठिक छ",
"selectColor": "रग छ",
"gallery": "ग",
"link": "लिक",
"open": "ख",
"copy": "क",
"remove": "हटउन",
"save": "सभ",
"zoom": "जम गर",
"saved": "सभ गरि",
"text": "टट",
"resize": "आकर परिवरतन गर",
"width": "चइ",
"height": "उचइ",
"size": "आकर",
"small": "स",
"large": "ठ",
"huge": "विल",
"clear": "ख गर",
"font": "फनट",
"search": "खज",
"camera": "क",
"video": "भिि",
"undo": "पववत गर",
"redo": "प गर",
"fontFamily": "फनट परिर",
"fontSize": "फनट सइज",
"bold": "बड",
"subscript": "सदसयत",
"superscript": "सपरलिि",
"italic": "इटिक",
"underline": "रकन गर",
"strikeThrough": "मफत सइक",
"inlineCode": "इनलईन कड",
"fontColor": "फनटकग",
"backgroundColor": "पठभि रङ",
"clearFormat": "ढ गर",
"alignLeft": "ब पङिबदध",
"alignCenter": "कर पङिबदध",
"alignRight": "द पङिबदध",
"justifyWinWidth": "जसिन चई",
"textDirection": "टट दि",
"headerStyle": "हडर श",
"normal": "सय",
"heading1": "हिङ १",
"heading2": "हिङ २",
"heading3": "हिङ ३",
"heading4": "हिङ ४",
"heading5": "हिङ ५",
"heading6": "हिङ ६",
"numberedList": "अित स",
"bulletList": "बट स",
"checkedList": "चक स",
"codeBlock": "कड बलक",
"quote": "उदधरण",
"increaseIndent": "इनट बढउन",
"decreaseIndent": "इनट घटउन",
"insertURL": "URL समिित गर",
"visitLink": "लिकम",
"enterLink": "लिक परविट गर",
"enterMedia": "मििरविट गर",
"edit": "समदन गर",
"apply": "ल",
"hex": "Hex",
"material": "Material",
"color": "रङ",
"findText": "टट फ",
"moveToPreviousOccurrence": "अघि घटन",
"moveToNextOccurrence": "अर घटन",
"savedUsingTheNetwork": "नटवरक परयग गरर बचत गरि",
"savedUsingLocalStorage": "सय भणरण परयग गरर बचत गरि",
"theImageHasBeenSavedAt": "तसिर यहरकित गरिएक छ: {imagePath}",
"@theImageHasBeenSavedAt": {
"description": "A message with a single parameter",
"placeholders": {
"imagePath": {
"type": "String",
"example": "path/to/location"
}
}
},
"errorWhileSavingImage": "तसिर सरकित गरि भय",
"pleaseEnterTextForYourLink": "कपय आफिककिठ परविट गर (जस, 'थप ज')",
"pleaseEnterTheLinkURL": "कपयिक URL परविट गर (जस, 'https://example.com')",
"pleaseEnterAValidImageURL": "कपयध छवि URL परविट गर",
"pleaseEnterAValidVideoURL": "कपय एउटय भिि url परविट गर",
"photo": "फ",
"image": "तसिर",
"caseSensitivityAndWholeWordSearch": "कस सदनशलत र समण शबद खज",
"insertImage": "छवि समिित गर",
"pickAPhotoFromYourGallery": "आफलरट फ",
"takeAPhotoUsingYourCamera": "आफरयग गरर फि",
"pasteAPhotoUsingALink": "लिक परयग गरर फ",
"pickAVideoFromYourGallery": "आफलरट भिि",
"recordAVideoUsingYourCamera": "आफरयग गरर भििकरड गर",
"pasteAVideoUsingALink": "लिक परयग गरर भिि"
}

@ -12,72 +12,71 @@
"zoom": "Увеличить", "zoom": "Увеличить",
"saved": "Сохранено", "saved": "Сохранено",
"text": "Текст", "text": "Текст",
"resize": "Resize", "resize": "Изменить размер",
"width": "Width", "width": "Ширина",
"height": "Height", "height": "Высота",
"size": "Size", "size": "Размер",
"small": "Small", "small": "Маленький",
"large": "Large", "large": "Большой",
"huge": "Huge", "huge": "Огромный",
"clear": "Clear", "clear": "Очистить",
"font": "Font", "font": "Шрифт",
"search": "Search", "search": "Поиск",
"camera": "Camera", "camera": "Камера",
"video": "Video", "video": "Видео",
"undo": "Undo", "undo": "Отменить",
"redo": "Redo", "redo": "Повторить",
"fontFamily": "Font family", "fontFamily": "Семейство шрифтов",
"fontSize": "Font size", "fontSize": "Размер шрифта",
"bold": "Bold", "bold": "Жирный",
"subscript": "Subscript", "subscript": "Нижний индекс",
"superscript": "Superscript", "superscript": "Верхний индекс",
"italic": "Italic", "italic": "Курсив",
"underline": "Underline", "underline": "Подчеркнутый",
"strikeThrough": "Strike through", "strikeThrough": "Зачеркнутый",
"inlineCode": "Inline code", "inlineCode": "Встроенный код",
"fontColor": "Font color", "fontColor": "Цвет шрифта",
"backgroundColor": "Background color", "backgroundColor": "Цвет фона",
"clearFormat": "Clear format", "clearFormat": "Очистить форматирование",
"alignLeft": "Align left", "alignLeft": "Выровнять по левому краю",
"alignCenter": "Align center", "alignCenter": "Выровнять по центру",
"alignRight": "Align right", "alignRight": "Выровнять по правому краю",
"justifyWinWidth": "Justify win width", "justifyWinWidth": "Выровнять по ширине окна",
"textDirection": "Text direction", "textDirection": "Направление текста",
"headerStyle": "Header style", "headerStyle": "Стиль заголовка",
"numberedList": "Numbered list", "numberedList": "Нумерованный список",
"bulletList": "Bullet list", "bulletList": "Маркированный список",
"checkedList": "Checked list", "checkedList": "Список с галочками",
"codeBlock": "Code block", "codeBlock": "Блок кода",
"quote": "Quote", "quote": "Цитата",
"increaseIndent": "Increase indent", "increaseIndent": "Увеличить отступ",
"decreaseIndent": "Decrease indent", "decreaseIndent": "Уменьшить отступ",
"insertURL": "Insert URL", "insertURL": "Вставить URL",
"visitLink": "Visit link", "visitLink": "Посетить ссылку",
"enterLink": "Enter link", "enterLink": "Введите ссылку",
"enterMedia": "Enter media", "enterMedia": "Введите медиа",
"edit": "Edit", "edit": "Редактировать",
"apply": "Apply", "apply": "Применить",
"findText": "Find text", "findText": "Найти текст",
"moveToPreviousOccurrence": "Move to previous occurrence", "moveToPreviousOccurrence": "Перейти к предыдущему вхождению",
"moveToNextOccurrence": "Move to next occurrence", "moveToNextOccurrence": "Перейти к следующему вхождению",
"savedUsingTheNetwork": "Saved using the network", "savedUsingTheNetwork": "Сохранено с использованием сети",
"savedUsingLocalStorage": "Saved using the local storage", "savedUsingLocalStorage": "Сохранено с использованием локального хранилища",
"errorWhileSavingImage": "Error while saving image", "errorWhileSavingImage": "Ошибка при сохранении изображения",
"pleaseEnterTextForYourLink": "e.g., 'Learn more'", "pleaseEnterTextForYourLink": "например, 'Узнать больше'",
"pleaseEnterTheLinkURL": "e.g., 'https://example.com'", "pleaseEnterTheLinkURL": "например, 'https://example.com'",
"pleaseEnterAValidImageURL": "Please enter a valid image URL", "pleaseEnterAValidImageURL": "Пожалуйста, введите действительный URL изображения",
"hex": "Hex", "hex": "Hex",
"material": "Материал", "material": "Материал",
"color": "Цвет", "color": "Цвет",
"pleaseEnterAValidVideoURL": "Пожалуйста, введите действительный URL-адрес видео", "pleaseEnterAValidVideoURL": "Пожалуйста, введите действительный URL-адрес видео",
"photo": "Фото", "photo": "Фото",
"image": "Изображение", "image": "Изображение",
"caseSensitivityAndWholeWordSearch": "Чувствительность к регистру и поиск целых слов", "caseSensitivityAndWholeWordSearch": "Учет регистра и поиск по всему слову",
"insertImage": "Вставить изображение", "insertImage": "Вставить изображение",
"pickAPhotoFromYourGallery": "Выберите фотографю из вашей галереи", "pickAPhotoFromYourGallery": "Выберите фотографию из вашей галереи",
"takeAPhotoUsingYourCamera": "Создайте фотографю, использую фотокамеру", "takeAPhotoUsingYourCamera": "Сделайте фотографию, используя камеру",
"pasteAPhotoUsingALink": "Вставьте фотографию, используя ссылку", "pasteAPhotoUsingALink": "Вставьте фотографию, используя ссылку",
"pickAVideoFromYourGallery": "Выберете видео из вашей галереи", "pickAVideoFromYourGallery": "Выберите видео из вашей галереи",
"recordAVideoUsingYourCamera": "Запишите видео, используя вдеокамеру" "recordAVideoUsingYourCamera": "Запишите видео, используя камеру"
} }

@ -63,11 +63,6 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink",
"pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink"
], ],
@ -97,11 +92,6 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink",
"pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink"
], ],

@ -32,6 +32,7 @@ class QuillEditorConfigurations extends Equatable {
this.autoFocus = false, this.autoFocus = false,
this.expands = false, this.expands = false,
this.placeholder, this.placeholder,
this.checkBoxReadOnly,
this.disableClipboard = false, this.disableClipboard = false,
this.textSelectionThemeData, this.textSelectionThemeData,
this.showCursor, this.showCursor,
@ -96,6 +97,15 @@ class QuillEditorConfigurations extends Equatable {
/// Defaults to `false`. Must not be `null`. /// Defaults to `false`. Must not be `null`.
bool get readOnly => controller.readOnly; bool get readOnly => controller.readOnly;
/// Override [readOnly] for checkbox.
///
/// When this is set to `false`, the checkbox can be checked
/// or unchecked while [readOnly] is set to `true`.
/// When this is set to `null`, the [readOnly] value is used.
///
/// Defaults to `null`.
final bool? checkBoxReadOnly;
/// Disable Clipboard features /// Disable Clipboard features
/// ///
/// when this is set to `true` clipboard can not be used /// when this is set to `true` clipboard can not be used
@ -368,6 +378,7 @@ class QuillEditorConfigurations extends Equatable {
QuillController? controller, QuillController? controller,
String? placeholder, String? placeholder,
bool? readOnly, bool? readOnly,
bool? checkBoxReadOnly,
bool? disableClipboard, bool? disableClipboard,
bool? scrollable, bool? scrollable,
double? scrollBottomInset, double? scrollBottomInset,
@ -419,6 +430,7 @@ class QuillEditorConfigurations extends Equatable {
sharedConfigurations: sharedConfigurations ?? this.sharedConfigurations, sharedConfigurations: sharedConfigurations ?? this.sharedConfigurations,
controller: controller ?? this.controller, controller: controller ?? this.controller,
placeholder: placeholder ?? this.placeholder, placeholder: placeholder ?? this.placeholder,
checkBoxReadOnly: checkBoxReadOnly ?? this.checkBoxReadOnly,
disableClipboard: disableClipboard ?? this.disableClipboard, disableClipboard: disableClipboard ?? this.disableClipboard,
scrollable: scrollable ?? this.scrollable, scrollable: scrollable ?? this.scrollable,
scrollBottomInset: scrollBottomInset ?? this.scrollBottomInset, scrollBottomInset: scrollBottomInset ?? this.scrollBottomInset,

@ -50,6 +50,7 @@ class QuillRawEditorConfigurations extends Equatable {
this.scrollable = true, this.scrollable = true,
this.padding = EdgeInsets.zero, this.padding = EdgeInsets.zero,
this.readOnly = false, this.readOnly = false,
this.checkBoxReadOnly,
this.disableClipboard = false, this.disableClipboard = false,
this.placeholder, this.placeholder,
this.onLaunchUrl, this.onLaunchUrl,
@ -104,6 +105,15 @@ class QuillRawEditorConfigurations extends Equatable {
/// Defaults to false. Must not be null. /// Defaults to false. Must not be null.
final bool readOnly; final bool readOnly;
/// Override readOnly for checkbox.
///
/// When this is set to false, the checkbox can be checked
/// or unchecked while readOnly is set to true.
/// When this is set to null, the readOnly value is used.
///
/// Defaults to null.
final bool? checkBoxReadOnly;
/// Disable Clipboard features /// Disable Clipboard features
/// ///
/// when this is set to true clipboard can not be used /// when this is set to true clipboard can not be used

@ -75,7 +75,6 @@ class QuillToolbarFontSizeButtonOptions extends QuillToolbarBaseButtonOptions<
QuillToolbarFontSizeButtonOptions copyWith({ QuillToolbarFontSizeButtonOptions copyWith({
double? iconSize, double? iconSize,
double? iconButtonFactor, double? iconButtonFactor,
Color? fillColor,
double? hoverElevation, double? hoverElevation,
double? highlightElevation, double? highlightElevation,
List<PopupMenuEntry<String>>? items, List<PopupMenuEntry<String>>? items,

@ -23,7 +23,6 @@ class QuillToolbarSearchButtonOptions extends QuillToolbarBaseButtonOptions<
super.iconSize, super.iconSize,
super.iconButtonFactor, super.iconButtonFactor,
this.dialogBarrierColor, this.dialogBarrierColor,
this.fillColor,
this.customOnPressedCallback, this.customOnPressedCallback,
}); });
@ -32,8 +31,6 @@ class QuillToolbarSearchButtonOptions extends QuillToolbarBaseButtonOptions<
/// By default will be [dialogBarrierColor] from [QuillSharedConfigurations] /// By default will be [dialogBarrierColor] from [QuillSharedConfigurations]
final Color? dialogBarrierColor; final Color? dialogBarrierColor;
final Color? fillColor;
/// By default we will show simple search dialog ui /// By default we will show simple search dialog ui
/// you can pass value to this callback to change this /// you can pass value to this callback to change this
final QuillToolbarSearchButtonOnPressedCallback? customOnPressedCallback; final QuillToolbarSearchButtonOnPressedCallback? customOnPressedCallback;

@ -1,5 +1,4 @@
import 'package:flutter/foundation.dart' show immutable; import 'package:flutter/foundation.dart' show immutable;
import 'package:flutter/widgets.dart' show Color;
import '../../../documents/attribute.dart'; import '../../../documents/attribute.dart';
import '../../quill_configurations.dart'; import '../../quill_configurations.dart';
@ -23,7 +22,6 @@ class QuillToolbarToggleCheckListButtonOptions
const QuillToolbarToggleCheckListButtonOptions({ const QuillToolbarToggleCheckListButtonOptions({
super.iconSize, super.iconSize,
super.iconButtonFactor, super.iconButtonFactor,
this.fillColor,
this.attribute = Attribute.unchecked, this.attribute = Attribute.unchecked,
this.isShouldRequestKeyboard = false, this.isShouldRequestKeyboard = false,
super.iconTheme, super.iconTheme,
@ -33,8 +31,6 @@ class QuillToolbarToggleCheckListButtonOptions
super.childBuilder, super.childBuilder,
}); });
final Color? fillColor;
final Attribute attribute; final Attribute attribute;
/// Should we request the keyboard when you press the toggle check list button /// Should we request the keyboard when you press the toggle check list button

@ -1,6 +1,5 @@
// ignore_for_file: public_member_api_docs, sort_constructors_first // ignore_for_file: public_member_api_docs, sort_constructors_first
import 'package:flutter/foundation.dart' show immutable; import 'package:flutter/foundation.dart' show immutable;
import 'package:flutter/widgets.dart' show Color;
import '../base_button_configurations.dart'; import '../base_button_configurations.dart';
@ -26,12 +25,9 @@ class QuillToolbarToggleStyleButtonOptions
super.iconData, super.iconData,
super.iconSize, super.iconSize,
super.iconButtonFactor, super.iconButtonFactor,
this.fillColor,
super.tooltip, super.tooltip,
super.afterButtonPressed, super.afterButtonPressed,
super.iconTheme, super.iconTheme,
super.childBuilder, super.childBuilder,
}); });
final Color? fillColor;
} }

@ -4,17 +4,10 @@ import 'package:flutter/material.dart';
@immutable @immutable
class QuillIconTheme { class QuillIconTheme {
const QuillIconTheme({ const QuillIconTheme({
this.iconButtonSelectedStyle,
this.iconButtonUnselectedStyle,
this.iconButtonSelectedData, this.iconButtonSelectedData,
this.iconButtonUnselectedData, this.iconButtonUnselectedData,
}); });
@Deprecated('Please use iconButtonUnselectedData instead')
final ButtonStyle? iconButtonUnselectedStyle;
@Deprecated('Please use iconButtonSelectedData instead')
final ButtonStyle? iconButtonSelectedStyle;
final IconButtonData? iconButtonUnselectedData; final IconButtonData? iconButtonUnselectedData;
final IconButtonData? iconButtonSelectedData; final IconButtonData? iconButtonSelectedData;

@ -117,9 +117,7 @@ class MarkdownToDelta extends Converter<String, Delta>
_justPreviousBlockExit = false; _justPreviousBlockExit = false;
_listItemIndent = -1; _listItemIndent = -1;
final lines = const LineSplitter().convert(input); final mdNodes = markdownDocument.parseInline(input);
final mdNodes = markdownDocument.parseLines(lines);
_topLevelNodes.addAll(mdNodes); _topLevelNodes.addAll(mdNodes);
for (final node in mdNodes) { for (final node in mdNodes) {

@ -235,6 +235,7 @@ class QuillEditorState extends State<QuillEditor>
scrollBottomInset: configurations.scrollBottomInset, scrollBottomInset: configurations.scrollBottomInset,
padding: configurations.padding, padding: configurations.padding,
readOnly: configurations.readOnly, readOnly: configurations.readOnly,
checkBoxReadOnly: configurations.checkBoxReadOnly,
disableClipboard: configurations.disableClipboard, disableClipboard: configurations.disableClipboard,
placeholder: configurations.placeholder, placeholder: configurations.placeholder,
onLaunchUrl: configurations.onLaunchUrl, onLaunchUrl: configurations.onLaunchUrl,

@ -74,6 +74,7 @@ class EditableTextBlock extends StatelessWidget {
required this.clearIndents, required this.clearIndents,
required this.onCheckboxTap, required this.onCheckboxTap,
required this.readOnly, required this.readOnly,
this.checkBoxReadOnly,
this.onLaunchUrl, this.onLaunchUrl,
this.customStyleBuilder, this.customStyleBuilder,
this.customLinkPrefixes = const <String>[], this.customLinkPrefixes = const <String>[],
@ -100,6 +101,7 @@ class EditableTextBlock extends StatelessWidget {
final bool clearIndents; final bool clearIndents;
final Function(int, bool) onCheckboxTap; final Function(int, bool) onCheckboxTap;
final bool readOnly; final bool readOnly;
final bool? checkBoxReadOnly;
final List<String> customLinkPrefixes; final List<String> customLinkPrefixes;
@override @override
@ -279,7 +281,7 @@ class EditableTextBlock extends StatelessWidget {
return QuillEditorCheckboxPoint( return QuillEditorCheckboxPoint(
size: fontSize, size: fontSize,
value: attrs[Attribute.list.key] == Attribute.checked, value: attrs[Attribute.list.key] == Attribute.checked,
enabled: !readOnly, enabled: !(checkBoxReadOnly ?? readOnly),
onChanged: (checked) => onCheckboxTap(line.documentOffset, checked), onChanged: (checked) => onCheckboxTap(line.documentOffset, checked),
uiBuilder: defaultStyles.lists?.checkboxUIBuilder, uiBuilder: defaultStyles.lists?.checkboxUIBuilder,
); );

@ -877,7 +877,8 @@ class QuillRawEditorState extends EditorState
void _handleCheckboxTap(int offset, bool value) { void _handleCheckboxTap(int offset, bool value) {
final requestKeyboardFocusOnCheckListChanged = final requestKeyboardFocusOnCheckListChanged =
widget.configurations.requestKeyboardFocusOnCheckListChanged; widget.configurations.requestKeyboardFocusOnCheckListChanged;
if (!widget.configurations.readOnly) { if (!(widget.configurations.checkBoxReadOnly ??
widget.configurations.readOnly)) {
_disableScrollControllerAnimateOnce = true; _disableScrollControllerAnimateOnce = true;
final currentSelection = controller.selection.copyWith(); final currentSelection = controller.selection.copyWith();
final attribute = value ? Attribute.checked : Attribute.unchecked; final attribute = value ? Attribute.checked : Attribute.unchecked;
@ -953,6 +954,7 @@ class QuillRawEditorState extends EditorState
clearIndents: clearIndents, clearIndents: clearIndents,
onCheckboxTap: _handleCheckboxTap, onCheckboxTap: _handleCheckboxTap,
readOnly: widget.configurations.readOnly, readOnly: widget.configurations.readOnly,
checkBoxReadOnly: widget.configurations.checkBoxReadOnly,
customStyleBuilder: widget.configurations.customStyleBuilder, customStyleBuilder: widget.configurations.customStyleBuilder,
customLinkPrefixes: widget.configurations.customLinkPrefixes, customLinkPrefixes: widget.configurations.customLinkPrefixes,
); );

@ -82,7 +82,6 @@ class QuillToolbarToggleCheckListButtonState
context, context,
Attribute.unchecked, Attribute.unchecked,
iconData, iconData,
options.fillColor,
currentValue, currentValue,
_toggleAttribute, _toggleAttribute,
afterButtonPressed, afterButtonPressed,

@ -13,7 +13,6 @@ typedef ToggleStyleButtonBuilder = Widget Function(
BuildContext context, BuildContext context,
Attribute attribute, Attribute attribute,
IconData icon, IconData icon,
Color? fillColor,
bool? isToggled, bool? isToggled,
VoidCallback? onPressed, VoidCallback? onPressed,
VoidCallback? afterPressed, [ VoidCallback? afterPressed, [
@ -129,7 +128,6 @@ class QuillToolbarToggleStyleButtonState
context, context,
widget.attribute, widget.attribute,
iconData, iconData,
options.fillColor,
currentValue, currentValue,
_toggleAttribute, _toggleAttribute,
afterButtonPressed, afterButtonPressed,
@ -168,7 +166,6 @@ Widget defaultToggleStyleButtonBuilder(
BuildContext context, BuildContext context,
Attribute attribute, Attribute attribute,
IconData icon, IconData icon,
Color? fillColor,
bool? isToggled, bool? isToggled,
VoidCallback? onPressed, VoidCallback? onPressed,
VoidCallback? afterPressed, [ VoidCallback? afterPressed, [

@ -1,6 +1,6 @@
name: flutter_quill 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. 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.7 version: 9.3.9
homepage: https://1o24bbs.com/c/bulletjournal/108/ homepage: https://1o24bbs.com/c/bulletjournal/108/
repository: https://github.com/singerdmx/flutter-quill/ repository: https://github.com/singerdmx/flutter-quill/
issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -2,6 +2,16 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.9
* fix: MD Parsing for multi space
* fix: FontFamily and FontSize toolbars track the text selected in the editor
* feat: Add checkBoxReadOnly property which can override readOnly for checkbox
## 9.3.8
* fix: removed misleading parameters
* fix: added missed translations for ru, es, de
* added translations for Nepali Locale('ne', 'NP')
## 9.3.7 ## 9.3.7
* Fix for keyboard jumping when switching focus from a TextField * Fix for keyboard jumping when switching focus from a TextField
* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care * Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care

@ -1,6 +1,6 @@
name: quill_html_converter name: quill_html_converter
description: A extension for flutter_quill package to add support for dealing with conversion to/from html description: A extension for flutter_quill package to add support for dealing with conversion to/from html
version: 9.3.7 version: 9.3.9
homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/
repository: 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/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -2,6 +2,16 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.9
* fix: MD Parsing for multi space
* fix: FontFamily and FontSize toolbars track the text selected in the editor
* feat: Add checkBoxReadOnly property which can override readOnly for checkbox
## 9.3.8
* fix: removed misleading parameters
* fix: added missed translations for ru, es, de
* added translations for Nepali Locale('ne', 'NP')
## 9.3.7 ## 9.3.7
* Fix for keyboard jumping when switching focus from a TextField * Fix for keyboard jumping when switching focus from a TextField
* Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care * Toolbar button styling to reflect cursor position when running on desktops with keyboard to move care

@ -1,6 +1,6 @@
name: quill_pdf_converter name: quill_pdf_converter
description: A extension for flutter_quill package to add support for dealing with conversion to pdf description: A extension for flutter_quill package to add support for dealing with conversion to pdf
version: 9.3.7 version: 9.3.9
homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/
repository: 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/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -1 +1 @@
const version = '9.3.7'; const version = '9.3.9';

Loading…
Cancel
Save