jodit-pro 4.10.4 → 4.11.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/CHANGELOG.md +74 -1
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +6 -6
- package/es2015/jodit.js +346 -61
- package/es2015/jodit.min.js +9 -9
- 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.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/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 +6 -6
- package/es2018/jodit.min.js +15 -15
- 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/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 +8 -8
- package/es2021/jodit.js +346 -61
- package/es2021/jodit.min.js +21 -21
- 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.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/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 +8 -8
- package/es2021.en/jodit.js +346 -61
- package/es2021.en/jodit.min.js +8 -8
- 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.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/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 +403 -61
- 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.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/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/package.json +1 -1
package/es2021/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.
|
|
4
|
+
* Version: v4.11.2
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1721,7 +1721,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1721
1721
|
* ```
|
|
1722
1722
|
* @packageDocumentation
|
|
1723
1723
|
* @module constants
|
|
1724
|
-
*/ const APP_VERSION = "4.
|
|
1724
|
+
*/ const APP_VERSION = "4.11.2";
|
|
1725
1725
|
// prettier-ignore
|
|
1726
1726
|
const ES = "es2021";
|
|
1727
1727
|
const IS_ES_MODERN = true;
|
|
@@ -5775,17 +5775,54 @@ function normalizeCSS(s) {
|
|
|
5775
5775
|
/**
|
|
5776
5776
|
* Removes dangerous constructs from HTML
|
|
5777
5777
|
*/ function safeHTML(box, options) {
|
|
5778
|
+
var _a;
|
|
5778
5779
|
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(box) && !_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isFragment(box)) {
|
|
5779
5780
|
return;
|
|
5780
5781
|
}
|
|
5781
|
-
|
|
5782
|
-
|
|
5782
|
+
const removeEvents = (_a = options.removeEventAttributes) !== null && _a !== void 0 ? _a : options.removeOnError;
|
|
5783
|
+
if (removeEvents) {
|
|
5784
|
+
removeAllEventAttributes(box);
|
|
5785
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('*', box).forEach((elm)=>removeAllEventAttributes(elm));
|
|
5786
|
+
} else if (options.removeOnError) {
|
|
5787
|
+
sanitizeHTMLElement(box, options);
|
|
5783
5788
|
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('[onerror]', box).forEach((elm)=>sanitizeHTMLElement(elm, options));
|
|
5784
5789
|
}
|
|
5785
5790
|
if (options.safeJavaScriptLink) {
|
|
5786
|
-
sanitizeHTMLElement(box);
|
|
5791
|
+
sanitizeHTMLElement(box, options);
|
|
5787
5792
|
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('a[href^="javascript"]', box).forEach((elm)=>sanitizeHTMLElement(elm, options));
|
|
5788
5793
|
}
|
|
5794
|
+
if (options.safeLinksTarget) {
|
|
5795
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('a[target="_blank"]', box).forEach((elm)=>{
|
|
5796
|
+
const rel = elm.getAttribute('rel') || '';
|
|
5797
|
+
const parts = rel.split(/\s+/).filter(Boolean);
|
|
5798
|
+
if (!parts.includes('noopener')) {
|
|
5799
|
+
parts.push('noopener');
|
|
5800
|
+
}
|
|
5801
|
+
if (!parts.includes('noreferrer')) {
|
|
5802
|
+
parts.push('noreferrer');
|
|
5803
|
+
}
|
|
5804
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'rel', parts.join(' '));
|
|
5805
|
+
});
|
|
5806
|
+
}
|
|
5807
|
+
}
|
|
5808
|
+
/**
|
|
5809
|
+
* Remove all on* event handler attributes from an element
|
|
5810
|
+
*/ function removeAllEventAttributes(elm) {
|
|
5811
|
+
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(elm)) {
|
|
5812
|
+
return false;
|
|
5813
|
+
}
|
|
5814
|
+
let effected = false;
|
|
5815
|
+
const toRemove = [];
|
|
5816
|
+
for(let i = 0; i < elm.attributes.length; i++){
|
|
5817
|
+
if (elm.attributes[i].name.toLowerCase().startsWith('on')) {
|
|
5818
|
+
toRemove.push(elm.attributes[i].name);
|
|
5819
|
+
}
|
|
5820
|
+
}
|
|
5821
|
+
for (const name of toRemove){
|
|
5822
|
+
elm.removeAttribute(name);
|
|
5823
|
+
effected = true;
|
|
5824
|
+
}
|
|
5825
|
+
return effected;
|
|
5789
5826
|
}
|
|
5790
5827
|
function sanitizeHTMLElement(elm, { safeJavaScriptLink, removeOnError } = {
|
|
5791
5828
|
safeJavaScriptLink: true,
|
|
@@ -31587,6 +31624,10 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
31587
31624
|
return false;
|
|
31588
31625
|
}
|
|
31589
31626
|
onSafeHTML(sandBox) {
|
|
31627
|
+
const sanitizer = this.j.o.cleanHTML.sanitizer;
|
|
31628
|
+
if (sanitizer) {
|
|
31629
|
+
sandBox.innerHTML = sanitizer(sandBox.innerHTML);
|
|
31630
|
+
}
|
|
31590
31631
|
(0,_core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__.safeHTML)(sandBox, this.j.o.cleanHTML);
|
|
31591
31632
|
}
|
|
31592
31633
|
/** @override */ beforeDestruct() {
|
|
@@ -31655,10 +31696,19 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.cleanHTML = {
|
|
|
31655
31696
|
b: 'strong'
|
|
31656
31697
|
},
|
|
31657
31698
|
allowTags: false,
|
|
31658
|
-
denyTags: 'script',
|
|
31699
|
+
denyTags: 'script,iframe,object,embed',
|
|
31659
31700
|
useIframeSandbox: false,
|
|
31660
31701
|
removeOnError: true,
|
|
31702
|
+
removeEventAttributes: true,
|
|
31661
31703
|
safeJavaScriptLink: true,
|
|
31704
|
+
safeLinksTarget: true,
|
|
31705
|
+
allowedStyles: false,
|
|
31706
|
+
sanitizer: false,
|
|
31707
|
+
sandboxIframesInContent: true,
|
|
31708
|
+
convertUnsafeEmbeds: [
|
|
31709
|
+
'object',
|
|
31710
|
+
'embed'
|
|
31711
|
+
],
|
|
31662
31712
|
disableCleanFilter: null
|
|
31663
31713
|
};
|
|
31664
31714
|
_config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.eraser = {
|
|
@@ -31915,6 +31965,53 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_0__.Icon.set('eraser', _eraser_svg_js_
|
|
|
31915
31965
|
}
|
|
31916
31966
|
|
|
31917
31967
|
|
|
31968
|
+
/***/ }),
|
|
31969
|
+
|
|
31970
|
+
/***/ 1962:
|
|
31971
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
31972
|
+
|
|
31973
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
31974
|
+
/* harmony export */ convertUnsafeEmbeds: function() { return /* binding */ convertUnsafeEmbeds; }
|
|
31975
|
+
/* harmony export */ });
|
|
31976
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
31977
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
31978
|
+
/*!
|
|
31979
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
31980
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
31981
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
31982
|
+
*/
|
|
31983
|
+
|
|
31984
|
+
/**
|
|
31985
|
+
* Convert `<object>` and `<embed>` elements to safer `<iframe>` elements.
|
|
31986
|
+
* @private
|
|
31987
|
+
*/ function convertUnsafeEmbeds(jodit, nodeElm, hadEffect) {
|
|
31988
|
+
const opt = jodit.o.cleanHTML.convertUnsafeEmbeds;
|
|
31989
|
+
if (!opt || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
31990
|
+
return hadEffect;
|
|
31991
|
+
}
|
|
31992
|
+
const tag = nodeElm.nodeName.toLowerCase();
|
|
31993
|
+
if (!opt.includes(tag)) {
|
|
31994
|
+
return hadEffect;
|
|
31995
|
+
}
|
|
31996
|
+
const elm = nodeElm;
|
|
31997
|
+
const src = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'data') || (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'src') || (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'movie') || '';
|
|
31998
|
+
if (!src) {
|
|
31999
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(elm);
|
|
32000
|
+
return true;
|
|
32001
|
+
}
|
|
32002
|
+
const iframe = jodit.createInside.element('iframe');
|
|
32003
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(iframe, {
|
|
32004
|
+
src,
|
|
32005
|
+
sandbox: '',
|
|
32006
|
+
frameborder: '0',
|
|
32007
|
+
width: (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'width'),
|
|
32008
|
+
height: (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'height')
|
|
32009
|
+
});
|
|
32010
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(elm, iframe, undefined, false, true);
|
|
32011
|
+
return true;
|
|
32012
|
+
}
|
|
32013
|
+
|
|
32014
|
+
|
|
31918
32015
|
/***/ }),
|
|
31919
32016
|
|
|
31920
32017
|
/***/ 39433:
|
|
@@ -31958,20 +32055,28 @@ const TABLE_CONTAINER_TAGS = new Set([
|
|
|
31958
32055
|
__webpack_require__.r(__webpack_exports__);
|
|
31959
32056
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
31960
32057
|
/* harmony export */ allowAttributes: function() { return /* reexport safe */ _allow_attributes_js__WEBPACK_IMPORTED_MODULE_0__.allowAttributes; },
|
|
31961
|
-
/* harmony export */
|
|
31962
|
-
/* harmony export */
|
|
31963
|
-
/* harmony export */
|
|
31964
|
-
/* harmony export */
|
|
31965
|
-
/* harmony export */
|
|
31966
|
-
/* harmony export */
|
|
32058
|
+
/* harmony export */ convertUnsafeEmbeds: function() { return /* reexport safe */ _convert_unsafe_embeds_js__WEBPACK_IMPORTED_MODULE_1__.convertUnsafeEmbeds; },
|
|
32059
|
+
/* harmony export */ fillEmptyParagraph: function() { return /* reexport safe */ _fill_empty_paragraph_js__WEBPACK_IMPORTED_MODULE_2__.fillEmptyParagraph; },
|
|
32060
|
+
/* harmony export */ removeEmptyTextNode: function() { return /* reexport safe */ _remove_empty_text_node_js__WEBPACK_IMPORTED_MODULE_3__.removeEmptyTextNode; },
|
|
32061
|
+
/* harmony export */ removeInvTextNodes: function() { return /* reexport safe */ _remove_inv_text_nodes_js__WEBPACK_IMPORTED_MODULE_4__.removeInvTextNodes; },
|
|
32062
|
+
/* harmony export */ replaceOldTags: function() { return /* reexport safe */ _replace_old_tags_js__WEBPACK_IMPORTED_MODULE_5__.replaceOldTags; },
|
|
32063
|
+
/* harmony export */ safeLinksTarget: function() { return /* reexport safe */ _safe_links_target_js__WEBPACK_IMPORTED_MODULE_6__.safeLinksTarget; },
|
|
32064
|
+
/* harmony export */ sandboxIframesInContent: function() { return /* reexport safe */ _sandbox_iframes_in_content_js__WEBPACK_IMPORTED_MODULE_7__.sandboxIframesInContent; },
|
|
32065
|
+
/* harmony export */ sanitizeAttributes: function() { return /* reexport safe */ _sanitize_attributes_js__WEBPACK_IMPORTED_MODULE_8__.sanitizeAttributes; },
|
|
32066
|
+
/* harmony export */ sanitizeStyles: function() { return /* reexport safe */ _sanitize_styles_js__WEBPACK_IMPORTED_MODULE_9__.sanitizeStyles; },
|
|
32067
|
+
/* harmony export */ tryRemoveNode: function() { return /* reexport safe */ _try_remove_node_js__WEBPACK_IMPORTED_MODULE_10__.tryRemoveNode; }
|
|
31967
32068
|
/* harmony export */ });
|
|
31968
32069
|
/* harmony import */ var _allow_attributes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82558);
|
|
31969
|
-
/* harmony import */ var
|
|
31970
|
-
/* harmony import */ var
|
|
31971
|
-
/* harmony import */ var
|
|
31972
|
-
/* harmony import */ var
|
|
31973
|
-
/* harmony import */ var
|
|
31974
|
-
/* harmony import */ var
|
|
32070
|
+
/* harmony import */ var _convert_unsafe_embeds_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1962);
|
|
32071
|
+
/* harmony import */ var _fill_empty_paragraph_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39433);
|
|
32072
|
+
/* harmony import */ var _remove_empty_text_node_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53392);
|
|
32073
|
+
/* harmony import */ var _remove_inv_text_nodes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25813);
|
|
32074
|
+
/* harmony import */ var _replace_old_tags_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80973);
|
|
32075
|
+
/* harmony import */ var _safe_links_target_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(95614);
|
|
32076
|
+
/* harmony import */ var _sandbox_iframes_in_content_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85978);
|
|
32077
|
+
/* harmony import */ var _sanitize_attributes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(384);
|
|
32078
|
+
/* harmony import */ var _sanitize_styles_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(15583);
|
|
32079
|
+
/* harmony import */ var _try_remove_node_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(28800);
|
|
31975
32080
|
/*!
|
|
31976
32081
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
31977
32082
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -31989,6 +32094,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31989
32094
|
|
|
31990
32095
|
|
|
31991
32096
|
|
|
32097
|
+
|
|
32098
|
+
|
|
32099
|
+
|
|
32100
|
+
|
|
31992
32101
|
/***/ }),
|
|
31993
32102
|
|
|
31994
32103
|
/***/ 53392:
|
|
@@ -32096,6 +32205,84 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
32096
32205
|
}
|
|
32097
32206
|
|
|
32098
32207
|
|
|
32208
|
+
/***/ }),
|
|
32209
|
+
|
|
32210
|
+
/***/ 95614:
|
|
32211
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
32212
|
+
|
|
32213
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32214
|
+
/* harmony export */ safeLinksTarget: function() { return /* binding */ safeLinksTarget; }
|
|
32215
|
+
/* harmony export */ });
|
|
32216
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
32217
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
32218
|
+
/*!
|
|
32219
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
32220
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
32221
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
32222
|
+
*/
|
|
32223
|
+
|
|
32224
|
+
/**
|
|
32225
|
+
* Automatically add `rel="noopener noreferrer"` to links with `target="_blank"`
|
|
32226
|
+
* @private
|
|
32227
|
+
*/ function safeLinksTarget(jodit, nodeElm, hadEffect) {
|
|
32228
|
+
if (!jodit.o.cleanHTML.safeLinksTarget || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) || nodeElm.nodeName !== 'A') {
|
|
32229
|
+
return hadEffect;
|
|
32230
|
+
}
|
|
32231
|
+
const elm = nodeElm;
|
|
32232
|
+
if ((0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'target') !== '_blank') {
|
|
32233
|
+
return hadEffect;
|
|
32234
|
+
}
|
|
32235
|
+
const rel = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'rel') || '';
|
|
32236
|
+
const parts = rel.split(/\s+/).filter(Boolean);
|
|
32237
|
+
let changed = false;
|
|
32238
|
+
if (!parts.includes('noopener')) {
|
|
32239
|
+
parts.push('noopener');
|
|
32240
|
+
changed = true;
|
|
32241
|
+
}
|
|
32242
|
+
if (!parts.includes('noreferrer')) {
|
|
32243
|
+
parts.push('noreferrer');
|
|
32244
|
+
changed = true;
|
|
32245
|
+
}
|
|
32246
|
+
if (changed) {
|
|
32247
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'rel', parts.join(' '));
|
|
32248
|
+
return true;
|
|
32249
|
+
}
|
|
32250
|
+
return hadEffect;
|
|
32251
|
+
}
|
|
32252
|
+
|
|
32253
|
+
|
|
32254
|
+
/***/ }),
|
|
32255
|
+
|
|
32256
|
+
/***/ 85978:
|
|
32257
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
32258
|
+
|
|
32259
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32260
|
+
/* harmony export */ sandboxIframesInContent: function() { return /* binding */ sandboxIframesInContent; }
|
|
32261
|
+
/* harmony export */ });
|
|
32262
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
32263
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
32264
|
+
/*!
|
|
32265
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
32266
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
32267
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
32268
|
+
*/
|
|
32269
|
+
|
|
32270
|
+
/**
|
|
32271
|
+
* Add `sandbox=""` attribute to all `<iframe>` elements in the editor content
|
|
32272
|
+
* @private
|
|
32273
|
+
*/ function sandboxIframesInContent(jodit, nodeElm, hadEffect) {
|
|
32274
|
+
if (!jodit.o.cleanHTML.sandboxIframesInContent || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) || nodeElm.nodeName !== 'IFRAME') {
|
|
32275
|
+
return hadEffect;
|
|
32276
|
+
}
|
|
32277
|
+
const elm = nodeElm;
|
|
32278
|
+
if (!elm.hasAttribute('sandbox')) {
|
|
32279
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'sandbox', '');
|
|
32280
|
+
return true;
|
|
32281
|
+
}
|
|
32282
|
+
return hadEffect;
|
|
32283
|
+
}
|
|
32284
|
+
|
|
32285
|
+
|
|
32099
32286
|
/***/ }),
|
|
32100
32287
|
|
|
32101
32288
|
/***/ 384:
|
|
@@ -32115,9 +32302,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
32115
32302
|
/**
|
|
32116
32303
|
* @private
|
|
32117
32304
|
*/ function sanitizeAttributes(jodit, nodeElm, hadEffect) {
|
|
32118
|
-
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)
|
|
32119
|
-
|
|
32120
|
-
|
|
32305
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
32306
|
+
return hadEffect;
|
|
32307
|
+
}
|
|
32308
|
+
const opts = jodit.options.cleanHTML;
|
|
32309
|
+
if ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.sanitizeHTMLElement)(nodeElm, {
|
|
32310
|
+
safeJavaScriptLink: opts.safeJavaScriptLink,
|
|
32311
|
+
removeOnError: opts.removeOnError,
|
|
32312
|
+
removeEventAttributes: opts.removeEventAttributes,
|
|
32313
|
+
safeLinksTarget: opts.safeLinksTarget
|
|
32121
32314
|
})) {
|
|
32122
32315
|
return true;
|
|
32123
32316
|
}
|
|
@@ -32125,6 +32318,81 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
32125
32318
|
}
|
|
32126
32319
|
|
|
32127
32320
|
|
|
32321
|
+
/***/ }),
|
|
32322
|
+
|
|
32323
|
+
/***/ 15583:
|
|
32324
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
32325
|
+
|
|
32326
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32327
|
+
/* harmony export */ sanitizeStyles: function() { return /* binding */ sanitizeStyles; }
|
|
32328
|
+
/* harmony export */ });
|
|
32329
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
32330
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
32331
|
+
/*!
|
|
32332
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
32333
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
32334
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
32335
|
+
*/
|
|
32336
|
+
|
|
32337
|
+
/**
|
|
32338
|
+
* Filter CSS properties in style attributes based on allowedStyles whitelist
|
|
32339
|
+
* @private
|
|
32340
|
+
*/ function sanitizeStyles(jodit, nodeElm, hadEffect) {
|
|
32341
|
+
const allowedStyles = jodit.o.cleanHTML.allowedStyles;
|
|
32342
|
+
if (!allowedStyles || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
32343
|
+
return hadEffect;
|
|
32344
|
+
}
|
|
32345
|
+
const elm = nodeElm;
|
|
32346
|
+
const style = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'style');
|
|
32347
|
+
if (!style) {
|
|
32348
|
+
return hadEffect;
|
|
32349
|
+
}
|
|
32350
|
+
const tagName = nodeElm.nodeName.toLowerCase();
|
|
32351
|
+
const allowed = getAllowedPropsForTag(tagName, allowedStyles);
|
|
32352
|
+
if (!allowed) {
|
|
32353
|
+
return hadEffect;
|
|
32354
|
+
}
|
|
32355
|
+
const filtered = filterStyleProperties(style, allowed);
|
|
32356
|
+
if (filtered !== style) {
|
|
32357
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'style', filtered || null);
|
|
32358
|
+
return true;
|
|
32359
|
+
}
|
|
32360
|
+
return hadEffect;
|
|
32361
|
+
}
|
|
32362
|
+
function getAllowedPropsForTag(tagName, allowedStyles) {
|
|
32363
|
+
const tagSpecific = allowedStyles[tagName];
|
|
32364
|
+
const global = allowedStyles['*'];
|
|
32365
|
+
if (!tagSpecific && !global) {
|
|
32366
|
+
return null;
|
|
32367
|
+
}
|
|
32368
|
+
const set = new Set();
|
|
32369
|
+
if (global) {
|
|
32370
|
+
for (const prop of global){
|
|
32371
|
+
set.add(prop.toLowerCase());
|
|
32372
|
+
}
|
|
32373
|
+
}
|
|
32374
|
+
if (tagSpecific) {
|
|
32375
|
+
for (const prop of tagSpecific){
|
|
32376
|
+
set.add(prop.toLowerCase());
|
|
32377
|
+
}
|
|
32378
|
+
}
|
|
32379
|
+
return set;
|
|
32380
|
+
}
|
|
32381
|
+
function filterStyleProperties(style, allowed) {
|
|
32382
|
+
return style.split(';').map((s)=>s.trim()).filter((s)=>{
|
|
32383
|
+
if (!s) {
|
|
32384
|
+
return false;
|
|
32385
|
+
}
|
|
32386
|
+
const colonIdx = s.indexOf(':');
|
|
32387
|
+
if (colonIdx === -1) {
|
|
32388
|
+
return false;
|
|
32389
|
+
}
|
|
32390
|
+
const prop = s.substring(0, colonIdx).trim().toLowerCase();
|
|
32391
|
+
return allowed.has(prop);
|
|
32392
|
+
}).join('; ').replace(/;\s*$/, '');
|
|
32393
|
+
}
|
|
32394
|
+
|
|
32395
|
+
|
|
32128
32396
|
/***/ }),
|
|
32129
32397
|
|
|
32130
32398
|
/***/ 28800:
|
|
@@ -33579,7 +33847,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('dragAndDropElemen
|
|
|
33579
33847
|
'src'
|
|
33580
33848
|
];
|
|
33581
33849
|
fragment = this.j.createInside.element(tagName);
|
|
33582
|
-
|
|
33850
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(fragment, field, (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.draggable, 'data-src') || (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.draggable, 'src') || '');
|
|
33583
33851
|
if (tagName === 'a') {
|
|
33584
33852
|
fragment.textContent = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(fragment, field) || '';
|
|
33585
33853
|
}
|
|
@@ -34176,13 +34444,15 @@ function brBefore(start) {
|
|
|
34176
34444
|
/* harmony export */ insertParagraph: function() { return /* binding */ insertParagraph; }
|
|
34177
34445
|
/* harmony export */ });
|
|
34178
34446
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
34179
|
-
/* harmony import */ var
|
|
34447
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
34448
|
+
/* harmony import */ var _core_helpers_utils_scroll_into_view_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26395);
|
|
34180
34449
|
/*!
|
|
34181
34450
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
34182
34451
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
34183
34452
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
34184
34453
|
*/
|
|
34185
34454
|
|
|
34455
|
+
|
|
34186
34456
|
/**
|
|
34187
34457
|
* Insert default paragraph
|
|
34188
34458
|
* @private
|
|
@@ -34192,11 +34462,11 @@ function brBefore(start) {
|
|
|
34192
34462
|
p.appendChild(br);
|
|
34193
34463
|
}
|
|
34194
34464
|
if (style && style.cssText) {
|
|
34195
|
-
|
|
34465
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(p, 'style', style.cssText);
|
|
34196
34466
|
}
|
|
34197
34467
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(fake, p);
|
|
34198
34468
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(isBR ? p : br, fake);
|
|
34199
|
-
(0,
|
|
34469
|
+
(0,_core_helpers_utils_scroll_into_view_js__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(p, editor.editor, editor.ed);
|
|
34200
34470
|
return p;
|
|
34201
34471
|
}
|
|
34202
34472
|
|
|
@@ -34373,8 +34643,9 @@ function brBefore(start) {
|
|
|
34373
34643
|
/* unused harmony export file */
|
|
34374
34644
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
34375
34645
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(580);
|
|
34376
|
-
/* harmony import */ var
|
|
34377
|
-
/* harmony import */ var
|
|
34646
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29960);
|
|
34647
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
|
|
34648
|
+
/* harmony import */ var _modules_widget_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92762);
|
|
34378
34649
|
/*!
|
|
34379
34650
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
34380
34651
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -34383,7 +34654,8 @@ function brBefore(start) {
|
|
|
34383
34654
|
|
|
34384
34655
|
|
|
34385
34656
|
|
|
34386
|
-
|
|
34657
|
+
|
|
34658
|
+
_config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.file = {
|
|
34387
34659
|
popup: (editor, current, close)=>{
|
|
34388
34660
|
const insert = (url, title = '')=>{
|
|
34389
34661
|
editor.s.insertNode(editor.createInside.fromHTML(`<a href="${url}" title="${title}">${title || url}</a>`));
|
|
@@ -34392,7 +34664,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.file = {
|
|
|
34392
34664
|
if (current && (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(current, 'a') || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(current, 'a', editor.editor))) {
|
|
34393
34665
|
sourceAnchor = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(current, 'a') ? current : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(current, 'a', editor.editor);
|
|
34394
34666
|
}
|
|
34395
|
-
return (0,
|
|
34667
|
+
return (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_4__.FileSelectorWidget)(editor, {
|
|
34396
34668
|
filebrowser: (data)=>{
|
|
34397
34669
|
data.files && data.files.forEach((file)=>insert(data.baseurl + file));
|
|
34398
34670
|
close();
|
|
@@ -34400,8 +34672,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.file = {
|
|
|
34400
34672
|
upload: true,
|
|
34401
34673
|
url: (url, text)=>{
|
|
34402
34674
|
if (sourceAnchor) {
|
|
34403
|
-
|
|
34404
|
-
|
|
34675
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(sourceAnchor, 'href', url);
|
|
34676
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(sourceAnchor, 'title', text);
|
|
34405
34677
|
} else {
|
|
34406
34678
|
insert(url, text);
|
|
34407
34679
|
}
|
|
@@ -35263,8 +35535,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
35263
35535
|
if (opt.iframeCSSLinks) {
|
|
35264
35536
|
opt.iframeCSSLinks.forEach((href)=>{
|
|
35265
35537
|
const link = doc.createElement('link');
|
|
35266
|
-
|
|
35267
|
-
|
|
35538
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(link, 'rel', 'stylesheet');
|
|
35539
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(link, 'href', href);
|
|
35268
35540
|
doc.head && doc.head.appendChild(link);
|
|
35269
35541
|
});
|
|
35270
35542
|
}
|
|
@@ -35281,11 +35553,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
35281
35553
|
iframe.style.display = 'block';
|
|
35282
35554
|
iframe.src = 'about:blank';
|
|
35283
35555
|
iframe.className = 'jodit-wysiwyg_iframe';
|
|
35284
|
-
|
|
35285
|
-
|
|
35286
|
-
|
|
35556
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(iframe, {
|
|
35557
|
+
allowtransparency: 'true',
|
|
35558
|
+
tabindex: opt.tabIndex.toString(),
|
|
35559
|
+
frameborder: '0'
|
|
35560
|
+
});
|
|
35287
35561
|
if (opt.iframeSandbox != null) {
|
|
35288
|
-
|
|
35562
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(iframe, 'sandbox', opt.iframeSandbox);
|
|
35289
35563
|
}
|
|
35290
35564
|
editor.workplace.appendChild(iframe);
|
|
35291
35565
|
editor.iframe = iframe;
|
|
@@ -36952,6 +37226,10 @@ UIImagePositionTab = __decorate([
|
|
|
36952
37226
|
}
|
|
36953
37227
|
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'href', imageLink);
|
|
36954
37228
|
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'target', imageLinkOpenInNewTab ? '_blank' : null);
|
|
37229
|
+
if (!imageLinkOpenInNewTab) {
|
|
37230
|
+
const relParts = ((0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'rel') || '').split(/\s+/).filter((p)=>p && p !== 'noopener' && p !== 'noreferrer');
|
|
37231
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'rel', relParts.length ? relParts.join(' ') : null);
|
|
37232
|
+
}
|
|
36955
37233
|
} else {
|
|
36956
37234
|
if (link && link.parentNode) {
|
|
36957
37235
|
link.parentNode.replaceChild(image, link);
|
|
@@ -37056,10 +37334,11 @@ UIImagePositionTab = __decorate([
|
|
|
37056
37334
|
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22732);
|
|
37057
37335
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(580);
|
|
37058
37336
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21537);
|
|
37059
|
-
/* harmony import */ var
|
|
37060
|
-
/* harmony import */ var
|
|
37061
|
-
/* harmony import */ var
|
|
37062
|
-
/* harmony import */ var
|
|
37337
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29960);
|
|
37338
|
+
/* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12153);
|
|
37339
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6441);
|
|
37340
|
+
/* harmony import */ var _modules_widget_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92762);
|
|
37341
|
+
/* harmony import */ var _image_svg_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(25179);
|
|
37063
37342
|
/*!
|
|
37064
37343
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
37065
37344
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -37071,15 +37350,16 @@ UIImagePositionTab = __decorate([
|
|
|
37071
37350
|
|
|
37072
37351
|
|
|
37073
37352
|
|
|
37074
|
-
|
|
37075
|
-
|
|
37353
|
+
|
|
37354
|
+
_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('image', _image_svg_js__WEBPACK_IMPORTED_MODULE_7__["default"]);
|
|
37355
|
+
_config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.image = {
|
|
37076
37356
|
popup: (editor, current, close)=>{
|
|
37077
37357
|
let sourceImage = null;
|
|
37078
37358
|
if (current && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isText(current) && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(current) && (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(current, 'img') || (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.$$)('img', current).length)) {
|
|
37079
37359
|
sourceImage = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(current, 'img') ? current : (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.$$)('img', current)[0];
|
|
37080
37360
|
}
|
|
37081
37361
|
editor.s.save();
|
|
37082
|
-
return (0,
|
|
37362
|
+
return (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_6__.FileSelectorWidget)(editor, {
|
|
37083
37363
|
filebrowser: (data)=>{
|
|
37084
37364
|
editor.s.restore();
|
|
37085
37365
|
data.files && data.files.forEach((file)=>editor.s.insertImage(data.baseurl + file, null, editor.o.imageDefaultWidth));
|
|
@@ -37092,8 +37372,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.image = {
|
|
|
37092
37372
|
url = '//' + url;
|
|
37093
37373
|
}
|
|
37094
37374
|
const image = sourceImage || editor.createInside.element('img');
|
|
37095
|
-
|
|
37096
|
-
|
|
37375
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__.attr)(image, 'src', url);
|
|
37376
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__.attr)(image, 'alt', text);
|
|
37097
37377
|
if (!sourceImage) {
|
|
37098
37378
|
await editor.s.insertImage(image, null, editor.o.imageDefaultWidth);
|
|
37099
37379
|
}
|
|
@@ -39101,7 +39381,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
39101
39381
|
}
|
|
39102
39382
|
if (jodit.s.isCollapsed()) {
|
|
39103
39383
|
const a = jodit.createInside.element('a');
|
|
39104
|
-
|
|
39384
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'href', html);
|
|
39105
39385
|
a.textContent = html;
|
|
39106
39386
|
jodit.e.fire('applyLink', jodit, a, null);
|
|
39107
39387
|
return a;
|
|
@@ -39161,7 +39441,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
39161
39441
|
target_checkbox.checked = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'target') === '_blank';
|
|
39162
39442
|
}
|
|
39163
39443
|
if (noFollowCheckbox && nofollow_checkbox) {
|
|
39164
|
-
nofollow_checkbox.checked = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'rel')
|
|
39444
|
+
nofollow_checkbox.checked = ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'rel') || '').split(/\s+/).includes('nofollow');
|
|
39165
39445
|
}
|
|
39166
39446
|
insert.textContent = i18n('Update');
|
|
39167
39447
|
} else {
|
|
@@ -39227,7 +39507,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
39227
39507
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'target', target_checkbox.checked ? '_blank' : null);
|
|
39228
39508
|
}
|
|
39229
39509
|
if (noFollowCheckbox && nofollow_checkbox) {
|
|
39230
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel'
|
|
39510
|
+
const relParts = ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel') || '').split(/\s+/).filter(Boolean);
|
|
39511
|
+
const hasNofollow = relParts.includes('nofollow');
|
|
39512
|
+
if (nofollow_checkbox.checked && !hasNofollow) {
|
|
39513
|
+
relParts.push('nofollow');
|
|
39514
|
+
} else if (!nofollow_checkbox.checked && hasNofollow) {
|
|
39515
|
+
relParts.splice(relParts.indexOf('nofollow'), 1);
|
|
39516
|
+
}
|
|
39517
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel', relParts.length ? relParts.join(' ') : null);
|
|
39231
39518
|
}
|
|
39232
39519
|
jodit.e.fire('applyLink', jodit, a, form);
|
|
39233
39520
|
});
|
|
@@ -41837,8 +42124,8 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
41837
42124
|
this.j.e.off(element, 'mousedown.select touchstart.select').on(element, 'mousedown.select touchstart.select', ()=>{
|
|
41838
42125
|
this.j.s.select(element);
|
|
41839
42126
|
}).off(element, 'changesize').on(element, 'changesize', ()=>{
|
|
41840
|
-
|
|
41841
|
-
|
|
42127
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'width', element.offsetWidth + 'px');
|
|
42128
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'height', element.offsetHeight + 'px');
|
|
41842
42129
|
});
|
|
41843
42130
|
}
|
|
41844
42131
|
this.j.e.on(element, 'dragstart', this.hide);
|
|
@@ -43887,8 +44174,9 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.SourceEdit
|
|
|
43887
44174
|
/* harmony export */ TextAreaEditor: function() { return /* binding */ TextAreaEditor; }
|
|
43888
44175
|
/* harmony export */ });
|
|
43889
44176
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
43890
|
-
/* harmony import */ var
|
|
43891
|
-
/* harmony import */ var
|
|
44177
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
44178
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41180);
|
|
44179
|
+
/* harmony import */ var _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23370);
|
|
43892
44180
|
/*!
|
|
43893
44181
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
43894
44182
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -43896,7 +44184,8 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.SourceEdit
|
|
|
43896
44184
|
*/
|
|
43897
44185
|
|
|
43898
44186
|
|
|
43899
|
-
|
|
44187
|
+
|
|
44188
|
+
class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEditor {
|
|
43900
44189
|
init(editor) {
|
|
43901
44190
|
this.instance = editor.c.element('textarea', {
|
|
43902
44191
|
class: 'jodit-source__mirror',
|
|
@@ -43904,7 +44193,7 @@ class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.Sourc
|
|
|
43904
44193
|
});
|
|
43905
44194
|
this.container.appendChild(this.instance);
|
|
43906
44195
|
editor.e.on(this.instance, 'mousedown keydown touchstart input', editor.async.debounce(this.toWYSIWYG, editor.defaultTimeout)).on('setMinHeight.source', (minHeightD)=>{
|
|
43907
|
-
(0,
|
|
44196
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(this.instance, 'minHeight', minHeightD);
|
|
43908
44197
|
}).on(this.instance, 'change keydown mousedown touchstart input', this.autosize).on('afterSetMode.source', this.autosize).on(this.instance, 'mousedown focus', (e)=>{
|
|
43909
44198
|
editor.e.fire(e.type, e);
|
|
43910
44199
|
});
|
|
@@ -43948,14 +44237,10 @@ class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.Sourc
|
|
|
43948
44237
|
this.instance.blur();
|
|
43949
44238
|
}
|
|
43950
44239
|
setPlaceHolder(title) {
|
|
43951
|
-
this.instance
|
|
44240
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(this.instance, 'placeholder', title);
|
|
43952
44241
|
}
|
|
43953
44242
|
setReadOnly(isReadOnly) {
|
|
43954
|
-
|
|
43955
|
-
this.instance.setAttribute('readonly', 'true');
|
|
43956
|
-
} else {
|
|
43957
|
-
this.instance.removeAttribute('readonly');
|
|
43958
|
-
}
|
|
44243
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(this.instance, 'readonly', isReadOnly ? 'true' : null);
|
|
43959
44244
|
}
|
|
43960
44245
|
selectAll() {
|
|
43961
44246
|
this.instance.select();
|