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/es2015/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
|
*/
|
|
@@ -1791,7 +1791,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1791
1791
|
* ```
|
|
1792
1792
|
* @packageDocumentation
|
|
1793
1793
|
* @module constants
|
|
1794
|
-
*/ const APP_VERSION = "4.17.
|
|
1794
|
+
*/ const APP_VERSION = "4.17.8";
|
|
1795
1795
|
// prettier-ignore
|
|
1796
1796
|
const ES = "es2015";
|
|
1797
1797
|
const IS_ES_MODERN = true;
|
|
@@ -10837,6 +10837,12 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
|
|
|
10837
10837
|
|
|
10838
10838
|
|
|
10839
10839
|
|
|
10840
|
+
/**
|
|
10841
|
+
* A text node that is empty or holds only invisible caret placeholders.
|
|
10842
|
+
*/ function isBlankTextNode(node) {
|
|
10843
|
+
var _a;
|
|
10844
|
+
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;
|
|
10845
|
+
}
|
|
10840
10846
|
class Selection {
|
|
10841
10847
|
/**
|
|
10842
10848
|
* Short alias for this.jodit
|
|
@@ -10949,6 +10955,17 @@ class Selection {
|
|
|
10949
10955
|
}
|
|
10950
10956
|
});
|
|
10951
10957
|
}
|
|
10958
|
+
/**
|
|
10959
|
+
* How many ranges the browser's own selection holds right now, as opposed
|
|
10960
|
+
* to the composed view that [[sel]] may answer from.
|
|
10961
|
+
*/ __nativeRangeCount() {
|
|
10962
|
+
var _a, _b, _c, _d;
|
|
10963
|
+
const { shadowRoot } = this.j.o;
|
|
10964
|
+
if (shadowRoot && (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(shadowRoot.getSelection)) {
|
|
10965
|
+
return (_b = (_a = shadowRoot.getSelection()) === null || _a === void 0 ? void 0 : _a.rangeCount) !== null && _b !== void 0 ? _b : 0;
|
|
10966
|
+
}
|
|
10967
|
+
return (_d = (_c = this.win.getSelection()) === null || _c === void 0 ? void 0 : _c.rangeCount) !== null && _d !== void 0 ? _d : 0;
|
|
10968
|
+
}
|
|
10952
10969
|
/**
|
|
10953
10970
|
* Return first selected range or create new
|
|
10954
10971
|
*/ get range() {
|
|
@@ -11057,6 +11074,7 @@ class Selection {
|
|
|
11057
11074
|
/**
|
|
11058
11075
|
* Create marker element
|
|
11059
11076
|
*/ marker(atStart = false, range) {
|
|
11077
|
+
var _a;
|
|
11060
11078
|
let newRange = null;
|
|
11061
11079
|
if (range) {
|
|
11062
11080
|
newRange = range.cloneRange();
|
|
@@ -11073,10 +11091,21 @@ class Selection {
|
|
|
11073
11091
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(marker, this.j.createInside.text(_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE));
|
|
11074
11092
|
if (newRange) {
|
|
11075
11093
|
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isOrContains(this.area, atStart ? newRange.startContainer : newRange.endContainer)) {
|
|
11076
|
-
|
|
11077
|
-
//
|
|
11078
|
-
//
|
|
11079
|
-
|
|
11094
|
+
const { startContainer: node, startOffset: offset } = newRange;
|
|
11095
|
+
// At either end of a text node the marker goes beside it. Splitting
|
|
11096
|
+
// the node there would leave the selection's boundary in an empty
|
|
11097
|
+
// text node, and WebKit neither repaints a selection that leaves one
|
|
11098
|
+
// nor moves a selection that follows one when it's removed.
|
|
11099
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(node) && offset === 0) {
|
|
11100
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.before(node, marker);
|
|
11101
|
+
} else if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(node) && offset === ((_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
11102
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.after(node, marker);
|
|
11103
|
+
} else {
|
|
11104
|
+
// Here need do unsafe inserting
|
|
11105
|
+
// Deny Dom.safeInsertNode(newRange, marker);
|
|
11106
|
+
// Apply style -> Test Style module -> Base apply -> For selection <p><strong>|test|</strong></p> apply style {"element":"em","style":{"fontStyle":"italic"}}
|
|
11107
|
+
newRange.insertNode(marker);
|
|
11108
|
+
}
|
|
11080
11109
|
}
|
|
11081
11110
|
}
|
|
11082
11111
|
return marker;
|
|
@@ -11404,7 +11433,9 @@ class Selection {
|
|
|
11404
11433
|
}
|
|
11405
11434
|
].forEach((getChildNode)=>{
|
|
11406
11435
|
const childNode = getChildNode();
|
|
11407
|
-
|
|
11436
|
+
// Only a text node left with nothing in it by the split
|
|
11437
|
+
// goes; one holding a space is content (`<b>a</b> |`).
|
|
11438
|
+
if (childNode && isBlankTextNode(childNode)) {
|
|
11408
11439
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(childNode);
|
|
11409
11440
|
}
|
|
11410
11441
|
});
|
|
@@ -11753,6 +11784,16 @@ class Selection {
|
|
|
11753
11784
|
if (backward && ranges.length === 1) {
|
|
11754
11785
|
const range = ranges[0];
|
|
11755
11786
|
sel.setBaseAndExtent(range.endContainer, range.endOffset, range.startContainer, range.startOffset);
|
|
11787
|
+
} else if (ranges.length === 1 && !this.__nativeRangeCount() && (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(sel.setBaseAndExtent)) {
|
|
11788
|
+
// `addRange` is specified to ignore a range whose root is not
|
|
11789
|
+
// the document, which is every range inside a shadow tree.
|
|
11790
|
+
// Chrome's `ShadowRoot.getSelection()` takes them anyway, but
|
|
11791
|
+
// Safari has only the window selection, so after
|
|
11792
|
+
// `removeAllRanges` the caret is simply gone: a character was
|
|
11793
|
+
// deleted and nothing was left to type into. `setBaseAndExtent`
|
|
11794
|
+
// does accept nodes inside a shadow tree.
|
|
11795
|
+
const range = ranges[0];
|
|
11796
|
+
sel.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
|
|
11756
11797
|
}
|
|
11757
11798
|
}
|
|
11758
11799
|
/**
|
|
@@ -28901,19 +28942,27 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
28901
28942
|
* Update history stack
|
|
28902
28943
|
*/ updateStack(replace = false) {
|
|
28903
28944
|
const newValue = this.snapshot.make();
|
|
28904
|
-
if (
|
|
28905
|
-
|
|
28906
|
-
|
|
28907
|
-
|
|
28908
|
-
|
|
28909
|
-
|
|
28910
|
-
|
|
28911
|
-
} else {
|
|
28912
|
-
this.__stack.push(newCommand);
|
|
28913
|
-
}
|
|
28945
|
+
if (_snapshot_js__WEBPACK_IMPORTED_MODULE_4__.Snapshot.equal(newValue, this.startValue)) {
|
|
28946
|
+
return;
|
|
28947
|
+
}
|
|
28948
|
+
// Only the selection moved, for example when the selection markers
|
|
28949
|
+
// went in before a switch to the source view. There is nothing to
|
|
28950
|
+
// undo, but the next change has to start from this selection.
|
|
28951
|
+
if (newValue.html === this.startValue.html) {
|
|
28914
28952
|
this.startValue = newValue;
|
|
28915
|
-
|
|
28953
|
+
return;
|
|
28916
28954
|
}
|
|
28955
|
+
const newCommand = new _command_js__WEBPACK_IMPORTED_MODULE_3__.Command(this.startValue, newValue, this, this.updateTick);
|
|
28956
|
+
if (replace) {
|
|
28957
|
+
const command = this.__stack.current();
|
|
28958
|
+
if (command && this.updateTick === command.tick) {
|
|
28959
|
+
this.__stack.replace(newCommand);
|
|
28960
|
+
}
|
|
28961
|
+
} else {
|
|
28962
|
+
this.__stack.push(newCommand);
|
|
28963
|
+
}
|
|
28964
|
+
this.startValue = newValue;
|
|
28965
|
+
this.fireChangeStack();
|
|
28917
28966
|
}
|
|
28918
28967
|
fireChangeStack() {
|
|
28919
28968
|
var _a;
|
|
@@ -44081,7 +44130,7 @@ class lineHeight extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.Plug
|
|
|
44081
44130
|
try {
|
|
44082
44131
|
if (s.isCollapsed()) {
|
|
44083
44132
|
const fake = c.fake();
|
|
44084
|
-
s.
|
|
44133
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeInsertNode(s.range, fake);
|
|
44085
44134
|
apply(fake);
|
|
44086
44135
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(fake);
|
|
44087
44136
|
} else {
|
|
@@ -46143,7 +46192,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.useInputsPlaceholder =
|
|
|
46143
46192
|
this.placeholderElm.innerHTML = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__.attr)(editor.element, 'placeholder') || '';
|
|
46144
46193
|
}
|
|
46145
46194
|
editor.e.fire('placeholder', this.placeholderElm.innerHTML);
|
|
46146
|
-
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);
|
|
46195
|
+
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);
|
|
46147
46196
|
this.addNativeListeners();
|
|
46148
46197
|
this.toggle();
|
|
46149
46198
|
};
|
|
@@ -48895,13 +48944,22 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
|
|
|
48895
48944
|
j.e.fire(e.type + 'Editor', target, e);
|
|
48896
48945
|
}
|
|
48897
48946
|
}
|
|
48947
|
+
onOutsidePress(e) {
|
|
48948
|
+
this.__pressTarget = e.target;
|
|
48949
|
+
}
|
|
48898
48950
|
/**
|
|
48899
48951
|
* @event outsideClick(e) - when user clicked on the outside of editor
|
|
48900
48952
|
*/ onOutsideClick(e) {
|
|
48901
|
-
const node = e.target;
|
|
48953
|
+
const node = e.target, pressed = this.__pressTarget;
|
|
48954
|
+
this.__pressTarget = null;
|
|
48902
48955
|
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.up(node, (elm)=>elm === this.j.editor)) {
|
|
48903
48956
|
return;
|
|
48904
48957
|
}
|
|
48958
|
+
// Selecting the text of a popup input with the mouse and releasing
|
|
48959
|
+
// the button past the popup's edge is not a click outside of it.
|
|
48960
|
+
if (pressed && _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.UIElement.closestElement(pressed, _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.Popup)) {
|
|
48961
|
+
return;
|
|
48962
|
+
}
|
|
48905
48963
|
const box = _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.UIElement.closestElement(node, _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.Popup);
|
|
48906
48964
|
if (!box) {
|
|
48907
48965
|
this.j.e.fire('outsideClick', e);
|
|
@@ -49008,11 +49066,22 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
|
|
|
49008
49066
|
'mouseup',
|
|
49009
49067
|
'touchend'
|
|
49010
49068
|
];
|
|
49069
|
+
/**
|
|
49070
|
+
* Where the last press started. Chrome reports a drag that begins in one
|
|
49071
|
+
* element and ends in another as a `click` on their common ancestor, so a
|
|
49072
|
+
* press inside a popup is remembered to tell such a drag from a real click.
|
|
49073
|
+
*/ this.__pressTarget = null;
|
|
49011
49074
|
}
|
|
49012
49075
|
}
|
|
49013
49076
|
__decorate([
|
|
49014
49077
|
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
49015
49078
|
], select.prototype, "onStartSelection", null);
|
|
49079
|
+
__decorate([
|
|
49080
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)([
|
|
49081
|
+
'ow:mousedown',
|
|
49082
|
+
'ow:touchstart'
|
|
49083
|
+
])
|
|
49084
|
+
], select.prototype, "onOutsidePress", null);
|
|
49016
49085
|
__decorate([
|
|
49017
49086
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)('ow:click')
|
|
49018
49087
|
], select.prototype, "onOutsideClick", null);
|
|
@@ -49341,18 +49410,26 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.source = {
|
|
|
49341
49410
|
/* harmony export */ AceEditor: function() { return /* binding */ AceEditor; }
|
|
49342
49411
|
/* harmony export */ });
|
|
49343
49412
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
49344
|
-
/* harmony import */ var
|
|
49345
|
-
/* harmony import */ var
|
|
49346
|
-
/* harmony import */ var
|
|
49413
|
+
/* harmony import */ var _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45219);
|
|
49414
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
|
|
49415
|
+
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21537);
|
|
49416
|
+
/* harmony import */ var _sourceEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23370);
|
|
49347
49417
|
/*!
|
|
49348
49418
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
49349
49419
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
49350
49420
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
49351
|
-
*/
|
|
49421
|
+
*/ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
|
|
49422
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
49423
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
49424
|
+
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;
|
|
49425
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
49426
|
+
};
|
|
49427
|
+
|
|
49352
49428
|
|
|
49353
49429
|
|
|
49354
49430
|
|
|
49355
|
-
|
|
49431
|
+
|
|
49432
|
+
class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_4__.SourceEditor {
|
|
49356
49433
|
aceExists() {
|
|
49357
49434
|
return this.j.ow.ace !== undefined;
|
|
49358
49435
|
}
|
|
@@ -49410,7 +49487,7 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
49410
49487
|
return;
|
|
49411
49488
|
}
|
|
49412
49489
|
const fakeMirror = this.j.c.div('jodit-source__mirror-fake');
|
|
49413
|
-
|
|
49490
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(this.container, fakeMirror);
|
|
49414
49491
|
const ace = editor.ow.ace;
|
|
49415
49492
|
this.instance = ace.edit(fakeMirror);
|
|
49416
49493
|
if (editor.o.direction === 'rtl') {
|
|
@@ -49431,7 +49508,7 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
49431
49508
|
this.instance.setOption('wrap', editor.o.sourceEditorNativeOptions.wrap);
|
|
49432
49509
|
this.instance.getSession().setUseWorker(false);
|
|
49433
49510
|
this.instance.$blockScrolling = Infinity;
|
|
49434
|
-
this.instance.on('change', this.
|
|
49511
|
+
this.instance.on('change', this.__onChange);
|
|
49435
49512
|
this.instance.on('focus', this.proxyOnFocus);
|
|
49436
49513
|
this.instance.on('mousedown', this.proxyOnMouseDown);
|
|
49437
49514
|
this.instance.on('blur', this.proxyOnBlur);
|
|
@@ -49466,7 +49543,7 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
49466
49543
|
if (!this.aceExists()) {
|
|
49467
49544
|
if (!loading) {
|
|
49468
49545
|
loading = true;
|
|
49469
|
-
(0,
|
|
49546
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.loadNext)(editor, editor.o.sourceEditorCDNUrlsJS).then(initAceEditor).catch(()=>null);
|
|
49470
49547
|
}
|
|
49471
49548
|
return;
|
|
49472
49549
|
}
|
|
@@ -49479,7 +49556,7 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
49479
49556
|
}
|
|
49480
49557
|
destruct() {
|
|
49481
49558
|
var _a, _b;
|
|
49482
|
-
this.instance.off('change', this.
|
|
49559
|
+
this.instance.off('change', this.__onChange);
|
|
49483
49560
|
this.instance.off('focus', this.proxyOnFocus);
|
|
49484
49561
|
this.instance.off('mousedown', this.proxyOnMouseDown);
|
|
49485
49562
|
this.instance.destroy();
|
|
@@ -49488,13 +49565,29 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
49488
49565
|
setValue(value) {
|
|
49489
49566
|
if (!this.j.o.editHTMLDocumentMode && this.j.o.beautifyHTML) {
|
|
49490
49567
|
const html = this.j.e.fire('beautifyHTML', value);
|
|
49491
|
-
if ((0,
|
|
49568
|
+
if ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isString)(html)) {
|
|
49492
49569
|
value = html;
|
|
49493
49570
|
}
|
|
49494
49571
|
}
|
|
49495
|
-
|
|
49572
|
+
// ACE reports its own `setValue` as two changes, the removal of the
|
|
49573
|
+
// old text and the insertion of the new one. Fed back into the
|
|
49574
|
+
// editor they became two history entries, `content -> ''` and
|
|
49575
|
+
// `'' -> content`, so the first undo after a switch to the source
|
|
49576
|
+
// view and back emptied the editor. The text came from the editor
|
|
49577
|
+
// in the first place, so there is nothing to send back.
|
|
49578
|
+
this.__settingValue = true;
|
|
49579
|
+
try {
|
|
49580
|
+
this.instance.setValue(value);
|
|
49581
|
+
} finally{
|
|
49582
|
+
this.__settingValue = false;
|
|
49583
|
+
}
|
|
49496
49584
|
this.instance.clearSelection();
|
|
49497
49585
|
}
|
|
49586
|
+
__onChange() {
|
|
49587
|
+
if (!this.__settingValue) {
|
|
49588
|
+
this.toWYSIWYG();
|
|
49589
|
+
}
|
|
49590
|
+
}
|
|
49498
49591
|
getValue() {
|
|
49499
49592
|
return this.instance.getValue();
|
|
49500
49593
|
}
|
|
@@ -49573,8 +49666,12 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
49573
49666
|
this.proxyOnMouseDown = (e)=>{
|
|
49574
49667
|
this.j.e.fire('mousedown', e);
|
|
49575
49668
|
};
|
|
49669
|
+
this.__settingValue = false;
|
|
49576
49670
|
}
|
|
49577
49671
|
}
|
|
49672
|
+
__decorate([
|
|
49673
|
+
_core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
49674
|
+
], AceEditor.prototype, "__onChange", null);
|
|
49578
49675
|
|
|
49579
49676
|
|
|
49580
49677
|
/***/ }),
|