jodit-pro 4.13.16 → 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 +150 -17
- 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 +15 -15
- 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 +4 -4
- package/es2021/jodit.js +150 -17
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +4 -4
- 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 +131 -131
- package/es2021.en/jodit.js +150 -17
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +4 -4
- 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 +186 -17
- 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
|
*/
|
|
@@ -2299,7 +2299,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
2299
2299
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
2300
2300
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
2301
2301
|
}
|
|
2302
|
-
var APP_VERSION = "4.13.
|
|
2302
|
+
var APP_VERSION = "4.13.17";
|
|
2303
2303
|
// prettier-ignore
|
|
2304
2304
|
var ES = "es5";
|
|
2305
2305
|
var IS_ES_MODERN = false;
|
|
@@ -14724,6 +14724,164 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
14724
14724
|
return '';
|
|
14725
14725
|
}
|
|
14726
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
|
+
},
|
|
14727
14885
|
{
|
|
14728
14886
|
key: "wrapInTagGen",
|
|
14729
14887
|
value: /**
|
|
@@ -14753,20 +14911,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
14753
14911
|
2
|
|
14754
14912
|
];
|
|
14755
14913
|
case 2:
|
|
14756
|
-
|
|
14757
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('*[style*=font-size]', this.area).forEach(function(elm) {
|
|
14758
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size', elm.style.fontSize.toString());
|
|
14759
|
-
elm.style.removeProperty('font-size');
|
|
14760
|
-
});
|
|
14761
|
-
this.j.nativeExecCommand('fontsize', false, '7');
|
|
14762
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('*[data-font-size]', this.area).forEach(function(elm) {
|
|
14763
|
-
var fontSize = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size');
|
|
14764
|
-
if (fontSize) {
|
|
14765
|
-
elm.style.fontSize = fontSize;
|
|
14766
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size', null);
|
|
14767
|
-
}
|
|
14768
|
-
});
|
|
14769
|
-
elms = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('font[size="7"]', this.area);
|
|
14914
|
+
elms = this.__wrapSelectionFragments();
|
|
14770
14915
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
14771
14916
|
_state.label = 3;
|
|
14772
14917
|
case 3:
|
|
@@ -24049,12 +24194,29 @@ var ViewWithToolbar = /*#__PURE__*/ function(View) {
|
|
|
24049
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))) {
|
|
24050
24195
|
return (0,_helpers_utils_selector_js__WEBPACK_IMPORTED_MODULE_6__.resolveElement)(this.o.toolbar, this.o.shadowRoot || this.od);
|
|
24051
24196
|
}
|
|
24052
|
-
this.o.toolbar &&
|
|
24197
|
+
this.o.toolbar && this.__appendToolbarBox();
|
|
24053
24198
|
return this.__defaultToolbarContainer;
|
|
24054
24199
|
}
|
|
24055
24200
|
},
|
|
24056
24201
|
{
|
|
24057
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
|
+
/**
|
|
24058
24220
|
* Change panel container
|
|
24059
24221
|
*/ key: "setPanel",
|
|
24060
24222
|
value: function setPanel(element) {
|
|
@@ -26016,6 +26178,12 @@ var Jodit = Jodit_1 = /*#__PURE__*/ function(ViewWithToolbar) {
|
|
|
26016
26178
|
element.style.display = 'none';
|
|
26017
26179
|
}
|
|
26018
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);
|
|
26019
26187
|
var topSlot = this.c.div(this.getFullElName(SLOT, 'top'), NOEDIT);
|
|
26020
26188
|
container.appendChild(topSlot);
|
|
26021
26189
|
var centerSlot = this.c.div(this.getFullElName(SLOT, 'center'), NOEDIT);
|
|
@@ -26048,6 +26216,7 @@ var Jodit = Jodit_1 = /*#__PURE__*/ function(ViewWithToolbar) {
|
|
|
26048
26216
|
container: container,
|
|
26049
26217
|
workplace: workplace,
|
|
26050
26218
|
slots: {
|
|
26219
|
+
above: aboveSlot,
|
|
26051
26220
|
top: topSlot,
|
|
26052
26221
|
bottom: bottomPanel,
|
|
26053
26222
|
center: centerSlot,
|