jodit 4.7.5 → 4.7.7

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 (61) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +4 -18
  3. package/es2015/jodit.css +1 -1
  4. package/es2015/jodit.fat.min.js +8 -8
  5. package/es2015/jodit.js +85 -137
  6. package/es2015/jodit.min.js +7 -7
  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 +9 -3
  12. package/es2015/plugins/speech-recognize/speech-recognize.min.js +2 -2
  13. package/es2018/jodit.fat.min.js +8 -8
  14. package/es2018/jodit.min.js +7 -7
  15. package/es2018/plugins/debug/debug.min.js +1 -1
  16. package/es2018/plugins/speech-recognize/speech-recognize.min.js +2 -2
  17. package/es2021/jodit.css +1 -1
  18. package/es2021/jodit.fat.min.js +39 -39
  19. package/es2021/jodit.js +85 -137
  20. package/es2021/jodit.min.js +40 -40
  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 +4 -4
  24. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  25. package/es2021/plugins/speech-recognize/speech-recognize.js +9 -3
  26. package/es2021/plugins/speech-recognize/speech-recognize.min.js +2 -2
  27. package/es2021.en/jodit.css +1 -1
  28. package/es2021.en/jodit.fat.min.js +76 -76
  29. package/es2021.en/jodit.js +85 -137
  30. package/es2021.en/jodit.min.js +76 -76
  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 +4 -4
  34. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  35. package/es2021.en/plugins/speech-recognize/speech-recognize.js +9 -3
  36. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +2 -2
  37. package/es5/jodit.css +2 -2
  38. package/es5/jodit.fat.min.js +2 -2
  39. package/es5/jodit.js +86 -141
  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 +9 -3
  47. package/es5/plugins/speech-recognize/speech-recognize.min.js +2 -2
  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/decorators/autobind/autobind.d.ts +19 -1
  53. package/esm/core/decorators/autobind/autobind.js +40 -1
  54. package/esm/modules/file-browser/data-provider.js +2 -17
  55. package/esm/plugins/resize-handler/resize-handler.js +10 -5
  56. package/esm/plugins/size/size.js +8 -6
  57. package/esm/plugins/speech-recognize/helpers/recognize-manager.js +13 -9
  58. package/esm/tsconfig.json +1 -1
  59. package/package.json +1 -1
  60. package/types/core/decorators/autobind/autobind.d.ts +19 -1
  61. package/types/tsconfig.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.7.5
4
+ * Version: v4.7.7
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -469,7 +469,7 @@ module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 24 24\">
469
469
  /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25045);
470
470
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31635);
471
471
  /* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69364);
472
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52201);
472
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49574);
473
473
  /* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(68616);
474
474
  /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(23211);
475
475
  /* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(45664);
@@ -598,7 +598,7 @@ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_11__
598
598
  (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_4__.watch)(':rebuildToolbar')
599
599
  ], ViewWithToolbar.prototype, "buildToolbar", null);
600
600
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
601
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_3__["default"]
601
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_3__.autobind
602
602
  ], ViewWithToolbar.prototype, "beforeToolbarBuild", null);
603
603
 
604
604
 
@@ -6841,7 +6841,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
6841
6841
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31635);
6842
6842
  /* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91231);
6843
6843
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(81937);
6844
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(52201);
6844
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49574);
6845
6845
  /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65946);
6846
6846
  /* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(33201);
6847
6847
  /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5266);
@@ -7007,7 +7007,7 @@ class Ajax {
7007
7007
  }
7008
7008
  (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(Ajax, "log", []);
7009
7009
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
7010
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_4__["default"]
7010
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_4__.autobind
7011
7011
  ], Ajax.prototype, "destruct", null);
7012
7012
 
7013
7013
 
@@ -7154,12 +7154,10 @@ class Ajax {
7154
7154
  /* harmony export */ "default": function() { return /* binding */ DataProvider; }
7155
7155
  /* harmony export */ });
7156
7156
  /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25045);
