jodit-pro 4.17.6 → 4.17.8
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 +1 -1
- package/es2015/jodit.fat.min.js +5 -5
- package/es2015/jodit.js +129 -32
- package/es2015/jodit.min.js +6 -6
- 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.js +5 -5
- package/es2018/jodit.min.js +9 -9
- 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 +1 -1
- package/es2021/jodit.fat.min.js +7 -7
- package/es2021/jodit.js +129 -32
- package/es2021/jodit.min.js +13 -13
- 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 +1 -1
- package/es2021.en/jodit.fat.min.js +7 -7
- package/es2021.en/jodit.js +129 -32
- package/es2021.en/jodit.min.js +7 -7
- 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 +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +138 -32
- package/es5/jodit.min.css +2 -2
- 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/es2021.en/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.17.
|
|
4
|
+
* Version: v4.17.8
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1743,7 +1743,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1743
1743
|
* ```
|
|
1744
1744
|
* @packageDocumentation
|
|
1745
1745
|
* @module constants
|
|
1746
|
-
*/ const APP_VERSION = "4.17.
|
|
1746
|
+
*/ const APP_VERSION = "4.17.8";
|
|
1747
1747
|
// prettier-ignore
|
|
1748
1748
|
const ES = "es2021";
|
|
1749
1749
|
const IS_ES_MODERN = true;
|
|
@@ -10594,6 +10594,12 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
|
|
|
10594
10594
|
|
|
10595
10595
|
|
|
10596
10596
|
|
|
10597
|
+
/**
|
|
10598
|
+
* A text node that is empty or holds only invisible caret placeholders.
|
|
10599
|
+
*/ function isBlankTextNode(node) {
|
|
10600
|
+
var _a;
|
|
10601
|
+
return _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(node) && ((_a = node.nodeValue) !== null && _a !== void 0 ? _a : '').replace(_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP(), '').length === 0;
|
|
10602
|
+
}
|
|
10597
10603
|
class Selection {
|
|
10598
10604
|
/**
|
|
10599
10605
|
* Short alias for this.jodit
|
|
@@ -10706,6 +10712,17 @@ class Selection {
|
|
|
10706
10712
|
}
|
|
10707
10713
|
});
|
|
10708
10714
|
}
|
|
10715
|
+
/**
|
|
10716
|
+
* How many ranges the browser's own selection holds right now, as opposed
|
|
10717
|
+
* to the composed view that [[sel]] may answer from.
|
|
10718
|
+
*/ __nativeRangeCount() {
|
|
10719
|
+
var _a, _b, _c, _d;
|
|
10720
|
+
const { shadowRoot } = this.j.o;
|
|
10721
|
+
if (shadowRoot && (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(shadowRoot.getSelection)) {
|
|
10722
|
+
return (_b = (_a = shadowRoot.getSelection()) === null || _a === void 0 ? void 0 : _a.rangeCount) !== null && _b !== void 0 ? _b : 0;
|
|
10723
|
+
}
|
|
10724
|
+
return (_d = (_c = this.win.getSelection()) === null || _c === void 0 ? void 0 : _c.rangeCount) !== null && _d !== void 0 ? _d : 0;
|
|
10725
|
+
}
|
|
10709
10726
|
/**
|
|
10710
10727
|
* Return first selected range or create new
|
|
10711
10728
|
*/ get range() {
|
|
@@ -10814,6 +10831,7 @@ class Selection {
|
|
|
10814
10831
|
/**
|
|
10815
10832
|
* Create marker element
|
|
10816
10833
|
*/ marker(atStart = false, range) {
|
|
10834
|
+
var _a;
|
|
10817
10835
|
let newRange = null;
|
|
10818
10836
|
if (range) {
|
|
10819
10837
|
newRange = range.cloneRange();
|
|
@@ -10830,10 +10848,21 @@ class Selection {
|
|
|
10830
10848
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(marker, this.j.createInside.text(_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE));
|
|
10831
10849
|
if (newRange) {
|
|
10832
10850
|
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isOrContains(this.area, atStart ? newRange.startContainer : newRange.endContainer)) {
|
|
10833
|
-
|
|
10834
|
-
//
|
|
10835
|
-
//
|
|
10836
|
-
|
|
10851
|
+
const { startContainer: node, startOffset: offset } = newRange;
|
|
10852
|
+
// At either end of a text node the marker goes beside it. Splitting
|
|
10853
|
+
// the node there would leave the selection's boundary in an empty
|
|
10854
|
+
// text node, and WebKit neither repaints a selection that leaves one
|
|
10855
|
+
// nor moves a selection that follows one when it's removed.
|
|
10856
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(node) && offset === 0) {
|
|
10857
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.before(node, marker);
|
|
10858
|
+
} else if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(node) && offset === ((_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
10859
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.after(node, marker);
|
|
10860
|
+
} else {
|
|
10861
|
+
// Here need do unsafe inserting
|
|
10862
|
+
// Deny Dom.safeInsertNode(newRange, marker);
|
|
10863
|
+
// Apply style -> Test Style module -> Base apply -> For selection <p><strong>|test|</strong></p> apply style {"element":"em","style":{"fontStyle":"italic"}}
|
|
10864
|
+
newRange.insertNode(marker);
|
|
10865
|
+
}
|
|
10837
10866
|
}
|
|
10838
10867
|
}
|
|
10839
10868
|
return marker;
|
|
@@ -11161,7 +11190,9 @@ class Selection {
|
|
|
11161
11190
|
}
|
|
11162
11191
|
].forEach((getChildNode)=>{
|
|
11163
11192
|
const childNode = getChildNode();
|
|
11164
|
-
|
|
11193
|
+
// Only a text node left with nothing in it by the split
|
|
11194
|
+
// goes; one holding a space is content (`<b>a</b> |`).
|
|
11195
|
+
if (childNode && isBlankTextNode(childNode)) {
|
|
11165
11196
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(childNode);
|
|
11166
11197
|
}
|
|
11167
11198
|
});
|
|
@@ -11510,6 +11541,16 @@ class Selection {
|
|
|
11510
11541
|
if (backward && ranges.length === 1) {
|
|
11511
11542
|
const range = ranges[0];
|
|
11512
11543
|
sel.setBaseAndExtent(range.endContainer, range.endOffset, range.startContainer, range.startOffset);
|
|
11544
|
+
} else if (ranges.length === 1 && !this.__nativeRangeCount() && (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(sel.setBaseAndExtent)) {
|
|
11545
|
+
// `addRange` is specified to ignore a range whose root is not
|
|
11546
|
+
// the document, which is every range inside a shadow tree.
|
|
11547
|
+
// Chrome's `ShadowRoot.getSelection()` takes them anyway, but
|
|
11548
|
+
// Safari has only the window selection, so after
|
|
11549
|
+
// `removeAllRanges` the caret is simply gone: a character was
|
|
11550
|
+
// deleted and nothing was left to type into. `setBaseAndExtent`
|
|
11551
|
+
// does accept nodes inside a shadow tree.
|
|
11552
|
+
const range = ranges[0];
|
|
11553
|
+
sel.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
|
|
11513
11554
|
}
|
|
11514
11555
|
}
|
|
11515
11556
|
/**
|
|
@@ -27990,19 +28031,27 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
27990
28031
|
* Update history stack
|
|
27991
28032
|
*/ updateStack(replace = false) {
|
|
27992
28033
|
const newValue = this.snapshot.make();
|
|
27993
|
-
if (
|
|
27994
|
-
|
|
27995
|
-
|
|
27996
|
-
|
|
27997
|
-
|
|
27998
|
-
|
|
27999
|
-
|
|
28000
|
-
} else {
|
|
28001
|
-
this.__stack.push(newCommand);
|
|
28002
|
-
}
|
|
28034
|
+
if (_snapshot_js__WEBPACK_IMPORTED_MODULE_4__.Snapshot.equal(newValue, this.startValue)) {
|
|
28035
|
+
return;
|
|
28036
|
+
}
|
|
28037
|
+
// Only the selection moved, for example when the selection markers
|
|
28038
|
+
// went in before a switch to the source view. There is nothing to
|
|
28039
|
+
// undo, but the next change has to start from this selection.
|
|
28040
|
+
if (newValue.html === this.startValue.html) {
|
|
28003
28041
|
this.startValue = newValue;
|
|
28004
|
-
|
|
28042
|
+
return;
|
|
28005
28043
|
}
|
|
28044
|
+
const newCommand = new _command_js__WEBPACK_IMPORTED_MODULE_3__.Command(this.startValue, newValue, this, this.updateTick);
|
|
28045
|
+
if (replace) {
|
|
28046
|
+
const command = this.__stack.current();
|
|
28047
|
+
if (command && this.updateTick === command.tick) {
|
|
28048
|
+
this.__stack.replace(newCommand);
|
|
28049
|
+
}
|
|
28050
|
+
} else {
|
|
28051
|
+
this.__stack.push(newCommand);
|
|
28052
|
+
}
|
|
28053
|
+
this.startValue = newValue;
|
|
28054
|
+
this.fireChangeStack();
|
|
28006
28055
|
}
|
|
28007
28056
|
fireChangeStack() {
|
|
28008
28057
|
var _a;
|
|
@@ -42062,7 +42111,7 @@ class lineHeight extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.Plug
|
|
|
42062
42111
|
try {
|
|
42063
42112
|
if (s.isCollapsed()) {
|
|
42064
42113
|
const fake = c.fake();
|
|
42065
|
-
s.
|
|
42114
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeInsertNode(s.range, fake);
|
|
42066
42115
|
apply(fake);
|
|
42067
42116
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(fake);
|
|
42068
42117
|
} else {
|
|
@@ -44096,7 +44145,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.useInputsPlaceholder =
|
|
|
44096
44145
|
this.placeholderElm.innerHTML = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__.attr)(editor.element, 'placeholder') || '';
|
|
44097
44146
|
}
|
|
44098
44147
|
editor.e.fire('placeholder', this.placeholderElm.innerHTML);
|
|
44099
|
-
editor.e.off('.placeholder').on('changePlace.placeholder', this.addNativeListeners).on('change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder ' + 'mousedown.placeholder afterSetMode.placeholder changePlace.placeholder ' + 'internalChange.placeholder', this.toggle).on(window, 'load', this.toggle);
|
|
44148
|
+
editor.e.off('.placeholder').on('changePlace.placeholder', this.addNativeListeners).on('change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder ' + 'mousedown.placeholder afterSetMode.placeholder changePlace.placeholder ' + 'internalChange.placeholder afterCommand.placeholder', this.toggle).on(window, 'load', this.toggle);
|
|
44100
44149
|
this.addNativeListeners();
|
|
44101
44150
|
this.toggle();
|
|
44102
44151
|
};
|
|
@@ -46781,13 +46830,22 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
|
|
|
46781
46830
|
j.e.fire(e.type + 'Editor', target, e);
|
|
46782
46831
|
}
|
|
46783
46832
|
}
|
|
46833
|
+
onOutsidePress(e) {
|
|
46834
|
+
this.__pressTarget = e.target;
|
|
46835
|
+
}
|
|
46784
46836
|
/**
|
|
46785
46837
|
* @event outsideClick(e) - when user clicked on the outside of editor
|
|
46786
46838
|
*/ onOutsideClick(e) {
|
|
46787
|
-
const node = e.target;
|
|
46839
|
+
const node = e.target, pressed = this.__pressTarget;
|
|
46840
|
+
this.__pressTarget = null;
|
|
46788
46841
|
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.up(node, (elm)=>elm === this.j.editor)) {
|
|
46789
46842
|
return;
|
|
46790
46843
|
}
|
|
46844
|
+
// Selecting the text of a popup input with the mouse and releasing
|
|
46845
|
+
// the button past the popup's edge is not a click outside of it.
|
|
46846
|
+
if (pressed && _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.UIElement.closestElement(pressed, _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.Popup)) {
|
|
46847
|
+
return;
|
|
46848
|
+
}
|
|
46791
46849
|
const box = _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.UIElement.closestElement(node, _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.Popup);
|
|
46792
46850
|
if (!box) {
|
|
46793
46851
|
this.j.e.fire('outsideClick', e);
|
|
@@ -46894,11 +46952,22 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
|
|
|
46894
46952
|
'mouseup',
|
|
46895
46953
|
'touchend'
|
|
46896
46954
|
];
|
|
46955
|
+
/**
|
|
46956
|
+
* Where the last press started. Chrome reports a drag that begins in one
|
|
46957
|
+
* element and ends in another as a `click` on their common ancestor, so a
|
|
46958
|
+
* press inside a popup is remembered to tell such a drag from a real click.
|
|
46959
|
+
*/ this.__pressTarget = null;
|
|
46897
46960
|
}
|
|
46898
46961
|
}
|
|
46899
46962
|
__decorate([
|
|
46900
46963
|
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
46901
46964
|
], select.prototype, "onStartSelection", null);
|
|
46965
|
+
__decorate([
|
|
46966
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)([
|
|
46967
|
+
'ow:mousedown',
|
|
46968
|
+
'ow:touchstart'
|
|
46969
|
+
])
|
|
46970
|
+
], select.prototype, "onOutsidePress", null);
|
|
46902
46971
|
__decorate([
|
|
46903
46972
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)('ow:click')
|
|
46904
46973
|
], select.prototype, "onOutsideClick", null);
|
|
@@ -47227,18 +47296,26 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.source = {
|
|
|
47227
47296
|
/* harmony export */ AceEditor: function() { return /* binding */ AceEditor; }
|
|
47228
47297
|
/* harmony export */ });
|
|
47229
47298
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
47230
|
-
/* harmony import */ var
|
|
47231
|
-
/* harmony import */ var
|
|
47232
|
-
/* harmony import */ var
|
|
47299
|
+
/* harmony import */ var _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45219);
|
|
47300
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
|
|
47301
|
+
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21537);
|
|
47302
|
+
/* harmony import */ var _sourceEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23370);
|
|
47233
47303
|
/*!
|
|
47234
47304
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
47235
47305
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
47236
47306
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
47237
|
-
*/
|
|
47307
|
+
*/ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
|
|
47308
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
47309
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
47310
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
47311
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
47312
|
+
};
|
|
47313
|
+
|
|
47238
47314
|
|
|
47239
47315
|
|
|
47240
47316
|
|
|
47241
|
-
|
|
47317
|
+
|
|
47318
|
+
class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_4__.SourceEditor {
|
|
47242
47319
|
aceExists() {
|
|
47243
47320
|
return this.j.ow.ace !== undefined;
|
|
47244
47321
|
}
|
|
@@ -47296,7 +47373,7 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
47296
47373
|
return;
|
|
47297
47374
|
}
|
|
47298
47375
|
const fakeMirror = this.j.c.div('jodit-source__mirror-fake');
|
|
47299
|
-
|
|
47376
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(this.container, fakeMirror);
|
|
47300
47377
|
const ace = editor.ow.ace;
|
|
47301
47378
|
this.instance = ace.edit(fakeMirror);
|
|
47302
47379
|
if (editor.o.direction === 'rtl') {
|
|
@@ -47317,7 +47394,7 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
47317
47394
|
this.instance.setOption('wrap', editor.o.sourceEditorNativeOptions.wrap);
|
|
47318
47395
|
this.instance.getSession().setUseWorker(false);
|
|
47319
47396
|
this.instance.$blockScrolling = Infinity;
|
|
47320
|
-
this.instance.on('change', this.
|
|
47397
|
+
this.instance.on('change', this.__onChange);
|
|
47321
47398
|
this.instance.on('focus', this.proxyOnFocus);
|
|
47322
47399
|
this.instance.on('mousedown', this.proxyOnMouseDown);
|
|
47323
47400
|
this.instance.on('blur', this.proxyOnBlur);
|
|
@@ -47352,7 +47429,7 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
47352
47429
|
if (!this.aceExists()) {
|
|
47353
47430
|
if (!loading) {
|
|
47354
47431
|
loading = true;
|
|
47355
|
-
(0,
|
|
47432
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.loadNext)(editor, editor.o.sourceEditorCDNUrlsJS).then(initAceEditor).catch(()=>null);
|
|
47356
47433
|
}
|
|
47357
47434
|
return;
|
|
47358
47435
|
}
|
|
@@ -47365,7 +47442,7 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
47365
47442
|
}
|
|
47366
47443
|
destruct() {
|
|
47367
47444
|
var _a, _b;
|
|
47368
|
-
this.instance.off('change', this.
|
|
47445
|
+
this.instance.off('change', this.__onChange);
|
|
47369
47446
|
this.instance.off('focus', this.proxyOnFocus);
|
|
47370
47447
|
this.instance.off('mousedown', this.proxyOnMouseDown);
|
|
47371
47448
|
this.instance.destroy();
|
|
@@ -47374,13 +47451,29 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
47374
47451
|
setValue(value) {
|
|
47375
47452
|
if (!this.j.o.editHTMLDocumentMode && this.j.o.beautifyHTML) {
|
|
47376
47453
|
const html = this.j.e.fire('beautifyHTML', value);
|
|
47377
|
-
if ((0,
|
|
47454
|
+
if ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isString)(html)) {
|
|
47378
47455
|
value = html;
|
|
47379
47456
|
}
|
|
47380
47457
|
}
|
|
47381
|
-
|
|
47458
|
+
// ACE reports its own `setValue` as two changes, the removal of the
|
|
47459
|
+
// old text and the insertion of the new one. Fed back into the
|
|
47460
|
+
// editor they became two history entries, `content -> ''` and
|
|
47461
|
+
// `'' -> content`, so the first undo after a switch to the source
|
|
47462
|
+
// view and back emptied the editor. The text came from the editor
|
|
47463
|
+
// in the first place, so there is nothing to send back.
|
|
47464
|
+
this.__settingValue = true;
|
|
47465
|
+
try {
|
|
47466
|
+
this.instance.setValue(value);
|
|
47467
|
+
} finally{
|
|
47468
|
+
this.__settingValue = false;
|
|
47469
|
+
}
|
|
47382
47470
|
this.instance.clearSelection();
|
|
47383
47471
|
}
|
|
47472
|
+
__onChange() {
|
|
47473
|
+
if (!this.__settingValue) {
|
|
47474
|
+
this.toWYSIWYG();
|
|
47475
|
+
}
|
|
47476
|
+
}
|
|
47384
47477
|
getValue() {
|
|
47385
47478
|
return this.instance.getValue();
|
|
47386
47479
|
}
|
|
@@ -47459,8 +47552,12 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
47459
47552
|
this.proxyOnMouseDown = (e)=>{
|
|
47460
47553
|
this.j.e.fire('mousedown', e);
|
|
47461
47554
|
};
|
|
47555
|
+
this.__settingValue = false;
|
|
47462
47556
|
}
|
|
47463
47557
|
}
|
|
47558
|
+
__decorate([
|
|
47559
|
+
_core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
47560
|
+
], AceEditor.prototype, "__onChange", null);
|
|
47464
47561
|
|
|
47465
47562
|
|
|
47466
47563
|
/***/ }),
|