jodit 4.2.24 → 4.2.27

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 (96) hide show
  1. package/CHANGELOG.md +24 -5
  2. package/es2015/jodit.css +4 -2
  3. package/es2015/jodit.fat.min.css +1 -1
  4. package/es2015/jodit.fat.min.js +2 -2
  5. package/es2015/jodit.js +166 -76
  6. package/es2015/jodit.min.css +1 -1
  7. package/es2015/jodit.min.js +2 -2
  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 +33 -7
  12. package/es2015/plugins/speech-recognize/speech-recognize.min.js +2 -2
  13. package/es2018/jodit.css +4 -2
  14. package/es2018/jodit.fat.min.css +1 -1
  15. package/es2018/jodit.fat.min.js +2 -2
  16. package/es2018/jodit.js +166 -76
  17. package/es2018/jodit.min.css +1 -1
  18. package/es2018/jodit.min.js +2 -2
  19. package/es2018/plugins/debug/debug.js +1 -1
  20. package/es2018/plugins/debug/debug.min.js +1 -1
  21. package/es2018/plugins/speech-recognize/speech-recognize.css +1 -1
  22. package/es2018/plugins/speech-recognize/speech-recognize.js +33 -7
  23. package/es2018/plugins/speech-recognize/speech-recognize.min.js +2 -2
  24. package/es2021/jodit.css +4 -2
  25. package/es2021/jodit.fat.min.css +1 -1
  26. package/es2021/jodit.fat.min.js +2 -2
  27. package/es2021/jodit.js +166 -76
  28. package/es2021/jodit.min.css +1 -1
  29. package/es2021/jodit.min.js +2 -2
  30. package/es2021/plugins/debug/debug.js +1 -1
  31. package/es2021/plugins/debug/debug.min.js +1 -1
  32. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  33. package/es2021/plugins/speech-recognize/speech-recognize.js +33 -7
  34. package/es2021/plugins/speech-recognize/speech-recognize.min.js +2 -2
  35. package/es2021.en/jodit.css +4 -2
  36. package/es2021.en/jodit.fat.min.css +1 -1
  37. package/es2021.en/jodit.fat.min.js +2 -2
  38. package/es2021.en/jodit.js +101 -57
  39. package/es2021.en/jodit.min.css +1 -1
  40. package/es2021.en/jodit.min.js +2 -2
  41. package/es2021.en/plugins/debug/debug.js +1 -1
  42. package/es2021.en/plugins/debug/debug.min.js +1 -1
  43. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  44. package/es2021.en/plugins/speech-recognize/speech-recognize.js +3 -1
  45. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +2 -2
  46. package/es5/jodit.css +11 -6
  47. package/es5/jodit.fat.min.css +1 -1
  48. package/es5/jodit.fat.min.js +2 -2
  49. package/es5/jodit.js +167 -76
  50. package/es5/jodit.min.css +3 -3
  51. package/es5/jodit.min.js +2 -2
  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 +33 -7
  56. package/es5/plugins/speech-recognize/speech-recognize.min.js +2 -2
  57. package/esm/core/constants.js +3 -3
  58. package/esm/core/dom/dom.d.ts +2 -1
  59. package/esm/core/dom/dom.js +10 -4
  60. package/esm/core/global.js +4 -1
  61. package/esm/core/helpers/normalize/normalize-key-aliases.js +2 -1
  62. package/esm/core/ui/button/tooltip/tooltip.d.ts +1 -0
  63. package/esm/core/ui/button/tooltip/tooltip.js +11 -5
  64. package/esm/langs/ua.d.ts +212 -0
  65. package/esm/langs/ua.js +225 -0
  66. package/esm/languages.js +2 -0
  67. package/esm/modules/table/table.d.ts +2 -3
  68. package/esm/modules/table/table.js +27 -34
  69. package/esm/plugins/add-new-line/add-new-line.js +4 -1
  70. package/esm/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.js +9 -1
  71. package/esm/plugins/hotkeys/hotkeys.js +4 -2
  72. package/esm/plugins/line-height/langs/index.d.ts +2 -1
  73. package/esm/plugins/line-height/langs/index.js +2 -1
  74. package/esm/plugins/line-height/langs/ua.d.ts +4 -0
  75. package/esm/plugins/line-height/langs/ua.js +9 -0
  76. package/esm/plugins/select-cells/select-cells.js +1 -1
  77. package/esm/plugins/speech-recognize/langs/index.d.ts +2 -1
  78. package/esm/plugins/speech-recognize/langs/index.js +2 -1
  79. package/esm/plugins/speech-recognize/langs/ua.d.ts +9 -0
  80. package/esm/plugins/speech-recognize/langs/ua.js +14 -0
  81. package/esm/plugins/spellcheck/langs/index.d.ts +2 -1
  82. package/esm/plugins/spellcheck/langs/index.js +2 -1
  83. package/esm/plugins/spellcheck/langs/ua.d.ts +1 -0
  84. package/esm/plugins/spellcheck/langs/ua.js +9 -0
  85. package/esm/plugins/table/config.js +19 -3
  86. package/package.json +1 -1
  87. package/types/core/dom/dom.d.ts +2 -1
  88. package/types/core/ui/button/tooltip/tooltip.d.ts +1 -0
  89. package/types/langs/ua.d.ts +212 -0
  90. package/types/modules/table/table.d.ts +2 -3
  91. package/types/plugins/line-height/langs/index.d.ts +2 -1
  92. package/types/plugins/line-height/langs/ua.d.ts +4 -0
  93. package/types/plugins/speech-recognize/langs/index.d.ts +2 -1
  94. package/types/plugins/speech-recognize/langs/ua.d.ts +9 -0
  95. package/types/plugins/spellcheck/langs/index.d.ts +2 -1
  96. package/types/plugins/spellcheck/langs/ua.d.ts +1 -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.2.24
