jodit-pro 4.10.4 → 4.11.1
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/es2015/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.
|
|
4
|
+
* Version: v4.11.1
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1772,7 +1772,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1772
1772
|
* ```
|
|
1773
1773
|
* @packageDocumentation
|
|
1774
1774
|
* @module constants
|
|
1775
|
-
*/ const APP_VERSION = "4.
|
|
1775
|
+
*/ const APP_VERSION = "4.11.1";
|
|
1776
1776
|
// prettier-ignore
|
|
1777
1777
|
const ES = "es2015";
|
|
1778
1778
|
const IS_ES_MODERN = true;
|
|
@@ -5826,17 +5826,54 @@ function normalizeCSS(s) {
|
|
|
5826
5826
|
/**
|
|
5827
5827
|
* Removes dangerous constructs from HTML
|
|
5828
5828
|
*/ function safeHTML(box, options) {
|
|
5829
|
+
var _a;
|
|
5829
5830
|
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(box) && !_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isFragment(box)) {
|
|
5830
5831
|
return;
|
|
5831
5832
|
}
|
|
5832
|
-
|
|
5833
|
-
|
|
5833
|
+
const removeEvents = (_a = options.removeEventAttributes) !== null && _a !== void 0 ? _a : options.removeOnError;
|
|
5834
|
+
if (removeEvents) {
|
|
5835
|
+
removeAllEventAttributes(box);
|
|
5836
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('*', box).forEach((elm)=>removeAllEventAttributes(elm));
|
|
5837
|
+
} else if (options.removeOnError) {
|
|
5838
|
+
sanitizeHTMLElement(box, options);
|
|
5834
5839
|
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('[onerror]', box).forEach((elm)=>sanitizeHTMLElement(elm, options));
|
|
5835
5840
|
}
|
|
5836
5841
|
if (options.safeJavaScriptLink) {
|
|
5837
|
-
sanitizeHTMLElement(box);
|
|
5842
|
+
sanitizeHTMLElement(box, options);
|
|
5838
5843
|
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('a[href^="javascript"]', box).forEach((elm)=>sanitizeHTMLElement(elm, options));
|
|
5839
5844
|
}
|
|
5845
|
+
if (options.safeLinksTarget) {
|
|
5846
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('a[target="_blank"]', box).forEach((elm)=>{
|
|
5847
|
+
const rel = elm.getAttribute('rel') || '';
|
|
5848
|
+
const parts = rel.split(/\s+/).filter(Boolean);
|
|
5849
|
+
if (!parts.includes('noopener')) {
|
|
5850
|
+
parts.push('noopener');
|
|
5851
|
+
}
|
|
5852
|
+
if (!parts.includes('noreferrer')) {
|
|
5853
|
+
parts.push('noreferrer');
|
|
5854
|
+
}
|
|
5855
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'rel', parts.join(' '));
|
|
5856
|
+
});
|
|
5857
|
+
}
|
|
5858
|
+
}
|
|
5859
|
+
/**
|
|
5860
|
+
* Remove all on* event handler attributes from an element
|
|
5861
|
+
*/ function removeAllEventAttributes(elm) {
|
|
5862
|
+
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(elm)) {
|
|
5863
|
+
return false;
|
|
5864
|
+
}
|
|
5865
|
+
let effected = false;
|
|
5866
|
+
const toRemove = [];
|
|
5867
|
+
for(let i = 0; i < elm.attributes.length; i++){
|
|
5868
|
+
if (elm.attributes[i].name.toLowerCase().startsWith('on')) {
|
|
5869
|
+
toRemove.push(elm.attributes[i].name);
|
|
5870
|
+
}
|
|
5871
|
+
}
|
|
5872
|
+
for (const name of toRemove){
|
|
5873
|
+
elm.removeAttribute(name);
|
|
5874
|
+
effected = true;
|
|
5875
|
+
}
|
|
5876
|
+
return effected;
|
|
5840
5877
|
}
|
|
5841
5878
|
function sanitizeHTMLElement(elm, { safeJavaScriptLink, removeOnError } = {
|
|
5842
5879
|
safeJavaScriptLink: true,
|
|
@@ -32577,6 +32614,10 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
32577
32614
|
return false;
|
|
32578
32615
|
}
|
|
32579
32616
|
onSafeHTML(sandBox) {
|
|
32617
|
+
const sanitizer = this.j.o.cleanHTML.sanitizer;
|
|
32618
|
+
if (sanitizer) {
|
|
32619
|
+
sandBox.innerHTML = sanitizer(sandBox.innerHTML);
|
|
32620
|
+
}
|
|
32580
32621
|
(0,_core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__.safeHTML)(sandBox, this.j.o.cleanHTML);
|
|
32581
32622
|
}
|
|
32582
32623
|
/** @override */ beforeDestruct() {
|
|
@@ -32645,10 +32686,19 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.cleanHTML = {
|
|
|
32645
32686
|
b: 'strong'
|
|
32646
32687
|
},
|
|
32647
32688
|
allowTags: false,
|
|
32648
|
-
denyTags: 'script',
|
|
32689
|
+
denyTags: 'script,iframe,object,embed',
|
|
32649
32690
|
useIframeSandbox: false,
|
|
32650
32691
|
removeOnError: true,
|
|
32692
|
+
removeEventAttributes: true,
|
|
32651
32693
|
safeJavaScriptLink: true,
|
|
32694
|
+
safeLinksTarget: true,
|
|
32695
|
+
allowedStyles: false,
|
|
32696
|
+
sanitizer: false,
|
|
32697
|
+
sandboxIframesInContent: true,
|
|
32698
|
+
convertUnsafeEmbeds: [
|
|
32699
|
+
'object',
|
|
32700
|
+
'embed'
|
|
32701
|
+
],
|
|
32652
32702
|
disableCleanFilter: null
|
|
32653
32703
|
};
|
|
32654
32704
|
_config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.eraser = {
|
|
@@ -32905,6 +32955,53 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_0__.Icon.set('eraser', _eraser_svg_js_
|
|
|
32905
32955
|
}
|
|
32906
32956
|
|
|
32907
32957
|
|
|
32958
|
+
/***/ }),
|
|
32959
|
+
|
|
32960
|
+
/***/ 1962:
|
|
32961
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
32962
|
+
|
|
32963
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32964
|
+
/* harmony export */ convertUnsafeEmbeds: function() { return /* binding */ convertUnsafeEmbeds; }
|
|
32965
|
+
/* harmony export */ });
|
|
32966
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
32967
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
32968
|
+
/*!
|
|
32969
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
32970
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
32971
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
32972
|
+
*/
|
|
32973
|
+
|
|
32974
|
+
/**
|
|
32975
|
+
* Convert `<object>` and `<embed>` elements to safer `<iframe>` elements.
|
|
32976
|
+
* @private
|
|
32977
|
+
*/ function convertUnsafeEmbeds(jodit, nodeElm, hadEffect) {
|
|
32978
|
+
const opt = jodit.o.cleanHTML.convertUnsafeEmbeds;
|
|
32979
|
+
if (!opt || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
32980
|
+
return hadEffect;
|
|
32981
|
+
}
|
|
32982
|
+
const tag = nodeElm.nodeName.toLowerCase();
|
|
32983
|
+
if (!opt.includes(tag)) {
|
|
32984
|
+
return hadEffect;
|
|
32985
|
+
}
|
|
32986
|
+
const elm = nodeElm;
|
|
32987
|
+
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') || '';
|
|
32988
|
+
if (!src) {
|
|
32989
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(elm);
|
|
32990
|
+
return true;
|
|
32991
|
+
}
|
|
32992
|
+
const iframe = jodit.createInside.element('iframe');
|
|
32993
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(iframe, {
|
|
32994
|
+
src,
|
|
32995
|
+
sandbox: '',
|
|
32996
|
+
frameborder: '0',
|
|
32997
|
+
width: (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'width'),
|
|
32998
|
+
height: (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'height')
|
|
32999
|
+
});
|
|
33000
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(elm, iframe, undefined, false, true);
|
|
33001
|
+
return true;
|
|
33002
|
+
}
|
|
33003
|
+
|
|
33004
|
+
|
|
32908
33005
|
/***/ }),
|
|
32909
33006
|
|
|
32910
33007
|
/***/ 39433:
|
|
@@ -32948,20 +33045,28 @@ const TABLE_CONTAINER_TAGS = new Set([
|
|
|
32948
33045
|
__webpack_require__.r(__webpack_exports__);
|
|
32949
33046
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32950
33047
|
/* harmony export */ allowAttributes: function() { return /* reexport safe */ _allow_attributes_js__WEBPACK_IMPORTED_MODULE_0__.allowAttributes; },
|
|
32951
|
-
/* harmony export */
|
|
32952
|
-
/* harmony export */
|
|
32953
|
-
/* harmony export */
|
|
32954
|
-
/* harmony export */
|
|
32955
|
-
/* harmony export */
|
|
32956
|
-
/* harmony export */
|
|
33048
|
+
/* harmony export */ convertUnsafeEmbeds: function() { return /* reexport safe */ _convert_unsafe_embeds_js__WEBPACK_IMPORTED_MODULE_1__.convertUnsafeEmbeds; },
|
|
33049
|
+
/* harmony export */ fillEmptyParagraph: function() { return /* reexport safe */ _fill_empty_paragraph_js__WEBPACK_IMPORTED_MODULE_2__.fillEmptyParagraph; },
|
|
33050
|
+
/* harmony export */ removeEmptyTextNode: function() { return /* reexport safe */ _remove_empty_text_node_js__WEBPACK_IMPORTED_MODULE_3__.removeEmptyTextNode; },
|
|
33051
|
+
/* harmony export */ removeInvTextNodes: function() { return /* reexport safe */ _remove_inv_text_nodes_js__WEBPACK_IMPORTED_MODULE_4__.removeInvTextNodes; },
|
|
33052
|
+
/* harmony export */ replaceOldTags: function() { return /* reexport safe */ _replace_old_tags_js__WEBPACK_IMPORTED_MODULE_5__.replaceOldTags; },
|
|
33053
|
+
/* harmony export */ safeLinksTarget: function() { return /* reexport safe */ _safe_links_target_js__WEBPACK_IMPORTED_MODULE_6__.safeLinksTarget; },
|
|
33054
|
+
/* harmony export */ sandboxIframesInContent: function() { return /* reexport safe */ _sandbox_iframes_in_content_js__WEBPACK_IMPORTED_MODULE_7__.sandboxIframesInContent; },
|
|
33055
|
+
/* harmony export */ sanitizeAttributes: function() { return /* reexport safe */ _sanitize_attributes_js__WEBPACK_IMPORTED_MODULE_8__.sanitizeAttributes; },
|
|
33056
|
+
/* harmony export */ sanitizeStyles: function() { return /* reexport safe */ _sanitize_styles_js__WEBPACK_IMPORTED_MODULE_9__.sanitizeStyles; },
|
|
33057
|
+
/* harmony export */ tryRemoveNode: function() { return /* reexport safe */ _try_remove_node_js__WEBPACK_IMPORTED_MODULE_10__.tryRemoveNode; }
|
|
32957
33058
|
/* harmony export */ });
|
|
32958
33059
|
/* harmony import */ var _allow_attributes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82558);
|
|
32959
|
-
/* harmony import */ var
|
|
32960
|
-
/* harmony import */ var
|
|
32961
|
-
/* harmony import */ var
|
|
32962
|
-
/* harmony import */ var
|
|
32963
|
-
/* harmony import */ var
|
|
32964
|
-
/* harmony import */ var
|
|
33060
|
+
/* harmony import */ var _convert_unsafe_embeds_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1962);
|
|
33061
|
+
/* harmony import */ var _fill_empty_paragraph_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39433);
|
|
33062
|
+
/* harmony import */ var _remove_empty_text_node_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53392);
|
|
33063
|
+
/* harmony import */ var _remove_inv_text_nodes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25813);
|
|
33064
|
+
/* harmony import */ var _replace_old_tags_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80973);
|
|
33065
|
+
/* harmony import */ var _safe_links_target_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(95614);
|
|
33066
|
+
/* harmony import */ var _sandbox_iframes_in_content_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85978);
|
|
33067
|
+
/* harmony import */ var _sanitize_attributes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(384);
|
|
33068
|
+
/* harmony import */ var _sanitize_styles_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(15583);
|
|
33069
|
+
/* harmony import */ var _try_remove_node_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(28800);
|
|
32965
33070
|
/*!
|
|
32966
33071
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
32967
33072
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -32979,6 +33084,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
32979
33084
|
|
|
32980
33085
|
|
|
32981
33086
|
|
|
33087
|
+
|
|
33088
|
+
|
|
33089
|
+
|
|
33090
|
+
|
|
32982
33091
|
/***/ }),
|
|
32983
33092
|
|
|
32984
33093
|
/***/ 53392:
|
|
@@ -33086,6 +33195,84 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
33086
33195
|
}
|
|
33087
33196
|
|
|
33088
33197
|
|
|
33198
|
+
/***/ }),
|
|
33199
|
+
|
|
33200
|
+
/***/ 95614:
|
|
33201
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
33202
|
+
|
|
33203
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
33204
|
+
/* harmony export */ safeLinksTarget: function() { return /* binding */ safeLinksTarget; }
|
|
33205
|
+
/* harmony export */ });
|
|
33206
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
33207
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
33208
|
+
/*!
|
|
33209
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
33210
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
33211
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
33212
|
+
*/
|
|
33213
|
+
|
|
33214
|
+
/**
|
|
33215
|
+
* Automatically add `rel="noopener noreferrer"` to links with `target="_blank"`
|
|
33216
|
+
* @private
|
|
33217
|
+
*/ function safeLinksTarget(jodit, nodeElm, hadEffect) {
|
|
33218
|
+
if (!jodit.o.cleanHTML.safeLinksTarget || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) || nodeElm.nodeName !== 'A') {
|
|
33219
|
+
return hadEffect;
|
|
33220
|
+
}
|
|
33221
|
+
const elm = nodeElm;
|
|
33222
|
+
if ((0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'target') !== '_blank') {
|
|
33223
|
+
return hadEffect;
|
|
33224
|
+
}
|
|
33225
|
+
const rel = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'rel') || '';
|
|
33226
|
+
const parts = rel.split(/\s+/).filter(Boolean);
|
|
33227
|
+
let changed = false;
|
|
33228
|
+
if (!parts.includes('noopener')) {
|
|
33229
|
+
parts.push('noopener');
|
|
33230
|
+
changed = true;
|
|
33231
|
+
}
|
|
33232
|
+
if (!parts.includes('noreferrer')) {
|
|
33233
|
+
parts.push('noreferrer');
|
|
33234
|
+
changed = true;
|
|
33235
|
+
}
|
|
33236
|
+
if (changed) {
|
|
33237
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'rel', parts.join(' '));
|
|
33238
|
+
return true;
|
|
33239
|
+
}
|
|
33240
|
+
return hadEffect;
|
|
33241
|
+
}
|
|
33242
|
+
|
|
33243
|
+
|
|
33244
|
+
/***/ }),
|
|
33245
|
+
|
|
33246
|
+
/***/ 85978:
|
|
33247
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
33248
|
+
|
|
33249
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
33250
|
+
/* harmony export */ sandboxIframesInContent: function() { return /* binding */ sandboxIframesInContent; }
|
|
33251
|
+
/* harmony export */ });
|
|
33252
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
33253
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
33254
|
+
/*!
|
|
33255
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
33256
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
33257
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
33258
|
+
*/
|
|
33259
|
+
|
|
33260
|
+
/**
|
|
33261
|
+
* Add `sandbox=""` attribute to all `<iframe>` elements in the editor content
|
|
33262
|
+
* @private
|
|
33263
|
+
*/ function sandboxIframesInContent(jodit, nodeElm, hadEffect) {
|
|
33264
|
+
if (!jodit.o.cleanHTML.sandboxIframesInContent || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) || nodeElm.nodeName !== 'IFRAME') {
|
|
33265
|
+
return hadEffect;
|
|
33266
|
+
}
|
|
33267
|
+
const elm = nodeElm;
|
|
33268
|
+
if (!elm.hasAttribute('sandbox')) {
|
|
33269
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'sandbox', '');
|
|
33270
|
+
return true;
|
|
33271
|
+
}
|
|
33272
|
+
return hadEffect;
|
|
33273
|
+
}
|
|
33274
|
+
|
|
33275
|
+
|
|
33089
33276
|
/***/ }),
|
|
33090
33277
|
|
|
33091
33278
|
/***/ 384:
|
|
@@ -33105,9 +33292,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
33105
33292
|
/**
|
|
33106
33293
|
* @private
|
|
33107
33294
|
*/ function sanitizeAttributes(jodit, nodeElm, hadEffect) {
|
|
33108
|
-
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)
|
|
33109
|
-
|
|
33110
|
-
|
|
33295
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
33296
|
+
return hadEffect;
|
|
33297
|
+
}
|
|
33298
|
+
const opts = jodit.options.cleanHTML;
|
|
33299
|
+
if ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.sanitizeHTMLElement)(nodeElm, {
|
|
33300
|
+
safeJavaScriptLink: opts.safeJavaScriptLink,
|
|
33301
|
+
removeOnError: opts.removeOnError,
|
|
33302
|
+
removeEventAttributes: opts.removeEventAttributes,
|
|
33303
|
+
safeLinksTarget: opts.safeLinksTarget
|
|
33111
33304
|
})) {
|
|
33112
33305
|
return true;
|
|
33113
33306
|
}
|
|
@@ -33115,6 +33308,81 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
33115
33308
|
}
|
|
33116
33309
|
|
|
33117
33310
|
|
|
33311
|
+
/***/ }),
|
|
33312
|
+
|
|
33313
|
+
/***/ 15583:
|
|
33314
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
33315
|
+
|
|
33316
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
33317
|
+
/* harmony export */ sanitizeStyles: function() { return /* binding */ sanitizeStyles; }
|
|
33318
|
+
/* harmony export */ });
|
|
33319
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
33320
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
33321
|
+
/*!
|
|
33322
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
33323
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
33324
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
33325
|
+
*/
|
|
33326
|
+
|
|
33327
|
+
/**
|
|
33328
|
+
* Filter CSS properties in style attributes based on allowedStyles whitelist
|
|
33329
|
+
* @private
|
|
33330
|
+
*/ function sanitizeStyles(jodit, nodeElm, hadEffect) {
|
|
33331
|
+
const allowedStyles = jodit.o.cleanHTML.allowedStyles;
|
|
33332
|
+
if (!allowedStyles || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm)) {
|
|
33333
|
+
return hadEffect;
|
|
33334
|
+
}
|
|
33335
|
+
const elm = nodeElm;
|
|
33336
|
+
const style = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'style');
|
|
33337
|
+
if (!style) {
|
|
33338
|
+
return hadEffect;
|
|
33339
|
+
}
|
|
33340
|
+
const tagName = nodeElm.nodeName.toLowerCase();
|
|
33341
|
+
const allowed = getAllowedPropsForTag(tagName, allowedStyles);
|
|
33342
|
+
if (!allowed) {
|
|
33343
|
+
return hadEffect;
|
|
33344
|
+
}
|
|
33345
|
+
const filtered = filterStyleProperties(style, allowed);
|
|
33346
|
+
if (filtered !== style) {
|
|
33347
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'style', filtered || null);
|
|
33348
|
+
return true;
|
|
33349
|
+
}
|
|
33350
|
+
return hadEffect;
|
|
33351
|
+
}
|
|
33352
|
+
function getAllowedPropsForTag(tagName, allowedStyles) {
|
|
33353
|
+
const tagSpecific = allowedStyles[tagName];
|
|
33354
|
+
const global = allowedStyles['*'];
|
|
33355
|
+
if (!tagSpecific && !global) {
|
|
33356
|
+
return null;
|
|
33357
|
+
}
|
|
33358
|
+
const set = new Set();
|
|
33359
|
+
if (global) {
|
|
33360
|
+
for (const prop of global){
|
|
33361
|
+
set.add(prop.toLowerCase());
|
|
33362
|
+
}
|
|
33363
|
+
}
|
|
33364
|
+
if (tagSpecific) {
|
|
33365
|
+
for (const prop of tagSpecific){
|
|
33366
|
+
set.add(prop.toLowerCase());
|
|
33367
|
+
}
|
|
33368
|
+
}
|
|
33369
|
+
return set;
|
|
33370
|
+
}
|
|
33371
|
+
function filterStyleProperties(style, allowed) {
|
|
33372
|
+
return style.split(';').map((s)=>s.trim()).filter((s)=>{
|
|
33373
|
+
if (!s) {
|
|
33374
|
+
return false;
|
|
33375
|
+
}
|
|
33376
|
+
const colonIdx = s.indexOf(':');
|
|
33377
|
+
if (colonIdx === -1) {
|
|
33378
|
+
return false;
|
|
33379
|
+
}
|
|
33380
|
+
const prop = s.substring(0, colonIdx).trim().toLowerCase();
|
|
33381
|
+
return allowed.has(prop);
|
|
33382
|
+
}).join('; ').replace(/;\s*$/, '');
|
|
33383
|
+
}
|
|
33384
|
+
|
|
33385
|
+
|
|
33118
33386
|
/***/ }),
|
|
33119
33387
|
|
|
33120
33388
|
/***/ 28800:
|
|
@@ -34569,7 +34837,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('dragAndDropElemen
|
|
|
34569
34837
|
'src'
|
|
34570
34838
|
];
|
|
34571
34839
|
fragment = this.j.createInside.element(tagName);
|
|
34572
|
-
|
|
34840
|
+
(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') || '');
|
|
34573
34841
|
if (tagName === 'a') {
|
|
34574
34842
|
fragment.textContent = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(fragment, field) || '';
|
|
34575
34843
|
}
|
|
@@ -35166,13 +35434,15 @@ function brBefore(start) {
|
|
|
35166
35434
|
/* harmony export */ insertParagraph: function() { return /* binding */ insertParagraph; }
|
|
35167
35435
|
/* harmony export */ });
|
|
35168
35436
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
35169
|
-
/* harmony import */ var
|
|
35437
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
35438
|
+
/* harmony import */ var _core_helpers_utils_scroll_into_view_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26395);
|
|
35170
35439
|
/*!
|
|
35171
35440
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
35172
35441
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
35173
35442
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
35174
35443
|
*/
|
|
35175
35444
|
|
|
35445
|
+
|
|
35176
35446
|
/**
|
|
35177
35447
|
* Insert default paragraph
|
|
35178
35448
|
* @private
|
|
@@ -35182,11 +35452,11 @@ function brBefore(start) {
|
|
|
35182
35452
|
p.appendChild(br);
|
|
35183
35453
|
}
|
|
35184
35454
|
if (style && style.cssText) {
|
|
35185
|
-
|
|
35455
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(p, 'style', style.cssText);
|
|
35186
35456
|
}
|
|
35187
35457
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(fake, p);
|
|
35188
35458
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(isBR ? p : br, fake);
|
|
35189
|
-
(0,
|
|
35459
|
+
(0,_core_helpers_utils_scroll_into_view_js__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(p, editor.editor, editor.ed);
|
|
35190
35460
|
return p;
|
|
35191
35461
|
}
|
|
35192
35462
|
|
|
@@ -35363,8 +35633,9 @@ function brBefore(start) {
|
|
|
35363
35633
|
/* unused harmony export file */
|
|
35364
35634
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
35365
35635
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(580);
|
|
35366
|
-
/* harmony import */ var
|
|
35367
|
-
/* harmony import */ var
|
|
35636
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29960);
|
|
35637
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
|
|
35638
|
+
/* harmony import */ var _modules_widget_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92762);
|
|
35368
35639
|
/*!
|
|
35369
35640
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
35370
35641
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -35373,7 +35644,8 @@ function brBefore(start) {
|
|
|
35373
35644
|
|
|
35374
35645
|
|
|
35375
35646
|
|
|
35376
|
-
|
|
35647
|
+
|
|
35648
|
+
_config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.file = {
|
|
35377
35649
|
popup: (editor, current, close)=>{
|
|
35378
35650
|
const insert = (url, title = '')=>{
|
|
35379
35651
|
editor.s.insertNode(editor.createInside.fromHTML(`<a href="${url}" title="${title}">${title || url}</a>`));
|
|
@@ -35382,7 +35654,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.file = {
|
|
|
35382
35654
|
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))) {
|
|
35383
35655
|
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);
|
|
35384
35656
|
}
|
|
35385
|
-
return (0,
|
|
35657
|
+
return (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_4__.FileSelectorWidget)(editor, {
|
|
35386
35658
|
filebrowser: (data)=>{
|
|
35387
35659
|
data.files && data.files.forEach((file)=>insert(data.baseurl + file));
|
|
35388
35660
|
close();
|
|
@@ -35390,8 +35662,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.file = {
|
|
|
35390
35662
|
upload: true,
|
|
35391
35663
|
url: (url, text)=>{
|
|
35392
35664
|
if (sourceAnchor) {
|
|
35393
|
-
|
|
35394
|
-
|
|
35665
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(sourceAnchor, 'href', url);
|
|
35666
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(sourceAnchor, 'title', text);
|
|
35395
35667
|
} else {
|
|
35396
35668
|
insert(url, text);
|
|
35397
35669
|
}
|
|
@@ -36304,8 +36576,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
36304
36576
|
if (opt.iframeCSSLinks) {
|
|
36305
36577
|
opt.iframeCSSLinks.forEach((href)=>{
|
|
36306
36578
|
const link = doc.createElement('link');
|
|
36307
|
-
|
|
36308
|
-
|
|
36579
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(link, 'rel', 'stylesheet');
|
|
36580
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(link, 'href', href);
|
|
36309
36581
|
doc.head && doc.head.appendChild(link);
|
|
36310
36582
|
});
|
|
36311
36583
|
}
|
|
@@ -36322,11 +36594,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
36322
36594
|
iframe.style.display = 'block';
|
|
36323
36595
|
iframe.src = 'about:blank';
|
|
36324
36596
|
iframe.className = 'jodit-wysiwyg_iframe';
|
|
36325
|
-
|
|
36326
|
-
|
|
36327
|
-
|
|
36597
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(iframe, {
|
|
36598
|
+
allowtransparency: 'true',
|
|
36599
|
+
tabindex: opt.tabIndex.toString(),
|
|
36600
|
+
frameborder: '0'
|
|
36601
|
+
});
|
|
36328
36602
|
if (opt.iframeSandbox != null) {
|
|
36329
|
-
|
|
36603
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(iframe, 'sandbox', opt.iframeSandbox);
|
|
36330
36604
|
}
|
|
36331
36605
|
editor.workplace.appendChild(iframe);
|
|
36332
36606
|
editor.iframe = iframe;
|
|
@@ -38177,6 +38451,10 @@ function _async_to_generator(fn) {
|
|
|
38177
38451
|
}
|
|
38178
38452
|
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'href', imageLink);
|
|
38179
38453
|
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'target', imageLinkOpenInNewTab ? '_blank' : null);
|
|
38454
|
+
if (!imageLinkOpenInNewTab) {
|
|
38455
|
+
const relParts = ((0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'rel') || '').split(/\s+/).filter((p)=>p && p !== 'noopener' && p !== 'noreferrer');
|
|
38456
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(link, 'rel', relParts.length ? relParts.join(' ') : null);
|
|
38457
|
+
}
|
|
38180
38458
|
} else {
|
|
38181
38459
|
if (link && link.parentNode) {
|
|
38182
38460
|
link.parentNode.replaceChild(image, link);
|
|
@@ -38281,10 +38559,11 @@ function _async_to_generator(fn) {
|
|
|
38281
38559
|
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22732);
|
|
38282
38560
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(580);
|
|
38283
38561
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21537);
|
|
38284
|
-
/* harmony import */ var
|
|
38285
|
-
/* harmony import */ var
|
|
38286
|
-
/* harmony import */ var
|
|
38287
|
-
/* harmony import */ var
|
|
38562
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29960);
|
|
38563
|
+
/* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12153);
|
|
38564
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6441);
|
|
38565
|
+
/* harmony import */ var _modules_widget_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92762);
|
|
38566
|
+
/* harmony import */ var _image_svg_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(25179);
|
|
38288
38567
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
38289
38568
|
try {
|
|
38290
38569
|
var info = gen[key](arg);
|
|
@@ -38325,15 +38604,16 @@ function _async_to_generator(fn) {
|
|
|
38325
38604
|
|
|
38326
38605
|
|
|
38327
38606
|
|
|
38328
|
-
|
|
38329
|
-
|
|
38607
|
+
|
|
38608
|
+
_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('image', _image_svg_js__WEBPACK_IMPORTED_MODULE_7__["default"]);
|
|
38609
|
+
_config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.image = {
|
|
38330
38610
|
popup: (editor, current, close)=>{
|
|
38331
38611
|
let sourceImage = null;
|
|
38332
38612
|
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)) {
|
|
38333
38613
|
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];
|
|
38334
38614
|
}
|
|
38335
38615
|
editor.s.save();
|
|
38336
|
-
return (0,
|
|
38616
|
+
return (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_6__.FileSelectorWidget)(editor, {
|
|
38337
38617
|
filebrowser: (data)=>{
|
|
38338
38618
|
editor.s.restore();
|
|
38339
38619
|
data.files && data.files.forEach((file)=>editor.s.insertImage(data.baseurl + file, null, editor.o.imageDefaultWidth));
|
|
@@ -38346,8 +38626,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.image = {
|
|
|
38346
38626
|
url = '//' + url;
|
|
38347
38627
|
}
|
|
38348
38628
|
const image = sourceImage || editor.createInside.element('img');
|
|
38349
|
-
|
|
38350
|
-
|
|
38629
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__.attr)(image, 'src', url);
|
|
38630
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_3__.attr)(image, 'alt', text);
|
|
38351
38631
|
if (!sourceImage) {
|
|
38352
38632
|
yield editor.s.insertImage(image, null, editor.o.imageDefaultWidth);
|
|
38353
38633
|
}
|
|
@@ -40355,7 +40635,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
40355
40635
|
}
|
|
40356
40636
|
if (jodit.s.isCollapsed()) {
|
|
40357
40637
|
const a = jodit.createInside.element('a');
|
|
40358
|
-
|
|
40638
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'href', html);
|
|
40359
40639
|
a.textContent = html;
|
|
40360
40640
|
jodit.e.fire('applyLink', jodit, a, null);
|
|
40361
40641
|
return a;
|
|
@@ -40415,7 +40695,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
40415
40695
|
target_checkbox.checked = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'target') === '_blank';
|
|
40416
40696
|
}
|
|
40417
40697
|
if (noFollowCheckbox && nofollow_checkbox) {
|
|
40418
|
-
nofollow_checkbox.checked = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'rel')
|
|
40698
|
+
nofollow_checkbox.checked = ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'rel') || '').split(/\s+/).includes('nofollow');
|
|
40419
40699
|
}
|
|
40420
40700
|
insert.textContent = i18n('Update');
|
|
40421
40701
|
} else {
|
|
@@ -40481,7 +40761,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
40481
40761
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'target', target_checkbox.checked ? '_blank' : null);
|
|
40482
40762
|
}
|
|
40483
40763
|
if (noFollowCheckbox && nofollow_checkbox) {
|
|
40484
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel'
|
|
40764
|
+
const relParts = ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel') || '').split(/\s+/).filter(Boolean);
|
|
40765
|
+
const hasNofollow = relParts.includes('nofollow');
|
|
40766
|
+
if (nofollow_checkbox.checked && !hasNofollow) {
|
|
40767
|
+
relParts.push('nofollow');
|
|
40768
|
+
} else if (!nofollow_checkbox.checked && hasNofollow) {
|
|
40769
|
+
relParts.splice(relParts.indexOf('nofollow'), 1);
|
|
40770
|
+
}
|
|
40771
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(a, 'rel', relParts.length ? relParts.join(' ') : null);
|
|
40485
40772
|
}
|
|
40486
40773
|
jodit.e.fire('applyLink', jodit, a, form);
|
|
40487
40774
|
});
|
|
@@ -43122,8 +43409,8 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
43122
43409
|
this.j.e.off(element, 'mousedown.select touchstart.select').on(element, 'mousedown.select touchstart.select', ()=>{
|
|
43123
43410
|
this.j.s.select(element);
|
|
43124
43411
|
}).off(element, 'changesize').on(element, 'changesize', ()=>{
|
|
43125
|
-
|
|
43126
|
-
|
|
43412
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'width', element.offsetWidth + 'px');
|
|
43413
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'height', element.offsetHeight + 'px');
|
|
43127
43414
|
});
|
|
43128
43415
|
}
|
|
43129
43416
|
this.j.e.on(element, 'dragstart', this.hide);
|
|
@@ -45245,8 +45532,9 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.SourceEdit
|
|
|
45245
45532
|
/* harmony export */ TextAreaEditor: function() { return /* binding */ TextAreaEditor; }
|
|
45246
45533
|
/* harmony export */ });
|
|
45247
45534
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
45248
|
-
/* harmony import */ var
|
|
45249
|
-
/* harmony import */ var
|
|
45535
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
45536
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41180);
|
|
45537
|
+
/* harmony import */ var _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23370);
|
|
45250
45538
|
/*!
|
|
45251
45539
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
45252
45540
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -45254,7 +45542,8 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.SourceEdit
|
|
|
45254
45542
|
*/
|
|
45255
45543
|
|
|
45256
45544
|
|
|
45257
|
-
|
|
45545
|
+
|
|
45546
|
+
class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEditor {
|
|
45258
45547
|
init(editor) {
|
|
45259
45548
|
this.instance = editor.c.element('textarea', {
|
|
45260
45549
|
class: 'jodit-source__mirror',
|
|
@@ -45262,7 +45551,7 @@ class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.Sourc
|
|
|
45262
45551
|
});
|
|
45263
45552
|
this.container.appendChild(this.instance);
|
|
45264
45553
|
editor.e.on(this.instance, 'mousedown keydown touchstart input', editor.async.debounce(this.toWYSIWYG, editor.defaultTimeout)).on('setMinHeight.source', (minHeightD)=>{
|
|
45265
|
-
(0,
|
|
45554
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(this.instance, 'minHeight', minHeightD);
|
|
45266
45555
|
}).on(this.instance, 'change keydown mousedown touchstart input', this.autosize).on('afterSetMode.source', this.autosize).on(this.instance, 'mousedown focus', (e)=>{
|
|
45267
45556
|
editor.e.fire(e.type, e);
|
|
45268
45557
|
});
|
|
@@ -45306,14 +45595,10 @@ class TextAreaEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_2__.Sourc
|
|
|
45306
45595
|
this.instance.blur();
|
|
45307
45596
|
}
|
|
45308
45597
|
setPlaceHolder(title) {
|
|
45309
|
-
this.instance
|
|
45598
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(this.instance, 'placeholder', title);
|
|
45310
45599
|
}
|
|
45311
45600
|
setReadOnly(isReadOnly) {
|
|
45312
|
-
|
|
45313
|
-
this.instance.setAttribute('readonly', 'true');
|
|
45314
|
-
} else {
|
|
45315
|
-
this.instance.removeAttribute('readonly');
|
|
45316
|
-
}
|
|
45601
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(this.instance, 'readonly', isReadOnly ? 'true' : null);
|
|
45317
45602
|
}
|
|
45318
45603
|
selectAll() {
|
|
45319
45604
|
this.instance.select();
|