jodit 4.6.15 → 4.6.18

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 (60) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +2 -2
  4. package/es2015/jodit.js +25 -5
  5. package/es2015/jodit.min.js +2 -2
  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.css +1 -1
  13. package/es2018/jodit.fat.min.js +2 -2
  14. package/es2018/jodit.js +25 -5
  15. package/es2018/jodit.min.js +2 -2
  16. package/es2018/plugins/debug/debug.css +1 -1
  17. package/es2018/plugins/debug/debug.js +1 -1
  18. package/es2018/plugins/debug/debug.min.js +1 -1
  19. package/es2018/plugins/speech-recognize/speech-recognize.css +1 -1
  20. package/es2018/plugins/speech-recognize/speech-recognize.js +1 -1
  21. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  22. package/es2021/jodit.css +1 -1
  23. package/es2021/jodit.fat.min.js +2 -2
  24. package/es2021/jodit.js +25 -5
  25. package/es2021/jodit.min.js +2 -2
  26. package/es2021/plugins/debug/debug.css +1 -1
  27. package/es2021/plugins/debug/debug.js +1 -1
  28. package/es2021/plugins/debug/debug.min.js +1 -1
  29. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  30. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  31. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  32. package/es2021.en/jodit.css +1 -1
  33. package/es2021.en/jodit.fat.min.js +2 -2
  34. package/es2021.en/jodit.js +25 -5
  35. package/es2021.en/jodit.min.js +2 -2
  36. package/es2021.en/plugins/debug/debug.css +1 -1
  37. package/es2021.en/plugins/debug/debug.js +1 -1
  38. package/es2021.en/plugins/debug/debug.min.js +1 -1
  39. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  40. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  41. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  42. package/es5/415.fat.min.js +1 -1
  43. package/es5/415.min.js +1 -1
  44. package/es5/5.fat.min.js +1 -1
  45. package/es5/5.min.js +1 -1
  46. package/es5/jodit.css +2 -2
  47. package/es5/jodit.fat.min.js +2 -2
  48. package/es5/jodit.js +29 -5
  49. package/es5/jodit.min.css +2 -2
  50. package/es5/jodit.min.js +2 -2
  51. package/es5/plugins/debug/debug.css +1 -1
  52. package/es5/plugins/debug/debug.js +1 -1
  53. package/es5/plugins/debug/debug.min.js +1 -1
  54. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  55. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  56. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  57. package/esm/core/constants.js +1 -1
  58. package/esm/core/selection/selection.js +11 -0
  59. package/esm/plugins/link/link.js +12 -3
  60. package/package.json +1 -1
@@ -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.6.15
4
+ * Version: v4.6.18
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -7960,7 +7960,7 @@ __webpack_require__.r(__webpack_exports__);
7960
7960
  * Released under MIT see LICENSE.txt in the project root for license information.
7961
7961
  * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
7962
7962
  */
7963
- const APP_VERSION = "4.6.15";
7963
+ const APP_VERSION = "4.6.18";
7964
7964
  // prettier-ignore
7965
7965
  const ES = "es2021";
7966
7966
  const IS_ES_MODERN = true;
@@ -20868,7 +20868,12 @@ function writeClasses(modeClassName, className_input, className_select, a) {
20868
20868
  for (let i = 0; i < className_select.selectedOptions.length; i++) {
20869
20869
  const className = className_select.selectedOptions.item(i)?.value;
20870
20870
  if (className) {
20871
- a.classList.add(className);
20871
+ className
20872
+ .split(/\s+/)
20873
+ .filter(cn => cn.trim().length > 0)
20874
+ .forEach(cn => {
20875
+ a.classList.add(cn);
20876
+ });
20872
20877
  }
20873
20878
  }
20874
20879
  }
@@ -20890,11 +20895,15 @@ function readClassnames(modeClassName, className_input, link, className_select)
20890
20895
  }
20891
20896
  }
20892
20897
  const classNames = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.attr)(link, 'class') || '';
20893
- classNames.split(' ').forEach(className => {
20898
+ classNames
20899
+ .split(/\s+/)
20900
+ .filter(cn => cn.trim().length > 0)
20901
+ .forEach(className => {
20894
20902
  if (className) {
20895
20903
  for (let i = 0; i < className_select.options.length; i++) {
20896
20904
  const option = className_select.options.item(i);
20897
- if (option?.value && option.value === className) {
20905
+ if (option?.value &&
20906
+ option.value === className) {
20898
20907
  option.selected = true;
20899
20908
  }
20900
20909
  }
@@ -36117,12 +36126,23 @@ class Selection {
36117
36126
  this.j.e.fire('beforeInsertNode', node);
36118
36127
  if (sel && sel.rangeCount) {
36119
36128
  const range = sel.getRangeAt(0);
36129
+ const { firstChild } = node;
36120
36130
  if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.isOrContains(this.area, range.commonAncestorContainer)) {
36121
36131
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeInsertNode(range, node);
36122
36132
  }
36123
36133
  else {
36124
36134
  this.area.appendChild(node);
36125
36135
  }
36136
+ [
36137
+ () => firstChild?.previousSibling,
36138
+ () => firstChild?.previousSibling,
36139
+ () => firstChild?.previousSibling?.lastChild
36140
+ ].forEach(getChildNode => {
36141
+ const childNode = getChildNode();
36142
+ if (childNode && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.isEmptyTextNode(childNode)) {
36143
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(childNode);
36144
+ }
36145
+ });
36126
36146
  }
36127
36147
  else {
36128
36148
  this.area.appendChild(node);