jodit-pro 4.13.16 → 4.13.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015/jodit.css +2 -2
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +3 -3
- package/es2015/jodit.js +153 -19
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +3 -3
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.css +1 -1
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +15 -15
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +3 -3
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.js +1 -1
- package/es2018/plugins/templates/templates.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +2 -2
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +5 -5
- package/es2021/jodit.js +153 -19
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +5 -5
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/style/style.css +1 -1
- package/es2021/plugins/style/style.js +1 -1
- package/es2021/plugins/style/style.min.js +1 -1
- package/es2021/plugins/templates/templates.css +1 -1
- package/es2021/plugins/templates/templates.js +1 -1
- package/es2021/plugins/templates/templates.min.js +1 -1
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +2 -2
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +131 -131
- package/es2021.en/jodit.js +153 -19
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +5 -5
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/style/style.css +1 -1
- package/es2021.en/plugins/style/style.js +1 -1
- package/es2021.en/plugins/style/style.min.js +1 -1
- package/es2021.en/plugins/templates/templates.css +1 -1
- package/es2021.en/plugins/templates/templates.js +1 -1
- package/es2021.en/plugins/templates/templates.min.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +3 -3
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +189 -19
- package/es5/jodit.min.css +3 -3
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.css +1 -1
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/package.json +1 -1
package/es5/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.13.
|
|
4
|
+
* Version: v4.13.18
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -2299,7 +2299,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
2299
2299
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
2300
2300
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
2301
2301
|
}
|
|
2302
|
-
var APP_VERSION = "4.13.
|
|
2302
|
+
var APP_VERSION = "4.13.18";
|
|
2303
2303
|
// prettier-ignore
|
|
2304
2304
|
var ES = "es5";
|
|
2305
2305
|
var IS_ES_MODERN = false;
|
|
@@ -7755,7 +7755,7 @@ var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';
|
|
|
7755
7755
|
// markup into a live node.
|
|
7756
7756
|
var foreign = box.querySelectorAll('math *, svg *');
|
|
7757
7757
|
for(var i = 0; i < foreign.length; i++){
|
|
7758
|
-
if (foreign[i]
|
|
7758
|
+
if (box.contains(foreign[i]) && isSmuggledForeignHtml(foreign[i])) {
|
|
7759
7759
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(foreign[i]);
|
|
7760
7760
|
}
|
|
7761
7761
|
}
|
|
@@ -7881,7 +7881,8 @@ function sanitizeHTMLElement(elm) {
|
|
|
7881
7881
|
// scheme (e.g. `java\tscript:`) — all of which the browser still resolves to
|
|
7882
7882
|
// `javascript:` on click. See GHSA-j839-gqq4-gf9j.
|
|
7883
7883
|
if (safeJavaScriptLink && href && isDangerousUrl(href, tagName)) {
|
|
7884
|
-
|
|
7884
|
+
var protocol = typeof location !== 'undefined' ? location.protocol : 'http:';
|
|
7885
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'href', protocol + '//' + href);
|
|
7885
7886
|
effected = true;
|
|
7886
7887
|
}
|
|
7887
7888
|
if (safeJavaScriptLink) {
|
|
@@ -14724,6 +14725,164 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
14724
14725
|
return '';
|
|
14725
14726
|
}
|
|
14726
14727
|
},
|
|
14728
|
+
{
|
|
14729
|
+
/**
|
|
14730
|
+
* Splits the boundaries of the current selection and wraps every
|
|
14731
|
+
* contiguous run of selected inline content (grouped by block) into a
|
|
14732
|
+
* `<font>` element, returning those wrappers in document order.
|
|
14733
|
+
*
|
|
14734
|
+
* This is a pure-DOM replacement for the old
|
|
14735
|
+
* `nativeExecCommand('fontsize', false, '7')` trick which relied on the
|
|
14736
|
+
* browser to split the selection into `<font size="7">` fragments.
|
|
14737
|
+
*/ key: "__wrapSelectionFragments",
|
|
14738
|
+
value: function __wrapSelectionFragments() {
|
|
14739
|
+
var range = this.range;
|
|
14740
|
+
this.__splitSelectionBoundaries(range);
|
|
14741
|
+
var root = range.commonAncestorContainer;
|
|
14742
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(root)) {
|
|
14743
|
+
root = root.parentNode;
|
|
14744
|
+
}
|
|
14745
|
+
if (!root) {
|
|
14746
|
+
return [];
|
|
14747
|
+
}
|
|
14748
|
+
return this.__wrapSelectionRuns(this.__collectContainedNodes(root, range));
|
|
14749
|
+
}
|
|
14750
|
+
},
|
|
14751
|
+
{
|
|
14752
|
+
/**
|
|
14753
|
+
* Splits the text nodes at both ends of the range so that its boundaries
|
|
14754
|
+
* always fall between nodes. Afterwards every node inside the range is
|
|
14755
|
+
* fully (not partially) selected.
|
|
14756
|
+
*/ key: "__splitSelectionBoundaries",
|
|
14757
|
+
value: function __splitSelectionBoundaries(range) {
|
|
14758
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
14759
|
+
var startContainer = range.startContainer, endContainer = range.endContainer;
|
|
14760
|
+
var startOffset = range.startOffset, endOffset = range.endOffset;
|
|
14761
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(endContainer) && endOffset > 0 && endOffset < ((_b = (_a = endContainer.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0)) {
|
|
14762
|
+
endContainer.splitText(endOffset);
|
|
14763
|
+
endOffset = (_d = (_c = endContainer.nodeValue) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : endOffset;
|
|
14764
|
+
}
|
|
14765
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(startContainer) && startOffset > 0 && startOffset < ((_f = (_e = startContainer.nodeValue) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0)) {
|
|
14766
|
+
var middle = startContainer.splitText(startOffset);
|
|
14767
|
+
// Selection located inside a single text node - the tail we just
|
|
14768
|
+
// cut off is the actual selected fragment.
|
|
14769
|
+
if (startContainer === endContainer) {
|
|
14770
|
+
endContainer = middle;
|
|
14771
|
+
endOffset = (_h = (_g = middle.nodeValue) === null || _g === void 0 ? void 0 : _g.length) !== null && _h !== void 0 ? _h : 0;
|
|
14772
|
+
}
|
|
14773
|
+
startContainer = middle;
|
|
14774
|
+
startOffset = 0;
|
|
14775
|
+
}
|
|
14776
|
+
range.setStart(startContainer, startOffset);
|
|
14777
|
+
range.setEnd(endContainer, endOffset);
|
|
14778
|
+
// Normalize text-edge boundaries (e.g. `(text, 0)` or `(text, length)`)
|
|
14779
|
+
// to the element level so that containment checks based on
|
|
14780
|
+
// `selectNode()` treat a fully selected text node as contained.
|
|
14781
|
+
this.__normalizeRangeBoundary(range, true);
|
|
14782
|
+
this.__normalizeRangeBoundary(range, false);
|
|
14783
|
+
}
|
|
14784
|
+
},
|
|
14785
|
+
{
|
|
14786
|
+
key: "__normalizeRangeBoundary",
|
|
14787
|
+
value: function __normalizeRangeBoundary(range, atStart) {
|
|
14788
|
+
var _a, _b;
|
|
14789
|
+
var container = atStart ? range.startContainer : range.endContainer;
|
|
14790
|
+
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(container)) {
|
|
14791
|
+
return;
|
|
14792
|
+
}
|
|
14793
|
+
var offset = atStart ? range.startOffset : range.endOffset;
|
|
14794
|
+
var length = (_b = (_a = container.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
|
14795
|
+
if (offset === 0) {
|
|
14796
|
+
atStart ? range.setStartBefore(container) : range.setEndBefore(container);
|
|
14797
|
+
} else if (offset >= length) {
|
|
14798
|
+
atStart ? range.setStartAfter(container) : range.setEndAfter(container);
|
|
14799
|
+
}
|
|
14800
|
+
}
|
|
14801
|
+
},
|
|
14802
|
+
{
|
|
14803
|
+
/**
|
|
14804
|
+
* Collects the highest-level nodes that are completely inside the range,
|
|
14805
|
+
* descending into nodes that are only partially selected.
|
|
14806
|
+
*/ key: "__collectContainedNodes",
|
|
14807
|
+
value: function __collectContainedNodes(root, range) {
|
|
14808
|
+
var _this = this;
|
|
14809
|
+
var result = [];
|
|
14810
|
+
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(root.childNodes).forEach(function(child) {
|
|
14811
|
+
if (_this.__isFullyContained(range, child)) {
|
|
14812
|
+
result.push(child);
|
|
14813
|
+
} else if (child.childNodes.length && range.intersectsNode(child)) {
|
|
14814
|
+
var _result;
|
|
14815
|
+
(_result = result).push.apply(_result, _to_consumable_array(_this.__collectContainedNodes(child, range)));
|
|
14816
|
+
}
|
|
14817
|
+
});
|
|
14818
|
+
return result;
|
|
14819
|
+
}
|
|
14820
|
+
},
|
|
14821
|
+
{
|
|
14822
|
+
key: "__isFullyContained",
|
|
14823
|
+
value: function __isFullyContained(range, node) {
|
|
14824
|
+
var nodeRange = this.createRange();
|
|
14825
|
+
nodeRange.selectNode(node);
|
|
14826
|
+
return range.compareBoundaryPoints(Range.START_TO_START, nodeRange) <= 0 && range.compareBoundaryPoints(Range.END_TO_END, nodeRange) >= 0;
|
|
14827
|
+
}
|
|
14828
|
+
},
|
|
14829
|
+
{
|
|
14830
|
+
/**
|
|
14831
|
+
* Wraps every contiguous run of selected inline siblings into a `<font>`
|
|
14832
|
+
* element. Block-level nodes are never wrapped themselves - their inline
|
|
14833
|
+
* content is wrapped instead, keeping every `<font>` inside a single block.
|
|
14834
|
+
*/ key: "__wrapSelectionRuns",
|
|
14835
|
+
value: function __wrapSelectionRuns(nodes) {
|
|
14836
|
+
var _this = this;
|
|
14837
|
+
var fonts = [];
|
|
14838
|
+
var run = [];
|
|
14839
|
+
var flush = function flush() {
|
|
14840
|
+
if (run.length) {
|
|
14841
|
+
fonts.push(_this.__wrapRunInFont(run));
|
|
14842
|
+
run = [];
|
|
14843
|
+
}
|
|
14844
|
+
};
|
|
14845
|
+
nodes.forEach(function(node) {
|
|
14846
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isElement(node) && _this.__isOrContainsBlock(node)) {
|
|
14847
|
+
var _fonts;
|
|
14848
|
+
flush();
|
|
14849
|
+
(_fonts = fonts).push.apply(_fonts, _to_consumable_array(_this.__wrapSelectionRuns((0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(node.childNodes))));
|
|
14850
|
+
} else {
|
|
14851
|
+
if (run.length && run[run.length - 1].parentNode !== node.parentNode) {
|
|
14852
|
+
flush();
|
|
14853
|
+
}
|
|
14854
|
+
run.push(node);
|
|
14855
|
+
}
|
|
14856
|
+
});
|
|
14857
|
+
flush();
|
|
14858
|
+
return fonts;
|
|
14859
|
+
}
|
|
14860
|
+
},
|
|
14861
|
+
{
|
|
14862
|
+
key: "__isOrContainsBlock",
|
|
14863
|
+
value: function __isOrContainsBlock(node) {
|
|
14864
|
+
var _this = this;
|
|
14865
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isBlock(node)) {
|
|
14866
|
+
return true;
|
|
14867
|
+
}
|
|
14868
|
+
return (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(node.childNodes).some(function(child) {
|
|
14869
|
+
return _this.__isOrContainsBlock(child);
|
|
14870
|
+
});
|
|
14871
|
+
}
|
|
14872
|
+
},
|
|
14873
|
+
{
|
|
14874
|
+
key: "__wrapRunInFont",
|
|
14875
|
+
value: function __wrapRunInFont(run) {
|
|
14876
|
+
var _a;
|
|
14877
|
+
var font = this.j.createInside.element('font');
|
|
14878
|
+
var _run = _sliced_to_array(run, 1), first = _run[0];
|
|
14879
|
+
(_a = first.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(font, first);
|
|
14880
|
+
run.forEach(function(node) {
|
|
14881
|
+
return font.appendChild(node);
|
|
14882
|
+
});
|
|
14883
|
+
return font;
|
|
14884
|
+
}
|
|
14885
|
+
},
|
|
14727
14886
|
{
|
|
14728
14887
|
key: "wrapInTagGen",
|
|
14729
14888
|
value: /**
|
|
@@ -14753,20 +14912,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
14753
14912
|
2
|
|
14754
14913
|
];
|
|
14755
14914
|
case 2:
|
|
14756
|
-
|
|
14757
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('*[style*=font-size]', this.area).forEach(function(elm) {
|
|
14758
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size', elm.style.fontSize.toString());
|
|
14759
|
-
elm.style.removeProperty('font-size');
|
|
14760
|
-
});
|
|
14761
|
-
this.j.nativeExecCommand('fontsize', false, '7');
|
|
14762
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('*[data-font-size]', this.area).forEach(function(elm) {
|
|
14763
|
-
var fontSize = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size');
|
|
14764
|
-
if (fontSize) {
|
|
14765
|
-
elm.style.fontSize = fontSize;
|
|
14766
|
-
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size', null);
|
|
14767
|
-
}
|
|
14768
|
-
});
|
|
14769
|
-
elms = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('font[size="7"]', this.area);
|
|
14915
|
+
elms = this.__wrapSelectionFragments();
|
|
14770
14916
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
14771
14917
|
_state.label = 3;
|
|
14772
14918
|
case 3:
|
|
@@ -24049,12 +24195,29 @@ var ViewWithToolbar = /*#__PURE__*/ function(View) {
|
|
|
24049
24195
|
if (!this.o.fullsize && ((0,_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_5__.isString)(this.o.toolbar) || _dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isHTMLElement(this.o.toolbar))) {
|
|
24050
24196
|
return (0,_helpers_utils_selector_js__WEBPACK_IMPORTED_MODULE_6__.resolveElement)(this.o.toolbar, this.o.shadowRoot || this.od);
|
|
24051
24197
|
}
|
|
24052
|
-
this.o.toolbar &&
|
|
24198
|
+
this.o.toolbar && this.__appendToolbarBox();
|
|
24053
24199
|
return this.__defaultToolbarContainer;
|
|
24054
24200
|
}
|
|
24055
24201
|
},
|
|
24056
24202
|
{
|
|
24057
24203
|
/**
|
|
24204
|
+
* Keep the toolbar box as the first child of the container, except that
|
|
24205
|
+
* children flagged with `data-jodit-above-toolbar` (e.g. the `above`
|
|
24206
|
+
* workplace slot used for presence bars and banners) stay above it.
|
|
24207
|
+
*/ key: "__appendToolbarBox",
|
|
24208
|
+
value: function __appendToolbarBox() {
|
|
24209
|
+
var box = this.__defaultToolbarContainer;
|
|
24210
|
+
var anchor = this.container.firstElementChild;
|
|
24211
|
+
while(anchor && anchor !== box && anchor.hasAttribute('data-jodit-above-toolbar')){
|
|
24212
|
+
anchor = anchor.nextElementSibling;
|
|
24213
|
+
}
|
|
24214
|
+
if (anchor !== box) {
|
|
24215
|
+
this.container.insertBefore(box, anchor);
|
|
24216
|
+
}
|
|
24217
|
+
}
|
|
24218
|
+
},
|
|
24219
|
+
{
|
|
24220
|
+
/**
|
|
24058
24221
|
* Change panel container
|
|
24059
24222
|
*/ key: "setPanel",
|
|
24060
24223
|
value: function setPanel(element) {
|
|
@@ -26016,6 +26179,12 @@ var Jodit = Jodit_1 = /*#__PURE__*/ function(ViewWithToolbar) {
|
|
|
26016
26179
|
element.style.display = 'none';
|
|
26017
26180
|
}
|
|
26018
26181
|
var SLOT = 'workplace-slot';
|
|
26182
|
+
// A slot that always stays ABOVE the toolbar (presence bars, banners…).
|
|
26183
|
+
// The `data-jodit-above-toolbar` attribute tells ViewWithToolbar to keep
|
|
26184
|
+
// the toolbar box below it when (re)attaching the toolbar container.
|
|
26185
|
+
var aboveSlot = this.c.div(this.getFullElName(SLOT, 'above'), NOEDIT);
|
|
26186
|
+
aboveSlot.setAttribute('data-jodit-above-toolbar', '');
|
|
26187
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_7__.Dom.appendChildFirst(container, aboveSlot);
|
|
26019
26188
|
var topSlot = this.c.div(this.getFullElName(SLOT, 'top'), NOEDIT);
|
|
26020
26189
|
container.appendChild(topSlot);
|
|
26021
26190
|
var centerSlot = this.c.div(this.getFullElName(SLOT, 'center'), NOEDIT);
|
|
@@ -26048,6 +26217,7 @@ var Jodit = Jodit_1 = /*#__PURE__*/ function(ViewWithToolbar) {
|
|
|
26048
26217
|
container: container,
|
|
26049
26218
|
workplace: workplace,
|
|
26050
26219
|
slots: {
|
|
26220
|
+
above: aboveSlot,
|
|
26051
26221
|
top: topSlot,
|
|
26052
26222
|
bottom: bottomPanel,
|
|
26053
26223
|
center: centerSlot,
|