jodit-pro 4.17.0 → 4.17.2
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 +3 -3
- package/es2015/jodit.js +168 -12
- package/es2015/jodit.min.js +6 -6
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.css +1 -1
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.js +3 -3
- package/es2018/jodit.min.js +6 -6
- 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 +5 -5
- package/es2021/jodit.js +168 -12
- package/es2021/jodit.min.js +8 -8
- 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 +5 -5
- package/es2021.en/jodit.js +168 -12
- 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 +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +183 -12
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.css +1 -1
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/package.json +1 -1
package/es2015/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.17.
|
|
4
|
+
* Version: v4.17.2
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1791,7 +1791,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1791
1791
|
* ```
|
|
1792
1792
|
* @packageDocumentation
|
|
1793
1793
|
* @module constants
|
|
1794
|
-
*/ const APP_VERSION = "4.17.
|
|
1794
|
+
*/ const APP_VERSION = "4.17.2";
|
|
1795
1795
|
// prettier-ignore
|
|
1796
1796
|
const ES = "es2015";
|
|
1797
1797
|
const IS_ES_MODERN = true;
|
|
@@ -6154,7 +6154,7 @@ function isSmuggledForeignHtml(elm) {
|
|
|
6154
6154
|
}
|
|
6155
6155
|
return /^data:image\/svg/.test(normalized) && DOCUMENT_EMBED_TAGS.has(tagName);
|
|
6156
6156
|
}
|
|
6157
|
-
function sanitizeHTMLElement(elm, { safeJavaScriptLink, removeOnError } = {
|
|
6157
|
+
function sanitizeHTMLElement(elm, { safeJavaScriptLink, removeOnError, removeEventAttributes } = {
|
|
6158
6158
|
safeJavaScriptLink: true,
|
|
6159
6159
|
removeOnError: true
|
|
6160
6160
|
}) {
|
|
@@ -6162,6 +6162,13 @@ function sanitizeHTMLElement(elm, { safeJavaScriptLink, removeOnError } = {
|
|
|
6162
6162
|
return false;
|
|
6163
6163
|
}
|
|
6164
6164
|
let effected = false;
|
|
6165
|
+
// Every `on*` handler, not only `onerror`: the clean-html background
|
|
6166
|
+
// pass calls this directly, and markup that reached the editable area
|
|
6167
|
+
// without `safeHTML` (a drop, a script) kept its handlers otherwise.
|
|
6168
|
+
// See GHSA-jhhp-r3r7-v2cg
|
|
6169
|
+
if (removeEventAttributes && removeAllEventAttributes(elm)) {
|
|
6170
|
+
effected = true;
|
|
6171
|
+
}
|
|
6165
6172
|
if (removeOnError && elm.hasAttribute('onerror')) {
|
|
6166
6173
|
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'onerror', null);
|
|
6167
6174
|
effected = true;
|
|
@@ -10535,20 +10542,83 @@ function _async_to_generator(fn) {
|
|
|
10535
10542
|
}
|
|
10536
10543
|
|
|
10537
10544
|
|
|
10545
|
+
/***/ }),
|
|
10546
|
+
|
|
10547
|
+
/***/ 79505:
|
|
10548
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10549
|
+
|
|
10550
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
10551
|
+
/* harmony export */ composedRanges: function() { return /* binding */ composedRanges; }
|
|
10552
|
+
/* harmony export */ });
|
|
10553
|
+
/* harmony import */ var _helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27613);
|
|
10554
|
+
/*!
|
|
10555
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
10556
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
10557
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
10558
|
+
*/
|
|
10559
|
+
function isInside(node, shadowRoot) {
|
|
10560
|
+
return node === shadowRoot || shadowRoot.contains(node);
|
|
10561
|
+
}
|
|
10562
|
+
function usable(ranges, shadowRoot) {
|
|
10563
|
+
return Array.isArray(ranges) && ranges.length > 0 && ranges.every((range)=>isInside(range.startContainer, shadowRoot));
|
|
10564
|
+
}
|
|
10565
|
+
/**
|
|
10566
|
+
* Ranges of a selection that lies inside the given shadow tree.
|
|
10567
|
+
*
|
|
10568
|
+
* `window.getSelection()` stops at the shadow boundary and reports the host
|
|
10569
|
+
* instead of the node the caret is really in. `getComposedRanges` is the
|
|
10570
|
+
* standard way to ask past that boundary.
|
|
10571
|
+
*
|
|
10572
|
+
* @returns `null` when the browser has no `getComposedRanges`, or when neither
|
|
10573
|
+
* call shape returned ranges that point inside the shadow tree — in which case
|
|
10574
|
+
* there is nothing better to offer than the plain window selection.
|
|
10575
|
+
*/ function composedRanges(selection, shadowRoot) {
|
|
10576
|
+
const getComposedRanges = selection.getComposedRanges;
|
|
10577
|
+
if (!(0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(getComposedRanges)) {
|
|
10578
|
+
return null;
|
|
10579
|
+
}
|
|
10580
|
+
for (const args of [
|
|
10581
|
+
[
|
|
10582
|
+
{
|
|
10583
|
+
shadowRoots: [
|
|
10584
|
+
shadowRoot
|
|
10585
|
+
]
|
|
10586
|
+
}
|
|
10587
|
+
],
|
|
10588
|
+
[
|
|
10589
|
+
shadowRoot
|
|
10590
|
+
]
|
|
10591
|
+
]){
|
|
10592
|
+
let ranges;
|
|
10593
|
+
try {
|
|
10594
|
+
ranges = getComposedRanges.apply(selection, args);
|
|
10595
|
+
} catch (_a) {
|
|
10596
|
+
continue;
|
|
10597
|
+
}
|
|
10598
|
+
if (usable(ranges, shadowRoot)) {
|
|
10599
|
+
return ranges;
|
|
10600
|
+
}
|
|
10601
|
+
}
|
|
10602
|
+
return null;
|
|
10603
|
+
}
|
|
10604
|
+
|
|
10605
|
+
|
|
10538
10606
|
/***/ }),
|
|
10539
10607
|
|
|
10540
10608
|
/***/ 45124:
|
|
10541
10609
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10542
10610
|
|
|
10543
10611
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
10612
|
+
/* harmony export */ composedRanges: function() { return /* reexport safe */ _composed_ranges_js__WEBPACK_IMPORTED_MODULE_2__.composedRanges; },
|
|
10544
10613
|
/* harmony export */ cursorInTheEdgeOfString: function() { return /* binding */ cursorInTheEdgeOfString; },
|
|
10545
10614
|
/* harmony export */ findCorrectCurrentNode: function() { return /* binding */ findCorrectCurrentNode; },
|
|
10546
|
-
/* harmony export */ moveNodeInsideStart: function() { return /* reexport safe */
|
|
10615
|
+
/* harmony export */ moveNodeInsideStart: function() { return /* reexport safe */ _move_node_inside_start_js__WEBPACK_IMPORTED_MODULE_3__.moveNodeInsideStart; }
|
|
10547
10616
|
/* harmony export */ });
|
|
10548
10617
|
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
10549
10618
|
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
10550
|
-
/* harmony import */ var
|
|
10551
|
-
/* harmony import */ var
|
|
10619
|
+
/* harmony import */ var _composed_ranges_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79505);
|
|
10620
|
+
/* harmony import */ var _move_node_inside_start_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26716);
|
|
10621
|
+
/* harmony import */ var _move_the_node_along_the_edge_outward_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43463);
|
|
10552
10622
|
/*!
|
|
10553
10623
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
10554
10624
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -10559,6 +10629,7 @@ function _async_to_generator(fn) {
|
|
|
10559
10629
|
|
|
10560
10630
|
|
|
10561
10631
|
|
|
10632
|
+
|
|
10562
10633
|
/**
|
|
10563
10634
|
* Despite the name, returns `true` when the cursor is NOT at the checked edge
|
|
10564
10635
|
* of the text node: there is significant (non invisible-space) text between
|
|
@@ -10782,11 +10853,87 @@ class Selection {
|
|
|
10782
10853
|
/**
|
|
10783
10854
|
* Return current selection object
|
|
10784
10855
|
*/ get sel() {
|
|
10785
|
-
|
|
10786
|
-
|
|
10856
|
+
const { shadowRoot } = this.j.o;
|
|
10857
|
+
if (shadowRoot) {
|
|
10858
|
+
if ((0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(shadowRoot.getSelection)) {
|
|
10859
|
+
return shadowRoot.getSelection();
|
|
10860
|
+
}
|
|
10861
|
+
const composed = this.__composedSelection(shadowRoot);
|
|
10862
|
+
if (composed) {
|
|
10863
|
+
return composed;
|
|
10864
|
+
}
|
|
10787
10865
|
}
|
|
10788
10866
|
return this.win.getSelection();
|
|
10789
10867
|
}
|
|
10868
|
+
/**
|
|
10869
|
+
* Selection of a shadow tree in a browser without `ShadowRoot.getSelection`.
|
|
10870
|
+
*
|
|
10871
|
+
* `ShadowRoot.getSelection()` is a non-standard method that WebKit never
|
|
10872
|
+
* implemented, and `window.getSelection()` stops at the shadow boundary: for
|
|
10873
|
+
* a caret inside the shadow tree it reports the host, or the document
|
|
10874
|
+
* itself. Everything downstream then works on the wrong tree, which is why
|
|
10875
|
+
* Backspace used to throw `HierarchyRequestError` and Enter did nothing when
|
|
10876
|
+
* the editor lived in a shadow root in Safari.
|
|
10877
|
+
*
|
|
10878
|
+
* The standard replacement is `Selection.getComposedRanges()`, which does
|
|
10879
|
+
* reach into a shadow tree it is given. It hands back `StaticRange`s, and
|
|
10880
|
+
* the editor mutates ranges constantly, so they are turned into live ones.
|
|
10881
|
+
*
|
|
10882
|
+
* Reads are answered from those ranges; everything else, including the
|
|
10883
|
+
* writes (`addRange`, `removeAllRanges`, `setBaseAndExtent`), goes to the
|
|
10884
|
+
* real selection, which does accept nodes inside a shadow tree. Reading is
|
|
10885
|
+
* the only side the browser blocks.
|
|
10886
|
+
*
|
|
10887
|
+
* @returns `null` when the browser offers neither API, so the caller falls
|
|
10888
|
+
* back to the plain window selection.
|
|
10889
|
+
*/ __composedSelection(shadowRoot) {
|
|
10890
|
+
const selection = this.win.getSelection();
|
|
10891
|
+
if (!selection) {
|
|
10892
|
+
return null;
|
|
10893
|
+
}
|
|
10894
|
+
// Firefox has no `ShadowRoot.getSelection` either, but its window
|
|
10895
|
+
// selection does see into a shadow tree. Where the plain selection
|
|
10896
|
+
// already points at the right node there is nothing to work around, and
|
|
10897
|
+
// taking it over would change behaviour that works today.
|
|
10898
|
+
const { anchorNode } = selection;
|
|
10899
|
+
if (anchorNode && _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isOrContains(shadowRoot, anchorNode)) {
|
|
10900
|
+
return null;
|
|
10901
|
+
}
|
|
10902
|
+
const ranges = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_9__.composedRanges)(selection, shadowRoot);
|
|
10903
|
+
if (!ranges) {
|
|
10904
|
+
return null;
|
|
10905
|
+
}
|
|
10906
|
+
const live = ranges.map((staticRange)=>{
|
|
10907
|
+
const range = this.createRange();
|
|
10908
|
+
range.setStart(staticRange.startContainer, staticRange.startOffset);
|
|
10909
|
+
range.setEnd(staticRange.endContainer, staticRange.endOffset);
|
|
10910
|
+
return range;
|
|
10911
|
+
});
|
|
10912
|
+
const first = live[0];
|
|
10913
|
+
const overrides = {
|
|
10914
|
+
rangeCount: live.length,
|
|
10915
|
+
getRangeAt: (index)=>live[index],
|
|
10916
|
+
isCollapsed: live.every((range)=>range.collapsed),
|
|
10917
|
+
// Without these the editor asks the window selection where the
|
|
10918
|
+
// caret is, is told "outside the editable area", and resets the
|
|
10919
|
+
// caret to the start of it — which is the focus loss that shows up
|
|
10920
|
+
// right after a successful Backspace.
|
|
10921
|
+
anchorNode: first ? first.startContainer : null,
|
|
10922
|
+
anchorOffset: first ? first.startOffset : 0,
|
|
10923
|
+
focusNode: first ? first.endContainer : null,
|
|
10924
|
+
focusOffset: first ? first.endOffset : 0,
|
|
10925
|
+
toString: ()=>live.map((range)=>range.toString()).join('')
|
|
10926
|
+
};
|
|
10927
|
+
return new Proxy(selection, {
|
|
10928
|
+
get (target, property) {
|
|
10929
|
+
if ((0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isString)(property) && property in overrides) {
|
|
10930
|
+
return overrides[property];
|
|
10931
|
+
}
|
|
10932
|
+
const value = Reflect.get(target, property, target);
|
|
10933
|
+
return (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(value) ? value.bind(target) : value;
|
|
10934
|
+
}
|
|
10935
|
+
});
|
|
10936
|
+
}
|
|
10790
10937
|
/**
|
|
10791
10938
|
* Return first selected range or create new
|
|
10792
10939
|
*/ get range() {
|
|
@@ -37904,7 +38051,11 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('dragAndDropElemen
|
|
|
37904
38051
|
window,
|
|
37905
38052
|
this.j.ed,
|
|
37906
38053
|
this.j.editor
|
|
37907
|
-
], 'dragstart.DragAndDrop', this.onDragStart)
|
|
38054
|
+
], 'dragstart.DragAndDrop', this.onDragStart)// Always, not only after a `dragstart` seen in this window: a drop
|
|
38055
|
+
// from another window or application never produces one here, and
|
|
38056
|
+
// the browser then inserted its HTML natively, unsanitized. Routed
|
|
38057
|
+
// through the paste plugin instead. See GHSA-jhhp-r3r7-v2cg
|
|
38058
|
+
.on('drop.DragAndDrop', this.onDrop);
|
|
37908
38059
|
}
|
|
37909
38060
|
onDragStart(event) {
|
|
37910
38061
|
let target = event.target;
|
|
@@ -37932,10 +38083,10 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('dragAndDropElemen
|
|
|
37932
38083
|
this.addDragListeners();
|
|
37933
38084
|
}
|
|
37934
38085
|
addDragListeners() {
|
|
37935
|
-
this.j.e.on('dragover', this.onDrag).on(
|
|
38086
|
+
this.j.e.on('dragover', this.onDrag).on(window, 'dragend.DragAndDrop drop.DragAndDrop mouseup.DragAndDrop', this.onDragEnd);
|
|
37936
38087
|
}
|
|
37937
38088
|
removeDragListeners() {
|
|
37938
|
-
this.j.e.off('dragover', this.onDrag).off(
|
|
38089
|
+
this.j.e.off('dragover', this.onDrag).off(window, 'dragend.DragAndDrop drop.DragAndDrop mouseup.DragAndDrop', this.onDragEnd);
|
|
37939
38090
|
}
|
|
37940
38091
|
onDrag(event) {
|
|
37941
38092
|
if (this.draggable) {
|
|
@@ -37997,7 +38148,12 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('dragAndDropElemen
|
|
|
37997
38148
|
fragment = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.dataBind)(this.draggable, 'target');
|
|
37998
38149
|
}
|
|
37999
38150
|
} else if (this.getText(event)) {
|
|
38000
|
-
|
|
38151
|
+
// Dropped markup takes the same sanitizing pass as pasted and
|
|
38152
|
+
// assigned content. See GHSA-jhhp-r3r7-v2cg
|
|
38153
|
+
const box = this.j.createInside.div();
|
|
38154
|
+
box.innerHTML = this.getText(event);
|
|
38155
|
+
this.j.e.fire('safeHTML', box);
|
|
38156
|
+
fragment = box.firstChild !== box.lastChild || !box.firstChild ? box : box.firstChild;
|
|
38001
38157
|
}
|
|
38002
38158
|
return fragment;
|
|
38003
38159
|
}
|