4
+ * Version: v4.2.27
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -3127,7 +3127,7 @@ __webpack_require__.r(__webpack_exports__);
3127
3127
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
3128
3128
  */
3129
3129
 
3130
- var APP_VERSION = "4.2.24";
3130
+ var APP_VERSION = "4.2.27";
3131
3131
  // prettier-ignore
3132
3132
  var ES = "es5";
3133
3133
  var IS_ES_MODERN = false;
@@ -3288,8 +3288,8 @@ var KEY_ALIASES = {
3288
3288
  option: 'alt',
3289
3289
  return: 'enter',
3290
3290
  right: 'arrowright',
3291
- space: ' ',
3292
- spacebar: ' ',
3291
+ space: 'space',
3292
+ spacebar: 'space',
3293
3293
  up: 'arrowup',
3294
3294
  win: 'meta',
3295
3295
  windows: 'meta'
@@ -4315,11 +4315,17 @@ var Dom = /** @class */ (function () {
4315
4315
  if (withAttributes === void 0) { withAttributes = false; }
4316
4316
  if (notMoveContent === void 0) { notMoveContent = false; }
4317
4317
  if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isHTML */ .AH)(newTagName)) {
4318
+ void 0;
4318
4319
  newTagName = create.fromHTML(newTagName);
4319
4320
  }
4320
- var tag = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)
4321
- ? create.element(newTagName)
4322
- : newTagName;
4321
+ var tag;
4322
+ if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)) {
4323
+ void 0;
4324
+ tag = create.element(newTagName);
4325
+ }
4326
+ else {
4327
+ tag = newTagName;
4328
+ }
4323
4329
  if (!notMoveContent) {
4324
4330
  while (elm.firstChild) {
4325
4331
  tag.appendChild(elm.firstChild);
@@ -6090,7 +6096,8 @@ function getContainer(jodit, classFunc, tag, createInsideEditor) {
6090
6096
  var data = boxes.get(jodit) || {}, key = name + tag;
6091
6097
  var view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
6092
6098
  if (!data[key]) {
6093
- var c = view.c, body = (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
6099
+ var c = view.c;
6100
+ var body = (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
6094
6101
  ? jodit.o.shadowRoot
6095
6102
  : jodit.od.body;
6096
6103
  if (createInsideEditor &&
@@ -6110,6 +6117,7 @@ function getContainer(jodit, classFunc, tag, createInsideEditor) {
6110
6117
  body.appendChild(box_1);
6111
6118
  data[key] = box_1;
6112
6119
  jodit.hookStatus('beforeDestruct', function () {
6120
+ view.events.off(box_1);
6113
6121
  _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(box_1);
6114
6122
  delete data[key];
6115
6123
  if (Object.keys(data).length) {
@@ -6117,6 +6125,7 @@ function getContainer(jodit, classFunc, tag, createInsideEditor) {
6117
6125
  }
6118
6126
  });
6119
6127
  boxes.set(jodit, data);
6128
+ view.events.fire('getContainer', box_1);
6120
6129
  }
6121
6130
  data[key].classList.remove('jodit_theme_default', 'jodit_theme_dark');
6122
6131
  data[key].classList.add("jodit_theme_".concat(view.o.theme || 'default'));
@@ -7942,7 +7951,8 @@ function normalizeKeyAliases(keys) {
7942
7951
  ctrl: 2,
7943
7952
  control: 2,
7944
7953
  alt: 3,
7945
- shift: 4
7954
+ shift: 4,
7955
+ space: 5
7946
7956
  };
7947
7957
  return keys
7948
7958
  .replace(/\+\+/g, '+add')
@@ -15310,12 +15320,11 @@ var UITooltip = /** @class */ (function (_super) {
15310
15320
  if (!view.o.textIcons &&
15311
15321
  view.o.showTooltip &&
15312
15322
  !view.o.useNativeTooltip) {
15323
+ _this.j.e.on('getContainer', function (box) {
15324
+ _this.__onAttach(box);
15325
+ });
15313
15326
  view.hookStatus(jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.ready, function () {
15314
- // TODO Move it inside __show method. Now it is here because testcase failed with capturing
15315
- (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(_this.j, UITooltip_1).appendChild(_this.container);
15316
- view.e.on(view.container, 'mouseenter.tooltip', _this.__onMouseEnter, {
15317
- capture: true
15318
- });
15327
+ _this.__onAttach(_this.j.container);
15319
15328
  });
15320
15329
  }
15321
15330
  return _this;
@@ -15327,6 +15336,13 @@ var UITooltip = /** @class */ (function (_super) {
15327
15336
  UITooltip.prototype.render = function () {
15328
15337
  return '<div><div class="&__content"></div></div>';
15329
15338
  };
15339
+ UITooltip.prototype.__onAttach = function (container) {
15340
+ // TODO Move it inside __show method. Now it is here because testcase failed with capturing
15341
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
15342
+ this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
15343
+ capture: true
15344
+ });
15345
+ };
15330
15346
  UITooltip.prototype.__addListenersOnEnter = function () {
15331
15347
  if (this.__listenClose) {
15332
15348
  return;
@@ -19706,7 +19722,7 @@ function addClassNames(className, elm) {
19706
19722
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
19707
19723
 
19708
19724
  "use strict";
19709
- /* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(37923);
19725
+ /* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(37923);
19710
19726
  /* harmony import */ var jodit_langs_ar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57741);
19711
19727
  /* harmony import */ var jodit_langs_cs_cz__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56014);
19712
19728
  /* harmony import */ var jodit_langs_de__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95461);
@@ -19727,8 +19743,9 @@ function addClassNames(className, elm) {
19727
19743
  /* harmony import */ var jodit_langs_pt_br__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(86433);
19728
19744
  /* harmony import */ var jodit_langs_ru__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(28359);
19729
19745
  /* harmony import */ var jodit_langs_tr__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(68368);
19730
- /* harmony import */ var jodit_langs_zh_cn__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(25182);
19731
- /* harmony import */ var jodit_langs_zh_tw__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(44906);
19746
+ /* harmony import */ var jodit_langs_ua__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(57456);
19747
+ /* harmony import */ var jodit_langs_zh_cn__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(25182);
19748
+ /* harmony import */ var jodit_langs_zh_tw__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(44906);
19732
19749
  /*!
19733
19750
  * Jodit Editor (https://xdsoft.net/jodit/)
19734
19751
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -19755,6 +19772,7 @@ function addClassNames(className, elm) {
19755
19772
 
19756
19773
 
19757
19774
 
19775
+
19758
19776
 
19759
19777
 
19760
19778
  var exp = {};
@@ -19778,21 +19796,22 @@ exp = {
19778
19796
  pt_br: jodit_langs_pt_br__WEBPACK_IMPORTED_MODULE_17__,
19779
19797
  ru: jodit_langs_ru__WEBPACK_IMPORTED_MODULE_18__,
19780
19798
  tr: jodit_langs_tr__WEBPACK_IMPORTED_MODULE_19__,
19781
- zh_cn: jodit_langs_zh_cn__WEBPACK_IMPORTED_MODULE_20__,
19782
- zh_tw: jodit_langs_zh_tw__WEBPACK_IMPORTED_MODULE_21__
19799
+ ua: jodit_langs_ua__WEBPACK_IMPORTED_MODULE_20__,
19800
+ zh_cn: jodit_langs_zh_cn__WEBPACK_IMPORTED_MODULE_21__,
19801
+ zh_tw: jodit_langs_zh_tw__WEBPACK_IMPORTED_MODULE_22__
19783
19802
  };
19784
19803
  /* Unpack array to hash */
19785
19804
  var get = function (value) {
19786
19805
  return value ? value.default || value : {};
19787
19806
  }, hashLang = {};
19788
- if ((0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_22__/* .isArray */ .c)(get(jodit_langs_keys__WEBPACK_IMPORTED_MODULE_12__))) {
19807
+ if ((0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_23__/* .isArray */ .c)(get(jodit_langs_keys__WEBPACK_IMPORTED_MODULE_12__))) {
19789
19808
  get(jodit_langs_keys__WEBPACK_IMPORTED_MODULE_12__).forEach(function (key, index) {
19790
19809
  hashLang[index] = key;
19791
19810
  });
19792
19811
  }
19793
19812
  Object.keys(exp).forEach(function (lang) {
19794
19813
  var list = get(exp[lang]);
19795
- if ((0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_22__/* .isArray */ .c)(list)) {
19814
+ if ((0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_23__/* .isArray */ .c)(list)) {
19796
19815
  exp[lang] = {};
19797
19816
  list.forEach(function (value, index) {
19798
19817
  exp[lang][hashLang[index]] = value;
@@ -24865,46 +24884,40 @@ var Table = /** @class */ (function (_super) {
24865
24884
  Table.prototype.removeRow = function (table, rowIndex) {
24866
24885
  return Table.__removeRow(table, rowIndex);
24867
24886
  };
24868
- Table.__appendColumn = function (table, j, after, create) {
24887
+ /**
24888
+ * Insert column before / after all the columns containing the selected cells
24889
+ */
24890
+ Table.prototype.appendColumn = function (table, selectedCell, insertAfter) {
24891
+ if (insertAfter === void 0) { insertAfter = true; }
24869
24892
  var box = Table.__formalMatrix(table);
24870
- var i;
24871
- if (j === undefined || j < 0) {
24872
- j = Table.__getColumnsCount(table) - 1;
24873
- }
24874
- for (i = 0; i < box.length; i += 1) {
24875
- var cell = create.element('td');
24876
- var td = box[i][j];
24877
- var added = false;
24878
- if (after) {
24879
- if ((box[i] && td && j + 1 >= box[i].length) ||
24880
- td !== box[i][j + 1]) {
24881
- if (td.nextSibling) {
24882
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(td.nextSibling, cell);
24883
- }
24884
- else {
24885
- td.parentNode && td.parentNode.appendChild(cell);
24886
- }
24887
- added = true;
24893
+ if (!insertAfter && jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.isCell(selectedCell.previousElementSibling)) {
24894
+ return this.appendColumn(table, selectedCell.previousElementSibling, true);
24895
+ }
24896
+ var columnIndex = insertAfter
24897
+ ? selectedCell.cellIndex + ((selectedCell.colSpan || 1) - 1)
24898
+ : selectedCell.cellIndex;
24899
+ var newColumnIndex = insertAfter ? columnIndex + 1 : columnIndex;
24900
+ for (var i = 0; i < box.length;) {
24901
+ var cells = box[i];
24902
+ if (cells[columnIndex] !== cells[newColumnIndex] ||
24903
+ columnIndex === newColumnIndex) {
24904
+ var cell = this.j.createInside.element('td');
24905
+ if (insertAfter) {
24906
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.after(cells[columnIndex], cell);
24888
24907
  }
24889
- }
24890
- else {
24891
- if (j - 1 < 0 ||
24892
- (box[i][j] !== box[i][j - 1] && box[i][j].parentNode)) {
24893
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(box[i][j], cell);
24894
- added = true;
24908
+ else {
24909
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(cells[columnIndex], cell);
24910
+ }
24911
+ if (cells[columnIndex].rowSpan > 1) {
24912
+ cell.rowSpan = cells[columnIndex].rowSpan;
24895
24913
  }
24896
24914
  }
24897
- if (!added) {
24898
- (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.attr)(box[i][j], 'colspan', parseInt((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.attr)(box[i][j], 'colspan') || '1', 10) + 1);
24915
+ else {
24916
+ cells[columnIndex].colSpan += 1;
24899
24917
  }
24918
+ i += cells[columnIndex].rowSpan || 1;
24900
24919
  }
24901
24920
  };
24902
- /**
24903
- * Insert column before / after all the columns containing the selected cells
24904
- */
24905
- Table.prototype.appendColumn = function (table, j, after) {
24906
- return Table.__appendColumn(table, j, after, this.j.createInside);
24907
- };
24908
24921
  Table.__removeColumn = function (table, j) {
24909
24922
  var box = Table.__formalMatrix(table);
24910
24923
  var dec;
@@ -25122,7 +25135,7 @@ var Table = /** @class */ (function (_super) {
25122
25135
  alreadyMerged.delete(first);
25123
25136
  Table.__unmark(__marked);
25124
25137
  Table.__normalizeTable(table);
25125
- (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach(function (tr, index) {
25138
+ (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach(function (tr) {
25126
25139
  if (!tr.cells.length) {
25127
25140
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(tr);
25128
25141
  }
@@ -25131,7 +25144,7 @@ var Table = /** @class */ (function (_super) {
25131
25144
  }
25132
25145
  };
25133
25146
  /**
25134
- * It combines all of the selected cells into one. The contents of the cells will also be combined
25147
+ * It combines all the selected cells into one. The contents of the cells will also be combined
25135
25148
  */
25136
25149
  Table.prototype.mergeSelected = function (table) {
25137
25150
  return Table.__mergeSelected(table, this.j);
@@ -27541,7 +27554,9 @@ var addNewLine = /** @class */ (function (_super) {
27541
27554
  editor.e
27542
27555
  .off(editor.editor, '.' + ns)
27543
27556
  .off(editor.container, '.' + ns)
27557
+ .off('.' + ns)
27544
27558
  .on([editor.ow, editor.ew, editor.editor], 'scroll' + '.' + ns, this.__hideForce)
27559
+ .on('finishedCleanHTMLWorker' + '.' + ns, this.__hideForce)
27545
27560
  .on(editor.editor, 'click' + '.' + ns, this.__hide)
27546
27561
  .on(editor.container, 'mouseleave' + '.' + ns, this.__hide)
27547
27562
  .on(editor.editor, 'mousemove' + '.' + ns, this.__onMouseMove);
@@ -27629,7 +27644,8 @@ var addNewLine = /** @class */ (function (_super) {
27629
27644
  jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.__line);
27630
27645
  this.j.e
27631
27646
  .off([this.j.ow, this.j.ew, this.j.editor], '.' + ns)
27632
- .off(this.j.container, '.' + ns);
27647
+ .off(this.j.container, '.' + ns)
27648
+ .off('.' + ns);
27633
27649
  };
27634
27650
  (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .Cg)([
27635
27651
  (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__.watch)(':lock')
@@ -29874,13 +29890,21 @@ function allowAttributes(jodit, nodeElm, hadEffect, allow) {
29874
29890
  */
29875
29891
 
29876
29892
 
29893
+ var TABLE_CONTAINER_TAGS = new Set([
29894
+ 'table',
29895
+ 'tbody',
29896
+ 'thead',
29897
+ 'tfoot',
29898
+ 'tr'
29899
+ ]);
29877
29900
  /**
29878
29901
  * @private
29879
29902
  */
29880
29903
  function fillEmptyParagraph(jodit, nodeElm, hadEffect) {
29881
29904
  if (jodit.o.cleanHTML.fillEmptyParagraph &&
29882
29905
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(nodeElm) &&
29883
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS)) {
29906
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) &&
29907
+ !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(nodeElm, TABLE_CONTAINER_TAGS)) {
29884
29908
  var br = jodit.createInside.element('br');
29885
29909
  nodeElm.appendChild(br);
29886
29910
  return true;
@@ -33170,7 +33194,8 @@ var hotkeys = /** @class */ (function (_super) {
33170
33194
  function hotkeys() {
33171
33195
  var _this = _super.apply(this, (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__spreadArray */ .fX)([], (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__read */ .zs)(arguments), false)) || this;
33172
33196
  _this.onKeyPress = function (event) {
33173
- var special = _this.specialKeys[event.which], character = (event.key || String.fromCharCode(event.which)).toLowerCase();
33197
+ var special = _this.specialKeys[event.which];
33198
+ var character = (event.key || String.fromCharCode(event.which)).toLowerCase();
33174
33199
  var modif = [special || character];
33175
33200
  ['alt', 'ctrl', 'shift', 'meta'].forEach(function (specialKey) {
33176
33201
  if (event[specialKey + 'Key'] && special !== specialKey) {
@@ -33266,7 +33291,8 @@ var hotkeys = /** @class */ (function (_super) {
33266
33291
  }
33267
33292
  })
33268
33293
  .on('keydown.hotkeys', function (event) {
33269
- var shortcut = _this.onKeyPress(event), stop = {
33294
+ var shortcut = _this.onKeyPress(event);
33295
+ var stop = {
33270
33296
  shouldStop: true
33271
33297
  };
33272
33298
  var resultOfFire = _this.j.e.fire(shortcut + '.hotkey', event.type, stop);
@@ -37012,8 +37038,9 @@ __webpack_require__.r(__webpack_exports__);
37012
37038
  /* harmony export */ pt_br: function() { return /* reexport module object */ _pt_br_js__WEBPACK_IMPORTED_MODULE_16__; },
37013
37039
  /* harmony export */ ru: function() { return /* reexport module object */ _ru_js__WEBPACK_IMPORTED_MODULE_17__; },
37014
37040
  /* harmony export */ tr: function() { return /* reexport module object */ _tr_js__WEBPACK_IMPORTED_MODULE_18__; },
37015
- /* harmony export */ zh_cn: function() { return /* reexport module object */ _zh_cn_js__WEBPACK_IMPORTED_MODULE_19__; },
37016
- /* harmony export */ zh_tw: function() { return /* reexport module object */ _zh_tw_js__WEBPACK_IMPORTED_MODULE_20__; }
37041
+ /* harmony export */ ua: function() { return /* reexport module object */ _ua_js__WEBPACK_IMPORTED_MODULE_19__; },
37042
+ /* harmony export */ zh_cn: function() { return /* reexport module object */ _zh_cn_js__WEBPACK_IMPORTED_MODULE_20__; },
37043
+ /* harmony export */ zh_tw: function() { return /* reexport module object */ _zh_tw_js__WEBPACK_IMPORTED_MODULE_21__; }
37017
37044
  /* harmony export */ });
37018
37045
  /* harmony import */ var _ar_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(14100);
37019
37046
  /* harmony import */ var _ar_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ar_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -37053,10 +37080,12 @@ __webpack_require__.r(__webpack_exports__);
37053
37080
  /* harmony import */ var _ru_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_ru_js__WEBPACK_IMPORTED_MODULE_17__);
37054
37081
  /* harmony import */ var _tr_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(41145);
37055
37082
  /* harmony import */ var _tr_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_tr_js__WEBPACK_IMPORTED_MODULE_18__);
37056
- /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(76877);
37057
- /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_zh_cn_js__WEBPACK_IMPORTED_MODULE_19__);
37058
- /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(83289);
37059
- /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_zh_tw_js__WEBPACK_IMPORTED_MODULE_20__);
37083
+ /* harmony import */ var _ua_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(71289);
37084
+ /* harmony import */ var _ua_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_ua_js__WEBPACK_IMPORTED_MODULE_19__);
37085
+ /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(76877);
37086
+ /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_zh_cn_js__WEBPACK_IMPORTED_MODULE_20__);
37087
+ /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(83289);
37088
+ /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_zh_tw_js__WEBPACK_IMPORTED_MODULE_21__);
37060
37089
  /*!
37061
37090
  * Jodit Editor (https://xdsoft.net/jodit/)
37062
37091
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -37084,6 +37113,7 @@ __webpack_require__.r(__webpack_exports__);
37084
37113
 
37085
37114
 
37086
37115
 
37116
+
37087
37117
 
37088
37118
 
37089
37119
  /***/ }),
@@ -37239,6 +37269,23 @@ module.exports = {
37239
37269
  };
37240
37270
 
37241
37271
 
37272
+ /***/ }),
37273
+
37274
+ /***/ 71289:
37275
+ /***/ (function(module) {
37276
+
37277
+ "use strict";
37278
+
37279
+ /*!
37280
+ * Jodit Editor (https://xdsoft.net/jodit/)
37281
+ * Released under MIT see LICENSE.txt in the project root for license information.
37282
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
37283
+ */
37284
+ module.exports = {
37285
+ 'Line height': 'Висота лінії'
37286
+ };
37287
+
37288
+
37242
37289
  /***/ }),
37243
37290
 
37244
37291
  /***/ 76877:
@@ -41959,7 +42006,7 @@ var selectCells = /** @class */ (function (_super) {
41959
42006
  break;
41960
42007
  case 'addcolumnafter':
41961
42008
  case 'addcolumnbefore':
41962
- this.__tableModule.appendColumn(table_1, cell.cellIndex, command === 'addcolumnafter');
42009
+ this.__tableModule.appendColumn(table_1, cell, command === 'addcolumnafter');
41963
42010
  break;
41964
42011
  case 'addrowafter':
41965
42012
  case 'addrowbefore':
@@ -43532,8 +43579,9 @@ __webpack_require__.r(__webpack_exports__);
43532
43579
  /* harmony export */ pt_br: function() { return /* reexport module object */ _pt_br_js__WEBPACK_IMPORTED_MODULE_16__; },
43533
43580
  /* harmony export */ ru: function() { return /* reexport module object */ _ru_js__WEBPACK_IMPORTED_MODULE_17__; },
43534
43581
  /* harmony export */ tr: function() { return /* reexport module object */ _tr_js__WEBPACK_IMPORTED_MODULE_18__; },
43535
- /* harmony export */ zh_cn: function() { return /* reexport module object */ _zh_cn_js__WEBPACK_IMPORTED_MODULE_19__; },
43536
- /* harmony export */ zh_tw: function() { return /* reexport module object */ _zh_tw_js__WEBPACK_IMPORTED_MODULE_20__; }
43582
+ /* harmony export */ ua: function() { return /* reexport module object */ _ua_js__WEBPACK_IMPORTED_MODULE_19__; },
43583
+ /* harmony export */ zh_cn: function() { return /* reexport module object */ _zh_cn_js__WEBPACK_IMPORTED_MODULE_20__; },
43584
+ /* harmony export */ zh_tw: function() { return /* reexport module object */ _zh_tw_js__WEBPACK_IMPORTED_MODULE_21__; }
43537
43585
  /* harmony export */ });
43538
43586
  /* harmony import */ var _ar_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82602);
43539
43587
  /* harmony import */ var _ar_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ar_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -43573,10 +43621,12 @@ __webpack_require__.r(__webpack_exports__);
43573
43621
  /* harmony import */ var _ru_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_ru_js__WEBPACK_IMPORTED_MODULE_17__);
43574
43622
  /* harmony import */ var _tr_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(98439);
43575
43623
  /* harmony import */ var _tr_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_tr_js__WEBPACK_IMPORTED_MODULE_18__);
43576
- /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(55835);
43577
- /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_zh_cn_js__WEBPACK_IMPORTED_MODULE_19__);
43578
- /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(34747);
43579
- /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_zh_tw_js__WEBPACK_IMPORTED_MODULE_20__);
43624
+ /* harmony import */ var _ua_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(65115);
43625
+ /* harmony import */ var _ua_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_ua_js__WEBPACK_IMPORTED_MODULE_19__);
43626
+ /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(55835);
43627
+ /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_zh_cn_js__WEBPACK_IMPORTED_MODULE_20__);
43628
+ /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(34747);
43629
+ /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_zh_tw_js__WEBPACK_IMPORTED_MODULE_21__);
43580
43630
  /*!
43581
43631
  * Jodit Editor (https://xdsoft.net/jodit/)
43582
43632
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -43604,6 +43654,7 @@ __webpack_require__.r(__webpack_exports__);
43604
43654
 
43605
43655
 
43606
43656
 
43657
+
43607
43658
 
43608
43659
 
43609
43660
  /***/ }),
@@ -43759,6 +43810,23 @@ module.exports = {
43759
43810
  };
43760
43811
 
43761
43812
 
43813
+ /***/ }),
43814
+
43815
+ /***/ 65115:
43816
+ /***/ (function(module) {
43817
+
43818
+ "use strict";
43819
+
43820
+ /*!
43821
+ * Jodit Editor (https://xdsoft.net/jodit/)
43822
+ * Released under MIT see LICENSE.txt in the project root for license information.
43823
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
43824
+ */
43825
+ module.exports = {
43826
+ Spellcheck: 'Перевірка орфографії'
43827
+ };
43828
+
43829
+
43762
43830
  /***/ }),
43763
43831
 
43764
43832
  /***/ 55835:
@@ -45374,6 +45442,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
45374
45442
  }
45375
45443
  },
45376
45444
  popup: function (editor, current, close, button) {
45445
+ editor.editor.normalize();
45446
+ var snapshot = editor.history.snapshot.make();
45377
45447
  var control = button.control;
45378
45448
  var default_rows_count = control.data && control.data.rows ? control.data.rows : 10, default_cols_count = control.data && control.data.cols ? control.data.cols : 10;
45379
45449
  var generateExtraClasses = function () {
@@ -45466,10 +45536,24 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
45466
45536
  table.classList.add(className);
45467
45537
  });
45468
45538
  });
45469
- if (editor.editor.firstChild) {
45470
- editor.s.insertNode(crt.text('\n'), false, false);
45539
+ editor.s.restore();
45540
+ editor.s.removeMarkers();
45541
+ editor.editor.normalize();
45542
+ editor.history.snapshot.restore(snapshot);
45543
+ var block = jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.furthest(editor.s.current(), jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isBlock, editor.editor);
45544
+ if (block && jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isEmpty(block)) {
45545
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.replace(block, table, undefined, false, true);
45546
+ }
45547
+ else {
45548
+ if (block) {
45549
+ var fake = crt.text('\n');
45550
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(block, fake);
45551
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(fake, table);
45552
+ }
45553
+ else {
45554
+ editor.s.insertNode(table, false);
45555
+ }
45471
45556
  }
45472
- editor.s.insertNode(table, false);
45473
45557
  if (first_td) {
45474
45558
  editor.s.setCursorIn(first_td);
45475
45559
  (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
@@ -46345,6 +46429,13 @@ module.exports["default"] = ["Bir şeyler yaz","Jodit Hakkında","Jodit Editor",
46345
46429
 
46346
46430
  /***/ }),
46347
46431
 
46432
+ /***/ 57456:
46433
+ /***/ (function(module) {
46434
+
46435
+ module.exports["default"] = ["Напишіть щось","Про Jodit","Редактор Jodit","Jodit інструкція користувача","містить детальну інформацію щодо користування","Щоб дізнатись більше про ліцензію , будь ласка, перейдіть на наш сайт:","Купити повну версію","Авторські права © XDSoft.net - Чупурнов Валерій. Всі права захищені.","Анкор","Відкрити у новій вкладці","Відкрити редактор в повному розмірі","Очистити форматування","Колір заливки або колір текста","Повторити","Відмінити","Жирний","Курсів","Вставити невпорядкований список","Вставити нумерованний список","Вирівняти по центру","Вирівняти по ширині","Вирівняти по лівому краю","Вирівняти по правому краю","Вставити горизонтальну лінію","Вставити зображення","Вставити файл","Вставити відео","Вставити посилання","Розмір шрифту","Шрифт","Вставити блочний елемент","Нормальний текст","Заголовок 1","Заголовок 2","Заголовок 3","Заголовок 4","Цитата","Код","Вставити","Вставити таблицю","Збільшити відступ","Зменшити відступ","Оберіть спеціальный символ","Вставити спеціальный символ","Формат краски","Джерело","Відступи","зверху","справа","знизу","зліва","Стилі","Класи","Вирівнювання","По правому краю","По центру","По лівому краю","--не встановлено--","src","Заголовок","Альтернативний текст (alt)","Посилання","Відкрити посилання в новій вкладці",null,"Файл","Розширені","Властивості зображення","Відміна","Ок","Браузер файлів","Помилка при завантаженні списку зображень","Помилка при завантаженні списку папок","Ви впевнені?","Введіть назву папки","Створити папку","введіть назву","Перетягніть зображення сюди","Перетягніть файл сюди","або клікніть","Альтернативный текст","Завантаження","Сервер","Фон","Текст"," Вгору","По центру","Донизу","Вставити стовпець до","Вставити стовпець після","Вставити рядок вище","Вставити рядок нижче","Видалити таблицю","Видалити рядок","Видалити стовпчик","Очистити кліинку","Символів: %d","Слів: %d","Закреслений","Підкреслений","верхній індекс","індекс","Обрізати вибране","Вибрати все","Межа","Шукати","Замінити на","Замінити","Вставити","Обрати контент для вставки","HTML","жирний","курсів","заливка","посилання","відмінити","повторити","таблиця","зображення","видалення","параграф","розмір шрифту","відео","шрифт","про редактор","друк","підкреслений","закреслений","відступ","заступ","на весь екран","звичайний розмір","лінія","Список","Нумерований список","Вирізати","Виділити все","Код","Відкрити посилання","Редагувати посилання","Атрибут nofollow","Видалити посилання","Оновити","Редагування","Перегляд","URL","Редагувати","Горизонтальне вирівнювання","Фільтр","Сортувати за зміною","Сортувати за ім'ям","Сортувати за розміром","Додати папку","Відновити","Зберегти","Зберегти як","Змінити розмір","Обрізати розмір","Ширина","Висота","Зберегти пропорції","Так","Ні","Видалити","Вибрати","Вибрати: %s","Вертикальне вирівнювання","Розділити","Об'єднати в одну","Додати стовпчик","Додати рядок","Ліцензія: %s","Видалити","Розділити по вертикалі","Розділити по горизонталі","Рамка","Текст, який Ви намагаєтесь вставити схожий на HTML. Вставити його як HTML?","Вставити його як HTML","Зберегти оригінал","Вставити як текст","Вставити тільки текст","Ви можете редагувати лише власні зображення. Завантажити зображення на ваш сервер?","Зображення успішно завантажено на сервер!","палітра","Файли відсутні","Змінити назву","Введіть нове імя'","Попередній перегляд","Завантажити","Вставити з буфера обміну","Ваш браузер не підтримує доступ до буфера обміну.","Копіювати виділене","копія","Радіус рамки","Показати все","Застосувати","Будь ласка, заповніть це поле","Будь ласка, введіть веб-адресу","За замовченням","Коло","Крапка","Квадрат","Знайти","Знайти попередні","Знайти наступні","Ви вставляєте контент з документа Microsoft Word або Excel. Бажаєте зберегти форматування?","Можливо це фрагмент Word або Excel","Почистити","Вставити клас","Натисніть Alt для зміни розміру"]
46436
+
46437
+ /***/ }),
46438
+
46348
46439
  /***/ 25182:
46349
46440
  /***/ (function(module) {
46350
46441