7157
- /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31635);
7158
- /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81937);
7159
- /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84839);
7160
- /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65946);
7161
- /* harmony import */ var jodit_core_request__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(73714);
7162
- /* harmony import */ var jodit_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(58664);
7157
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(81937);
7158
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65946);
7159
+ /* harmony import */ var jodit_core_request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73714);
7160
+ /* harmony import */ var jodit_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58664);
7163
7161
  /*!
7164
7162
  * Jodit Editor (https://xdsoft.net/jodit/)
7165
7163
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -7171,8 +7169,6 @@ class Ajax {
7171
7169
 
7172
7170
 
7173
7171
 
7174
-
7175
-
7176
7172
  const DEFAULT_SOURCE_NAME = 'default';
7177
7173
  const possibleRules = new Set([
7178
7174
  'allowFiles',
@@ -7202,13 +7198,13 @@ class DataProvider {
7202
7198
  ajax?.abort();
7203
7199
  instances.delete(name);
7204
7200
  }
7205
- const opts = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.ConfigProto)(this.options[name] !== undefined ? this.options[name] : {}, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.ConfigProto)({
7201
+ const opts = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.ConfigProto)(this.options[name] !== undefined ? this.options[name] : {}, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.ConfigProto)({
7206
7202
  onProgress: this.progressHandler
7207
7203
  }, this.o.ajax));
7208
7204
  if (opts.prepareData) {
7209
7205
  opts.data = opts.prepareData.call(this, opts.data);
7210
7206
  }
7211
- const ajax = new jodit_core_request__WEBPACK_IMPORTED_MODULE_5__.Ajax(opts);
7207
+ const ajax = new jodit_core_request__WEBPACK_IMPORTED_MODULE_3__.Ajax(opts);
7212
7208
  instances.set(name, ajax);
7213
7209
  const promise = ajax.send();
7214
7210
  promise.finally(()=>{
@@ -7237,7 +7233,7 @@ class DataProvider {
7237
7233
  if (this.o.permissions.url) {
7238
7234
  return this.get('permissions').then((resp)=>{
7239
7235
  if (this.parent.isInDestruct) {
7240
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.abort)();
7236
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.abort)();
7241
7237
  }
7242
7238
  let process = this.o.permissions.process;
7243
7239
  if (!process) {
@@ -7257,9 +7253,9 @@ class DataProvider {
7257
7253
  }
7258
7254
  canI(action) {
7259
7255
  const rule = 'allow' + action;
7260
- if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__.IS_PROD) {
7256
+ if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_PROD) {
7261
7257
  if (!possibleRules.has(rule)) {
7262
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)('Wrong action ' + action);
7258
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.error)('Wrong action ' + action);
7263
7259
  }
7264
7260
  }
7265
7261
  const presetValue = this.o.permissionsPresets[rule];
@@ -7308,12 +7304,12 @@ class DataProvider {
7308
7304
  sources.forEach((source)=>{
7309
7305
  if (source.files && source.files.length) {
7310
7306
  const { sort } = this.o;
7311
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isFunction)(sort) && mods.sortBy) {
7307
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(sort) && mods.sortBy) {
7312
7308
  source.files.sort((a, b)=>sort(a, b, mods.sortBy));
7313
7309
  }
7314
7310
  source.files.forEach((item)=>{
7315
7311
  if (inFilter(item) && canBeFile(item)) {
7316
- elements.push(jodit_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_6__.FileBrowserItem.create({
7312
+ elements.push(jodit_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_4__.FileBrowserItem.create({
7317
7313
  ...item,
7318
7314
  sourceName: source.name,
7319
7315
  source
@@ -7325,7 +7321,7 @@ class DataProvider {
7325
7321
  return elements;
7326
7322
  }
7327
7323
  async tree(path, source) {
7328
- path = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.normalizeRelativePath)(path);
7324
+ path = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.normalizeRelativePath)(path);
7329
7325
  if (!this.o.folder) {
7330
7326
  return Promise.reject(Error('Set Folder Api options'));
7331
7327
  }
@@ -7346,12 +7342,12 @@ class DataProvider {
7346
7342
  /**
7347
7343
  * Get path by url. You can use this method in another modules
7348
7344
  */ getPathByUrl(url) {
7349
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.set)('options.getLocalFileByUrl.data.url', url, this);
7345
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.set)('options.getLocalFileByUrl.data.url', url, this);
7350
7346
  return this.get('getLocalFileByUrl').then((resp)=>{
7351
7347
  if (this.isSuccess(resp)) {
7352
7348
  return resp.data;
7353
7349
  }
7354
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)(this.getMessage(resp));
7350
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.error)(this.getMessage(resp));
7355
7351
  });
