jodit 4.13.3 → 4.13.6

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 (54) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +14 -14
  4. package/es2015/jodit.js +17 -8
  5. package/es2015/jodit.min.js +4 -4
  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 +4 -4
  13. package/es2018/jodit.min.js +4 -4
  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 +5 -5
  18. package/es2021/jodit.js +17 -8
  19. package/es2021/jodit.min.js +5 -5
  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 +5 -5
  28. package/es2021.en/jodit.js +17 -8
  29. package/es2021.en/jodit.min.js +5 -5
  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 +17 -8
  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 +3 -2
  52. package/esm/modules/toolbar/button/button.js +2 -1
  53. package/esm/plugins/clean-html/helpers/visitor/filters/try-remove-node.js +10 -3
  54. 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.13.3
4
+ * Version: v4.13.6
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -2107,7 +2107,7 @@ __webpack_require__.r(__webpack_exports__);
2107
2107
  * @packageDocumentation
2108
2108
  * @module constants
2109
2109
  */
2110
- var APP_VERSION = "4.13.3";
2110
+ var APP_VERSION = "4.13.6";
2111
2111
  // prettier-ignore
2112
2112
  var ES = "es5";
2113
2113
  var IS_ES_MODERN = false;
@@ -7110,7 +7110,7 @@ var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';
7110
7110
  // markup into a live node.
7111
7111
  var foreign = box.querySelectorAll('math *, svg *');
7112
7112
  for(var i = 0; i < foreign.length; i++){
7113
- if (foreign[i].isConnected && isSmuggledForeignHtml(foreign[i])) {
7113
+ if (box.contains(foreign[i]) && isSmuggledForeignHtml(foreign[i])) {
7114
7114
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(foreign[i]);
7115
7115
  }
7116
7116
  }
@@ -7236,7 +7236,8 @@ function sanitizeHTMLElement(elm) {
7236
7236
  // scheme (e.g. `java\tscript:`) — all of which the browser still resolves to
7237
7237
  // `javascript:` on click. See GHSA-j839-gqq4-gf9j.
7238
7238
  if (safeJavaScriptLink && href && isDangerousUrl(href, tagName)) {
7239
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'href', location.protocol + '//' + href);
7239
+ var protocol = typeof location !== 'undefined' ? location.protocol : 'http:';
7240
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'href', protocol + '//' + href);
7240
7241
  effected = true;
7241
7242
  }
7242
7243
  if (safeJavaScriptLink) {
@@ -28891,7 +28892,8 @@ var ToolbarButton = /*#__PURE__*/ function(UIButton) {
28891
28892
  button.classList.remove(cn);
28892
28893
  button.classList.add(cn + '__button');
28893
28894
  Object.defineProperty(button, 'component', {
28894
- value: this
28895
+ value: this,
28896
+ configurable: true
28895
28897
  });
28896
28898
  container.appendChild(button);
28897
28899
  var trigger = this.j.c.fromHTML('<span role="button" aria-haspopup="true" aria-expanded="false" class="'.concat(cn, '__trigger">').concat(jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_30__.Icon.get('chevron'), "</span>"));
@@ -34417,15 +34419,22 @@ function filterStyleProperties(style, allowed) {
34417
34419
  * @private
34418
34420
  */ function isRemovableNode(jodit, node, current, allow, deny) {
34419
34421
  if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(node)) {
34420
- if (allow && !allow[node.nodeName]) {
34422
+ // The allow/deny hashes are keyed by upper-cased tag name. HTML
34423
+ // `nodeName` is already upper-case, but foreign (SVG/MathML) elements
34424
+ // keep their original case — an SVG `<script>` reports `"script"`, so a
34425
+ // case-sensitive lookup let it slip past `denyTags` and execute. Normalise
34426
+ // to upper case so namespace can't bypass the filter. See
34427
+ // GHSA-45qg-252v-3f7p.
34428
+ var name = node.nodeName.toUpperCase();
34429
+ if (allow && !allow[name]) {
34421
34430
  return true;
34422
34431
  }
34423
34432
  // A YouTube/Vimeo player inserted through the Video button is trusted
34424
34433
  // editor content, so keep it even though `iframe` is denied by default
34425
34434
  // — otherwise the embed is stripped ~300ms after insertion (#1381).
34426
34435
  // Arbitrary/bare iframes stay denied.
34427
- var isTrustedEmbed = node.nodeName === 'IFRAME' && (0,_is_allowed_media_embed__WEBPACK_IMPORTED_MODULE_4__.isAllowedMediaEmbed)((0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__.attr)(node, 'src') || '');
34428
- if (!allow && deny && deny[node.nodeName] && !isTrustedEmbed) {
34436
+ var isTrustedEmbed = name === 'IFRAME' && (0,_is_allowed_media_embed__WEBPACK_IMPORTED_MODULE_4__.isAllowedMediaEmbed)((0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__.attr)(node, 'src') || '');
34437
+ if (!allow && deny && deny[name] && !isTrustedEmbed) {
34429
34438
  return true;
34430
34439
  }
34431
34440
  }
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.13.3
4
+ * Version: v4.13.6
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.13.3
11
+ * Version: v4.13.6
12
12
  * Url: https://xdsoft.net/jodit/
13
13
  * License(s): MIT
14
14
  */