jodit 4.12.30 → 4.12.32

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 (53) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +3 -3
  4. package/es2015/jodit.js +20 -6
  5. package/es2015/jodit.min.js +3 -3
  6. package/es2015/plugins/debug/debug.css +1 -1
  7. package/es2015/plugins/debug/debug.js +1 -1
  8. package/es2015/plugins/debug/debug.min.js +1 -1
  9. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  12. package/es2018/jodit.fat.min.js +3 -3
  13. package/es2018/jodit.min.js +3 -3
  14. package/es2018/plugins/debug/debug.min.js +1 -1
  15. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  16. package/es2021/jodit.css +1 -1
  17. package/es2021/jodit.fat.min.js +4 -4
  18. package/es2021/jodit.js +19 -5
  19. package/es2021/jodit.min.js +4 -4
  20. package/es2021/plugins/debug/debug.css +1 -1
  21. package/es2021/plugins/debug/debug.js +1 -1
  22. package/es2021/plugins/debug/debug.min.js +1 -1
  23. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  24. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  25. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  26. package/es2021.en/jodit.css +1 -1
  27. package/es2021.en/jodit.fat.min.js +4 -4
  28. package/es2021.en/jodit.js +19 -5
  29. package/es2021.en/jodit.min.js +4 -4
  30. package/es2021.en/plugins/debug/debug.css +1 -1
  31. package/es2021.en/plugins/debug/debug.js +1 -1
  32. package/es2021.en/plugins/debug/debug.min.js +1 -1
  33. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  34. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  35. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  36. package/es5/jodit.css +2 -2
  37. package/es5/jodit.fat.min.js +2 -2
  38. package/es5/jodit.js +21 -7
  39. package/es5/jodit.min.css +2 -2
  40. package/es5/jodit.min.js +2 -2
  41. package/es5/plugins/debug/debug.css +1 -1
  42. package/es5/plugins/debug/debug.js +1 -1
  43. package/es5/plugins/debug/debug.min.js +1 -1
  44. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  45. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  46. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  47. package/es5/polyfills.fat.min.js +1 -1
  48. package/es5/polyfills.js +1 -1
  49. package/es5/polyfills.min.js +1 -1
  50. package/esm/core/constants.js +1 -1
  51. package/esm/core/helpers/html/safe-html.js +9 -2
  52. package/esm/plugins/size/size.js +11 -4
  53. package/package.json +1 -1
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.12.30
4
+ * Version: v4.12.32
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -2074,7 +2074,7 @@ __webpack_require__.r(__webpack_exports__);
2074
2074
  * @packageDocumentation
2075
2075
  * @module constants
2076
2076
  */
2077
- var APP_VERSION = "4.12.30";
2077
+ var APP_VERSION = "4.12.32";
2078
2078
  // prettier-ignore
2079
2079
  var ES = "es5";
2080
2080
  var IS_ES_MODERN = false;
@@ -7152,8 +7152,16 @@ function sanitizeHTMLElement(elm) {
7152
7152
  (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'onerror', null);
7153
7153
  effected = true;
7154
7154
  }
7155
+ var tagName = elm.nodeName.toLowerCase();
7155
7156
  var href = elm.getAttribute('href');
7156
- if (safeJavaScriptLink && href && href.trim().indexOf('javascript') === 0) {
7157
+ // Neutralize executable-scheme `href`s with the same normalization used for
7158
+ // every other URL attribute (`isDangerousUrl`), which strips control bytes,
7159
+ // tabs and newlines and lowercases before matching the scheme. The previous
7160
+ // bare `href.trim().indexOf('javascript') === 0` was case-sensitive and
7161
+ // missed `JAVASCRIPT:`, a leading control byte, or a tab/newline inside the
7162
+ // scheme (e.g. `java\tscript:`) — all of which the browser still resolves to
7163
+ // `javascript:` on click. See GHSA-j839-gqq4-gf9j.
7164
+ if (safeJavaScriptLink && href && isDangerousUrl(href, tagName)) {
7157
7165
  (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'href', location.protocol + '//' + href);
7158
7166
  effected = true;
7159
7167
  }
@@ -7163,10 +7171,9 @@ function sanitizeHTMLElement(elm) {
7163
7171
  (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'srcdoc', null);
7164
7172
  effected = true;
7165
7173
  }
7166
- // Strip executable schemes from any other URL-bearing attribute.
7167
- var tagName = elm.nodeName.toLowerCase();
7168
7174
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
7169
7175
  try {
7176
+ // Strip executable schemes from any other URL-bearing attribute.
7170
7177
  for(var _iterator = URL_ATTRIBUTES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
7171
7178
  var name = _step.value;
7172
7179
  var value = elm.getAttribute(name);
@@ -48033,8 +48040,15 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.maxHeight = 'auto';
48033
48040
  value: /**
48034
48041
  * Returns service spaces: toolbar + statusbar
48035
48042
  */ function __getNotWorkHeight() {
48036
- var _this_j_toolbarContainer, _this_j_statusbar;
48037
- return (((_this_j_toolbarContainer = this.j.toolbarContainer) === null || _this_j_toolbarContainer === void 0 ? void 0 : _this_j_toolbarContainer.offsetHeight) || 0) + (((_this_j_statusbar = this.j.statusbar) === null || _this_j_statusbar === void 0 ? void 0 : _this_j_statusbar.getHeight()) || 0) + 2;
48043
+ var _this_j_statusbar;
48044
+ // Only a toolbar that actually lives inside the editor container takes
48045
+ // space away from the workplace. When the `toolbar` option points to an
48046
+ // external element, the toolbar is rendered outside the container, so it
48047
+ // must not be subtracted — otherwise the workplace is wrongly shrunk by
48048
+ // the toolbar's height. See https://github.com/xdan/jodit/discussions/920
48049
+ var toolbar = this.j.toolbarContainer;
48050
+ var toolbarHeight = toolbar && this.j.container.contains(toolbar) ? toolbar.offsetHeight : 0;
48051
+ return toolbarHeight + (((_this_j_statusbar = this.j.statusbar) === null || _this_j_statusbar === void 0 ? void 0 : _this_j_statusbar.getHeight()) || 0) + 2;
48038
48052
  }
48039
48053
  },
48040
48054
  {
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.12.30
4
+ * Version: v4.12.32
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.12.30
11
+ * Version: v4.12.32
12
12
  * Url: https://xdsoft.net/jodit/
13
13
  * License(s): MIT
14
14
  */