jodit-pro 4.18.1 → 4.18.3
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 +16 -16
- package/es2015/jodit.js +482 -137
- package/es2015/jodit.min.js +11 -11
- 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 +9 -9
- 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 +16 -16
- package/es2021/jodit.js +434 -137
- package/es2021/jodit.min.js +16 -16
- 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 +19 -19
- package/es2021.en/jodit.js +434 -137
- package/es2021.en/jodit.min.js +16 -16
- 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 +548 -141
- 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.18.
|
|
4
|
+
* Version: v4.18.3
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1816,7 +1816,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1816
1816
|
* ```
|
|
1817
1817
|
* @packageDocumentation
|
|
1818
1818
|
* @module constants
|
|
1819
|
-
*/ const APP_VERSION = "4.18.
|
|
1819
|
+
*/ const APP_VERSION = "4.18.3";
|
|
1820
1820
|
// prettier-ignore
|
|
1821
1821
|
const ES = "es2015";
|
|
1822
1822
|
const IS_ES_MODERN = true;
|
|
@@ -6466,6 +6466,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
6466
6466
|
/* harmony export */ options: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.options; },
|
|
6467
6467
|
/* harmony export */ parseQuery: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.parseQuery; },
|
|
6468
6468
|
/* harmony export */ position: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.position; },
|
|
6469
|
+
/* harmony export */ prepareEmbedCode: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.prepareEmbedCode; },
|
|
6470
|
+
/* harmony export */ prepareMedia: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.prepareMedia; },
|
|
6469
6471
|
/* harmony export */ previewBox: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.previewBox; },
|
|
6470
6472
|
/* harmony export */ refs: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.refs; },
|
|
6471
6473
|
/* harmony export */ reset: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.reset; },
|
|
@@ -8710,13 +8712,13 @@ const getClassName = (obj)=>{
|
|
|
8710
8712
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8711
8713
|
|
|
8712
8714
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
8713
|
-
/* harmony export */ $$: function() { return /* reexport safe */
|
|
8715
|
+
/* harmony export */ $$: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.$$; },
|
|
8714
8716
|
/* harmony export */ ConfigDeepFlatten: function() { return /* reexport safe */ _config_proto_js__WEBPACK_IMPORTED_MODULE_7__.ConfigDeepFlatten; },
|
|
8715
8717
|
/* harmony export */ ConfigFlatten: function() { return /* reexport safe */ _config_proto_js__WEBPACK_IMPORTED_MODULE_7__.ConfigFlatten; },
|
|
8716
8718
|
/* harmony export */ ConfigMerge: function() { return /* reexport safe */ _config_proto_js__WEBPACK_IMPORTED_MODULE_7__.ConfigMerge; },
|
|
8717
8719
|
/* harmony export */ ConfigProto: function() { return /* reexport safe */ _config_proto_js__WEBPACK_IMPORTED_MODULE_7__.ConfigProto; },
|
|
8718
8720
|
/* harmony export */ ConnectionError: function() { return /* reexport safe */ _error_index_js__WEBPACK_IMPORTED_MODULE_13__.ConnectionError; },
|
|
8719
|
-
/* harmony export */ LimitedStack: function() { return /* reexport safe */
|
|
8721
|
+
/* harmony export */ LimitedStack: function() { return /* reexport safe */ _stack_js__WEBPACK_IMPORTED_MODULE_28__.LimitedStack; },
|
|
8720
8722
|
/* harmony export */ OptionsError: function() { return /* reexport safe */ _error_index_js__WEBPACK_IMPORTED_MODULE_13__.OptionsError; },
|
|
8721
8723
|
/* harmony export */ UNSAFE_PROTO_KEYS: function() { return /* reexport safe */ _is_unsafe_proto_key_js__WEBPACK_IMPORTED_MODULE_18__.UNSAFE_PROTO_KEYS; },
|
|
8722
8724
|
/* harmony export */ abort: function() { return /* reexport safe */ _error_index_js__WEBPACK_IMPORTED_MODULE_13__.abort; },
|
|
@@ -8729,9 +8731,9 @@ const getClassName = (obj)=>{
|
|
|
8729
8731
|
/* harmony export */ attrRaw: function() { return /* reexport safe */ _attr_js__WEBPACK_IMPORTED_MODULE_3__.attrRaw; },
|
|
8730
8732
|
/* harmony export */ browser: function() { return /* reexport safe */ _browser_js__WEBPACK_IMPORTED_MODULE_4__.browser; },
|
|
8731
8733
|
/* harmony export */ buildQuery: function() { return /* reexport safe */ _build_query_js__WEBPACK_IMPORTED_MODULE_5__.buildQuery; },
|
|
8732
|
-
/* harmony export */ call: function() { return /* reexport safe */
|
|
8733
|
-
/* harmony export */ callPromise: function() { return /* reexport safe */
|
|
8734
|
-
/* harmony export */ callThis: function() { return /* reexport safe */
|
|
8734
|
+
/* harmony export */ call: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.call; },
|
|
8735
|
+
/* harmony export */ callPromise: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.callPromise; },
|
|
8736
|
+
/* harmony export */ callThis: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.callThis; },
|
|
8735
8737
|
/* harmony export */ clearAlign: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.clearAlign; },
|
|
8736
8738
|
/* harmony export */ clearCenterAlign: function() { return /* reexport safe */ _css_js__WEBPACK_IMPORTED_MODULE_9__.clearCenterAlign; },
|
|
8737
8739
|
/* harmony export */ cns: function() { return /* reexport safe */ _mark_deprecated_js__WEBPACK_IMPORTED_MODULE_19__.cns; },
|
|
@@ -8741,7 +8743,7 @@ const getClassName = (obj)=>{
|
|
|
8741
8743
|
/* harmony export */ createMediaWrapper: function() { return /* reexport safe */ _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__.createMediaWrapper; },
|
|
8742
8744
|
/* harmony export */ css: function() { return /* reexport safe */ _css_js__WEBPACK_IMPORTED_MODULE_9__.css; },
|
|
8743
8745
|
/* harmony export */ cssInline: function() { return /* reexport safe */ _css_js__WEBPACK_IMPORTED_MODULE_9__.cssInline; },
|
|
8744
|
-
/* harmony export */ cssPath: function() { return /* reexport safe */
|
|
8746
|
+
/* harmony export */ cssPath: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.cssPath; },
|
|
8745
8747
|
/* harmony export */ ctrlKey: function() { return /* reexport safe */ _ctrl_key_js__WEBPACK_IMPORTED_MODULE_10__.ctrlKey; },
|
|
8746
8748
|
/* harmony export */ dataBind: function() { return /* reexport safe */ _data_bind_js__WEBPACK_IMPORTED_MODULE_11__.dataBind; },
|
|
8747
8749
|
/* harmony export */ defaultLanguage: function() { return /* reexport safe */ _default_language_js__WEBPACK_IMPORTED_MODULE_12__.defaultLanguage; },
|
|
@@ -8750,34 +8752,36 @@ const getClassName = (obj)=>{
|
|
|
8750
8752
|
/* harmony export */ get: function() { return /* reexport safe */ _get_js__WEBPACK_IMPORTED_MODULE_15__.get; },
|
|
8751
8753
|
/* harmony export */ getAlignClasses: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.getAlignClasses; },
|
|
8752
8754
|
/* harmony export */ getClassName: function() { return /* reexport safe */ _get_class_name_js__WEBPACK_IMPORTED_MODULE_16__.getClassName; },
|
|
8753
|
-
/* harmony export */ getDataTransfer: function() { return /* reexport safe */
|
|
8755
|
+
/* harmony export */ getDataTransfer: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.getDataTransfer; },
|
|
8754
8756
|
/* harmony export */ getHAlign: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.getHAlign; },
|
|
8755
8757
|
/* harmony export */ getMediaWrapper: function() { return /* reexport safe */ _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__.getMediaWrapper; },
|
|
8756
|
-
/* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */
|
|
8758
|
+
/* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.getPropertyDescriptor; },
|
|
8757
8759
|
/* harmony export */ getWrappedMedia: function() { return /* reexport safe */ _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__.getWrappedMedia; },
|
|
8758
|
-
/* harmony export */ getXPathByElement: function() { return /* reexport safe */
|
|
8760
|
+
/* harmony export */ getXPathByElement: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.getXPathByElement; },
|
|
8759
8761
|
/* harmony export */ hAlignElement: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.hAlignElement; },
|
|
8760
8762
|
/* harmony export */ humanSizeToBytes: function() { return /* reexport safe */ _human_size_to_bytes_js__WEBPACK_IMPORTED_MODULE_17__.humanSizeToBytes; },
|
|
8761
|
-
/* harmony export */ inView: function() { return /* reexport safe */
|
|
8763
|
+
/* harmony export */ inView: function() { return /* reexport safe */ _scroll_into_view_js__WEBPACK_IMPORTED_MODULE_25__.inView; },
|
|
8762
8764
|
/* harmony export */ isAtom: function() { return /* reexport safe */ _extend_js__WEBPACK_IMPORTED_MODULE_14__.isAtom; },
|
|
8763
8765
|
/* harmony export */ isUnsafeProtoKey: function() { return /* reexport safe */ _is_unsafe_proto_key_js__WEBPACK_IMPORTED_MODULE_18__.isUnsafeProtoKey; },
|
|
8764
8766
|
/* harmony export */ keepNames: function() { return /* reexport safe */ _get_class_name_js__WEBPACK_IMPORTED_MODULE_16__.keepNames; },
|
|
8765
|
-
/* harmony export */ keys: function() { return /* reexport safe */
|
|
8766
|
-
/* harmony export */ loadImage: function() { return /* reexport safe */
|
|
8767
|
+
/* harmony export */ keys: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.keys; },
|
|
8768
|
+
/* harmony export */ loadImage: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.loadImage; },
|
|
8767
8769
|
/* harmony export */ loadNext: function() { return /* reexport safe */ _append_script_js__WEBPACK_IMPORTED_MODULE_1__.loadNext; },
|
|
8768
8770
|
/* harmony export */ loadNextStyle: function() { return /* reexport safe */ _append_script_js__WEBPACK_IMPORTED_MODULE_1__.loadNextStyle; },
|
|
8769
8771
|
/* harmony export */ markAsAtomic: function() { return /* reexport safe */ _extend_js__WEBPACK_IMPORTED_MODULE_14__.markAsAtomic; },
|
|
8770
8772
|
/* harmony export */ markDeprecated: function() { return /* reexport safe */ _mark_deprecated_js__WEBPACK_IMPORTED_MODULE_19__.markDeprecated; },
|
|
8771
|
-
/* harmony export */ markOwner: function() { return /* reexport safe */
|
|
8772
|
-
/* harmony export */ memorizeExec: function() { return /* reexport safe */
|
|
8773
|
+
/* harmony export */ markOwner: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.markOwner; },
|
|
8774
|
+
/* harmony export */ memorizeExec: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.memorizeExec; },
|
|
8773
8775
|
/* harmony export */ options: function() { return /* reexport safe */ _error_index_js__WEBPACK_IMPORTED_MODULE_13__.options; },
|
|
8774
8776
|
/* harmony export */ parseQuery: function() { return /* reexport safe */ _parse_query_js__WEBPACK_IMPORTED_MODULE_21__.parseQuery; },
|
|
8775
|
-
/* harmony export */
|
|
8776
|
-
/* harmony export */
|
|
8777
|
-
/* harmony export */
|
|
8778
|
-
/* harmony export */
|
|
8779
|
-
/* harmony export */
|
|
8780
|
-
/* harmony export */
|
|
8777
|
+
/* harmony export */ prepareEmbedCode: function() { return /* reexport safe */ _prepare_media_js__WEBPACK_IMPORTED_MODULE_22__.prepareEmbedCode; },
|
|
8778
|
+
/* harmony export */ prepareMedia: function() { return /* reexport safe */ _prepare_media_js__WEBPACK_IMPORTED_MODULE_22__.prepareMedia; },
|
|
8779
|
+
/* harmony export */ previewBox: function() { return /* reexport safe */ _print_js__WEBPACK_IMPORTED_MODULE_23__.previewBox; },
|
|
8780
|
+
/* harmony export */ refs: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.refs; },
|
|
8781
|
+
/* harmony export */ reset: function() { return /* reexport safe */ _reset_js__WEBPACK_IMPORTED_MODULE_24__.reset; },
|
|
8782
|
+
/* harmony export */ resolveElement: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.resolveElement; },
|
|
8783
|
+
/* harmony export */ scrollIntoViewIfNeeded: function() { return /* reexport safe */ _scroll_into_view_js__WEBPACK_IMPORTED_MODULE_25__.scrollIntoViewIfNeeded; },
|
|
8784
|
+
/* harmony export */ set: function() { return /* reexport safe */ _set_js__WEBPACK_IMPORTED_MODULE_27__.set; },
|
|
8781
8785
|
/* harmony export */ wrapMedia: function() { return /* reexport safe */ _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__.wrapMedia; }
|
|
8782
8786
|
/* harmony export */ });
|
|
8783
8787
|
/* harmony import */ var _align_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25726);
|
|
@@ -8802,13 +8806,14 @@ const getClassName = (obj)=>{
|
|
|
8802
8806
|
/* harmony import */ var _mark_deprecated_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(95942);
|
|
8803
8807
|
/* harmony import */ var _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(61477);
|
|
8804
8808
|
/* harmony import */ var _parse_query_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(82501);
|
|
8805
|
-
/* harmony import */ var
|
|
8806
|
-
/* harmony import */ var
|
|
8807
|
-
/* harmony import */ var
|
|
8808
|
-
/* harmony import */ var
|
|
8809
|
-
/* harmony import */ var
|
|
8810
|
-
/* harmony import */ var
|
|
8811
|
-
/* harmony import */ var
|
|
8809
|
+
/* harmony import */ var _prepare_media_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(96437);
|
|
8810
|
+
/* harmony import */ var _print_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(11628);
|
|
8811
|
+
/* harmony import */ var _reset_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(58844);
|
|
8812
|
+
/* harmony import */ var _scroll_into_view_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(26395);
|
|
8813
|
+
/* harmony import */ var _selector_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(76078);
|
|
8814
|
+
/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(3703);
|
|
8815
|
+
/* harmony import */ var _stack_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(50535);
|
|
8816
|
+
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(37790);
|
|
8812
8817
|
/*!
|
|
8813
8818
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
8814
8819
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -8844,6 +8849,7 @@ const getClassName = (obj)=>{
|
|
|
8844
8849
|
|
|
8845
8850
|
|
|
8846
8851
|
|
|
8852
|
+
|
|
8847
8853
|
|
|
8848
8854
|
|
|
8849
8855
|
/***/ }),
|
|
@@ -9009,6 +9015,45 @@ const isWrapper = (node, wrapper)=>_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.
|
|
|
9009
9015
|
/* harmony export */ ]);
|
|
9010
9016
|
|
|
9011
9017
|
|
|
9018
|
+
/***/ }),
|
|
9019
|
+
|
|
9020
|
+
/***/ 96437:
|
|
9021
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9022
|
+
|
|
9023
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9024
|
+
/* harmony export */ prepareEmbedCode: function() { return /* binding */ prepareEmbedCode; },
|
|
9025
|
+
/* harmony export */ prepareMedia: function() { return /* binding */ prepareMedia; }
|
|
9026
|
+
/* harmony export */ });
|
|
9027
|
+
/* harmony import */ var _align_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25726);
|
|
9028
|
+
/* harmony import */ var _media_wrapper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61477);
|
|
9029
|
+
/*!
|
|
9030
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
9031
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
9032
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
9033
|
+
*/
|
|
9034
|
+
|
|
9035
|
+
/**
|
|
9036
|
+
* Puts new media in its wrapper (see `mediaWrappers`) and aligns it with
|
|
9037
|
+
* `mediaDefaultAlign`. Returns the wrapper, or `element` when there is none
|
|
9038
|
+
*/ function prepareMedia(jodit, element) {
|
|
9039
|
+
const media = (0,_media_wrapper_js__WEBPACK_IMPORTED_MODULE_1__.wrapMedia)(jodit, element);
|
|
9040
|
+
const { mediaDefaultAlign } = jodit.o;
|
|
9041
|
+
if (mediaDefaultAlign && mediaDefaultAlign !== 'normal') {
|
|
9042
|
+
(0,_align_js__WEBPACK_IMPORTED_MODULE_0__.hAlignElement)(media, mediaDefaultAlign, (0,_align_js__WEBPACK_IMPORTED_MODULE_0__.getAlignClasses)(jodit, media));
|
|
9043
|
+
}
|
|
9044
|
+
return media;
|
|
9045
|
+
}
|
|
9046
|
+
/**
|
|
9047
|
+
* Embed code that is one element is prepared as media (see `prepareMedia`);
|
|
9048
|
+
* other code is returned as it is
|
|
9049
|
+
*/ function prepareEmbedCode(jodit, code) {
|
|
9050
|
+
const box = jodit.createInside.div();
|
|
9051
|
+
box.innerHTML = code.trim();
|
|
9052
|
+
const element = box.firstElementChild;
|
|
9053
|
+
return element && box.childNodes.length === 1 ? prepareMedia(jodit, element) : code;
|
|
9054
|
+
}
|
|
9055
|
+
|
|
9056
|
+
|
|
9012
9057
|
/***/ }),
|
|
9013
9058
|
|
|
9014
9059
|
/***/ 11628:
|
|
@@ -13304,7 +13349,9 @@ function toggleAttribute(jodit, value, elm, key, dry, mode) {
|
|
|
13304
13349
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(wrapper, fragment);
|
|
13305
13350
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeInsertNode(range, wrapper);
|
|
13306
13351
|
if (style.elementIsBlock) {
|
|
13307
|
-
|
|
13352
|
+
// The wrapped content can bring its own `<br>` (an empty table
|
|
13353
|
+
// cell's), after or inside the temporary `<font>` around the selection
|
|
13354
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(wrapper) && !wrapper.querySelector('br')) {
|
|
13308
13355
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(wrapper, ci.element('br'));
|
|
13309
13356
|
}
|
|
13310
13357
|
}
|
|
@@ -28982,28 +29029,20 @@ class FileBrowserTree extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_0__.UIG
|
|
|
28982
29029
|
/* harmony export */ History: function() { return /* binding */ History; }
|
|
28983
29030
|
/* harmony export */ });
|
|
28984
29031
|
/* harmony import */ var _core_component_view_component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80480);
|
|
28985
|
-
/* harmony import */ var
|
|
28986
|
-
/* harmony import */ var
|
|
28987
|
-
/* harmony import */ var
|
|
28988
|
-
/* harmony import */ var
|
|
28989
|
-
/* harmony import */ var _stack_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(57034);
|
|
29032
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6441);
|
|
29033
|
+
/* harmony import */ var _command_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92643);
|
|
29034
|
+
/* harmony import */ var _snapshot_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52604);
|
|
29035
|
+
/* harmony import */ var _stack_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(57034);
|
|
28990
29036
|
/*!
|
|
28991
29037
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
28992
29038
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
28993
29039
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
28994
|
-
*/
|
|
28995
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
28996
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
28997
|
-
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;
|
|
28998
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
28999
|
-
};
|
|
29000
|
-
|
|
29001
|
-
|
|
29040
|
+
*/
|
|
29002
29041
|
|
|
29003
29042
|
|
|
29004
29043
|
|
|
29005
29044
|
|
|
29006
|
-
|
|
29045
|
+
_config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.history = {
|
|
29007
29046
|
enable: true,
|
|
29008
29047
|
maxHistoryLength: Infinity,
|
|
29009
29048
|
timeout: 1000
|
|
@@ -29017,27 +29056,31 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29017
29056
|
/**
|
|
29018
29057
|
* Return state of the WYSIWYG editor to step back
|
|
29019
29058
|
*/ redo() {
|
|
29059
|
+
this.__processPendingChanges();
|
|
29020
29060
|
if (this.__stack.redo()) {
|
|
29021
29061
|
this.startValue = this.snapshot.make();
|
|
29022
29062
|
this.fireChangeStack();
|
|
29023
29063
|
}
|
|
29024
29064
|
}
|
|
29025
29065
|
canRedo() {
|
|
29026
|
-
return this.__stack.canRedo();
|
|
29066
|
+
return !this.__hasPendingChanges && this.__stack.canRedo();
|
|
29027
29067
|
}
|
|
29028
29068
|
/**
|
|
29029
29069
|
* Return the state of the WYSIWYG editor to step forward
|
|
29030
29070
|
*/ undo() {
|
|
29071
|
+
this.__processPendingChanges();
|
|
29031
29072
|
if (this.__stack.undo()) {
|
|
29032
29073
|
this.startValue = this.snapshot.make();
|
|
29033
29074
|
this.fireChangeStack();
|
|
29034
29075
|
}
|
|
29035
29076
|
}
|
|
29036
29077
|
canUndo() {
|
|
29037
|
-
return this.__stack.canUndo();
|
|
29078
|
+
return this.__hasPendingChanges || this.__stack.canUndo();
|
|
29038
29079
|
}
|
|
29039
29080
|
clear() {
|
|
29040
29081
|
this.startValue = this.snapshot.make();
|
|
29082
|
+
this.async.clearTimeout(this.__timer);
|
|
29083
|
+
this.__hasPendingChanges = false;
|
|
29041
29084
|
this.__stack.clear();
|
|
29042
29085
|
this.fireChangeStack();
|
|
29043
29086
|
}
|
|
@@ -29057,9 +29100,29 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29057
29100
|
this.updateTick += 1;
|
|
29058
29101
|
}
|
|
29059
29102
|
/**
|
|
29060
|
-
* Push new command in stack on some changes
|
|
29103
|
+
* Push new command in stack on some changes. The first change opens a
|
|
29104
|
+
* step, and later ones join it until `history.timeout` has passed,
|
|
29105
|
+
* however close together they come.
|
|
29061
29106
|
*/ onChange() {
|
|
29062
|
-
|
|
29107
|
+
// A transaction is over by the time the step is recorded, so it is
|
|
29108
|
+
// checked now
|
|
29109
|
+
if (this.snapshot.isBlocked || this.__hasPendingChanges) {
|
|
29110
|
+
return;
|
|
29111
|
+
}
|
|
29112
|
+
this.__hasPendingChanges = true;
|
|
29113
|
+
this.__timer = this.async.setTimeout(()=>this.__processPendingChanges(), this.j.o.history.timeout);
|
|
29114
|
+
// With a timeout of 0 the step is already recorded. Otherwise
|
|
29115
|
+
// canUndo and canRedo count it from now
|
|
29116
|
+
if (this.__hasPendingChanges) {
|
|
29117
|
+
this.fireChangeStack();
|
|
29118
|
+
}
|
|
29119
|
+
}
|
|
29120
|
+
/**
|
|
29121
|
+
* Push the open step's changes now
|
|
29122
|
+
*/ __processPendingChanges() {
|
|
29123
|
+
if (this.__hasPendingChanges) {
|
|
29124
|
+
this.__processChanges();
|
|
29125
|
+
}
|
|
29063
29126
|
}
|
|
29064
29127
|
/**
|
|
29065
29128
|
* @internal
|
|
@@ -29067,13 +29130,15 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29067
29130
|
if (this.snapshot.isBlocked || !this.j.o.history.enable) {
|
|
29068
29131
|
return;
|
|
29069
29132
|
}
|
|
29133
|
+
this.async.clearTimeout(this.__timer);
|
|
29134
|
+
this.__hasPendingChanges = false;
|
|
29070
29135
|
this.updateStack();
|
|
29071
29136
|
}
|
|
29072
29137
|
/**
|
|
29073
29138
|
* Update history stack
|
|
29074
29139
|
*/ updateStack(replace = false) {
|
|
29075
29140
|
const newValue = this.snapshot.make();
|
|
29076
|
-
if (
|
|
29141
|
+
if (_snapshot_js__WEBPACK_IMPORTED_MODULE_3__.Snapshot.equal(newValue, this.startValue)) {
|
|
29077
29142
|
return;
|
|
29078
29143
|
}
|
|
29079
29144
|
// Only the selection moved, for example when the selection markers
|
|
@@ -29083,7 +29148,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29083
29148
|
this.startValue = newValue;
|
|
29084
29149
|
return;
|
|
29085
29150
|
}
|
|
29086
|
-
const newCommand = new
|
|
29151
|
+
const newCommand = new _command_js__WEBPACK_IMPORTED_MODULE_2__.Command(this.startValue, newValue, this, this.updateTick);
|
|
29087
29152
|
if (replace) {
|
|
29088
29153
|
const command = this.__stack.current();
|
|
29089
29154
|
if (command && this.updateTick === command.tick) {
|
|
@@ -29109,9 +29174,15 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29109
29174
|
this.snapshot.destruct();
|
|
29110
29175
|
super.destruct();
|
|
29111
29176
|
}
|
|
29112
|
-
constructor(editor, stack = new
|
|
29177
|
+
constructor(editor, stack = new _stack_js__WEBPACK_IMPORTED_MODULE_4__.Stack(editor.o.history.maxHistoryLength), snapshot = new _snapshot_js__WEBPACK_IMPORTED_MODULE_3__.Snapshot(editor)){
|
|
29113
29178
|
super(editor);
|
|
29114
29179
|
this.updateTick = 0;
|
|
29180
|
+
/**
|
|
29181
|
+
* A step is open: changes have come in that are not in the stack yet
|
|
29182
|
+
*/ this.__hasPendingChanges = false;
|
|
29183
|
+
/**
|
|
29184
|
+
* Records the open step `history.timeout` after its first change
|
|
29185
|
+
*/ this.__timer = 0;
|
|
29115
29186
|
this.__stack = stack;
|
|
29116
29187
|
this.snapshot = snapshot;
|
|
29117
29188
|
if (editor.o.history.enable) {
|
|
@@ -29122,6 +29193,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29122
29193
|
this.startValue = this.snapshot.make();
|
|
29123
29194
|
editor.events// save selection
|
|
29124
29195
|
.on('internalChange internalUpdate', ()=>{
|
|
29196
|
+
this.__processPendingChanges();
|
|
29125
29197
|
this.startValue = this.snapshot.make();
|
|
29126
29198
|
}).on(editor.editor, [
|
|
29127
29199
|
'changeSelection',
|
|
@@ -29135,14 +29207,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29135
29207
|
if (this.startValue.html === this.j.getNativeEditorValue()) {
|
|
29136
29208
|
this.startValue = this.snapshot.make();
|
|
29137
29209
|
}
|
|
29138
|
-
}).on(this, 'change.history', this.onChange);
|
|
29210
|
+
}).on(this, 'change.history', ()=>this.onChange());
|
|
29139
29211
|
});
|
|
29140
29212
|
}
|
|
29141
29213
|
}
|
|
29142
29214
|
}
|
|
29143
|
-
__decorate([
|
|
29144
|
-
(0,_core_decorators_debounce_debounce_js__WEBPACK_IMPORTED_MODULE_1__.debounce)()
|
|
29145
|
-
], History.prototype, "onChange", null);
|
|
29146
29215
|
|
|
29147
29216
|
|
|
29148
29217
|
/***/ }),
|
|
@@ -30764,7 +30833,9 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30764
30833
|
const columnsCount = Table.__getColumnsCount(table);
|
|
30765
30834
|
row = create.element('tr');
|
|
30766
30835
|
for(let j = 0; j < columnsCount; j += 1){
|
|
30767
|
-
|
|
30836
|
+
const cell = create.element('td');
|
|
30837
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.append(cell, create.element('br'));
|
|
30838
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.append(row, cell);
|
|
30768
30839
|
}
|
|
30769
30840
|
} else {
|
|
30770
30841
|
row = line.cloneNode(true);
|
|
@@ -30781,6 +30852,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30781
30852
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.each(row, (cell)=>{
|
|
30782
30853
|
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isCell(cell)) {
|
|
30783
30854
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.detach(cell);
|
|
30855
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.append(cell, create.element('br'));
|
|
30784
30856
|
}
|
|
30785
30857
|
});
|
|
30786
30858
|
}
|
|
@@ -30869,6 +30941,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30869
30941
|
const cells = box[i];
|
|
30870
30942
|
if (cells[columnIndex] !== cells[newColumnIndex] || columnIndex === newColumnIndex) {
|
|
30871
30943
|
const cell = this.j.createInside.element('td');
|
|
30944
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.append(cell, this.j.createInside.element('br'));
|
|
30872
30945
|
if (insertAfter) {
|
|
30873
30946
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.after(cells[columnIndex], cell);
|
|
30874
30947
|
} else {
|
|
@@ -31092,7 +31165,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31092
31165
|
Table.__setColumnWidthByDelta(table, first_j, 0, true, __marked);
|
|
31093
31166
|
}
|
|
31094
31167
|
}
|
|
31095
|
-
first.innerHTML = html.join('<br/>');
|
|
31168
|
+
first.innerHTML = html.join('<br/>') || '<br/>';
|
|
31096
31169
|
instance(jodit).addSelection(first);
|
|
31097
31170
|
alreadyMerged.delete(first);
|
|
31098
31171
|
Table.__unmark(__marked);
|
|
@@ -33358,8 +33431,8 @@ _core_ui_index_js__WEBPACK_IMPORTED_MODULE_2__.Icon.set('palette', _palette_svg_
|
|
|
33358
33431
|
const box = (0,_tabs_tabs_js__WEBPACK_IMPORTED_MODULE_3__.TabsWidget)(editor, tabs);
|
|
33359
33432
|
// Marks this popup so its tabs auto-size to their labels (see
|
|
33360
33433
|
// `.jodit-file-selector` in tabs.less) — long localized tab captions are no
|
|
33361
|
-
// longer clipped — while leaving other tab popups (link
|
|
33362
|
-
//
|
|
33434
|
+
// longer clipped — while leaving other tab popups (link …) untouched. The
|
|
33435
|
+
// video popup, which has an Upload tab too, uses it as well.
|
|
33363
33436
|
box.classList.add('jodit-file-selector');
|
|
33364
33437
|
return box;
|
|
33365
33438
|
};
|
|
@@ -34622,6 +34695,10 @@ class backspace extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.Plugi
|
|
|
34622
34695
|
if (!sel.isFocused()) {
|
|
34623
34696
|
sel.focus();
|
|
34624
34697
|
}
|
|
34698
|
+
// Focused with no range, as WebKit leaves it after a click on an embed
|
|
34699
|
+
if (!sel.isInsideArea) {
|
|
34700
|
+
return;
|
|
34701
|
+
}
|
|
34625
34702
|
if ((0,_cases_check_not_collapsed_js__WEBPACK_IMPORTED_MODULE_7__.checkNotCollapsed)(jodit)) {
|
|
34626
34703
|
jodit.e.fire('backSpaceAfterDelete', backspace);
|
|
34627
34704
|
return false;
|
|
@@ -35840,7 +35917,8 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
35840
35917
|
/* harmony import */ var _core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86518);
|
|
35841
35918
|
/* harmony import */ var _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20356);
|
|
35842
35919
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(46776);
|
|
35843
|
-
/* harmony import */ var
|
|
35920
|
+
/* harmony import */ var _helpers_visitor_filters_replace_old_tags_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(80973);
|
|
35921
|
+
/* harmony import */ var _helpers_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(59498);
|
|
35844
35922
|
/*!
|
|
35845
35923
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
35846
35924
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -35859,11 +35937,16 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
35859
35937
|
|
|
35860
35938
|
|
|
35861
35939
|
|
|
35940
|
+
|
|
35862
35941
|
/**
|
|
35863
35942
|
* Clean HTML after removeFormat and insertHorizontalRule command
|
|
35864
35943
|
*/ const TRAILING_BR_BLOCKS = 'p, div, li, td, th, h1, h2, h3, h4, h5, h6, blockquote';
|
|
35865
35944
|
class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plugin {
|
|
35866
|
-
/** @override */ afterInit(
|
|
35945
|
+
/** @override */ afterInit() {
|
|
35946
|
+
// The walker's own `:afterInit` watcher is bound on that very event,
|
|
35947
|
+
// so without this the first pass waited for the first key or click
|
|
35948
|
+
this.onChangeCleanHTML();
|
|
35949
|
+
}
|
|
35867
35950
|
get isEditMode() {
|
|
35868
35951
|
return !(this.j.isInDestruct || !this.j.isEditorMode() || this.j.getReadOnly());
|
|
35869
35952
|
}
|
|
@@ -35879,18 +35962,18 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
35879
35962
|
}
|
|
35880
35963
|
startWalker() {
|
|
35881
35964
|
const { jodit } = this;
|
|
35882
|
-
const allow = (0,
|
|
35883
|
-
const deny = (0,
|
|
35884
|
-
this.walker.on('visit', (node)=>(0,
|
|
35965
|
+
const allow = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.getHash)(this.j.o.cleanHTML.allowTags);
|
|
35966
|
+
const deny = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.getHash)(this.j.o.cleanHTML.denyTags);
|
|
35967
|
+
this.walker.on('visit', (node)=>(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.visitNodeWalker)(jodit, node, allow, deny, this.currentSelectionNode)).on('end', (affected)=>{
|
|
35885
35968
|
this.j.e.fire(affected ? 'internalChange finishedCleanHTMLWorker' : 'finishedCleanHTMLWorker');
|
|
35886
35969
|
});
|
|
35887
35970
|
}
|
|
35888
35971
|
beforeCommand(command) {
|
|
35889
35972
|
if (command.toLowerCase() === 'removeformat') {
|
|
35890
35973
|
if (this.j.s.isCollapsed()) {
|
|
35891
|
-
(0,
|
|
35974
|
+
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.removeFormatForCollapsedSelection)(this.j);
|
|
35892
35975
|
} else {
|
|
35893
|
-
(0,
|
|
35976
|
+
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.removeFormatForSelection)(this.j);
|
|
35894
35977
|
}
|
|
35895
35978
|
return false;
|
|
35896
35979
|
}
|
|
@@ -35916,6 +35999,7 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
35916
35999
|
];
|
|
35917
36000
|
sandBox.innerHTML = data.value;
|
|
35918
36001
|
this.j.e.fire('safeHTML', sandBox);
|
|
36002
|
+
this.__replaceOldTags(sandBox);
|
|
35919
36003
|
data.value = sandBox.innerHTML;
|
|
35920
36004
|
(0,_core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__.safeHTML)(sandBox, {
|
|
35921
36005
|
safeJavaScriptLink: true,
|
|
@@ -35924,6 +36008,20 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
35924
36008
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(iframe);
|
|
35925
36009
|
return false;
|
|
35926
36010
|
}
|
|
36011
|
+
/**
|
|
36012
|
+
* Replace old tags (`<b>` with `<strong>`, `<i>` with `<em>`) in an
|
|
36013
|
+
* assigned value straight away. The walker would get to them only after
|
|
36014
|
+
* every node before them, seconds later on a long document, and until
|
|
36015
|
+
* then Bold does not treat `<b>` as bold, and the swap can move the caret.
|
|
36016
|
+
*/ __replaceOldTags(box) {
|
|
36017
|
+
const { replaceOldTags: list, disableCleanFilter } = this.j.o.cleanHTML;
|
|
36018
|
+
if (!list || (disableCleanFilter === null || disableCleanFilter === void 0 ? void 0 : disableCleanFilter.has('replaceOldTags'))) {
|
|
36019
|
+
return;
|
|
36020
|
+
}
|
|
36021
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.each(box, (node)=>{
|
|
36022
|
+
;(0,_helpers_visitor_filters_replace_old_tags_js__WEBPACK_IMPORTED_MODULE_7__.replaceOldTags)(this.j, node, false);
|
|
36023
|
+
});
|
|
36024
|
+
}
|
|
35927
36025
|
/**
|
|
35928
36026
|
* Collapse a value that holds only a single empty block (e.g.
|
|
35929
36027
|
* `<p><br></p>` left after deleting all content) to an empty string —
|
|
@@ -36002,10 +36100,11 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
36002
36100
|
;(0,_core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__.safeHTML)(sandBox, this.j.o.cleanHTML);
|
|
36003
36101
|
}
|
|
36004
36102
|
/** @override */ beforeDestruct() {
|
|
36103
|
+
this.j.e.off('safeHTML', this.onSafeHTML).off('beforeSetNativeEditorValue', this.onBeforeSetNativeEditorValue).off('afterSetNativeEditorValue', this.onAfterSetNativeEditorValue);
|
|
36005
36104
|
this.walker.destruct();
|
|
36006
36105
|
}
|
|
36007
|
-
constructor(){
|
|
36008
|
-
super(
|
|
36106
|
+
constructor(jodit){
|
|
36107
|
+
super(jodit);
|
|
36009
36108
|
/** @override */ this.buttons = [
|
|
36010
36109
|
{
|
|
36011
36110
|
name: 'eraser',
|
|
@@ -36016,6 +36115,12 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
36016
36115
|
this.walker = new _core_dom_lazy_walker_js__WEBPACK_IMPORTED_MODULE_2__.LazyWalker(this.j.async, {
|
|
36017
36116
|
timeout: this.j.o.cleanHTML.timeout
|
|
36018
36117
|
});
|
|
36118
|
+
// `@watch` binds once the plugin is ready, which is after the initial
|
|
36119
|
+
// value has already gone into the editor. The handlers that keep
|
|
36120
|
+
// markup out of the live tree have to be there from the start, or
|
|
36121
|
+
// event handlers in a textarea's content run before anything
|
|
36122
|
+
// sanitises them.
|
|
36123
|
+
jodit.e.on('safeHTML', this.onSafeHTML).on('beforeSetNativeEditorValue', this.onBeforeSetNativeEditorValue).on('afterSetNativeEditorValue', this.onAfterSetNativeEditorValue);
|
|
36019
36124
|
}
|
|
36020
36125
|
}
|
|
36021
36126
|
__decorate([
|
|
@@ -36034,16 +36139,16 @@ __decorate([
|
|
|
36034
36139
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':beforeCommand')
|
|
36035
36140
|
], cleanHtml.prototype, "beforeCommand", null);
|
|
36036
36141
|
__decorate([
|
|
36037
|
-
|
|
36142
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind
|
|
36038
36143
|
], cleanHtml.prototype, "onAfterSetNativeEditorValue", null);
|
|
36039
36144
|
__decorate([
|
|
36040
|
-
|
|
36145
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind
|
|
36041
36146
|
], cleanHtml.prototype, "onBeforeSetNativeEditorValue", null);
|
|
36042
36147
|
__decorate([
|
|
36043
36148
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':afterGetValueFromEditor')
|
|
36044
36149
|
], cleanHtml.prototype, "onAfterGetValueFromEditor", null);
|
|
36045
36150
|
__decorate([
|
|
36046
|
-
|
|
36151
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind
|
|
36047
36152
|
], cleanHtml.prototype, "onSafeHTML", null);
|
|
36048
36153
|
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('cleanHtml', cleanHtml);
|
|
36049
36154
|
|
|
@@ -36620,10 +36725,33 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
36620
36725
|
}
|
|
36621
36726
|
const tagName = list[oldParent.nodeName.toLowerCase()] || list[oldParent.nodeName];
|
|
36622
36727
|
if (tagName) {
|
|
36623
|
-
|
|
36728
|
+
const restoreSelection = keepSelection(jodit, oldParent);
|
|
36729
|
+
const newParent = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(oldParent, tagName, jodit.createInside, true, false);
|
|
36730
|
+
restoreSelection === null || restoreSelection === void 0 ? void 0 : restoreSelection(newParent);
|
|
36731
|
+
return newParent;
|
|
36624
36732
|
}
|
|
36625
36733
|
return oldParent;
|
|
36626
36734
|
}
|
|
36735
|
+
/**
|
|
36736
|
+
* Moving the children out of an element collapses a selection inside them to
|
|
36737
|
+
* where the element was, so the caret jumps to the start of the text being
|
|
36738
|
+
* typed. Returns a callback that puts the selection back on the same nodes.
|
|
36739
|
+
*
|
|
36740
|
+
* Like `removeEmptyTextNode`, it leaves the selection alone once focus has
|
|
36741
|
+
* left the editor, because selecting would take focus back.
|
|
36742
|
+
*/ function keepSelection(jodit, elm) {
|
|
36743
|
+
const { sel } = jodit.s;
|
|
36744
|
+
if (!(sel === null || sel === void 0 ? void 0 : sel.anchorNode) || !sel.focusNode || !jodit.s.isFocused()) {
|
|
36745
|
+
return null;
|
|
36746
|
+
}
|
|
36747
|
+
const { anchorNode, anchorOffset, focusNode, focusOffset } = sel;
|
|
36748
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isOrContains(elm, anchorNode) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isOrContains(elm, focusNode)) {
|
|
36749
|
+
return null;
|
|
36750
|
+
}
|
|
36751
|
+
return (newElm)=>{
|
|
36752
|
+
sel.setBaseAndExtent(anchorNode === elm ? newElm : anchorNode, anchorOffset, focusNode === elm ? newElm : focusNode, focusOffset);
|
|
36753
|
+
};
|
|
36754
|
+
}
|
|
36627
36755
|
|
|
36628
36756
|
|
|
36629
36757
|
/***/ }),
|
|
@@ -38589,9 +38717,32 @@ const brBoxes = new Set([
|
|
|
38589
38717
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
38590
38718
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
38591
38719
|
*/
|
|
38720
|
+
/**
|
|
38721
|
+
* Moves the cursor out of a block that can't hold the inserted block: before
|
|
38722
|
+
* or after it when the cursor is at its edge, or between its two halves when
|
|
38723
|
+
* the cursor is inside its content. An empty block is removed
|
|
38724
|
+
*/ function moveCursorOutOf(jodit, parent) {
|
|
38725
|
+
var _a;
|
|
38726
|
+
const { s } = jodit;
|
|
38727
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(parent)) {
|
|
38728
|
+
s.setCursorAfter(parent);
|
|
38729
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(parent);
|
|
38730
|
+
return;
|
|
38731
|
+
}
|
|
38732
|
+
if (s.cursorOnTheRight(parent)) {
|
|
38733
|
+
s.setCursorAfter(parent);
|
|
38734
|
+
return;
|
|
38735
|
+
}
|
|
38736
|
+
if (s.cursorOnTheLeft(parent)) {
|
|
38737
|
+
s.setCursorBefore(parent);
|
|
38738
|
+
return;
|
|
38739
|
+
}
|
|
38740
|
+
s.setCursorAfter((_a = s.splitSelection(parent)) !== null && _a !== void 0 ? _a : parent);
|
|
38741
|
+
}
|
|
38592
38742
|
/**
|
|
38593
38743
|
* Checks whether the insertion of an element at the current location is allowed,
|
|
38594
|
-
* if it is not allowed, it deletes an empty block element
|
|
38744
|
+
* if it is not allowed, it deletes an empty block element, moves the cursor
|
|
38745
|
+
* before or after it, or splits it at the cursor
|
|
38595
38746
|
* @internal
|
|
38596
38747
|
*/ function checkBlockNesting(jodit, node) {
|
|
38597
38748
|
var _a, _b;
|
|
@@ -38620,10 +38771,7 @@ const brBoxes = new Set([
|
|
|
38620
38771
|
parent = current;
|
|
38621
38772
|
}
|
|
38622
38773
|
if (parent) {
|
|
38623
|
-
jodit
|
|
38624
|
-
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(parent)) {
|
|
38625
|
-
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(parent);
|
|
38626
|
-
}
|
|
38774
|
+
moveCursorOutOf(jodit, parent);
|
|
38627
38775
|
}
|
|
38628
38776
|
}
|
|
38629
38777
|
}
|
|
@@ -39128,7 +39276,14 @@ function brBefore(start) {
|
|
|
39128
39276
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(link, fake);
|
|
39129
39277
|
} else if (s.cursorOnTheLeft(link, fake)) {
|
|
39130
39278
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(link, fake);
|
|
39279
|
+
} else {
|
|
39280
|
+
return;
|
|
39131
39281
|
}
|
|
39282
|
+
// The block is split at the caret, so the caret leaves the link too:
|
|
39283
|
+
// beside the fake, since Safari mislays a caret inside a removed node
|
|
39284
|
+
const range = s.createRange();
|
|
39285
|
+
range.setStartBefore(fake);
|
|
39286
|
+
s.selectRange(range);
|
|
39132
39287
|
}
|
|
39133
39288
|
}
|
|
39134
39289
|
|
|
@@ -39358,9 +39513,10 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('file', file);
|
|
|
39358
39513
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
39359
39514
|
|
|
39360
39515
|
/* unused harmony export focus */
|
|
39361
|
-
/* harmony import */ var
|
|
39362
|
-
/* harmony import */ var
|
|
39363
|
-
/* harmony import */ var
|
|
39516
|
+
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
39517
|
+
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22732);
|
|
39518
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580);
|
|
39519
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
|
|
39364
39520
|
/*!
|
|
39365
39521
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
39366
39522
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -39368,15 +39524,16 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('file', file);
|
|
|
39368
39524
|
*/
|
|
39369
39525
|
|
|
39370
39526
|
|
|
39527
|
+
|
|
39371
39528
|
/**
|
|
39372
39529
|
* After loading the page into the editor once the focus is set
|
|
39373
|
-
*/
|
|
39530
|
+
*/ _config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.autofocus = false;
|
|
39374
39531
|
/**
|
|
39375
39532
|
* Cursor position after autofocus
|
|
39376
|
-
*/
|
|
39533
|
+
*/ _config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.cursorAfterAutofocus = 'end';
|
|
39377
39534
|
/**
|
|
39378
39535
|
* Save current selection on blur event
|
|
39379
|
-
*/
|
|
39536
|
+
*/ _config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.saveSelectionOnBlur = true;
|
|
39380
39537
|
function focus(editor) {
|
|
39381
39538
|
if (editor.o.saveSelectionOnBlur) {
|
|
39382
39539
|
// A click that brings focus back places the caret itself, and Chrome
|
|
@@ -39408,10 +39565,10 @@ function focus(editor) {
|
|
|
39408
39565
|
let textNode = null;
|
|
39409
39566
|
switch(editor.o.cursorAfterAutofocus){
|
|
39410
39567
|
case 'start':
|
|
39411
|
-
textNode =
|
|
39568
|
+
textNode = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.first(editor.editor, (node)=>_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(node));
|
|
39412
39569
|
break;
|
|
39413
39570
|
case 'end':
|
|
39414
|
-
textNode =
|
|
39571
|
+
textNode = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.last(editor.editor, (node)=>_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(node));
|
|
39415
39572
|
break;
|
|
39416
39573
|
}
|
|
39417
39574
|
if (textNode) {
|
|
@@ -39429,7 +39586,8 @@ function focus(editor) {
|
|
|
39429
39586
|
});
|
|
39430
39587
|
editor.e.on('afterInit afterAddPlace', ()=>{
|
|
39431
39588
|
editor.e.off(editor.editor, 'mousedown.autofocus').on(editor.editor, 'mousedown.autofocus', (e)=>{
|
|
39432
|
-
|
|
39589
|
+
// An empty block takes the caret, but a video, say, can't hold one
|
|
39590
|
+
if (editor.isEditorMode() && e.target && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(e.target) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) && !e.target.childNodes.length) {
|
|
39433
39591
|
if (editor.editor === e.target) {
|
|
39434
39592
|
editor.s.focus();
|
|
39435
39593
|
} else {
|
|
@@ -39439,7 +39597,7 @@ function focus(editor) {
|
|
|
39439
39597
|
});
|
|
39440
39598
|
});
|
|
39441
39599
|
}
|
|
39442
|
-
|
|
39600
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('focus', focus);
|
|
39443
39601
|
|
|
39444
39602
|
|
|
39445
39603
|
/***/ }),
|
|
@@ -40660,18 +40818,29 @@ function hr(editor) {
|
|
|
40660
40818
|
group: 'insert'
|
|
40661
40819
|
});
|
|
40662
40820
|
editor.registerCommand('insertHorizontalRule', ()=>{
|
|
40821
|
+
var _a;
|
|
40663
40822
|
const elm = editor.createInside.element('hr');
|
|
40664
40823
|
editor.s.insertNode(elm, false, false);
|
|
40665
40824
|
const block = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(elm.parentElement, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock, editor.editor);
|
|
40666
|
-
|
|
40825
|
+
// A block that holds other blocks, such as a list item or a table
|
|
40826
|
+
// cell, keeps the line
|
|
40827
|
+
if (block && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(block) && block !== editor.editor && !((_a = editor.o.dtd) === null || _a === void 0 ? void 0 : _a.blockLimits[block.nodeName.toLowerCase()])) {
|
|
40667
40828
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(block, elm);
|
|
40668
40829
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(block);
|
|
40669
40830
|
}
|
|
40670
|
-
|
|
40671
|
-
if (
|
|
40672
|
-
|
|
40673
|
-
|
|
40831
|
+
const next = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.findNotEmptySibling(elm, false);
|
|
40832
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(next)) {
|
|
40833
|
+
editor.s.setCursorIn(next, true);
|
|
40834
|
+
return false;
|
|
40835
|
+
}
|
|
40836
|
+
// In a list item or a table cell the text goes on after the line, as
|
|
40837
|
+
// it does with the browsers' own command
|
|
40838
|
+
if (next || elm.parentNode !== editor.editor && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.findNotEmptySibling(elm, true))) {
|
|
40839
|
+
editor.s.setCursorAfter(elm);
|
|
40840
|
+
return false;
|
|
40674
40841
|
}
|
|
40842
|
+
const p = editor.createInside.element(editor.o.enter);
|
|
40843
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(elm, p);
|
|
40675
40844
|
editor.s.setCursorIn(p);
|
|
40676
40845
|
return false;
|
|
40677
40846
|
});
|
|
@@ -40704,7 +40873,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeBaseUrl = '';
|
|
|
40704
40873
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeTitle = 'Jodit Editor';
|
|
40705
40874
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeDoctype = '<!DOCTYPE html>';
|
|
40706
40875
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeDefaultSrc = 'about:blank';
|
|
40707
|
-
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeStyle = 'html{' + 'margin:0;' + 'padding:0;' + 'min-height: 100%;' + '}' + 'body{' + 'box-sizing:border-box;' + 'font-size:13px;' + 'line-height:1.6;' + 'padding:10px;' + 'margin:0;' + 'background:transparent;' + 'color:#000;' + 'position:' + 'relative;' + 'z-index:2;' + 'user-select:auto;' + 'margin:0px;' + 'overflow:auto;' + 'outline:none;' + '}' + 'table{' + 'width:100%;' + 'border:none;' + 'border-collapse:collapse;' + 'empty-cells: show;' + 'max-width: 100%;' + '}' + 'th,td{' + 'padding: 2px 5px;' + 'border:1px solid #ccc;' + '-webkit-user-select:text;' + '-moz-user-select:text;' + '-ms-user-select:text;' + 'user-select:text' + '}' + 'p{' + 'margin-top:0;' + '}' + '
|
|
40876
|
+
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeStyle = 'html{' + 'margin:0;' + 'padding:0;' + 'min-height: 100%;' + '}' + 'body{' + 'box-sizing:border-box;' + 'font-size:13px;' + 'line-height:1.6;' + 'padding:10px;' + 'margin:0;' + 'background:transparent;' + 'color:#000;' + 'position:' + 'relative;' + 'z-index:2;' + 'user-select:auto;' + 'margin:0px;' + 'overflow:auto;' + 'outline:none;' + '}' + 'table{' + 'width:100%;' + 'border:none;' + 'border-collapse:collapse;' + 'empty-cells: show;' + 'max-width: 100%;' + '}' + 'th,td{' + 'padding: 2px 5px;' + 'border:1px solid #ccc;' + '-webkit-user-select:text;' + '-moz-user-select:text;' + '-ms-user-select:text;' + 'user-select:text' + '}' + 'p{' + 'margin-top:0;' + '}' + '[data-jodit_iframe_wrapper]{' + 'display: block;' + 'user-select: none;' + 'position: relative;' + '}' + '[data-jodit_iframe_wrapper] iframe{' + 'position: relative;' + '}' + '[data-jodit_iframe_wrapper]:after {' + 'position:absolute;' + 'content:"";' + 'z-index:1;' + 'top:0;' + 'left:0;' + 'right: 0;' + 'bottom: 0;' + 'cursor: pointer;' + 'display: block;' + 'background: rgba(0, 0, 0, 0);' + '} ' + '[data-jodit_iframe_wrapper][data-jodit-wrapper_active=true] iframe{' + 'z-index: 2;' + '}' + '.jodit-wysiwyg_image-selected::selection,' + '.jodit-wysiwyg_image-selected *:not(img)::selection{' + 'background:transparent' + '}' + '.jodit_disabled{' + 'user-select: none;' + '-o-user-select: none;' + '-moz-user-select: none;' + '-khtml-user-select: none;' + '-webkit-user-select: none;' + '-ms-user-select: none' + '}';
|
|
40708
40877
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeCSSLinks = [];
|
|
40709
40878
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
40710
40879
|
|
|
@@ -43623,6 +43792,55 @@ const align = {
|
|
|
43623
43792
|
/* harmony import */ var _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(61259);
|
|
43624
43793
|
/* harmony import */ var _modules_toolbar_factory_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21491);
|
|
43625
43794
|
/* harmony import */ var _config_config_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(24526);
|
|
43795
|
+
function _define_property(obj, key, value) {
|
|
43796
|
+
if (key in obj) {
|
|
43797
|
+
Object.defineProperty(obj, key, {
|
|
43798
|
+
value: value,
|
|
43799
|
+
enumerable: true,
|
|
43800
|
+
configurable: true,
|
|
43801
|
+
writable: true
|
|
43802
|
+
});
|
|
43803
|
+
} else obj[key] = value;
|
|
43804
|
+
return obj;
|
|
43805
|
+
}
|
|
43806
|
+
function _object_spread(target) {
|
|
43807
|
+
for(var i = 1; i < arguments.length; i++){
|
|
43808
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
43809
|
+
var ownKeys = Object.keys(source);
|
|
43810
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
43811
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
43812
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
43813
|
+
}));
|
|
43814
|
+
}
|
|
43815
|
+
ownKeys.forEach(function(key) {
|
|
43816
|
+
_define_property(target, key, source[key]);
|
|
43817
|
+
});
|
|
43818
|
+
}
|
|
43819
|
+
return target;
|
|
43820
|
+
}
|
|
43821
|
+
function ownKeys(object, enumerableOnly) {
|
|
43822
|
+
var keys = Object.keys(object);
|
|
43823
|
+
if (Object.getOwnPropertySymbols) {
|
|
43824
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
43825
|
+
if (enumerableOnly) {
|
|
43826
|
+
symbols = symbols.filter(function(sym) {
|
|
43827
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
43828
|
+
});
|
|
43829
|
+
}
|
|
43830
|
+
keys.push.apply(keys, symbols);
|
|
43831
|
+
}
|
|
43832
|
+
return keys;
|
|
43833
|
+
}
|
|
43834
|
+
function _object_spread_props(target, source) {
|
|
43835
|
+
source = source != null ? source : {};
|
|
43836
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
43837
|
+
else {
|
|
43838
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
43839
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
43840
|
+
});
|
|
43841
|
+
}
|
|
43842
|
+
return target;
|
|
43843
|
+
}
|
|
43626
43844
|
/*!
|
|
43627
43845
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
43628
43846
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -43656,10 +43874,29 @@ const align = {
|
|
|
43656
43874
|
// A media wrapper kept in the content gets the media popup
|
|
43657
43875
|
const type = mediaWrapper ? 'jodit-media' : target === null || target === void 0 ? void 0 : target.nodeName.toLowerCase();
|
|
43658
43876
|
if (target && type && this.canShowPopupForType(type)) {
|
|
43659
|
-
|
|
43877
|
+
const isMedia = type === 'jodit-media';
|
|
43878
|
+
// Beside the media in a wrapper kept in the content, which can fill
|
|
43879
|
+
// the line
|
|
43880
|
+
const bound = mediaWrapper && (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.getWrappedMedia)(this.j, mediaWrapper) || target;
|
|
43881
|
+
this.showPopup(()=>this.__bound(bound, isMedia), type, target);
|
|
43660
43882
|
return false;
|
|
43661
43883
|
}
|
|
43662
43884
|
}
|
|
43885
|
+
/**
|
|
43886
|
+
* The box the popup opens beside: the target's, with room for the
|
|
43887
|
+
* resizer's handles when the target gets them, so it doesn't cover them
|
|
43888
|
+
*/ __bound(target, isMedia) {
|
|
43889
|
+
const bound = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.position)(target, this.j);
|
|
43890
|
+
const resizable = this.j.o.allowResizeTags;
|
|
43891
|
+
if (!isMedia && !(resizable && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(target, resizable))) {
|
|
43892
|
+
return bound;
|
|
43893
|
+
}
|
|
43894
|
+
const room = parseInt(this.j.ow.getComputedStyle(this.j.container).getPropertyValue('--jd-resizer-handle-size'), 10) / 2 || 0;
|
|
43895
|
+
return _object_spread_props(_object_spread({}, bound), {
|
|
43896
|
+
top: bound.top - room,
|
|
43897
|
+
height: bound.height + room * 2
|
|
43898
|
+
});
|
|
43899
|
+
}
|
|
43663
43900
|
/**
|
|
43664
43901
|
* Show inline popup with some toolbar
|
|
43665
43902
|
*
|
|
@@ -44994,7 +45231,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
44994
45231
|
height: (_d = jodit.o.video) === null || _d === void 0 ? void 0 : _d.defaultHeight
|
|
44995
45232
|
});
|
|
44996
45233
|
if (embed !== html) {
|
|
44997
|
-
|
|
45234
|
+
const media = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.prepareEmbedCode)(jodit, embed);
|
|
45235
|
+
return (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isString)(media) ? jodit.createInside.fromHTML(media) : media;
|
|
44998
45236
|
}
|
|
44999
45237
|
}
|
|
45000
45238
|
if (jodit.s.isCollapsed()) {
|
|
@@ -45472,10 +45710,27 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaWrappers = {};
|
|
|
45472
45710
|
} else {
|
|
45473
45711
|
return;
|
|
45474
45712
|
}
|
|
45713
|
+
// Selected, as an image is, so Delete and Backspace remove it
|
|
45475
45714
|
editor.e.off(element, 'mousedown.select touchstart.select').on(element, 'mousedown.select touchstart.select', ()=>{
|
|
45476
|
-
editor.s.
|
|
45715
|
+
editor.s.select(element);
|
|
45477
45716
|
});
|
|
45478
45717
|
};
|
|
45718
|
+
// Media in a wrapper kept in the content let clicks through to it, as
|
|
45719
|
+
// jodit-media covers its media, so a click selects the media rather than
|
|
45720
|
+
// playing it. An inline wrapper holds it as an inline-block, unless its
|
|
45721
|
+
// classes or style give it a display of their own
|
|
45722
|
+
const wrappers = Object.values(mediaWrappers);
|
|
45723
|
+
if (wrappers.length) {
|
|
45724
|
+
editor.e.on('afterInit', ()=>{
|
|
45725
|
+
const selectors = (list)=>[
|
|
45726
|
+
...new Set(list)
|
|
45727
|
+
].join(',');
|
|
45728
|
+
const scoped = ({ tag, className })=>`.jodit-wysiwyg ${tag}.${className}`;
|
|
45729
|
+
const inline = selectors(wrappers.filter(({ tag })=>_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_INLINE.test(tag)).map(scoped));
|
|
45730
|
+
const media = selectors(wrappers.flatMap((wrapper)=>mediaBlocks.map((tag)=>`${scoped(wrapper)}>${tag}`)));
|
|
45731
|
+
(0,_core_global_js__WEBPACK_IMPORTED_MODULE_2__.getContainer)(editor, 'media-wrappers', 'style', true).innerHTML = (inline ? `:where(${inline}){display:inline-block}` : '') + `${media}{pointer-events:none}`;
|
|
45732
|
+
});
|
|
45733
|
+
}
|
|
45479
45734
|
if (mediaInFakeBlock || Object.keys(mediaWrappers).length) {
|
|
45480
45735
|
editor.e.on('afterGetValueFromEditor', (data)=>{
|
|
45481
45736
|
const rxp = new RegExp(`<${mediaFakeTag}[^>]+data-${keyFake}[^>]+>([^]+?)</${mediaFakeTag}>`, 'ig');
|
|
@@ -46396,12 +46651,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46396
46651
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
46397
46652
|
/* harmony export */ askInsertTypeDialog: function() { return /* binding */ askInsertTypeDialog; },
|
|
46398
46653
|
/* harmony export */ getAllTypes: function() { return /* binding */ getAllTypes; },
|
|
46399
|
-
/* harmony export */ pasteInsertHtml: function() { return /* binding */ pasteInsertHtml; }
|
|
46654
|
+
/* harmony export */ pasteInsertHtml: function() { return /* binding */ pasteInsertHtml; },
|
|
46655
|
+
/* harmony export */ removeGoogleDocsWrapper: function() { return /* binding */ removeGoogleDocsWrapper; }
|
|
46400
46656
|
/* harmony export */ });
|
|
46401
46657
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
46402
46658
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
46403
|
-
/* harmony import */ var
|
|
46404
|
-
/* harmony import */ var
|
|
46659
|
+
/* harmony import */ var _core_helpers_array_to_array_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4510);
|
|
46660
|
+
/* harmony import */ var _core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(27613);
|
|
46661
|
+
/* harmony import */ var _core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10830);
|
|
46405
46662
|
/*!
|
|
46406
46663
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
46407
46664
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -46410,6 +46667,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46410
46667
|
|
|
46411
46668
|
|
|
46412
46669
|
|
|
46670
|
+
|
|
46413
46671
|
/**
|
|
46414
46672
|
* Remove special HTML comments
|
|
46415
46673
|
* @private
|
|
@@ -46425,6 +46683,21 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46425
46683
|
}
|
|
46426
46684
|
return html;
|
|
46427
46685
|
}
|
|
46686
|
+
/**
|
|
46687
|
+
* Google Docs wraps the copied content in
|
|
46688
|
+
* `<b style="font-weight:normal;" id="docs-internal-guid-…">`. Kept, the
|
|
46689
|
+
* wrapper holds the pasted blocks, and without its style it makes the whole
|
|
46690
|
+
* paste bold
|
|
46691
|
+
* @private
|
|
46692
|
+
*/ function removeGoogleDocsWrapper(html) {
|
|
46693
|
+
if (!/<b\s[^>]*docs-internal-guid-/i.test(html)) {
|
|
46694
|
+
return html;
|
|
46695
|
+
}
|
|
46696
|
+
// An inert document: images don't load and handlers don't run
|
|
46697
|
+
const { body } = new DOMParser().parseFromString(html, 'text/html');
|
|
46698
|
+
(0,_core_helpers_array_to_array_js__WEBPACK_IMPORTED_MODULE_2__.toArray)(body.querySelectorAll('b[id^="docs-internal-guid-"]')).forEach(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap);
|
|
46699
|
+
return body.innerHTML;
|
|
46700
|
+
}
|
|
46428
46701
|
/**
|
|
46429
46702
|
* @private
|
|
46430
46703
|
*/ function isDragEvent(e) {
|
|
@@ -46441,11 +46714,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46441
46714
|
editor.s.insertCursorAtPoint(e.clientX, e.clientY);
|
|
46442
46715
|
}
|
|
46443
46716
|
const result = editor.e.fire('beforePasteInsert', html);
|
|
46444
|
-
if (!(0,
|
|
46717
|
+
if (!(0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isVoid)(result) && ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isString)(result) || (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isNumber)(result) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isNode(result))) {
|
|
46445
46718
|
html = result;
|
|
46446
46719
|
}
|
|
46447
|
-
if ((0,
|
|
46448
|
-
html = removeExtraFragments(html);
|
|
46720
|
+
if ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isString)(html)) {
|
|
46721
|
+
html = removeExtraFragments(removeGoogleDocsWrapper(html));
|
|
46449
46722
|
}
|
|
46450
46723
|
editor.s.insertHTML(html);
|
|
46451
46724
|
}
|
|
@@ -46455,7 +46728,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46455
46728
|
*/ function getAllTypes(dt) {
|
|
46456
46729
|
const types = dt.types;
|
|
46457
46730
|
let types_str = '';
|
|
46458
|
-
if ((0,
|
|
46731
|
+
if ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isArray)(types) || ({}).toString.call(types) === '[object DOMStringList]') {
|
|
46459
46732
|
for(let i = 0; i < types.length; i += 1){
|
|
46460
46733
|
types_str += types[i] + ';';
|
|
46461
46734
|
}
|
|
@@ -46472,7 +46745,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46472
46745
|
return;
|
|
46473
46746
|
}
|
|
46474
46747
|
const dialog = jodit.confirm(`<div style="word-break: normal; white-space: normal">${jodit.i18n(msg)}</div>`, jodit.i18n(title));
|
|
46475
|
-
const buttons = buttonList.map(({ text, value })=>(0,
|
|
46748
|
+
const buttons = buttonList.map(({ text, value })=>(0,_core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
|
|
46476
46749
|
text,
|
|
46477
46750
|
name: text.toLowerCase(),
|
|
46478
46751
|
tabIndex: 0
|
|
@@ -46488,7 +46761,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46488
46761
|
}
|
|
46489
46762
|
jodit.e.fire('afterClosePasteDialog', dialog);
|
|
46490
46763
|
});
|
|
46491
|
-
const cancel = (0,
|
|
46764
|
+
const cancel = (0,_core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
|
|
46492
46765
|
text: 'Cancel',
|
|
46493
46766
|
tabIndex: 0
|
|
46494
46767
|
}).onAction(()=>{
|
|
@@ -46637,7 +46910,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46637
46910
|
this.j.buffer.set(_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, html);
|
|
46638
46911
|
switch(action){
|
|
46639
46912
|
case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_CLEAR_HTML:
|
|
46640
|
-
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.cleanFromWord)(html);
|
|
46913
|
+
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.cleanFromWord)((0,_helpers_js__WEBPACK_IMPORTED_MODULE_7__.removeGoogleDocsWrapper)(html));
|
|
46641
46914
|
break;
|
|
46642
46915
|
case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_ONLY_TEXT:
|
|
46643
46916
|
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.stripTags)(html, this.j.ed, new Set(this.j.o.pasteExcludeStripTags), this.j.o.nl2brInPlainText);
|
|
@@ -47787,7 +48060,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
47787
48060
|
addEventListeners() {
|
|
47788
48061
|
const editor = this.j;
|
|
47789
48062
|
editor.e.off(editor.editor, '.resizer').off(editor.ow, '.resizer').on(editor.editor, 'keydown.resizer', (e)=>{
|
|
47790
|
-
if (this.isShown && e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DELETE && this.element && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'table')) {
|
|
48063
|
+
if (this.isShown && (e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DELETE || e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_BACKSPACE) && this.element && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'table')) {
|
|
47791
48064
|
this.onDelete(e);
|
|
47792
48065
|
}
|
|
47793
48066
|
}).on(editor.ow, 'resize.resizer', this.updateSize).on('resize.resizer', this.updateSize).on([
|
|
@@ -47994,8 +48267,12 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
47994
48267
|
this.j.e.off(element, 'mousedown.select touchstart.select').on(element, 'mousedown.select touchstart.select', ()=>{
|
|
47995
48268
|
this.j.s.select(element);
|
|
47996
48269
|
}).off(element, 'changesize').on(element, 'changesize', ()=>{
|
|
47997
|
-
|
|
47998
|
-
|
|
48270
|
+
// Only a resize sets the embed's size, and as the plain numbers
|
|
48271
|
+
// the attributes take, so a click leaves `width="100%"` alone
|
|
48272
|
+
if (this.isResizeMode) {
|
|
48273
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'width', element.offsetWidth);
|
|
48274
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'height', element.offsetHeight);
|
|
48275
|
+
}
|
|
47999
48276
|
});
|
|
48000
48277
|
}
|
|
48001
48278
|
this.j.e.on(element, 'dragstart', this.hide);
|
|
@@ -49436,15 +49713,23 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49436
49713
|
this.__tableModule.mergeSelected(table);
|
|
49437
49714
|
break;
|
|
49438
49715
|
case 'empty':
|
|
49439
|
-
cells.forEach((td)=>
|
|
49716
|
+
cells.forEach((td)=>{
|
|
49717
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.detach(td);
|
|
49718
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(td, this.j.createInside.element('br'));
|
|
49719
|
+
});
|
|
49440
49720
|
break;
|
|
49441
49721
|
case 'bin':
|
|
49442
|
-
|
|
49722
|
+
this.__removeTable(table);
|
|
49443
49723
|
break;
|
|
49444
49724
|
case 'binrow':
|
|
49445
|
-
|
|
49446
|
-
|
|
49447
|
-
|
|
49725
|
+
{
|
|
49726
|
+
const rows = new Set(cells.map((td)=>td.parentNode));
|
|
49727
|
+
const next = this.__nearestCell(table, cell, (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.toArray)(rows).map((row)=>row.rowIndex), true);
|
|
49728
|
+
rows.forEach((row)=>{
|
|
49729
|
+
this.__tableModule.removeRow(table, row.rowIndex);
|
|
49730
|
+
});
|
|
49731
|
+
next && this.j.s.setCursorIn(next);
|
|
49732
|
+
}
|
|
49448
49733
|
break;
|
|
49449
49734
|
case 'bincolumn':
|
|
49450
49735
|
{
|
|
@@ -49457,9 +49742,11 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49457
49742
|
columnsSet.add(col);
|
|
49458
49743
|
}
|
|
49459
49744
|
});
|
|
49745
|
+
const next = this.__nearestCell(table, cell, columns, false);
|
|
49460
49746
|
columns.sort((a, b)=>b - a).forEach((col)=>{
|
|
49461
49747
|
this.__tableModule.removeColumn(table, col);
|
|
49462
49748
|
});
|
|
49749
|
+
next && this.j.s.setCursorIn(next);
|
|
49463
49750
|
}
|
|
49464
49751
|
break;
|
|
49465
49752
|
case 'addcolumnafter':
|
|
@@ -49471,10 +49758,36 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49471
49758
|
this.__tableModule.appendRow(table, cell.parentNode, command === 'addrowafter');
|
|
49472
49759
|
break;
|
|
49473
49760
|
}
|
|
49761
|
+
if (/^bin(row|column)$/.test(command) && !this.__tableModule.getColumnsCount(table)) {
|
|
49762
|
+
this.__removeTable(table);
|
|
49763
|
+
}
|
|
49474
49764
|
}
|
|
49475
49765
|
return false;
|
|
49476
49766
|
}
|
|
49477
49767
|
}
|
|
49768
|
+
/**
|
|
49769
|
+
* The cell that takes the caret when rows or columns are deleted: the next
|
|
49770
|
+
* one in the same column (or row) that is not deleted, else the previous one
|
|
49771
|
+
*/ __nearestCell(table, cell, deleted, isRow) {
|
|
49772
|
+
const box = this.__tableModule.formalMatrix(table);
|
|
49773
|
+
const [row, column] = this.__tableModule.formalCoordinate(table, cell);
|
|
49774
|
+
const start = isRow ? row : column;
|
|
49775
|
+
const count = isRow ? box.length : box[row].length;
|
|
49776
|
+
const find = (i)=>!deleted.includes(i) && (isRow ? box[i][column] : box[row][i]) || null;
|
|
49777
|
+
for(let i = start + 1; i < count; i += 1){
|
|
49778
|
+
const next = find(i);
|
|
49779
|
+
if (next) {
|
|
49780
|
+
return next;
|
|
49781
|
+
}
|
|
49782
|
+
}
|
|
49783
|
+
for(let i = start - 1; i >= 0; i -= 1){
|
|
49784
|
+
const prev = find(i);
|
|
49785
|
+
if (prev) {
|
|
49786
|
+
return prev;
|
|
49787
|
+
}
|
|
49788
|
+
}
|
|
49789
|
+
return null;
|
|
49790
|
+
}
|
|
49478
49791
|
/**
|
|
49479
49792
|
* Add some align after native command
|
|
49480
49793
|
*/ onAfterCommand(command) {
|
|
@@ -49482,6 +49795,14 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49482
49795
|
this.__tableModule.getAllSelectedCells().forEach((elm)=>(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.alignElement)(command, elm));
|
|
49483
49796
|
}
|
|
49484
49797
|
}
|
|
49798
|
+
/**
|
|
49799
|
+
* Remove the table and put the caret where it stood: at the start of what
|
|
49800
|
+
* follows it, else at the end of what precedes it
|
|
49801
|
+
*/ __removeTable(table) {
|
|
49802
|
+
const parent = table.parentNode, next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.findNotEmptySibling(table, false), prev = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.findNotEmptySibling(table, true);
|
|
49803
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(table);
|
|
49804
|
+
this.j.s.setCursorIn(next || prev || parent, Boolean(next));
|
|
49805
|
+
}
|
|
49485
49806
|
/** @override */ beforeDestruct(jodit) {
|
|
49486
49807
|
this.__onRemoveSelection();
|
|
49487
49808
|
jodit.e.off('.select-cells');
|
|
@@ -53969,7 +54290,7 @@ const WORK_KEYS = new Set([
|
|
|
53969
54290
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(next, first);
|
|
53970
54291
|
editor.s.setCursorBefore(first);
|
|
53971
54292
|
} else {
|
|
53972
|
-
if (key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_TAB) {
|
|
54293
|
+
if (key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_TAB && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(next)) {
|
|
53973
54294
|
editor.s.select(next, true);
|
|
53974
54295
|
} else {
|
|
53975
54296
|
editor.s.setCursorIn(next, key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_RIGHT || key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN);
|
|
@@ -54033,6 +54354,37 @@ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.table = {
|
|
|
54033
54354
|
useExtraClassesOptions: false
|
|
54034
54355
|
};
|
|
54035
54356
|
_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('table', _table_svg_js__WEBPACK_IMPORTED_MODULE_6__["default"]);
|
|
54357
|
+
/**
|
|
54358
|
+
* Elements in `dtd.blockLimits` that hold only rows, cells or list items, so
|
|
54359
|
+
* a table can't go directly inside them
|
|
54360
|
+
*/ const ROW_AND_ITEM_HOLDERS = new Set([
|
|
54361
|
+
'table',
|
|
54362
|
+
'thead',
|
|
54363
|
+
'tbody',
|
|
54364
|
+
'tfoot',
|
|
54365
|
+
'tr',
|
|
54366
|
+
'ul',
|
|
54367
|
+
'ol',
|
|
54368
|
+
'dl'
|
|
54369
|
+
]);
|
|
54370
|
+
/**
|
|
54371
|
+
* The nearest block around the cursor that can hold the new table: an element
|
|
54372
|
+
* in `dtd.blockLimits`, such as a table cell, a list item or a `<div>`. The
|
|
54373
|
+
* cursor's own block of the `enter` tag is a line, not a container, as in the
|
|
54374
|
+
* dtd plugin's `checkBlockNesting`
|
|
54375
|
+
*/ function findTableContainer(editor, current) {
|
|
54376
|
+
const line = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(current, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, editor.editor);
|
|
54377
|
+
const container = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(current, (node)=>{
|
|
54378
|
+
var _a;
|
|
54379
|
+
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) || node === line && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, editor.o.enter)) {
|
|
54380
|
+
return false;
|
|
54381
|
+
}
|
|
54382
|
+
const tag = node.nodeName.toLowerCase();
|
|
54383
|
+
return Boolean((_a = editor.o.dtd) === null || _a === void 0 ? void 0 : _a.blockLimits[tag]) && !ROW_AND_ITEM_HOLDERS.has(tag);
|
|
54384
|
+
}, editor.editor);
|
|
54385
|
+
// With the cursor between two rows, `current` is the next row's text
|
|
54386
|
+
return container && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(container, editor.s.range.startContainer) ? container : null;
|
|
54387
|
+
}
|
|
54036
54388
|
_config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
|
|
54037
54389
|
data: {
|
|
54038
54390
|
cols: 10,
|
|
@@ -54130,7 +54482,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
|
|
|
54130
54482
|
editor.s.removeMarkers();
|
|
54131
54483
|
editor.editor.normalize();
|
|
54132
54484
|
editor.history.snapshot.restore(snapshot);
|
|
54133
|
-
const
|
|
54485
|
+
const current = editor.s.current();
|
|
54486
|
+
// The table goes into the cell, list item or box holding the
|
|
54487
|
+
// cursor, and only a block inside it is split
|
|
54488
|
+
const container = findTableContainer(editor, current);
|
|
54489
|
+
const block = container === current ? null : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.furthest(current, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, container !== null && container !== void 0 ? container : editor.editor);
|
|
54134
54490
|
if (block && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(block)) {
|
|
54135
54491
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.replace(block, table, undefined, false, true);
|
|
54136
54492
|
} else {
|
|
@@ -54152,6 +54508,9 @@ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
|
|
|
54152
54508
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, table);
|
|
54153
54509
|
}
|
|
54154
54510
|
}
|
|
54511
|
+
} else if (container && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(container) && !editor.o.table.splitBlockOnInsertTable) {
|
|
54512
|
+
// With no block to go after, the table goes after the text
|
|
54513
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(container, table);
|
|
54155
54514
|
} else {
|
|
54156
54515
|
editor.s.insertNode(table, false);
|
|
54157
54516
|
}
|
|
@@ -54410,33 +54769,15 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_4__.pluginSystem.add('toolbarNavigation
|
|
|
54410
54769
|
|
|
54411
54770
|
|
|
54412
54771
|
|
|
54413
|
-
// Media the popup inserts go in their wrapper (see `mediaWrappers`), aligned
|
|
54414
|
-
// with `mediaDefaultAlign`
|
|
54415
|
-
function prepareMedia(jodit, element) {
|
|
54416
|
-
const media = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.wrapMedia)(jodit, element);
|
|
54417
|
-
const { mediaDefaultAlign } = jodit.o;
|
|
54418
|
-
if (mediaDefaultAlign && mediaDefaultAlign !== 'normal') {
|
|
54419
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.hAlignElement)(media, mediaDefaultAlign, (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.getAlignClasses)(jodit, media));
|
|
54420
|
-
}
|
|
54421
|
-
return media;
|
|
54422
|
-
}
|
|
54423
54772
|
function insertVideos(data) {
|
|
54424
54773
|
var _a;
|
|
54425
54774
|
(_a = data.files) === null || _a === void 0 ? void 0 : _a.forEach((file)=>{
|
|
54426
|
-
this.s.insertNode(prepareMedia(this, this.createInside.element('video', {
|
|
54775
|
+
this.s.insertNode((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.prepareMedia)(this, this.createInside.element('video', {
|
|
54427
54776
|
controls: '',
|
|
54428
54777
|
src: data.baseurl + file
|
|
54429
54778
|
})));
|
|
54430
54779
|
});
|
|
54431
54780
|
}
|
|
54432
|
-
// Embed code that is one element is prepared as media; other code goes in as
|
|
54433
|
-
// it is
|
|
54434
|
-
function prepareEmbedCode(jodit, code) {
|
|
54435
|
-
const box = jodit.createInside.div();
|
|
54436
|
-
box.innerHTML = code.trim();
|
|
54437
|
-
const element = box.firstElementChild;
|
|
54438
|
-
return element && box.childNodes.length === 1 ? prepareMedia(jodit, element) : code;
|
|
54439
|
-
}
|
|
54440
54781
|
_config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.video = {
|
|
54441
54782
|
parseUrlToVideoEmbed: _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed,
|
|
54442
54783
|
defaultWidth: 400,
|
|
@@ -54474,7 +54815,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.video = {
|
|
|
54474
54815
|
])
|
|
54475
54816
|
]), tabs = [], insertCode = (code)=>{
|
|
54476
54817
|
jodit.s.restore();
|
|
54477
|
-
jodit.s.insertHTML(prepareEmbedCode(jodit, code));
|
|
54818
|
+
jodit.s.insertHTML((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.prepareEmbedCode)(jodit, code));
|
|
54478
54819
|
close();
|
|
54479
54820
|
};
|
|
54480
54821
|
jodit.s.save();
|
|
@@ -54509,7 +54850,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.video = {
|
|
|
54509
54850
|
formCode.onSubmit((data)=>{
|
|
54510
54851
|
insertCode(data.code);
|
|
54511
54852
|
});
|
|
54512
|
-
|
|
54853
|
+
const box = (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_5__.TabsWidget)(jodit, tabs);
|
|
54854
|
+
// Its tabs are sized to their labels, as the file selector's are, since
|
|
54855
|
+
// "Upload" doesn't fit a third of the popup
|
|
54856
|
+
box.classList.add('jodit-file-selector');
|
|
54857
|
+
return box;
|
|
54513
54858
|
},
|
|
54514
54859
|
tags: [
|
|
54515
54860
|
'iframe'
|