jodit 4.15.8 → 4.15.10

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 (57) 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 +39 -12
  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 +3 -3
  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 +4 -4
  18. package/es2021/jodit.js +39 -12
  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 +4 -4
  28. package/es2021.en/jodit.js +39 -12
  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 +42 -12
  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/selection/selection.d.ts +11 -0
  52. package/esm/core/selection/selection.js +24 -1
  53. package/esm/jodit.d.ts +6 -0
  54. package/esm/jodit.js +9 -2
  55. package/package.json +1 -1
  56. package/types/core/selection/selection.d.ts +11 -0
  57. package/types/jodit.d.ts +6 -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.15.8
4
+ * Version: v4.15.10
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.15.8";
2110
+ var APP_VERSION = "4.15.10";
2111
2111
  // prettier-ignore
2112
2112
  var ES = "es5";
2113
2113
  var IS_ES_MODERN = false;
@@ -13207,11 +13207,35 @@ var Selection = /*#__PURE__*/ function() {
13207
13207
  }, this.area)) {
13208
13208
  throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.error)('Node element must be in editor');
13209
13209
  }
13210
+ var target = !inward && this.__closestNotEditable(node) || node;
13210
13211
  var range = this.createRange();
13211
- range[inward || node === this.area ? 'selectNodeContents' : 'selectNode'](node);
13212
+ range[inward || target === this.area ? 'selectNodeContents' : 'selectNode'](target);
13212
13213
  return this.selectRange(range);
13213
13214
  }
13214
13215
  },
13216
+ {
13217
+ key: "__closestNotEditable",
13218
+ value: /**
13219
+ * The outermost `contenteditable="false"` ancestor of the node inside the
13220
+ * editable area, if there is one.
13221
+ *
13222
+ * A range can be put inside such an island (e.g. on an `<img>` wrapped in a
13223
+ * `<picture contenteditable="false">`), but the browser cannot place a caret
13224
+ * there: the arrow keys then have nothing to move from and the selection
13225
+ * cannot be escaped. Selecting the island itself keeps the range in editable
13226
+ * content, so the caret can step over it. See #1184
13227
+ */ function __closestNotEditable(node) {
13228
+ var area = this.area;
13229
+ var result = null, elm = node.parentNode;
13230
+ while(elm && elm !== area && area.contains(elm)){
13231
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isElement(elm) && elm.getAttribute('contenteditable') === 'false') {
13232
+ result = elm;
13233
+ }
13234
+ elm = elm.parentNode;
13235
+ }
13236
+ return result;
13237
+ }
13238
+ },
13215
13239
  {
13216
13240
  key: "html",
13217
13241
  get: /**
@@ -21291,6 +21315,10 @@ var Jodit = /*#__PURE__*/ function(ViewWithToolbar) {
21291
21315
  */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "isJodit", true), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "commands", new Map()), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__selectionLocked", null), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__wasReadOnly", false), /**
21292
21316
  * Editor has focus in this time
21293
21317
  */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "editorIsActive", false), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "selection", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__mode", jodit_core_constants__WEBPACK_IMPORTED_MODULE_12__.MODE_WYSIWYG), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__callChangeCount", 0), /**
21318
+ * In inline mode the source element is the editor container, so its
21319
+ * `innerHTML` is the editor's own markup rather than the value. Keep the
21320
+ * value last synchronised to it here instead.
21321
+ */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__inlineElementValue", void 0), /**
21294
21322
  * Don't raise a change event
21295
21323
  */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__isSilentChange", false), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "currentPlace", {
21296
21324
  options: _this.__options,
@@ -21769,6 +21797,9 @@ var Jodit = /*#__PURE__*/ function(ViewWithToolbar) {
21769
21797
  * Return source element value
21770
21798
  */ key: "getElementValue",
21771
21799
  value: function getElementValue() {
21800
+ if (this.element === this.container && this.__inlineElementValue !== undefined) {
21801
+ return this.__inlineElementValue;
21802
+ }
21772
21803
  return this.element.value !== undefined ? this.element.value : this.element.innerHTML;
21773
21804
  }
21774
21805
  },
@@ -21779,7 +21810,11 @@ var Jodit = /*#__PURE__*/ function(ViewWithToolbar) {
21779
21810
  if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_15__.isString)(value)) {
21780
21811
  throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_15__.error)('value must be string');
21781
21812
  }
21782
- if (this.element !== this.container && value !== this.getElementValue()) {
21813
+ if (this.element === this.container) {
21814
+ this.__inlineElementValue = value;
21815
+ return;
21816
+ }
21817
+ if (value !== this.getElementValue()) {
21783
21818
  var data = {
21784
21819
  value: value
21785
21820
  };
@@ -55882,25 +55917,20 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
55882
55917
  /******/ /* webpack/runtime/chunk loaded */
55883
55918
  /******/ !function() {
55884
55919
  /******/ var deferred = [];
55885
- /******/ __webpack_require__.O = function(result, chunkIds, fn, priority) {
55920
+ /******/ __webpack_require__.O = function(result, chunkIds, fn) {
55886
55921
  /******/ if(chunkIds) {
55887
- /******/ priority = priority || 0;
55888
- /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
55889
- /******/ deferred[i] = [chunkIds, fn, priority];
55922
+ /******/ deferred.push([chunkIds, fn]);
55890
55923
  /******/ return;
55891
55924
  /******/ }
55892
- /******/ var notFulfilled = Infinity;
55893
55925
  /******/ for (var i = 0; i < deferred.length; i++) {
55894
55926
  /******/ var chunkIds = deferred[i][0];
55895
55927
  /******/ var fn = deferred[i][1];
55896
- /******/ var priority = deferred[i][2];
55897
55928
  /******/ var fulfilled = true;
55898
55929
  /******/ for (var j = 0; j < chunkIds.length; j++) {
55899
- /******/ if (((priority & 1) === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {
55930
+ /******/ if (__webpack_require__.O.j(chunkIds[j])) {
55900
55931
  /******/ chunkIds.splice(j--, 1);
55901
55932
  /******/ } else {
55902
55933
  /******/ fulfilled = false;
55903
- /******/ if(priority < notFulfilled) notFulfilled = priority;
55904
55934
  /******/ }
55905
55935
  /******/ }
55906
55936
  /******/ if(fulfilled) {
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.15.8
4
+ * Version: v4.15.10
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.15.8
11
+ * Version: v4.15.10
12
12
  * Url: https://xdsoft.net/jodit/
13
13
  * License(s): MIT
14
14
  */