7356
7352
  }
7357
7353
  /**
@@ -7363,7 +7359,7 @@ class DataProvider {
7363
7359
  */ createFolder(name, path, source) {
7364
7360
  const { create } = this.o;
7365
7361
  if (!create) {
7366
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)('Set Create api options');
7362
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.error)('Set Create api options');
7367
7363
  }
7368
7364
  create.data.source = source;
7369
7365
  create.data.path = path;
@@ -7372,7 +7368,7 @@ class DataProvider {
7372
7368
  if (this.isSuccess(resp)) {
7373
7369
  return true;
7374
7370
  }
7375
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)(this.getMessage(resp));
7371
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.error)(this.getMessage(resp));
7376
7372
  });
7377
7373
  }
7378
7374
  /**
@@ -7384,7 +7380,7 @@ class DataProvider {
7384
7380
  const mode = isFile ? 'fileMove' : 'folderMove';
7385
7381
  const option = this.options[mode];
7386
7382
  if (!option) {
7387
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)('Set Move api options');
7383
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.error)('Set Move api options');
7388
7384
  }
7389
7385
  option.data.from = filepath;
7390
7386
  option.data.path = path;
@@ -7393,7 +7389,7 @@ class DataProvider {
7393
7389
  if (this.isSuccess(resp)) {
7394
7390
  return true;
7395
7391
  }
7396
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)(this.getMessage(resp));
7392
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.error)(this.getMessage(resp));
7397
7393
  });
7398
7394
  }
7399
7395
  /**
@@ -7405,7 +7401,7 @@ class DataProvider {
7405
7401
  */ remove(action, path, file, source) {
7406
7402
  const fr = this.o[action];
7407
7403
  if (!fr) {
7408
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)(`Set "${action}" api options`);
7404
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.error)(`Set "${action}" api options`);
7409
7405
  }
7410
7406
  fr.data.path = path;
7411
7407
  fr.data.name = file;
@@ -7445,7 +7441,7 @@ class DataProvider {
7445
7441
  */ rename(action, path, name, newname, source) {
7446
7442
  const fr = this.o[action];
7447
7443
  if (!fr) {
7448
- throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)(`Set "${action}" api options`);
7444
+ throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.error)(`Set "${action}" api options`);
7449
7445
  }
7450
7446
  fr.data.path = path;
7451
7447
  fr.data.name = name;
@@ -7525,9 +7521,6 @@ class DataProvider {
7525
7521
  }
7526
7522
  }
7527
7523
 
7528
- DataProvider = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
7529
- jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__.autobind
7530
- ], DataProvider);
7531
7524
 
7532
7525
 
7533
7526
  /***/ }),
@@ -18023,7 +18016,9 @@ const map = {};
18023
18016
 
18024
18017
 
18025
18018
 
18026
- class size extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_6__.Plugin {
18019
+ /**
18020
+ * Calculate sizes for editor workspace and handle setHeight and setWidth events
18021
+ */ class size extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_6__.Plugin {
18027
18022
  afterInit(editor) {
18028
18023
  editor.e.on('setHeight.size', this.__setHeight).on('setWidth.size', this.__setWidth).on('afterInit.size changePlace.size', this.__initialize, {
18029
18024
  top: true
@@ -18157,10 +18152,13 @@ class size extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_6__.Plugin
18157
18152
  ], size.prototype, "__initialize", null);
18158
18153
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
18159
18154
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18160
- ], size.prototype, "__resizeWorkspaceImd", null);
18161
- size = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
18155
+ ], size.prototype, "__setHeight", null);
18156
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
18157
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18158
+ ], size.prototype, "__setWidth", null);
18159
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
18162
18160
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18163
- ], size);
18161
+ ], size.prototype, "__resizeWorkspaceImd", null);
18164
18162
  jodit_core_global__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('size', size);
