jodit 4.17.2 → 4.17.3

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.
Files changed (62) hide show
  1. package/.nvmrc +1 -0
  2. package/CHANGELOG.md +6 -0
  3. package/es2015/jodit.css +1 -1
  4. package/es2015/jodit.fat.min.js +4 -4
  5. package/es2015/jodit.js +34 -2
  6. package/es2015/jodit.min.js +4 -4
  7. package/es2015/plugins/debug/debug.css +1 -1
  8. package/es2015/plugins/debug/debug.js +1 -1
  9. package/es2015/plugins/debug/debug.min.js +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  12. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  13. package/es2018/jodit.fat.min.js +4 -4
  14. package/es2018/jodit.min.js +4 -4
  15. package/es2018/plugins/debug/debug.min.js +1 -1
  16. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  17. package/es2021/jodit.css +1 -1
  18. package/es2021/jodit.fat.min.js +5 -5
  19. package/es2021/jodit.js +34 -2
  20. package/es2021/jodit.min.js +5 -5
  21. package/es2021/plugins/debug/debug.css +1 -1
  22. package/es2021/plugins/debug/debug.js +1 -1
  23. package/es2021/plugins/debug/debug.min.js +1 -1
  24. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  25. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  26. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  27. package/es2021.en/jodit.css +1 -1
  28. package/es2021.en/jodit.fat.min.js +5 -5
  29. package/es2021.en/jodit.js +34 -2
  30. package/es2021.en/jodit.min.js +5 -5
  31. package/es2021.en/plugins/debug/debug.css +1 -1
  32. package/es2021.en/plugins/debug/debug.js +1 -1
  33. package/es2021.en/plugins/debug/debug.min.js +1 -1
  34. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  35. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  36. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  37. package/es5/jodit.css +2 -2
  38. package/es5/jodit.fat.min.js +2 -2
  39. package/es5/jodit.js +54 -2
  40. package/es5/jodit.min.css +2 -2
  41. package/es5/jodit.min.js +2 -2
  42. package/es5/plugins/debug/debug.css +1 -1
  43. package/es5/plugins/debug/debug.js +1 -1
  44. package/es5/plugins/debug/debug.min.js +1 -1
  45. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  46. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  47. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  48. package/es5/polyfills.fat.min.js +1 -1
  49. package/es5/polyfills.js +1 -1
  50. package/es5/polyfills.min.js +1 -1
  51. package/esm/core/constants.js +1 -1
  52. package/esm/core/helpers/html/safe-html.js +15 -0
  53. package/esm/jodit.js +5 -0
  54. package/esm/plugins/clean-html/clean-html.d.ts +8 -0
  55. package/esm/plugins/clean-html/clean-html.js +13 -0
  56. package/examples/build/es2015/jodit.min.css +1 -0
  57. package/examples/build/es2015/jodit.min.js +10 -0
  58. package/examples/build/es2015/plugins/debug/debug.min.js +10 -0
  59. package/examples/build/es2015/plugins/speech-recognize/speech-recognize.min.css +1 -0
  60. package/examples/build/es2015/plugins/speech-recognize/speech-recognize.min.js +10 -0
  61. package/package.json +1 -1
  62. package/types/plugins/clean-html/clean-html.d.ts +8 -0
package/es5/jodit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
4
- * Version: v4.17.2
4
+ * Version: v4.17.3
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -2129,7 +2129,7 @@ __webpack_require__.r(__webpack_exports__);
2129
2129
  * @packageDocumentation
2130
2130
  * @module constants
2131
2131
  */
2132
- var APP_VERSION = "4.17.2";
2132
+ var APP_VERSION = "4.17.3";
2133
2133
  // prettier-ignore
2134
2134
  var ES = "es5";
2135
2135
  var IS_ES_MODERN = false;
@@ -7161,6 +7161,38 @@ function isSmuggledForeignHtml(elm) {
7161
7161
  }
7162
7162
  }
7163
7163
  }
