jodit-pro 4.12.23 → 4.12.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +6 -6
- package/es2015/jodit.js +195 -44
- package/es2015/jodit.min.js +6 -6
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.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 +6 -6
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/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 +195 -44
- package/es2021/jodit.min.js +8 -8
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.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 +195 -44
- 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 +214 -50
- 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/es5/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.12.
|
|
4
|
+
* Version: v4.12.24
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -2258,7 +2258,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
2258
2258
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
2259
2259
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
2260
2260
|
}
|
|
2261
|
-
var APP_VERSION = "4.12.
|
|
2261
|
+
var APP_VERSION = "4.12.24";
|
|
2262
2262
|
// prettier-ignore
|
|
2263
2263
|
var ES = "es5";
|
|
2264
2264
|
var IS_ES_MODERN = false;
|
|
@@ -7370,6 +7370,16 @@ function normalizeCSS(s) {
|
|
|
7370
7370
|
iframeDoc.open();
|
|
7371
7371
|
iframeDoc.write(html);
|
|
7372
7372
|
iframeDoc.close();
|
|
7373
|
+
// Word marks its auto-generated list markers (the literal
|
|
7374
|
+
// bullet/number, e.g. `1.` or `·`) with `mso-list:Ignore`.
|
|
7375
|
+
// They are display-only and must not be imported, otherwise
|
|
7376
|
+
// the marker text leaks into the content. Drop them before any
|
|
7377
|
+
// style normalization strips the `mso-list` hint. See #948
|
|
7378
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.each(iframeDoc.body, function(node) {
|
|
7379
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) && /mso-list:\s*ignore/i.test(node.getAttribute('style') || '')) {
|
|
7380
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
|
|
7381
|
+
}
|
|
7382
|
+
});
|
|
7373
7383
|
try {
|
|
7374
7384
|
var _loop = function(i) {
|
|
7375
7385
|
var _loop = function(idx) {
|
|
@@ -7468,6 +7478,15 @@ function normalizeCSS(s) {
|
|
|
7468
7478
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(node);
|
|
7469
7479
|
break;
|
|
7470
7480
|
default:
|
|
7481
|
+
// Word marks its auto-generated list markers
|
|
7482
|
+
// (the literal bullet/number, e.g. `1.` or `·`)
|
|
7483
|
+
// with `mso-list:Ignore`. They are display-only
|
|
7484
|
+
// and must not be imported, otherwise the marker
|
|
7485
|
+
// text leaks into the content. See #948
|
|
7486
|
+
if (/mso-list:\s*ignore/i.test(node.getAttribute('style') || '')) {
|
|
7487
|
+
marks.push(node);
|
|
7488
|
+
break;
|
|
7489
|
+
}
|
|
7471
7490
|
(0,_array_to_array_js__WEBPACK_IMPORTED_MODULE_2__.toArray)(node.attributes).forEach(function(attr) {
|
|
7472
7491
|
if ([
|
|
7473
7492
|
'src',
|
|
@@ -7605,26 +7624,20 @@ function normalizeCSS(s) {
|
|
|
7605
7624
|
return;
|
|
7606
7625
|
}
|
|
7607
7626
|
var removeEvents = (_a = options.removeEventAttributes) !== null && _a !== void 0 ? _a : options.removeOnError;
|
|
7608
|
-
|
|
7609
|
-
|
|
7610
|
-
|
|
7611
|
-
|
|
7612
|
-
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7622
|
-
return sanitizeHTMLElement(elm, options);
|
|
7623
|
-
});
|
|
7624
|
-
}
|
|
7625
|
-
if (options.safeLinksTarget) {
|
|
7626
|
-
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('a[target="_blank"]', box).forEach(function(elm) {
|
|
7627
|
-
var rel = elm.getAttribute('rel') || '';
|
|
7627
|
+
// Single synchronous traversal of the subtree. Besides removing event
|
|
7628
|
+
// handlers and `javascript:` links, `sanitizeHTMLElement` neutralises
|
|
7629
|
+
// executable `iframe[srcdoc]`, `data:text/html` / SVG `data:` document
|
|
7630
|
+
// sources and dangerous schemes in every URL-bearing attribute.
|
|
7631
|
+
var process = function process(node) {
|
|
7632
|
+
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(node)) {
|
|
7633
|
+
return;
|
|
7634
|
+
}
|
|
7635
|
+
if (removeEvents) {
|
|
7636
|
+
removeAllEventAttributes(node);
|
|
7637
|
+
}
|
|
7638
|
+
sanitizeHTMLElement(node, options);
|
|
7639
|
+
if (options.safeLinksTarget && node.nodeName === 'A' && node.getAttribute('target') === '_blank') {
|
|
7640
|
+
var rel = node.getAttribute('rel') || '';
|
|
7628
7641
|
var parts = rel.split(/\s+/).filter(Boolean);
|
|
7629
7642
|
if (!parts.includes('noopener')) {
|
|
7630
7643
|
parts.push('noopener');
|
|
@@ -7632,9 +7645,11 @@ function normalizeCSS(s) {
|
|
|
7632
7645
|
if (!parts.includes('noreferrer')) {
|
|
7633
7646
|
parts.push('noreferrer');
|
|
7634
7647
|
}
|
|
7635
|
-
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(
|
|
7636
|
-
}
|
|
7637
|
-
}
|
|
7648
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(node, 'rel', parts.join(' '));
|
|
7649
|
+
}
|
|
7650
|
+
};
|
|
7651
|
+
process(box);
|
|
7652
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.each(box, process);
|
|
7638
7653
|
}
|
|
7639
7654
|
/**
|
|
7640
7655
|
* Remove all on* event handler attributes from an element
|
|
@@ -7672,6 +7687,41 @@ function normalizeCSS(s) {
|
|
|
7672
7687
|
}
|
|
7673
7688
|
return effected;
|
|
7674
7689
|
}
|
|
7690
|
+
/**
|
|
7691
|
+
* URL-bearing attributes (besides `href`) that can load or execute content.
|
|
7692
|
+
*/ var URL_ATTRIBUTES = [
|
|
7693
|
+
'src',
|
|
7694
|
+
'data',
|
|
7695
|
+
'action',
|
|
7696
|
+
'formaction',
|
|
7697
|
+
'poster',
|
|
7698
|
+
'background',
|
|
7699
|
+
'xlink:href'
|
|
7700
|
+
];
|
|
7701
|
+
/**
|
|
7702
|
+
* Tags that load their URL as a *document* (scripts inside run). An SVG data
|
|
7703
|
+
* URL is only an XSS vector here — as an `<img>` source it renders inertly.
|
|
7704
|
+
*/ var DOCUMENT_EMBED_TAGS = new Set([
|
|
7705
|
+
'iframe',
|
|
7706
|
+
'frame',
|
|
7707
|
+
'object',
|
|
7708
|
+
'embed'
|
|
7709
|
+
]);
|
|
7710
|
+
/**
|
|
7711
|
+
* Detects executable / script-bearing URL schemes. The attribute value is
|
|
7712
|
+
* already HTML-entity-decoded by `getAttribute`, so only whitespace and
|
|
7713
|
+
* control characters (which browsers ignore inside a scheme) need stripping.
|
|
7714
|
+
*/ function isDangerousUrl(value, tagName) {
|
|
7715
|
+
// eslint-disable-next-line no-control-regex
|
|
7716
|
+
var normalized = value.replace(/[\u0000-\u0020]+/g, '').toLowerCase();
|
|
7717
|
+
if (/^(?:javascript|vbscript|livescript|mocha):/.test(normalized)) {
|
|
7718
|
+
return true;
|
|
7719
|
+
}
|
|
7720
|
+
if (/^data:(?:text\/html|application\/xhtml)/.test(normalized)) {
|
|
7721
|
+
return true;
|
|
7722
|
+
}
|
|
7723
|
+
return /^data:image\/svg/.test(normalized) && DOCUMENT_EMBED_TAGS.has(tagName);
|
|
7724
|
+
}
|
|
7675
7725
|
function sanitizeHTMLElement(elm) {
|
|
7676
7726
|
var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
7677
7727
|
safeJavaScriptLink: true,
|
|
@@ -7690,6 +7740,39 @@ function sanitizeHTMLElement(elm) {
|
|
|
7690
7740
|
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'href', location.protocol + '//' + href);
|
|
7691
7741
|
effected = true;
|
|
7692
7742
|
}
|
|
7743
|
+
if (safeJavaScriptLink) {
|
|
7744
|
+
// `srcdoc` runs its content as a full HTML document — drop it entirely.
|
|
7745
|
+
if (elm.hasAttribute('srcdoc')) {
|
|
7746
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'srcdoc', null);
|
|
7747
|
+
effected = true;
|
|
7748
|
+
}
|
|
7749
|
+
// Strip executable schemes from any other URL-bearing attribute.
|
|
7750
|
+
var tagName = elm.nodeName.toLowerCase();
|
|
7751
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
7752
|
+
try {
|
|
7753
|
+
for(var _iterator = URL_ATTRIBUTES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
7754
|
+
var name = _step.value;
|
|
7755
|
+
var value = elm.getAttribute(name);
|
|
7756
|
+
if (value && isDangerousUrl(value, tagName)) {
|
|
7757
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, name, null);
|
|
7758
|
+
effected = true;
|
|
7759
|
+
}
|
|
7760
|
+
}
|
|
7761
|
+
} catch (err) {
|
|
7762
|
+
_didIteratorError = true;
|
|
7763
|
+
_iteratorError = err;
|
|
7764
|
+
} finally{
|
|
7765
|
+
try {
|
|
7766
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
7767
|
+
_iterator.return();
|
|
7768
|
+
}
|
|
7769
|
+
} finally{
|
|
7770
|
+
if (_didIteratorError) {
|
|
7771
|
+
throw _iteratorError;
|
|
7772
|
+
}
|
|
7773
|
+
}
|
|
7774
|
+
}
|
|
7775
|
+
}
|
|
7693
7776
|
return effected;
|
|
7694
7777
|
}
|
|
7695
7778
|
|
|
@@ -7738,7 +7821,7 @@ var ALONE_TAGS = new Set([
|
|
|
7738
7821
|
/**
|
|
7739
7822
|
* Extract plain text from HTML text
|
|
7740
7823
|
*/ function stripTags(html) {
|
|
7741
|
-
var doc = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : document, exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
7824
|
+
var doc = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : document, exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, blockBr = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
|
|
7742
7825
|
var tmp = doc.createElement('div');
|
|
7743
7826
|
if ((0,_checker_is_string_js__WEBPACK_IMPORTED_MODULE_1__.isString)(html)) {
|
|
7744
7827
|
tmp.innerHTML = html;
|
|
@@ -7752,7 +7835,7 @@ var ALONE_TAGS = new Set([
|
|
|
7752
7835
|
}
|
|
7753
7836
|
if (exclude && _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(p, exclude)) {
|
|
7754
7837
|
var tag = p.nodeName.toLowerCase();
|
|
7755
|
-
var text = !_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(p, ALONE_TAGS) ? "%%%jodit-".concat(tag, "%%%").concat(stripTags(p.innerHTML, doc, exclude), "%%%/jodit-").concat(tag, "%%%") : "%%%jodit-single-".concat(tag, "%%%");
|
|
7838
|
+
var text = !_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(p, ALONE_TAGS) ? "%%%jodit-".concat(tag, "%%%").concat(stripTags(p.innerHTML, doc, exclude, blockBr), "%%%/jodit-").concat(tag, "%%%") : "%%%jodit-single-".concat(tag, "%%%");
|
|
7756
7839
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(p, doc.createTextNode(text));
|
|
7757
7840
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(p);
|
|
7758
7841
|
return;
|
|
@@ -7769,7 +7852,11 @@ var ALONE_TAGS = new Set([
|
|
|
7769
7852
|
return;
|
|
7770
7853
|
}
|
|
7771
7854
|
if (nx) {
|
|
7772
|
-
|
|
7855
|
+
// By default blocks are joined with a single space (single-line
|
|
7856
|
+
// plain text). When `blockBr` is set, separate them with a line
|
|
7857
|
+
// break instead, so paragraph structure survives — e.g. the
|
|
7858
|
+
// "Insert only Text" paste option. See #1232
|
|
7859
|
+
pr.insertBefore(doc.createTextNode(blockBr ? '%%%jodit-single-br%%%' : ' '), nx);
|
|
7773
7860
|
}
|
|
7774
7861
|
});
|
|
7775
7862
|
return restoreTags((0,_string_trim_js__WEBPACK_IMPORTED_MODULE_2__.trim)(tmp.innerText));
|
|
@@ -9635,7 +9722,6 @@ function ConfigDeepFlatten(obj) {
|
|
|
9635
9722
|
return url;
|
|
9636
9723
|
}
|
|
9637
9724
|
var parser = _constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a');
|
|
9638
|
-
var pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
|
|
9639
9725
|
parser.href = url;
|
|
9640
9726
|
if (!width) {
|
|
9641
9727
|
width = 400;
|
|
@@ -9647,19 +9733,43 @@ function ConfigDeepFlatten(obj) {
|
|
|
9647
9733
|
switch(parser.hostname){
|
|
9648
9734
|
case 'www.vimeo.com':
|
|
9649
9735
|
case 'vimeo.com':
|
|
9650
|
-
|
|
9736
|
+
{
|
|
9737
|
+
// The numeric video id can be preceded by `channels/<name>/` or
|
|
9738
|
+
// `groups/<name>/videos/` and followed by tracking params (e.g.
|
|
9739
|
+
// `?share=copy`). Unlisted videos keep a hash right after the id
|
|
9740
|
+
// (`vimeo.com/<id>/<hash>`). Extract the id (+ hash) from the path
|
|
9741
|
+
// so all of those forms produce a valid embed. See #1209
|
|
9742
|
+
var segments = parser.pathname.split('/').filter(Boolean);
|
|
9743
|
+
var idIndex = segments.findIndex(function(s) {
|
|
9744
|
+
return /^\d+$/.test(s);
|
|
9745
|
+
});
|
|
9746
|
+
if (idIndex === -1) {
|
|
9747
|
+
return url;
|
|
9748
|
+
}
|
|
9749
|
+
var path = segments[idIndex];
|
|
9750
|
+
var hash = segments[idIndex + 1];
|
|
9751
|
+
if (hash && idIndex === 0) {
|
|
9752
|
+
path += '/' + hash;
|
|
9753
|
+
}
|
|
9754
|
+
return '<iframe width="' + width + '" height="' + height + '" src="' + protocol + '//player.vimeo.com/video/' + path + '" frameborder="0" allowfullscreen></iframe>';
|
|
9755
|
+
}
|
|
9651
9756
|
case 'youtube.com':
|
|
9652
9757
|
case 'www.youtube.com':
|
|
9758
|
+
case 'm.youtube.com':
|
|
9759
|
+
case 'music.youtube.com':
|
|
9653
9760
|
case 'youtu.be':
|
|
9654
9761
|
case 'www.youtu.be':
|
|
9655
9762
|
{
|
|
9656
|
-
var query = parser.search ? (0,_parse_query_js__WEBPACK_IMPORTED_MODULE_2__.parseQuery)(parser.search) : {
|
|
9657
|
-
|
|
9658
|
-
|
|
9659
|
-
|
|
9660
|
-
|
|
9661
|
-
|
|
9662
|
-
|
|
9763
|
+
var query = parser.search ? (0,_parse_query_js__WEBPACK_IMPORTED_MODULE_2__.parseQuery)(parser.search) : {};
|
|
9764
|
+
// `youtube.com/watch` keeps the video id in the `v` query
|
|
9765
|
+
// parameter, while the short `youtu.be/<id>` links and the
|
|
9766
|
+
// `/embed/`, `/shorts/`, `/live/` paths keep it in the pathname.
|
|
9767
|
+
// Modern share urls add tracking params (e.g. `?si=`, `?t=`), so
|
|
9768
|
+
// the pathname must still be used as a fallback when there is no
|
|
9769
|
+
// `v`. See #1209
|
|
9770
|
+
var v = query.v || parser.pathname.substring(1);
|
|
9771
|
+
v = v.replace(/^(watch|embed|shorts|live|v)\//, '').replace(/\/$/, '');
|
|
9772
|
+
return v ? '<iframe width="' + width + '" height="' + height + '" src="' + protocol + '//www.youtube.com/embed/' + v + '" frameborder="0" allowfullscreen></iframe>' : url;
|
|
9663
9773
|
}
|
|
9664
9774
|
}
|
|
9665
9775
|
return url;
|
|
@@ -25846,6 +25956,23 @@ var Jodit = Jodit_1 = /*#__PURE__*/ function(ViewWithToolbar) {
|
|
|
25846
25956
|
}
|
|
25847
25957
|
_this.synchronizeValues();
|
|
25848
25958
|
}
|
|
25959
|
+
}).on(this.ow, 'mouseup', function(event) {
|
|
25960
|
+
if (_this.o.readonly || _this.__isSilentChange) {
|
|
25961
|
+
return;
|
|
25962
|
+
}
|
|
25963
|
+
// When a selection is started inside the editor and the
|
|
25964
|
+
// mouse button is released outside of it, the editable
|
|
25965
|
+
// area never receives the `mouseup` event, so the toolbar
|
|
25966
|
+
// state (active buttons) is not recalculated. Re-fire the
|
|
25967
|
+
// event manually for that case while the selection still
|
|
25968
|
+
// belongs to the editor. See #1251
|
|
25969
|
+
var target = event.target;
|
|
25970
|
+
var insideEditor = Boolean(target && (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isNumber)(target.nodeType) && editor.contains(target));
|
|
25971
|
+
if (insideEditor || !_this.s.isInsideArea) {
|
|
25972
|
+
return;
|
|
25973
|
+
}
|
|
25974
|
+
_this.e.fire('changeSelection');
|
|
25975
|
+
_this.synchronizeValues();
|
|
25849
25976
|
});
|
|
25850
25977
|
}
|
|
25851
25978
|
},
|
|
@@ -40819,9 +40946,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.uploader = {
|
|
|
40819
40946
|
insertImageAsBase64URI: false,
|
|
40820
40947
|
imagesExtensions: [
|
|
40821
40948
|
'jpg',
|
|
40822
|
-
'png',
|
|
40823
40949
|
'jpeg',
|
|
40824
|
-
'
|
|
40950
|
+
'png',
|
|
40951
|
+
'gif',
|
|
40952
|
+
'webp',
|
|
40953
|
+
'bmp',
|
|
40954
|
+
'svg',
|
|
40955
|
+
'tiff',
|
|
40956
|
+
'avif'
|
|
40825
40957
|
],
|
|
40826
40958
|
headers: null,
|
|
40827
40959
|
data: null,
|
|
@@ -46592,8 +46724,9 @@ _config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.brush = {
|
|
|
46592
46724
|
var update = function update(key, value) {
|
|
46593
46725
|
if (value && value !== (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.css)(editor.editor, key).toString()) {
|
|
46594
46726
|
button.state.icon.fill = value;
|
|
46595
|
-
return;
|
|
46727
|
+
return true;
|
|
46596
46728
|
}
|
|
46729
|
+
return false;
|
|
46597
46730
|
};
|
|
46598
46731
|
if (color) {
|
|
46599
46732
|
var mode = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.dataBind)(button, 'color');
|
|
@@ -46603,8 +46736,16 @@ _config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.brush = {
|
|
|
46603
46736
|
var current = editor.s.current();
|
|
46604
46737
|
if (current && !button.state.disabled) {
|
|
46605
46738
|
var currentBpx = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(current, _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement, editor.editor) || editor.editor;
|
|
46606
|
-
|
|
46607
|
-
|
|
46739
|
+
// The icon's fill mirrors the current text/background color so the
|
|
46740
|
+
// button reflects the formatting under the caret. Both calls run so
|
|
46741
|
+
// that a background color (the second call) wins over the text color
|
|
46742
|
+
// when both are set. Keep the computed fill instead of resetting it
|
|
46743
|
+
// below. See #195, #182
|
|
46744
|
+
var hasColor = update('color', (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.css)(currentBpx, 'color').toString());
|
|
46745
|
+
var hasBackground = update('background-color', (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.css)(currentBpx, 'background-color').toString());
|
|
46746
|
+
if (hasColor || hasBackground) {
|
|
46747
|
+
return;
|
|
46748
|
+
}
|
|
46608
46749
|
}
|
|
46609
46750
|
button.state.icon.fill = '';
|
|
46610
46751
|
button.state.activated = false;
|
|
@@ -50097,7 +50238,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.commandToHotkeys = {
|
|
|
50097
50238
|
'cmd+shift+7'
|
|
50098
50239
|
],
|
|
50099
50240
|
insertUnorderedList: [
|
|
50100
|
-
'ctrl+shift+8,
|
|
50241
|
+
'ctrl+shift+8',
|
|
50242
|
+
'cmd+shift+8'
|
|
50101
50243
|
],
|
|
50102
50244
|
selectall: [
|
|
50103
50245
|
'ctrl+a',
|
|
@@ -54299,14 +54441,31 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.indent = {
|
|
|
54299
54441
|
};
|
|
54300
54442
|
_config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.outdent = {
|
|
54301
54443
|
isDisabled: function isDisabled(editor) {
|
|
54444
|
+
var _a;
|
|
54302
54445
|
var current = editor.s.current();
|
|
54303
|
-
if (current) {
|
|
54304
|
-
|
|
54305
|
-
|
|
54306
|
-
|
|
54307
|
-
|
|
54446
|
+
if (!current) {
|
|
54447
|
+
return true;
|
|
54448
|
+
}
|
|
54449
|
+
// A list item whose list is nested inside another list item can be
|
|
54450
|
+
// outdented (un-nested) by the `tab` plugin, even without an inline
|
|
54451
|
+
// indent margin. Keep the button enabled in that case. See #1247
|
|
54452
|
+
if ((_a = editor.o.tab) === null || _a === void 0 ? void 0 : _a.tabInsideLiInsertNewList) {
|
|
54453
|
+
var li = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(current, 'li', editor.editor);
|
|
54454
|
+
if (li) {
|
|
54455
|
+
var list = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(li, [
|
|
54456
|
+
'ul',
|
|
54457
|
+
'ol'
|
|
54458
|
+
], editor.editor);
|
|
54459
|
+
if (list && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(list, 'li', editor.editor)) {
|
|
54460
|
+
return false;
|
|
54461
|
+
}
|
|
54308
54462
|
}
|
|
54309
54463
|
}
|
|
54464
|
+
var currentBox = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(current, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock, editor.editor);
|
|
54465
|
+
if (currentBox) {
|
|
54466
|
+
var arrow = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_5__.getKey)(editor.o.direction, currentBox);
|
|
54467
|
+
return !currentBox.style[arrow] || parseInt(currentBox.style[arrow], 10) <= 0;
|
|
54468
|
+
}
|
|
54310
54469
|
return true;
|
|
54311
54470
|
},
|
|
54312
54471
|
tooltip: 'Decrease Indent'
|
|
@@ -58256,7 +58415,7 @@ var pasteFromWord = /*#__PURE__*/ function(Plugin) {
|
|
|
58256
58415
|
}
|
|
58257
58416
|
case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_ONLY_TEXT:
|
|
58258
58417
|
{
|
|
58259
|
-
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.stripTags)((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.cleanFromWord)(html));
|
|
58418
|
+
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.stripTags)((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.cleanFromWord)(html), this.j.ed, new Set(this.j.o.pasteExcludeStripTags), this.j.o.nl2brInPlainText);
|
|
58260
58419
|
break;
|
|
58261
58420
|
}
|
|
58262
58421
|
}
|
|
@@ -59364,10 +59523,15 @@ function _is_native_reflect_construct() {
|
|
|
59364
59523
|
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.cleanFromWord)(html);
|
|
59365
59524
|
break;
|
|
59366
59525
|
case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_ONLY_TEXT:
|
|
59367
|
-
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.stripTags)(html, this.j.ed, new Set(this.j.o.pasteExcludeStripTags));
|
|
59526
|
+
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.stripTags)(html, this.j.ed, new Set(this.j.o.pasteExcludeStripTags), this.j.o.nl2brInPlainText);
|
|
59368
59527
|
break;
|
|
59369
59528
|
case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_TEXT:
|
|
59370
59529
|
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.htmlspecialchars)(html);
|
|
59530
|
+
// Keep the source line breaks instead of letting the raw
|
|
59531
|
+
// newlines collapse into spaces when rendered. See #1093
|
|
59532
|
+
if (this.j.o.nl2brInPlainText) {
|
|
59533
|
+
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.nl2br)(html);
|
|
59534
|
+
}
|
|
59371
59535
|
break;
|
|
59372
59536
|
default:
|
|
59373
59537
|
{
|
package/es5/jodit.min.css
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.12.
|
|
4
|
+
* Version: v4.12.24
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
8
8
|
/*!
|
|
9
9
|
* jodit-pro - PRO Version of Jodit Editor
|
|
10
10
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
11
|
-
* Version: v4.12.
|
|
11
|
+
* Version: v4.12.24
|
|
12
12
|
* Url: https://xdsoft.net/jodit/pro/
|
|
13
13
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
14
14
|
*/
|