18165
18163
 
18166
18164
 
@@ -19713,18 +19711,56 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.video = {
19713
19711
 
19714
19712
  "use strict";
19715
19713
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19716
- /* harmony export */ autobind: function() { return /* reexport safe */ autobind_decorator__WEBPACK_IMPORTED_MODULE_0__["default"]; }
19714
+ /* harmony export */ autobind: function() { return /* binding */ autobind; }
19717
19715
  /* harmony export */ });
19718
- /* harmony import */ var autobind_decorator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52201);
19716
+ /* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(91565);
19719
19717
  /*!
19720
19718
  * Jodit Editor (https://xdsoft.net/jodit/)
19721
19719
  * Released under MIT see LICENSE.txt in the project root for license information.
19722
19720
  * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
19723
- */ /**
19721
+ */
19722
+ /**
19724
19723
  * [[include:core/decorators/autobind/README.md]]
19725
19724
  * @packageDocumentation
19726
19725
  * @module decorators/autobind
19727
- */
19726
+ */ /**
19727
+ * Decorator that automatically binds a method to its class instance.
19728
+ * This is useful when passing methods as callbacks to preserve the correct `this` context.
19729
+ *
19730
+ * @example
19731
+ * ```typescript
19732
+ * class MyComponent {
19733
+ * @autobind
19734
+ * handleClick() {
19735
+ * console.log(this); // Always refers to MyComponent instance
19736
+ * }
19737
+ * }
19738
+ *
19739
+ * const component = new MyComponent();
19740
+ * const button = document.createElement('button');
19741
+ * button.addEventListener('click', component.handleClick); // `this` is correctly bound
19742
+ * ```
19743
+ */ function autobind(_target, propertyKey, descriptor) {
19744
+ if (!(0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_0__.isFunction)(descriptor.value)) {
19745
+ throw new TypeError(`@autobind can only be applied to methods, but "${propertyKey}" is not a function`);
19746
+ }
19747
+ const originalMethod = descriptor.value;
19748
+ return {
19749
+ configurable: true,
19750
+ get () {
19751
+ // Create a bound version of the method and cache it on the instance
19752
+ const boundMethod = originalMethod.bind(this);
19753
+ // Define the bound method as a property on the instance
19754
+ // This ensures the same bound function is returned on subsequent accesses
19755
+ Object.defineProperty(this, propertyKey, {
19756
+ value: boundMethod,
19757
+ configurable: true,
19758
+ writable: true
19759
+ });
19760
+ return boundMethod;
19761
+ }
19762
+ };
19763
+ }
19728
19764
 
19729
19765
 
19730
19766
  /***/ }),
@@ -21184,100 +21220,6 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('xpath', xpath);
21184
21220
  }
21185
21221
 
21186
21222
 
