jodit-pro 4.13.15 → 4.13.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015/jodit.css +2 -2
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +3 -3
- package/es2015/jodit.js +192 -20
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +3 -3
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.css +1 -1
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +18 -18
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +3 -3
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.js +1 -1
- package/es2018/plugins/templates/templates.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +2 -2
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +5 -5
- package/es2021/jodit.js +192 -20
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +5 -5
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/style/style.css +1 -1
- package/es2021/plugins/style/style.js +1 -1
- package/es2021/plugins/style/style.min.js +1 -1
- package/es2021/plugins/templates/templates.css +1 -1
- package/es2021/plugins/templates/templates.js +1 -1
- package/es2021/plugins/templates/templates.min.js +1 -1
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +2 -2
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +5 -5
- package/es2021.en/jodit.js +192 -20
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +5 -5
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/style/style.css +1 -1
- package/es2021.en/plugins/style/style.js +1 -1
- package/es2021.en/plugins/style/style.min.js +1 -1
- package/es2021.en/plugins/templates/templates.css +1 -1
- package/es2021.en/plugins/templates/templates.js +1 -1
- package/es2021.en/plugins/templates/templates.min.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +3 -3
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +228 -20
- package/es5/jodit.min.css +3 -3
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.css +1 -1
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/package.json +1 -1
package/es5/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.13.
|
|
4
|
+
* Version: v4.13.17
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -390,6 +390,26 @@ var ConfigPrototype = {};
|
|
|
390
390
|
/**
|
|
391
391
|
* if set true, then the current mode is saved in a cookie, and is restored after a reload of the page
|
|
392
392
|
*/ this.saveModeInStorage = false;
|
|
393
|
+
/**
|
|
394
|
+
* Configure the provider that backs {@link IViewBased.asyncStorage}.
|
|
395
|
+
*
|
|
396
|
+
* By default the editor's `asyncStorage` uses persistent `IndexedDB` (with an
|
|
397
|
+
* in-memory fallback when it is unavailable). Set `defaultProvider` to override it:
|
|
398
|
+
* - `'local'` — persist in `localStorage`;
|
|
399
|
+
* - `'memory'` — keep everything in memory (nothing survives a reload);
|
|
400
|
+
* - a custom {@link IAsyncStorage} implementation — plug in your own backend.
|
|
401
|
+
*
|
|
402
|
+
* ```javascript
|
|
403
|
+
* Jodit.make('#editor', {
|
|
404
|
+
* asyncStorage: { defaultProvider: 'local' }
|
|
405
|
+
* });
|
|
406
|
+
*
|
|
407
|
+
* // or a fully custom backend
|
|
408
|
+
* Jodit.make('#editor', {
|
|
409
|
+
* asyncStorage: { defaultProvider: myAsyncStorage }
|
|
410
|
+
* });
|
|
411
|
+
* ```
|
|
412
|
+
*/ this.asyncStorage = {};
|
|
393
413
|
/**
|
|
394
414
|
* Class name that can be appended to the editable area
|
|
395
415
|
*
|
|
@@ -2279,7 +2299,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
2279
2299
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
2280
2300
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
2281
2301
|
}
|
|
2282
|
-
var APP_VERSION = "4.13.
|
|
2302
|
+
var APP_VERSION = "4.13.17";
|
|
2283
2303
|
// prettier-ignore
|
|
2284
2304
|
var ES = "es5";
|
|
2285
2305
|
var IS_ES_MODERN = false;
|
|
@@ -14704,6 +14724,164 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
14704
14724
|
return '';
|
|
14705
14725
|
}
|
|
14706
14726
|
},
|
|
14727
|
+
{
|
|
14728
|
+
/**
|
|
14729
|
+
* Splits the boundaries of the current selection and wraps every
|
|
14730
|
+
* contiguous run of selected inline content (grouped by block) into a
|
|
14731
|
+
* `<font>` element, returning those wrappers in document order.
|
|
14732
|
+
*
|
|
14733
|
+
* This is a pure-DOM replacement for the old
|
|
14734
|
+
* `nativeExecCommand('fontsize', false, '7')` trick which relied on the
|
|
14735
|
+
* browser to split the selection into `<font size="7">` fragments.
|
|
14736
|
+
*/ key: "__wrapSelectionFragments",
|
|
14737
|
+
value: function __wrapSelectionFragments() {
|
|
14738
|
+
var range = this.range;
|
|
14739
|
+
this.__splitSelectionBoundaries(range);
|
|
14740
|
+
var root = range.commonAncestorContainer;
|
|
14741
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(root)) {
|
|
14742
|
+
root = root.parentNode;
|
|
14743
|
+
}
|
|
14744
|
+
if (!root) {
|
|
14745
|
+
return [];
|
|
14746
|
+
}
|
|
14747
|
+
return this.__wrapSelectionRuns(this.__collectContainedNodes(root, range));
|
|
14748
|
+
}
|
|
14749
|
+
},
|
|
14750
|
+
{
|
|
14751
|
+
/**
|
|
14752
|
+
* Splits the text nodes at both ends of the range so that its boundaries
|
|
14753
|
+
* always fall between nodes. Afterwards every node inside the range is
|
|
14754
|
+
* fully (not partially) selected.
|
|
14755
|
+
*/ key: "__splitSelectionBoundaries",
|
|
14756
|
+
value: function __splitSelectionBoundaries(range) {
|
|
14757
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
14758
|
+
var startContainer = range.startContainer, endContainer = range.endContainer;
|
|
14759
|
+
var startOffset = range.startOffset, endOffset = range.endOffset;
|
|
14760
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(endContainer) && endOffset > 0 && endOffset < ((_b = (_a = endContainer.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0)) {
|
|
14761
|
+
endContainer.splitText(endOffset);
|
|
14762
|
+
endOffset = (_d = (_c = endContainer.nodeValue) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : endOffset;
|
|
14763
|
+
}
|
|
14764
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(startContainer) && startOffset > 0 && startOffset < ((_f = (_e = startContainer.nodeValue) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0)) {
|
|
14765
|
+
var middle = startContainer.splitText(startOffset);
|
|
14766
|
+
// Selection located inside a single text node - the tail we just
|
|
14767
|
+
// cut off is the actual selected fragment.
|
|
14768
|
+
if (startContainer === endContainer) {
|
|
14769
|
+
endContainer = middle;
|
|
14770
|
+
endOffset = (_h = (_g = middle.nodeValue) === null || _g === void 0 ? void 0 : _g.length) !== null && _h !== void 0 ? _h : 0;
|
|
14771
|
+
}
|
|
14772
|
+
startContainer = middle;
|
|
14773
|
+
startOffset = 0;
|
|
14774
|
+
}
|
|
14775
|
+
range.setStart(startContainer, startOffset);
|
|
14776
|
+
range.setEnd(endContainer, endOffset);
|
|
14777
|
+
// Normalize text-edge boundaries (e.g. `(text, 0)` or `(text, length)`)
|
|
14778
|
+
// to the element level so that containment checks based on
|
|
14779
|
+
// `selectNode()` treat a fully selected text node as contained.
|
|
14780
|
+
this.__normalizeRangeBoundary(range, true);
|
|
14781
|
+
this.__normalizeRangeBoundary(range, false);
|
|
14782
|
+
}
|
|
14783
|
+
},
|
|
14784
|
+
{
|
|
14785
|
+
key: "__normalizeRangeBoundary",
|
|
14786
|
+
value: function __normalizeRangeBoundary(range, atStart) {
|
|
14787
|
+
var _a, _b;
|
|
14788
|
+
var container = atStart ? range.startContainer : range.endContainer;
|
|
14789
|
+
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(container)) {
|
|
14790
|
+
return;
|
|
14791
|
+
}
|
|
14792
|
+
var offset = atStart ? range.startOffset : range.endOffset;
|
|
14793
|
+
var length = (_b = (_a = container.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
|
14794
|
+
if (offset === 0) {
|
|
14795
|
+
atStart ? range.setStartBefore(container) : range.setEndBefore(container);
|
|
14796
|
+
} else if (offset >= length) {
|
|
14797
|
+
atStart ? range.setStartAfter(container) : range.setEndAfter(container);
|
|
14798
|
+
}
|
|
14799
|
+
}
|
|
14800
|
+
},
|
|
14801
|
+
{
|
|
14802
|
+
/**
|
|
14803
|
+
* Collects the highest-level nodes that are completely inside the range,
|
|
14804
|
+
* descending into nodes that are only partially selected.
|
|
14805
|
+
*/ key: "__collectContainedNodes",
|
|
14806
|
+
value: function __collectContainedNodes(root, range) {
|
|
14807
|
+
var _this = this;
|
|
14808
|
+
var result = [];
|
|
14809
|
+
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(root.childNodes).forEach(function(child) {
|
|
14810
|
+
if (_this.__isFullyContained(range, child)) {
|
|
14811
|
+
result.push(child);
|
|
14812
|
+
} else if (child.childNodes.length && range.intersectsNode(child)) {
|
|
14813
|
+
var _result;
|
|
14814
|
+
(_result = result).push.apply(_result, _to_consumable_array(_this.__collectContainedNodes(child, range)));
|
|
14815
|
+
}
|
|
14816
|
+
});
|
|
14817
|
+
return result;
|
|
14818
|
+
}
|
|
14819
|
+
},
|
|
14820
|
+
{
|
|
14821
|
+
key: "__isFullyContained",
|
|
14822
|
+
value: function __isFullyContained(range, node) {
|
|
14823
|
+
var nodeRange = this.createRange();
|
|
14824
|
+
nodeRange.selectNode(node);
|
|
14825
|
+
return range.compareBoundaryPoints(Range.START_TO_START, nodeRange) <= 0 && range.compareBoundaryPoints(Range.END_TO_END, nodeRange) >= 0;
|
|
14826
|
+
}
|
|
14827
|
+
},
|
|
14828
|
+
{
|
|
14829
|
+
/**
|
|
14830
|
+
* Wraps every contiguous run of selected inline siblings into a `<font>`
|
|
14831
|
+
* element. Block-level nodes are never wrapped themselves - their inline
|
|
14832
|
+
* content is wrapped instead, keeping every `<font>` inside a single block.
|
|
14833
|
+
*/ key: "__wrapSelectionRuns",
|
|
14834
|
+
value: function __wrapSelectionRuns(nodes) {
|
|
14835
|
+
var _this = this;
|
|
14836
|
+
var fonts = [];
|
|
14837
|
+
var run = [];
|
|
14838
|
+
var flush = function flush() {
|
|
14839
|
+
if (run.length) {
|
|
14840
|
+
fonts.push(_this.__wrapRunInFont(run));
|
|
14841
|
+
run = [];
|
|
14842
|
+
}
|
|
14843
|
+
};
|
|
14844
|
+
nodes.forEach(function(node) {
|
|
14845
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isElement(node) && _this.__isOrContainsBlock(node)) {
|
|
14846
|
+
var _fonts;
|
|
14847
|
+
flush();
|
|
14848
|
+
(_fonts = fonts).push.apply(_fonts, _to_consumable_array(_this.__wrapSelectionRuns((0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(node.childNodes))));
|
|
14849
|
+
} else {
|
|
14850
|
+
if (run.length && run[run.length - 1].parentNode !== node.parentNode) {
|
|
14851
|
+
flush();
|
|
14852
|
+
}
|
|
14853
|
+
run.push(node);
|
|
14854
|
+
}
|
|
14855
|
+
});
|
|
14856
|
+
flush();
|
|
14857
|
+
return fonts;
|
|
14858
|
+
}
|
|
14859
|
+
},
|
|
14860
|
+
{
|
|
14861
|
+
key: "__isOrContainsBlock",
|
|
14862
|
+
value: function __isOrContainsBlock(node) {
|
|
14863
|
+
var _this = this;
|
|
14864
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isBlock(node)) {
|
|
14865
|
+
return true;
|
|
14866
|
+
}
|
|
14867
|
+
return (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(node.childNodes).some(function(child) {
|
|
14868
|
+
return _this.__isOrContainsBlock(child);
|
|
14869
|
+
});
|
|
14870
|
+
}
|
|
14871
|
+
},
|
|
14872
|
+
{
|
|
14873
|
+
key: "__wrapRunInFont",
|
|
14874
|
+
value: function __wrapRunInFont(run) {
|
|
14875
|
+
var _a;
|
|
14876
|
+
var font = this.j.createInside.element('font');
|
|
14877
|
+
var _run = _sliced_to_array(run, 1), first = _run[0];
|
|
14878
|
+
(_a = first.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(font, first);
|
|
14879
|
+
run.forEach(function(node) {
|
|
14880
|
+
return font.appendChild(node);
|
|
14881
|
+
});
|
|
14882
|
+
return font;
|
|
14883
|
+
}
|
|
14884
|
+
},
|
|
14707
14885
|
{
|
|
14708
14886
|
key: "wrapInTagGen",
|
|
14709
14887
|
value: /**
|
|
@@ -14733,20 +14911,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
14733
14911
|
2
|
|
14734
14912
|
];
|
|
14735
14913
|
case 2:
|
|
14736
|
-
|
|
14737
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('*[style*=font-size]', this.area).forEach(function(elm) {
|
|
14738
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size', elm.style.fontSize.toString());
|
|
14739
|
-
elm.style.removeProperty('font-size');
|
|
14740
|
-
});
|
|
14741
|
-
this.j.nativeExecCommand('fontsize', false, '7');
|
|
14742
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('*[data-font-size]', this.area).forEach(function(elm) {
|
|
14743
|
-
var fontSize = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size');
|
|
14744
|
-
if (fontSize) {
|
|
14745
|
-
elm.style.fontSize = fontSize;
|
|
14746
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size', null);
|
|
14747
|
-
}
|
|
14748
|
-
});
|
|
14749
|
-
elms = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('font[size="7"]', this.area);
|
|
14914
|
+
elms = this.__wrapSelectionFragments();
|
|
14750
14915
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
14751
14916
|
_state.label = 3;
|
|
14752
14917
|
case 3:
|
|
@@ -16934,9 +17099,23 @@ var AsyncStorage = /*#__PURE__*/ function() {
|
|
|
16934
17099
|
{
|
|
16935
17100
|
key: "makeStorage",
|
|
16936
17101
|
value: function makeStorage() {
|
|
16937
|
-
var persistentOrStrategy = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false, suffix = arguments.length > 1 ? arguments[1] : void 0;
|
|
17102
|
+
var persistentOrStrategy = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false, suffix = arguments.length > 1 ? arguments[1] : void 0, options = arguments.length > 2 ? arguments[2] : void 0;
|
|
16938
17103
|
var provider = undefined;
|
|
16939
17104
|
var storage = null;
|
|
17105
|
+
// An explicit `defaultProvider` overrides the strategy-based selection
|
|
17106
|
+
// below and decides which provider backs the storage.
|
|
17107
|
+
var defaultProvider = options === null || options === void 0 ? void 0 : options.defaultProvider;
|
|
17108
|
+
if (defaultProvider != null) {
|
|
17109
|
+
if (defaultProvider === 'local') {
|
|
17110
|
+
provider = (0,_engines_local_storage_provider_js__WEBPACK_IMPORTED_MODULE_2__.canUsePersistentStorage)('localStorage') ? new _engines_local_storage_provider_js__WEBPACK_IMPORTED_MODULE_2__.LocalStorageProvider(_storage_js__WEBPACK_IMPORTED_MODULE_4__.StorageKey + (suffix || '')) : new _engines_memory_storage_provider_js__WEBPACK_IMPORTED_MODULE_3__.MemoryStorageProvider();
|
|
17111
|
+
} else if (defaultProvider === 'memory') {
|
|
17112
|
+
provider = new _engines_memory_storage_provider_js__WEBPACK_IMPORTED_MODULE_3__.MemoryStorageProvider();
|
|
17113
|
+
} else {
|
|
17114
|
+
// A custom IAsyncStorage implementation, used as-is.
|
|
17115
|
+
provider = defaultProvider;
|
|
17116
|
+
}
|
|
17117
|
+
return new AsyncStorage(Promise.resolve(provider), suffix);
|
|
17118
|
+
}
|
|
16940
17119
|
if (persistentOrStrategy === 'localStorage' || persistentOrStrategy === 'sessionStorage') {
|
|
16941
17120
|
if ((0,_engines_local_storage_provider_js__WEBPACK_IMPORTED_MODULE_2__.canUsePersistentStorage)(persistentOrStrategy)) {
|
|
16942
17121
|
provider = new _engines_local_storage_provider_js__WEBPACK_IMPORTED_MODULE_2__.LocalStorageProvider(_storage_js__WEBPACK_IMPORTED_MODULE_4__.StorageKey + (suffix || ''), persistentOrStrategy);
|
|
@@ -17849,7 +18028,12 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
17849
18028
|
key: "delete",
|
|
17850
18029
|
value: function _delete(key) {
|
|
17851
18030
|
try {
|
|
17852
|
-
this.storage.
|
|
18031
|
+
var buffer = this.storage.getItem(this.rootKey);
|
|
18032
|
+
if (buffer) {
|
|
18033
|
+
var json = JSON.parse(buffer);
|
|
18034
|
+
delete json[key];
|
|
18035
|
+
this.storage.setItem(this.rootKey, JSON.stringify(json));
|
|
18036
|
+
}
|
|
17853
18037
|
} catch (_a) {}
|
|
17854
18038
|
return this;
|
|
17855
18039
|
}
|
|
@@ -24010,12 +24194,29 @@ var ViewWithToolbar = /*#__PURE__*/ function(View) {
|
|
|
24010
24194
|
if (!this.o.fullsize && ((0,_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_5__.isString)(this.o.toolbar) || _dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isHTMLElement(this.o.toolbar))) {
|
|
24011
24195
|
return (0,_helpers_utils_selector_js__WEBPACK_IMPORTED_MODULE_6__.resolveElement)(this.o.toolbar, this.o.shadowRoot || this.od);
|
|
24012
24196
|
}
|
|
24013
|
-
this.o.toolbar &&
|
|
24197
|
+
this.o.toolbar && this.__appendToolbarBox();
|
|
24014
24198
|
return this.__defaultToolbarContainer;
|
|
24015
24199
|
}
|
|
24016
24200
|
},
|
|
24017
24201
|
{
|
|
24018
24202
|
/**
|
|
24203
|
+
* Keep the toolbar box as the first child of the container, except that
|
|
24204
|
+
* children flagged with `data-jodit-above-toolbar` (e.g. the `above`
|
|
24205
|
+
* workplace slot used for presence bars and banners) stay above it.
|
|
24206
|
+
*/ key: "__appendToolbarBox",
|
|
24207
|
+
value: function __appendToolbarBox() {
|
|
24208
|
+
var box = this.__defaultToolbarContainer;
|
|
24209
|
+
var anchor = this.container.firstElementChild;
|
|
24210
|
+
while(anchor && anchor !== box && anchor.hasAttribute('data-jodit-above-toolbar')){
|
|
24211
|
+
anchor = anchor.nextElementSibling;
|
|
24212
|
+
}
|
|
24213
|
+
if (anchor !== box) {
|
|
24214
|
+
this.container.insertBefore(box, anchor);
|
|
24215
|
+
}
|
|
24216
|
+
}
|
|
24217
|
+
},
|
|
24218
|
+
{
|
|
24219
|
+
/**
|
|
24019
24220
|
* Change panel container
|
|
24020
24221
|
*/ key: "setPanel",
|
|
24021
24222
|
value: function setPanel(element) {
|
|
@@ -24382,7 +24583,7 @@ var View = View_1 = /*#__PURE__*/ function(Component) {
|
|
|
24382
24583
|
get: /**
|
|
24383
24584
|
* Container for persistent set/get value
|
|
24384
24585
|
*/ function get() {
|
|
24385
|
-
return _storage_async_storage_js__WEBPACK_IMPORTED_MODULE_12__.AsyncStorage.makeStorage(true, this.id);
|
|
24586
|
+
return _storage_async_storage_js__WEBPACK_IMPORTED_MODULE_12__.AsyncStorage.makeStorage(true, this.id, this.o.asyncStorage);
|
|
24386
24587
|
}
|
|
24387
24588
|
},
|
|
24388
24589
|
{
|
|
@@ -25977,6 +26178,12 @@ var Jodit = Jodit_1 = /*#__PURE__*/ function(ViewWithToolbar) {
|
|
|
25977
26178
|
element.style.display = 'none';
|
|
25978
26179
|
}
|
|
25979
26180
|
var SLOT = 'workplace-slot';
|
|
26181
|
+
// A slot that always stays ABOVE the toolbar (presence bars, banners…).
|
|
26182
|
+
// The `data-jodit-above-toolbar` attribute tells ViewWithToolbar to keep
|
|
26183
|
+
// the toolbar box below it when (re)attaching the toolbar container.
|
|
26184
|
+
var aboveSlot = this.c.div(this.getFullElName(SLOT, 'above'), NOEDIT);
|
|
26185
|
+
aboveSlot.setAttribute('data-jodit-above-toolbar', '');
|
|
26186
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_7__.Dom.appendChildFirst(container, aboveSlot);
|
|
25980
26187
|
var topSlot = this.c.div(this.getFullElName(SLOT, 'top'), NOEDIT);
|
|
25981
26188
|
container.appendChild(topSlot);
|
|
25982
26189
|
var centerSlot = this.c.div(this.getFullElName(SLOT, 'center'), NOEDIT);
|
|
@@ -26009,6 +26216,7 @@ var Jodit = Jodit_1 = /*#__PURE__*/ function(ViewWithToolbar) {
|
|
|
26009
26216
|
container: container,
|
|
26010
26217
|
workplace: workplace,
|
|
26011
26218
|
slots: {
|
|
26219
|
+
above: aboveSlot,
|
|
26012
26220
|
top: topSlot,
|
|
26013
26221
|
bottom: bottomPanel,
|
|
26014
26222
|
center: centerSlot,
|