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.en/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,
|
|
@@ -31536,6 +31573,10 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
31536
31573
|
return false;
|
|
31537
31574
|
}
|
|
31538
31575
|
onSafeHTML(sandBox) {
|
|
31576
|
+
const sanitizer = this.j.o.cleanHTML.sanitizer;
|
|
31577
|
+
if (sanitizer) {
|
|
31578
|
+
sandBox.innerHTML = sanitizer(sandBox.innerHTML);
|
|
31579
|
+
}
|
|
31539
31580
|
(0,_core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__.safeHTML)(sandBox, this.j.o.cleanHTML);
|
|
31540
31581
|
}
|
|
31541
31582
|
/** @override */ beforeDestruct() {
|
|
@@ -31604,10 +31645,19 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.cleanHTML = {
|
|
|
31604
31645
|
b: 'strong'
|
|
31605
31646
|
},
|
|
31606
31647
|
allowTags: false,
|
|
31607
|
-
denyTags: 'script',
|
|
31648
|
+
denyTags: 'script,iframe,object,embed',
|
|
31608
31649
|
useIframeSandbox: false,
|
|
31609
31650
|
removeOnError: true,
|
|
31651
|
+
removeEventAttributes: true,
|
|
31610
31652
|
safeJavaScriptLink: true,
|
|
31653
|
+
safeLinksTarget: true,
|
|
31654
|
+
allowedStyles: false,
|
|
31655
|
+
sanitizer: false,
|
|
31656
|
+
sandboxIframesInContent: true,
|
|
31657
|
+
convertUnsafeEmbeds: [
|
|
31658
|
+
'object',
|
|
31659
|
+
'embed'
|
|
31660
|
+
],
|
|
31611
31661
|
disableCleanFilter: null
|
|
31612
31662
|
};
|
|
31613
31663
|
_config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.eraser = {
|
|
@@ -31864,6 +31914,53 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_0__.Icon.set('eraser', _eraser_svg_js_
|
|
|
31864
31914
|
}
|
|
31865
31915
|
|
|
31866
31916
|
|
|
31917
|
+
/***/ }),
|
|
31918
|
+
|
|
31919
|
+
/***/ 1962:
|
|
31920
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
31921
|
+
|
|
31922
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
31923
|
+
/* harmony export */ convertUnsafeEmbeds: function() { return /* binding */ convertUnsafeEmbeds; }
|
|
31924
|
+
/* harmony export */ });
|
|
31925
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
31926
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
31927
|
+
/*!
|
|
31928
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
31929
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
31930
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
31931
|
+
*/
|
|
31932
|
+
|
|
31933
|
+
/**
|
|
31934
|
+
* Convert `<object>` and `<embed>` elements to safer `<iframe>` elements.
|
|
31935
|
+
* @private
|
|
31936
|
+
*/ function convertUnsafeEmbeds(jodit, nodeElm, hadEffect) {
|
|
31937
|
+
const opt = jodit.o.cleanHTML.convertUnsafeEmbeds;
|
|
31938
|
+
if (!opt || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
31939
|
+
return hadEffect;
|
|
31940
|
+
}
|
|
31941
|
+
const tag = nodeElm.nodeName.toLowerCase();
|
|
31942
|
+
if (!opt.includes(tag)) {
|
|
31943
|
+
return hadEffect;
|
|
31944
|
+
}
|
|
31945
|
+
const elm = nodeElm;
|
|
31946
|
+
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') || '';
|
|
31947
|
+
if (!src) {
|
|
31948
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(elm);
|
|
31949
|
+
return true;
|
|
31950
|
+
}
|
|
31951
|
+
const iframe = jodit.createInside.element('iframe');
|
|
31952
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(iframe, {
|
|
31953
|
+
src,
|
|
31954
|
+
sandbox: '',
|
|
31955
|
+
frameborder: '0',
|
|
31956
|
+
width: (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'width'),
|
|
31957
|
+
height: (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'height')
|
|
31958
|
+
});
|
|
31959
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(elm, iframe, undefined, false, true);
|
|
31960
|
+
return true;
|
|
31961
|
+
}
|
|
31962
|
+
|
|
31963
|
+
|
|
31867
31964
|
/***/ }),
|
|
31868
31965
|
|
|
31869
31966
|
/***/ 39433:
|
|
@@ -31907,20 +32004,28 @@ const TABLE_CONTAINER_TAGS = new Set([
|
|
|
31907
32004
|
__webpack_require__.r(__webpack_exports__);
|
|
31908
32005
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
31909
32006
|
/* harmony export */ allowAttributes: function() { return /* reexport safe */ _allow_attributes_js__WEBPACK_IMPORTED_MODULE_0__.allowAttributes; },
|
|
31910
|
-
/* harmony export */
|
|
31911
|
-
/* harmony export */
|
|
31912
|
-
/* harmony export */
|
|
31913
|
-
/* harmony export */
|
|
31914
|
-
/* harmony export */
|
|
31915
|
-
/* harmony export */
|
|
32007
|
+
/* harmony export */ convertUnsafeEmbeds: function() { return /* reexport safe */ _convert_unsafe_embeds_js__WEBPACK_IMPORTED_MODULE_1__.convertUnsafeEmbeds; },
|
|
32008
|
+
/* harmony export */ fillEmptyParagraph: function() { return /* reexport safe */ _fill_empty_paragraph_js__WEBPACK_IMPORTED_MODULE_2__.fillEmptyParagraph; },
|
|
32009
|
+
/* harmony export */ removeEmptyTextNode: function() { return /* reexport safe */ _remove_empty_text_node_js__WEBPACK_IMPORTED_MODULE_3__.removeEmptyTextNode; },
|
|
32010
|
+
/* harmony export */ removeInvTextNodes: function() { return /* reexport safe */ _remove_inv_text_nodes_js__WEBPACK_IMPORTED_MODULE_4__.removeInvTextNodes; },
|
|
32011
|
+
/* harmony export */ replaceOldTags: function() { return /* reexport safe */ _replace_old_tags_js__WEBPACK_IMPORTED_MODULE_5__.replaceOldTags; },
|
|
32012
|
+
/* harmony export */ safeLinksTarget: function() { return /* reexport safe */ _safe_links_target_js__WEBPACK_IMPORTED_MODULE_6__.safeLinksTarget; },
|
|
32013
|
+
/* harmony export */ sandboxIframesInContent: function() { return /* reexport safe */ _sandbox_iframes_in_content_js__WEBPACK_IMPORTED_MODULE_7__.sandboxIframesInContent; },
|
|
32014
|
+
/* harmony export */ sanitizeAttributes: function() { return /* reexport safe */ _sanitize_attributes_js__WEBPACK_IMPORTED_MODULE_8__.sanitizeAttributes; },
|
|
32015
|
+
/* harmony export */ sanitizeStyles: function() { return /* reexport safe */ _sanitize_styles_js__WEBPACK_IMPORTED_MODULE_9__.sanitizeStyles; },
|
|
32016
|
+
/* harmony export */ tryRemoveNode: function() { return /* reexport safe */ _try_remove_node_js__WEBPACK_IMPORTED_MODULE_10__.tryRemoveNode; }
|
|
31916
32017
|
/* harmony export */ });
|
|
31917
32018
|
/* harmony import */ var _allow_attributes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82558);
|
|
31918
|
-
/* harmony import */ var
|
|
31919
|
-
/* harmony import */ var
|
|
31920
|
-
/* harmony import */ var
|
|
31921
|
-
/* harmony import */ var
|
|
31922
|
-
/* harmony import */ var
|
|
31923
|
-
/* harmony import */ var
|
|
32019
|
+
/* harmony import */ var _convert_unsafe_embeds_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1962);
|
|
32020
|
+
/* harmony import */ var _fill_empty_paragraph_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39433);
|
|
32021
|
+
/* harmony import */ var _remove_empty_text_node_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53392);
|
|
32022
|
+
/* harmony import */ var _remove_inv_text_nodes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25813);
|
|
32023
|
+
/* harmony import */ var _replace_old_tags_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80973);
|
|
32024
|
+
/* harmony import */ var _safe_links_target_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(95614);
|
|
32025
|
+
/* harmony import */ var _sandbox_iframes_in_content_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85978);
|
|
32026
|
+
/* harmony import */ var _sanitize_attributes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(384);
|
|
32027
|
+
/* harmony import */ var _sanitize_styles_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(15583);
|
|
32028
|
+
/* harmony import */ var _try_remove_node_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(28800);
|
|
31924
32029
|
/*!
|
|
31925
32030
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
31926
32031
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -31938,6 +32043,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31938
32043
|
|
|
31939
32044
|
|
|
31940
32045
|
|
|
32046
|
+
|
|
32047
|
+
|
|
32048
|
+
|
|
32049
|
+
|
|
31941
32050
|
/***/ }),
|
|
31942
32051
|
|
|
31943
32052
|
/***/ 53392:
|
|
@@ -32045,6 +32154,84 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
32045
32154
|
}
|
|
32046
32155
|
|
|
32047
32156
|
|
|
32157
|
+
/***/ }),
|
|
32158
|
+
|
|
32159
|
+
/***/ 95614:
|
|
32160
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
32161
|
+
|
|
32162
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32163
|
+
/* harmony export */ safeLinksTarget: function() { return /* binding */ safeLinksTarget; }
|
|
32164
|
+
/* harmony export */ });
|
|
32165
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
32166
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
32167
|
+
/*!
|
|
32168
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
32169
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
32170
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
32171
|
+
*/
|
|
32172
|
+
|
|
32173
|
+
/**
|
|
32174
|
+
* Automatically add `rel="noopener noreferrer"` to links with `target="_blank"`
|
|
32175
|
+
* @private
|
|
32176
|
+
*/ function safeLinksTarget(jodit, nodeElm, hadEffect) {
|
|
32177
|
+
if (!jodit.o.cleanHTML.safeLinksTarget || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) || nodeElm.nodeName !== 'A') {
|
|
32178
|
+
return hadEffect;
|
|
32179
|
+
}
|
|
32180
|
+
const elm = nodeElm;
|
|
32181
|
+
if ((0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'target') !== '_blank') {
|
|
32182
|
+
return hadEffect;
|
|
32183
|
+
}
|
|
32184
|
+
const rel = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'rel') || '';
|
|
32185
|
+
const parts = rel.split(/\s+/).filter(Boolean);
|
|
32186
|
+
let changed = false;
|
|
32187
|
+
if (!parts.includes('noopener')) {
|
|
32188
|
+
parts.push('noopener');
|
|
32189
|
+
changed = true;
|
|
32190
|
+
}
|
|
32191
|
+
if (!parts.includes('noreferrer')) {
|
|
32192
|
+
parts.push('noreferrer');
|
|
32193
|
+
changed = true;
|
|
32194
|
+
}
|
|
32195
|
+
if (changed) {
|
|
32196
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'rel', parts.join(' '));
|
|
32197
|
+
return true;
|
|
32198
|
+
}
|
|
32199
|
+
return hadEffect;
|
|
32200
|
+
}
|
|
32201
|
+
|
|
32202
|
+
|
|
32203
|
+
/***/ }),
|
|
32204
|
+
|
|
32205
|
+
/***/ 85978:
|
|
32206
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
32207
|
+
|
|
32208
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32209
|
+
/* harmony export */ sandboxIframesInContent: function() { return /* binding */ sandboxIframesInContent; }
|
|
32210
|
+
/* harmony export */ });
|
|
32211
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
32212
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
32213
|
+
/*!
|
|
32214
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
32215
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
32216
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
32217
|
+
*/
|
|
32218
|
+
|
|
32219
|
+
/**
|
|
32220
|
+
* Add `sandbox=""` attribute to all `<iframe>` elements in the editor content
|
|
32221
|
+
* @private
|
|
32222
|
+
*/ function sandboxIframesInContent(jodit, nodeElm, hadEffect) {
|
|
32223
|
+
if (!jodit.o.cleanHTML.sandboxIframesInContent || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) || nodeElm.nodeName !== 'IFRAME') {
|
|
32224
|
+
return hadEffect;
|
|
32225
|
+
}
|
|
32226
|
+
const elm = nodeElm;
|
|
32227
|
+
if (!elm.hasAttribute('sandbox')) {
|
|
32228
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'sandbox', '');
|
|
32229
|
+
return true;
|
|
32230
|
+
}
|
|
32231
|
+
return hadEffect;
|
|
32232
|
+
}
|
|
32233
|
+
|
|
32234
|
+
|
|
32048
32235
|
/***/ }),
|
|
32049
32236
|
|
|
32050
32237
|
/***/ 384:
|
|
@@ -32064,9 +32251,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
32064
32251
|
/**
|
|
32065
32252
|
* @private
|
|
32066
32253
|
*/ function sanitizeAttributes(jodit, nodeElm, hadEffect) {
|
|
32067
|
-
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)
|
|
32068
|
-
|
|
32069
|
-
|
|
32254
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
32255
|
+
return hadEffect;
|
|
32256
|
+
}
|
|
32257
|
+
const opts = jodit.options.cleanHTML;
|
|
32258
|
+
if ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.sanitizeHTMLElement)(nodeElm, {
|
|
32259
|
+
safeJavaScriptLink: opts.safeJavaScriptLink,
|
|
32260
|
+
removeOnError: opts.removeOnError,
|
|
32261
|
+
removeEventAttributes: opts.removeEventAttributes,
|
|
32262
|
+
safeLinksTarget: opts.safeLinksTarget
|
|
32070
32263
|
})) {
|
|
32071
32264
|
return true;
|
|
32072
32265
|
}
|
|
@@ -32074,6 +32267,81 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
32074
32267
|
}
|
|
32075
32268
|
|
|
32076
32269
|
|
|
32270
|
+
/***/ }),
|
|
32271
|
+
|
|
32272
|
+
/***/ 15583:
|
|
32273
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
32274
|
+
|
|
32275
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32276
|
+
/* harmony export */ sanitizeStyles: function() { return /* binding */ sanitizeStyles; }
|
|
32277
|
+
/* harmony export */ });
|
|
32278
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
32279
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
32280
|
+
/*!
|
|
32281
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
32282
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
32283
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
32284
|
+
*/
|
|
32285
|
+
|
|
32286
|
+
/**
|
|
32287
|
+
* Filter CSS properties in style attributes based on allowedStyles whitelist
|
|
32288
|
+
* @private
|
|
32289
|
+
*/ function sanitizeStyles(jodit, nodeElm, hadEffect) {
|
|
32290
|
+
const allowedStyles = jodit.o.cleanHTML.allowedStyles;
|
|
32291
|
+
if (!allowedStyles || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
32292
|
+
return hadEffect;
|
|
32293
|
+
}
|
|
32294
|
+
const elm = nodeElm;
|
|
32295
|
+
const style = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'style');
|
|
32296
|
+
if (!style) {
|
|
32297
|
+
return hadEffect;
|
|
32298
|
+
}
|
|
32299
|
+
const tagName = nodeElm.nodeName.toLowerCase();
|
|
32300
|
+
const allowed = getAllowedPropsForTag(tagName, allowedStyles);
|
|
32301
|
+
if (!allowed) {
|
|
32302
|
+
return hadEffect;
|
|
32303
|
+
}
|
|
32304
|
+
const filtered = filterStyleProperties(style, allowed);
|
|
32305
|
+
if (filtered !== style) {
|
|
32306
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'style', filtered || null);
|
|
32307
|
+
return true;
|
|
32308
|
+
}
|
|
32309
|
+
return hadEffect;
|
|
32310
|
+
}
|
|
32311
|
+
function getAllowedPropsForTag(tagName, allowedStyles) {
|
|
32312
|
+
const tagSpecific = allowedStyles[tagName];
|
|
32313
|
+
const global = allowedStyles['*'];
|
|
32314
|
+
if (!tagSpecific && !global) {
|
|
32315
|
+
return null;
|
|
32316
|
+
}
|
|
32317
|
+
const set = new Set();
|
|
32318
|
+
if (global) {
|
|
32319
|
+
for (const prop of global){
|
|
32320
|
+
set.add(prop.toLowerCase());
|
|
32321
|
+
}
|
|
32322
|
+
}
|
|
32323
|
+
if (tagSpecific) {
|
|
32324
|
+
for (const prop of tagSpecific){
|
|
32325
|
+
set.add(prop.toLowerCase());
|
|
32326
|
+
}
|
|
32327
|
+
}
|
|
32328
|
+
return set;
|
|
32329
|
+
}
|
|
32330
|
+
function filterStyleProperties(style, allowed) {
|
|
32331
|
+
return style.split(';').map((s)=>s.trim()).filter((s)=>{
|
|
32332
|
+
if (!s) {
|
|
32333
|
+
return false;
|
|
32334
|
+
}
|
|
32335
|
+
const colonIdx = s.indexOf(':');
|
|
32336
|
+
if (colonIdx === -1) {
|
|
32337
|
+
return false;
|
|
32338
|
+
}
|
|
32339
|
+
const prop = s.substring(0, colonIdx).trim().toLowerCase();
|
|
32340
|
+
return allowed.has(prop);
|
|
32341
|
+
}).join('; ').replace(/;\s*$/, '');
|
|
32342
|
+
}
|
|
32343
|
+
|
|
32344
|
+
|
|
32077
32345
|
/***/ }),
|
|
32078
32346
|
|
|
32079
32347
|
/***/ 28800:
|
|
@@ -33194,7 +33462,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('dragAndDropElemen
|
|
|
33194
33462
|
'src'
|
|
33195
33463
|
];
|
|
33196
33464
|
fragment = this.j.createInside.element(tagName);
|
|
33197
|
-
|
|
33465
|
+
(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') || '');
|
|
33198
33466
|
if (tagName === 'a') {
|
|
33199
33467
|
fragment.textContent = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(fragment, field) || '';
|
|
33200
33468
|
}
|
|
@@ -33791,13 +34059,15 @@ function brBefore(start) {
|
|
|
33791
34059
|
/* harmony export */ insertParagraph: function() { return /* binding */ insertParagraph; }
|
|
33792
34060
|
/* harmony export */ });
|
|
33793
34061
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
33794
|
-
/* harmony import */ var
|
|
34062
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
34063
|
+
/* harmony import */ var _core_helpers_utils_scroll_into_view_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26395);
|
|
33795
34064
|
/*!
|
|
33796
34065
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
33797
34066
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
33798
34067
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
33799
34068
|
*/
|
|
33800
34069
|
|
|
34070
|
+
|
|
33801
34071
|
/**
|
|
33802
34072
|
* Insert default paragraph
|
|
33803
34073
|
* @private
|
|
@@ -33807,11 +34077,11 @@ function brBefore(start) {
|
|
|
33807
34077
|
p.appendChild(br);
|
|
33808
34078
|
}
|
|
33809
34079
|
if (style && style.cssText) {
|
|
33810
|
-
|
|
34080
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(p, 'style', style.cssText);
|
|
33811
34081
|
}
|
|
33812
34082
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(fake, p);
|
|
33813
34083
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(isBR ? p : br, fake);
|
|
33814
|
-
(0,
|
|
34084
|
+
(0,_core_helpers_utils_scroll_into_view_js__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(p, editor.editor, editor.ed);
|
|
33815
34085
|
return p;
|
|
33816
34086
|
}
|
|
33817
34087
|
|
|
@@ -33988,8 +34258,9 @@ function brBefore(start) {
|
|
|
33988
34258
|
/* unused harmony export file */
|
|
33989
34259
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
33990
34260
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(580);
|
|
33991
|
-
/* harmony import */ var
|
|
33992
|
-
/* harmony import */ var
|
|
34261
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29960);
|
|
34262
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
|
|
34263
|
+
/* harmony import */ var _modules_widget_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92762);
|
|
33993
34264
|
/*!
|
|
33994
34265
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
33995
34266
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -33998,7 +34269,8 @@ function brBefore(start) {
|
|
|
33998
34269
|
|
|
33999
34270
|
|
|
34000
34271
|
|
|
34001
|
-
|
|
34272
|
+
|
|
34273
|
+
_config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.file = {
|
|
34002
34274
|
popup: (editor, current, close)=>{
|
|
34003
34275
|
const insert = (url, title = '')=>{
|
|
34004
34276
|
editor.s.insertNode(editor.createInside.fromHTML(`<a href="${url}" title="${title}">${title || url}</a>`));
|
|
@@ -34007,7 +34279,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.file = {
|
|
|
34007
34279
|
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))) {
|
|
34008
34280
|
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);
|
|
34009
34281
|
}
|
|
34010
|
-
return (0,
|
|
34282
|
+
return (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_4__.FileSelectorWidget)(editor, {
|
|
34011
34283
|
filebrowser: (data)=>{
|
|
34012
34284
|
data.files && data.files.forEach((file)=>insert(data.baseurl + file));
|
|
34013
34285
|
close();
|
|
@@ -34015,8 +34287,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.file = {
|
|
|
34015
34287
|
upload: true,
|
|
34016
34288
|
url: (url, text)=>{
|
|
34017
34289
|
if (sourceAnchor) {
|
|
34018
|
-
|
|
34019
|
-
|
|
34290
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(sourceAnchor, 'href', url);
|
|
34291
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(sourceAnchor, 'title', text);
|
|
34020
34292
|
} else {
|
|
34021
34293
|
insert(url, text);
|
|
34022
34294
|
}
|
|
@@ -34878,8 +35150,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
34878
35150
|
if (opt.iframeCSSLinks) {
|
|
34879
35151
|
opt.iframeCSSLinks.forEach((href)=>{
|
|
34880
35152
|
const link = doc.createElement('link');
|
|
34881
|
-
|
|
34882
|
-
|
|
35153
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(link, 'rel', 'stylesheet');
|
|
35154
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(link, 'href', href);
|
|
34883
35155
|
doc.head && doc.head.appendChild(link);
|
|
34884
35156
|
});
|
|
34885
35157
|
}
|
|
@@ -34896,11 +35168,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
34896
35168
|
iframe.style.display = 'block';
|
|
34897
35169
|
iframe.src = 'about:blank';
|
|
34898
35170
|
iframe.className = 'jodit-wysiwyg_iframe';
|
|
34899
|
-
|
|
34900
|
-
|
|
34901
|
-
|
|
35171
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(iframe, {
|
|
35172
|
+
allowtransparency: 'true',
|
|
35173
|
+
tabindex: opt.tabIndex.toString(),
|
|
35174
|
+
frameborder: '0'
|
|
35175
|
+
});
|
|
34902
35176
|
if (opt.iframeSandbox != null) {
|
|
34903
|
-
|
|
35177
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(iframe, 'sandbox', opt.iframeSandbox);
|
|
34904
35178
|
}
|
|
34905
35179
|
editor.workplace.appendChild(iframe);
|
|
34906
35180
|
editor.iframe = iframe;
|
|
@@ -36567,6 +36841,10 @@ UIImagePositionTab = __decorate([
|
|
|
36567
36841
|
}
|
|
36568
36842
|
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'href', imageLink);
|
|
36569
36843
|
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'target', imageLinkOpenInNewTab ? '_blank' : null);
|
|
36844
|
+
if (!imageLinkOpenInNewTab) {
|
|
36845
|
+
const relParts = ((0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'rel') || '').split(/\s+/).filter((p)=>p && p !== 'noopener' && p !== 'noreferrer');
|
|
36846
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'rel', relParts.length ? relParts.join(' ') : null);
|
|
36847
|
+
}
|
|
36570
36848
|
} else {
|
|
36571
36849
|
if (link && link.parentNode) {
|
|
36572
36850
|
link.parentNode.replaceChild(image, link);
|
|
@@ -36671,10 +36949,11 @@ UIImagePositionTab = __decorate([
|
|
|
36671
36949
|
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22732);
|
|
36672
36950
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(580);
|
|
36673
36951
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21537);
|
|
36674
|
-
/* harmony import */ var
|
|
36675
|
-
/* harmony import */ var
|
|
36676
|
-
/* harmony import */ var
|
|
36677
|
-
/* harmony import */ var
|
|
36952
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29960);
|
|
36953
|
+
/* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12153);
|
|
36954
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6441);
|
|
36955
|
+
/* harmony import */ var _modules_widget_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92762);
|
|
36956
|
+
/* harmony import */ var _image_svg_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(25179);
|
|
36678
36957
|
/*!
|
|
36679
36958
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
36680
36959
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -36686,15 +36965,16 @@ UIImagePositionTab = __decorate([
|
|
|
36686
36965
|
|
|
36687
36966
|
|
|
36688
36967
|
|
|
36689
|
-
|
|
36690
|
-
|
|
36968
|
+
|
|
36969
|
+
_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('image', _image_svg_js__WEBPACK_IMPORTED_MODULE_7__["default"]);
|
|
36970
|
+
_config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.image = {
|
|
36691
36971
|
popup: (editor, current, close)=>{
|
|
36692
36972
|
let sourceImage = null;
|
|
36693
36973
|
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)) {
|
|
36694
36974
|
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];
|
|
36695
36975
|
}
|
|
36696
36976
|
editor.s.save();
|
|
36697
|
-
return (0,
|
|
36977
|
+
return (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_6__.FileSelectorWidget)(editor, {
|
|
36698
36978
|
filebrowser: (data)=>{
|
|
36699
36979
|
editor.s.restore();
|
|
36700
36980
|
data.files && data.files.forEach((file)=>editor.s.insertImage(data.baseurl + file, null, editor.o.imageDefaultWidth));
|
|
@@ -36707,8 +36987,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.image = {
|
|
|
36707
36987
|
url = '//' + url;
|
|
36708
36988
|
}
|
|
36709
36989
|
const image = sourceImage || editor.createInside.element('img');
|
|
36710
|
-
|
|
36711
|
-
|
|
36990
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__.attr)(image, 'src', url);
|
|
36991
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__.attr)(image, 'alt', text);
|
|
36712
36992
|
if (!sourceImage) {
|
|
36713
36993
|
await editor.s.insertImage(image, null, editor.o.imageDefaultWidth);
|
|
36714
36994
|
}
|
|
@@ -38344,7 +38624,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
38344
38624
|
}
|
|
38345
38625
|
if (jodit.s.isCollapsed()) {
|
|
38346
38626
|
const a = jodit.createInside.element('a');
|
|
38347
|
-
|
|
38627
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'href', html);
|
|
38348
38628
|
a.textContent = html;
|
|
38349
38629
|
jodit.e.fire('applyLink', jodit, a, null);
|
|
38350
38630
|
return a;
|
|
@@ -38404,7 +38684,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
38404
38684
|
target_checkbox.checked = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'target') === '_blank';
|
|
38405
38685
|
}
|
|
38406
38686
|
if (noFollowCheckbox && nofollow_checkbox) {
|
|
38407
|
-
nofollow_checkbox.checked = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'rel')
|
|
38687
|
+
nofollow_checkbox.checked = ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'rel') || '').split(/\s+/).includes('nofollow');
|
|
38408
38688
|
}
|
|
38409
38689
|
insert.textContent = i18n('Update');
|
|
38410
38690
|
} else {
|
|
@@ -38470,7 +38750,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
38470
38750
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'target', target_checkbox.checked ? '_blank' : null);
|
|
38471
38751
|
}
|
|
38472
38752
|
if (noFollowCheckbox && nofollow_checkbox) {
|
|
38473
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel'
|
|
38753
|
+
const relParts = ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel') || '').split(/\s+/).filter(Boolean);
|
|
38754
|
+
const hasNofollow = relParts.includes('nofollow');
|
|
38755
|
+
if (nofollow_checkbox.checked && !hasNofollow) {
|
|
38756
|
+
relParts.push('nofollow');
|
|
38757
|
+
} else if (!nofollow_checkbox.checked && hasNofollow) {
|
|
38758
|
+
relParts.splice(relParts.indexOf('nofollow'), 1);
|
|
38759
|
+
}
|
|
38760
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel', relParts.length ? relParts.join(' ') : null);
|
|
38474
38761
|
}
|
|
38475
38762
|
jodit.e.fire('applyLink', jodit, a, form);
|
|
38476
38763
|
});
|
|
@@ -41080,8 +41367,8 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
41080
41367
|
this.j.e.off(element, 'mousedown.select touchstart.select').on(element, 'mousedown.select touchstart.select', ()=>{
|
|
41081
41368
|
this.j.s.select(element);
|
|
41082
41369
|
}).off(element, 'changesize').on(element, 'changesize', ()=>{
|
|
41083
|
-
|
|
41084
|
-
|
|
41370
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'width', element.offsetWidth + 'px');
|
|
41371
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'height', element.offsetHeight + 'px');
|
|
41085
41372
|
});
|
|
41086
41373
|
}
|
|
41087
41374
|
this.j.e.on(element, 'dragstart', this.hide);
|
|
@@ -43130,8 +43417,9 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.SourceEdit
|
|
|
43130
43417
|
/* harmony export */ TextAreaEditor: function() { return /* binding */ TextAreaEditor; }
|
|
43131
43418
|
/* harmony export */ });
|
|
43132
43419
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
43133
|
-
/* harmony import */ var
|
|
43134
|
-
/* harmony import */ var
|
|
43420
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
43421
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41180);
|
|
43422
|
+
/* harmony import */ var _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23370);
|
|
43135
43423
|
/*!
|
|
43136
43424
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
43137
43425
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -43139,7 +43427,8 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.SourceEdit
|
|
|
43139
43427
|
*/
|
|
43140
43428
|
|
|
43141
43429
|
|
|
43142
|
-
|
|
43430
|
+
|
|
43431
|
+
class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEditor {
|
|
43143
43432
|
init(editor) {
|
|
43144
43433
|
this.instance = editor.c.element('textarea', {
|
|
43145
43434
|
class: 'jodit-source__mirror',
|
|
@@ -43147,7 +43436,7 @@ class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.Sourc
|
|
|
43147
43436
|
});
|
|
43148
43437
|
this.container.appendChild(this.instance);
|
|
43149
43438
|
editor.e.on(this.instance, 'mousedown keydown touchstart input', editor.async.debounce(this.toWYSIWYG, editor.defaultTimeout)).on('setMinHeight.source', (minHeightD)=>{
|
|
43150
|
-
(0,
|
|
43439
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(this.instance, 'minHeight', minHeightD);
|
|
43151
43440
|
}).on(this.instance, 'change keydown mousedown touchstart input', this.autosize).on('afterSetMode.source', this.autosize).on(this.instance, 'mousedown focus', (e)=>{
|
|
43152
43441
|
editor.e.fire(e.type, e);
|
|
43153
43442
|
});
|
|
@@ -43191,14 +43480,10 @@ class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.Sourc
|
|
|
43191
43480
|
this.instance.blur();
|
|
43192
43481
|
}
|
|
43193
43482
|
setPlaceHolder(title) {
|
|
43194
|
-
this.instance
|
|
43483
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(this.instance, 'placeholder', title);
|
|
43195
43484
|
}
|
|
43196
43485
|
setReadOnly(isReadOnly) {
|
|
43197
|
-
|
|
43198
|
-
this.instance.setAttribute('readonly', 'true');
|
|
43199
|
-
} else {
|
|
43200
|
-
this.instance.removeAttribute('readonly');
|
|
43201
|
-
}
|
|
43486
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(this.instance, 'readonly', isReadOnly ? 'true' : null);
|
|
43202
43487
|
}
|
|
43203
43488
|
selectAll() {
|
|
43204
43489
|
this.instance.select();
|