21187
- /***/ }),
21188
-
21189
- /***/ 52201:
21190
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
21191
-
21192
- "use strict";
21193
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21194
- /* harmony export */ "default": function() { return /* binding */ autobind; }
21195
- /* harmony export */ });
21196
- /* unused harmony exports boundMethod, boundClass */
21197
- function _typeof(obj) {
21198
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
21199
- _typeof = function _typeof(obj) {
21200
- return typeof obj;
21201
- };
21202
- } else {
21203
- _typeof = function _typeof(obj) {
21204
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
21205
- };
21206
- }
21207
- return _typeof(obj);
21208
- }
21209
- /**
21210
- * Return a descriptor removing the value and returning a getter
21211
- * The getter will return a .bind version of the function
21212
- * and memoize the result against a symbol on the instance
21213
- */ function boundMethod(target, key, descriptor) {
21214
- var fn = descriptor.value;
21215
- if (typeof fn !== 'function') {
21216
- throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(_typeof(fn)));
21217
- } // In IE11 calling Object.defineProperty has a side-effect of evaluating the
21218
- // getter for the property which is being replaced. This causes infinite
21219
- // recursion and an "Out of stack space" error.
21220
- var definingProperty = false;
21221
- return {
21222
- configurable: true,
21223
- get: function get() {
21224
- // eslint-disable-next-line no-prototype-builtins
21225
- if (definingProperty || this === target.prototype || this.hasOwnProperty(key) || typeof fn !== 'function') {
21226
- return fn;
21227
- }
21228
- var boundFn = fn.bind(this);
21229
- definingProperty = true;
21230
- Object.defineProperty(this, key, {
21231
- configurable: true,
21232
- get: function get() {
21233
- return boundFn;
21234
- },
21235
- set: function set(value) {
21236
- fn = value;
21237
- delete this[key];
21238
- }
21239
- });
21240
- definingProperty = false;
21241
- return boundFn;
21242
- },
21243
- set: function set(value) {
21244
- fn = value;
21245
- }
21246
- };
21247
- }
21248
- /**
21249
- * Use boundMethod to bind all methods on the target.prototype
21250
- */ function boundClass(target) {
21251
- // (Using reflect to get all keys including symbols)
21252
- var keys; // Use Reflect if exists
21253
- if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {
21254
- keys = Reflect.ownKeys(target.prototype);
21255
- } else {
21256
- keys = Object.getOwnPropertyNames(target.prototype); // Use symbols if support is provided
21257
- if (typeof Object.getOwnPropertySymbols === 'function') {
21258
- keys = keys.concat(Object.getOwnPropertySymbols(target.prototype));
21259
- }
21260
- }
21261
- keys.forEach(function(key) {
21262
- // Ignore special case target method
21263
- if (key === 'constructor') {
21264
- return;
21265
- }
21266
- var descriptor = Object.getOwnPropertyDescriptor(target.prototype, key); // Only methods need binding
21267
- if (typeof descriptor.value === 'function') {
21268
- Object.defineProperty(target.prototype, key, boundMethod(target, key, descriptor));
21269
- }
21270
- });
21271
- return target;
21272
- }
21273
- function autobind() {
21274
- if (arguments.length === 1) {
21275
- return boundClass.apply(void 0, arguments);
21276
- }
21277
- return boundMethod.apply(void 0, arguments);
21278
- }
21279
-
21280
-
21281
21223
  /***/ }),
21282
21224
 
21283
21225
  /***/ 52433:
@@ -27936,9 +27878,15 @@ class resizeHandler extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_5__.Plugi
27936
27878
  /** @override **/ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(resizeHandler, "requires", [
27937
27879
  'size'
27938
27880
  ]);
27939
- resizeHandler = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
27881
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
27882
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
27883
+ ], resizeHandler.prototype, "onHandleResizeStart", null);
27884
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
27885
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
27886
+ ], resizeHandler.prototype, "onHandleResize", null);
27887
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
27940
27888
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
27941
- ], resizeHandler);
27889
+ ], resizeHandler.prototype, "onHandleResizeEnd", null);
27942
27890
  jodit_core_global__WEBPACK_IMPORTED_MODULE_4__.pluginSystem.add('resizeHandler', resizeHandler);
27943
27891
 
27944
27892
 
@@ -33059,7 +33007,7 @@ __webpack_require__.r(__webpack_exports__);
33059
33007
  * ```
33060
33008
  * @packageDocumentation
33061
33009
  * @module constants
33062
- */ const APP_VERSION = "4.7.5";
33010
+ */ const APP_VERSION = "4.7.7";
33063
33011
  // prettier-ignore
33064
33012
  const ES = "es2021";
33065
33013
  const IS_ES_MODERN = true;