7164
+ // `<noscript>` is parsed as markup in a document with scripting off (the
7165
+ // inert document the value is sanitized in) and as raw text in one with
7166
+ // scripting on (the live editor). The same serialized bytes therefore
7167
+ // describe two different trees, and markup hidden as inert text in the
7168
+ // first comes alive as elements in the second. The element has no use in
7169
+ // editor content, so it goes, together with everything it carried.
7170
+ var noscript = [];
7171
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.each(box, function(node) {
7172
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(node) && node.nodeName === 'NOSCRIPT') {
7173
+ noscript.push(node);
7174
+ }
7175
+ });
7176
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
7177
+ try {
7178
+ for(var _iterator1 = noscript[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
7179
+ var elm1 = _step1.value;
7180
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(elm1);
7181
+ }
7182
+ } catch (err) {
7183
+ _didIteratorError1 = true;
7184
+ _iteratorError1 = err;
7185
+ } finally{
7186
+ try {
7187
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
7188
+ _iterator1.return();
7189
+ }
7190
+ } finally{
7191
+ if (_didIteratorError1) {
7192
+ throw _iteratorError1;
7193
+ }
7194
+ }
7195
+ }
7164
7196
  var removeEvents = (_options_removeEventAttributes = options.removeEventAttributes) !== null && _options_removeEventAttributes !== void 0 ? _options_removeEventAttributes : options.removeOnError;
7165
7197
  // Single synchronous traversal of the subtree. Besides removing event
7166
7198
  // handlers and `javascript:` links, `sanitizeHTMLElement` neutralises
@@ -21907,6 +21939,11 @@ var Jodit = /*#__PURE__*/ function(ViewWithToolbar) {
21907
21939
  }
21908
21940
  if (this.editor) {
21909
21941
  this.editor.innerHTML = data.value;
21942
+ // Fired synchronously, before any task can run: the value was
21943
+ // sanitized in an inert document and re-parsed here with scripting
21944
+ // on, and the two parsers do not always agree. Listeners get to
21945
+ // look at the tree that actually exists.
21946
+ this.e.fire('afterSetNativeEditorValue');
21910
21947
  }
21911
21948
  }
21912
21949
  },
@@ -34607,6 +34644,18 @@ var cleanHtml = /*#__PURE__*/ function(Plugin) {
34607
34644
  }
34608
34645
  }
34609
34646
  },
34647
+ {
34648
+ key: "onAfterSetNativeEditorValue",
34649
+ value: /**
34650
+ * The value was sanitized in an inert document and has just been re-parsed
34651
+ * into the live editor with scripting on. Where the two parsers disagree
34652
+ * (`<noscript>`, raw-text elements), markup that was inert text a moment
34653
+ * ago is a real element now, so the live tree is sanitized once more, in
34654
+ * the same call stack, before any handler it might carry can fire.
34655
+ */ function onAfterSetNativeEditorValue() {
34656
+ ;(0,jodit_core_helpers_html_safe_html__WEBPACK_IMPORTED_MODULE_13__.safeHTML)(this.j.editor, this.j.o.cleanHTML);
34657
+ }
34658
+ },
34610
34659
  {
34611
34660
  key: "onBeforeSetNativeEditorValue",
34612
34661
  value: /**
@@ -34744,6 +34793,9 @@ var cleanHtml = /*#__PURE__*/ function(Plugin) {
34744
34793
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
34745
34794
  (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.watch)(':beforeCommand')
34746
34795
  ], cleanHtml.prototype, "beforeCommand", null);
34796
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
34797
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.watch)(':afterSetNativeEditorValue')
34798
+ ], cleanHtml.prototype, "onAfterSetNativeEditorValue", null);
34747
34799
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
34748
34800
  (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.watch)(':beforeSetNativeEditorValue')
34749
34801
  ], cleanHtml.prototype, "onBeforeSetNativeEditorValue", null);
package/es5/jodit.min.css CHANGED
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
4
- * Version: v4.17.2
4
+ * Version: v4.17.3
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
8
8
  /*!
9
9
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
10
10
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
11
- * Version: v4.17.2
11
+ * Version: v4.17.3
12
12
  * Url: https://xdsoft.net/jodit/
13
13
  * License(s): MIT
14
14
  */