@syncfusion/ej2-richtexteditor 24.2.7 → 24.2.9

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 (78) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/ej2-richtexteditor.min.js +2 -2
  3. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  4. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es2015.js +341 -157
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +342 -156
  8. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  9. package/dist/global/ej2-richtexteditor.min.js +2 -2
  10. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +8 -8
  13. package/src/editor-manager/plugin/dom-node.js +3 -1
  14. package/src/editor-manager/plugin/format-painter-actions.d.ts +1 -0
  15. package/src/editor-manager/plugin/format-painter-actions.js +18 -0
  16. package/src/editor-manager/plugin/inserthtml.js +9 -1
  17. package/src/editor-manager/plugin/lists.js +79 -70
  18. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +1 -0
  19. package/src/editor-manager/plugin/ms-word-clean-up.js +22 -1
  20. package/src/rich-text-editor/actions/base-quick-toolbar.js +5 -2
  21. package/src/rich-text-editor/actions/color-picker.d.ts +1 -0
  22. package/src/rich-text-editor/actions/color-picker.js +10 -0
  23. package/src/rich-text-editor/actions/emoji-picker.js +1 -1
  24. package/src/rich-text-editor/actions/enter-key.js +2 -2
  25. package/src/rich-text-editor/actions/html-editor.js +10 -5
  26. package/src/rich-text-editor/actions/quick-toolbar.js +1 -1
  27. package/src/rich-text-editor/actions/toolbar.js +3 -0
  28. package/src/rich-text-editor/base/constant.d.ts +5 -0
  29. package/src/rich-text-editor/base/constant.js +5 -0
  30. package/src/rich-text-editor/base/rich-text-editor.js +21 -5
  31. package/src/rich-text-editor/models/default-locale.js +1 -1
  32. package/src/rich-text-editor/renderer/dialog-renderer.js +5 -1
  33. package/src/rich-text-editor/renderer/iframe-content-renderer.js +1 -1
  34. package/src/rich-text-editor/renderer/image-module.js +28 -7
  35. package/src/rich-text-editor/renderer/table-module.d.ts +3 -1
  36. package/src/rich-text-editor/renderer/table-module.js +111 -50
  37. package/src/rich-text-editor/renderer/toolbar-renderer.js +13 -13
  38. package/styles/bootstrap-dark.css +32 -13
  39. package/styles/bootstrap.css +36 -20
  40. package/styles/bootstrap4.css +18 -3
  41. package/styles/bootstrap5-dark.css +22 -9
  42. package/styles/bootstrap5.css +22 -9
  43. package/styles/fabric-dark.css +18 -3
  44. package/styles/fabric.css +18 -3
  45. package/styles/fluent-dark.css +24 -3
  46. package/styles/fluent.css +24 -3
  47. package/styles/highcontrast-light.css +18 -3
  48. package/styles/highcontrast.css +21 -3
  49. package/styles/material-dark.css +22 -3
  50. package/styles/material.css +22 -3
  51. package/styles/material3-dark.css +19 -4
  52. package/styles/material3.css +19 -4
  53. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +8 -8
  54. package/styles/rich-text-editor/_bootstrap-definition.scss +14 -14
  55. package/styles/rich-text-editor/_layout.scss +11 -0
  56. package/styles/rich-text-editor/_material3-definition.scss +1 -1
  57. package/styles/rich-text-editor/_theme.scss +47 -13
  58. package/styles/rich-text-editor/bootstrap-dark.css +32 -13
  59. package/styles/rich-text-editor/bootstrap.css +36 -20
  60. package/styles/rich-text-editor/bootstrap4.css +18 -3
  61. package/styles/rich-text-editor/bootstrap5-dark.css +22 -9
  62. package/styles/rich-text-editor/bootstrap5.css +22 -9
  63. package/styles/rich-text-editor/fabric-dark.css +18 -3
  64. package/styles/rich-text-editor/fabric.css +18 -3
  65. package/styles/rich-text-editor/fluent-dark.css +24 -3
  66. package/styles/rich-text-editor/fluent.css +24 -3
  67. package/styles/rich-text-editor/highcontrast-light.css +18 -3
  68. package/styles/rich-text-editor/highcontrast.css +21 -3
  69. package/styles/rich-text-editor/material-dark.css +22 -3
  70. package/styles/rich-text-editor/material.css +22 -3
  71. package/styles/rich-text-editor/material3-dark.css +19 -4
  72. package/styles/rich-text-editor/material3.css +19 -4
  73. package/styles/rich-text-editor/tailwind-dark.css +30 -3
  74. package/styles/rich-text-editor/tailwind.css +30 -3
  75. package/styles/tailwind-dark.css +30 -3
  76. package/styles/tailwind.css +30 -3
  77. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
  78. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -27
@@ -764,6 +764,11 @@ var updateValueOnIdle = 'updateValueOnIdle';
764
764
  * @deprecated
765
765
  */
766
766
  var documentClickClosedBy = 'documentClickClosedBy';
767
+ /**
768
+ * @hidden
769
+ * @deprecated
770
+ */
771
+ var showColorPicker = 'showColorPicker';
767
772
  /**
768
773
  * @hidden
769
774
  * @deprecated
@@ -2707,7 +2712,7 @@ var defaultLocale = {
2707
2712
  'browse': 'Browse',
2708
2713
  'imageUrl': 'http://example.com/image.png',
2709
2714
  'audioUrl': 'http://example.com/audio.mp3',
2710
- 'videoUrl': 'http://example.com/video.mp3',
2715
+ 'videoUrl': 'http://example.com/video.mp4',
2711
2716
  'webUrl': 'Web URL',
2712
2717
  'embedUrl': 'Embed Code',
2713
2718
  'imageCaption': 'Caption',
@@ -3672,6 +3677,19 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3672
3677
  addClass([listEle[1], listEle[2]], 'e-disabled');
3673
3678
  }
3674
3679
  }
3680
+ if (this.parent.showTooltip) {
3681
+ this.dropdownTooltip = new Tooltip({
3682
+ target: '[aria-owns="' + this.parent.getID() + '"].e-rte-elements [title]',
3683
+ showTipPointer: true,
3684
+ openDelay: 400,
3685
+ opensOn: 'Hover',
3686
+ beforeRender: this.tooltipBeforeRender.bind(this),
3687
+ cssClass: this.parent.getCssClass(),
3688
+ windowCollision: true,
3689
+ position: 'BottomCenter'
3690
+ });
3691
+ this.dropdownTooltip.appendTo(args.element);
3692
+ }
3675
3693
  this.parent.notify(selectionSave, args);
3676
3694
  };
3677
3695
  ToolbarRenderer.prototype.dropDownClose = function (args) {
@@ -3716,19 +3734,6 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3716
3734
  });
3717
3735
  this.tooltip.appendTo(args.target);
3718
3736
  }
3719
- if (this.parent.showTooltip) {
3720
- this.dropdownTooltip = new Tooltip({
3721
- target: '[aria-owns="' + this.parent.getID() + '"].e-rte-elements [title]',
3722
- showTipPointer: true,
3723
- openDelay: 400,
3724
- opensOn: 'Hover',
3725
- beforeRender: this.tooltipBeforeRender.bind(this),
3726
- cssClass: this.parent.getCssClass(),
3727
- windowCollision: true,
3728
- position: 'BottomCenter'
3729
- });
3730
- this.dropdownTooltip.appendTo(document.body);
3731
- }
3732
3737
  };
3733
3738
  /**
3734
3739
  * renderDropDownButton method
@@ -5160,6 +5165,9 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
5160
5165
  if (e.target.classList.contains('e-hor-nav')) {
5161
5166
  this.adjustContentHeight(e.target, true);
5162
5167
  }
5168
+ if (!isNullOrUndefined(e.target) && (e.target.classList.contains("e-rte-fontcolor-dropdown") || e.target.classList.contains("e-rte-backgroundcolor-dropdown"))) {
5169
+ this.parent.notify(showColorPicker, { toolbarClick: e.target.classList.contains("e-rte-fontcolor-dropdown") ? "fontcolor" : "backgroundcolor" });
5170
+ }
5163
5171
  }
5164
5172
  };
5165
5173
  Toolbar$$1.prototype.createToolbarElement = function () {
@@ -6220,6 +6228,15 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
6220
6228
  this.parent.on(destroyColorPicker, this.destroyColorPicker, this);
6221
6229
  this.parent.on(modelChanged, this.onPropertyChanged, this);
6222
6230
  this.parent.on(bindCssClass, this.setCssClass, this);
6231
+ this.parent.on(showColorPicker, this.showColorPicker, this);
6232
+ };
6233
+ ColorPickerInput.prototype.showColorPicker = function (e) {
6234
+ if (!isNullOrUndefined(this.fontColorPicker) && (e.toolbarClick === "fontcolor")) {
6235
+ this.fontColorDropDown.toggle();
6236
+ }
6237
+ else if (!isNullOrUndefined(this.backgroundColorPicker) && (e.toolbarClick === "backgroundcolor")) {
6238
+ this.backgroundColorDropDown.toggle();
6239
+ }
6223
6240
  };
6224
6241
  ColorPickerInput.prototype.onPropertyChanged = function (model) {
6225
6242
  var newProp = model.newProp;
@@ -6293,6 +6310,7 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
6293
6310
  this.parent.off(destroyColorPicker, this.destroyColorPicker);
6294
6311
  this.parent.off(modelChanged, this.onPropertyChanged);
6295
6312
  this.parent.off(bindCssClass, this.setCssClass);
6313
+ this.parent.off(showColorPicker, this.showColorPicker);
6296
6314
  };
6297
6315
  return ColorPickerInput;
6298
6316
  }());
@@ -6512,6 +6530,9 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6512
6530
  _this.parent.disableToolbarItem(_this.parent.toolbarSettings.items);
6513
6531
  _this.parent.enableToolbarItem(['Undo', 'Redo']);
6514
6532
  }
6533
+ else {
6534
+ _this.parent.enableToolbarItem(_this.parent.toolbarSettings.items);
6535
+ }
6515
6536
  append([_this.element], document.body);
6516
6537
  if (_this.parent.showTooltip) {
6517
6538
  _this.tooltip = new Tooltip({
@@ -6553,9 +6574,9 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6553
6574
  parentData: parent_1.getBoundingClientRect(),
6554
6575
  tBarElementHeight: tBarHeight
6555
6576
  };
6556
- if (target.tagName === 'IMG' || target.tagName === 'AUDIO' || target.tagName === 'VIDEO' || target.tagName === 'IFRAME' || (target.classList &&
6577
+ if ((target.tagName === 'IMG' || target.tagName === 'AUDIO' || target.tagName === 'VIDEO' || target.tagName === 'IFRAME' || (target.classList &&
6557
6578
  (target.classList.contains(CLS_AUDIOWRAP) || target.classList.contains(CLS_CLICKELEM) ||
6558
- target.classList.contains(CLS_VID_CLICK_ELEM)))) {
6579
+ target.classList.contains(CLS_VID_CLICK_ELEM)))) && (x == beforeQuickToolbarArgs.positionX || y == beforeQuickToolbarArgs.positionY)) {
6559
6580
  _this.setPosition(showPopupData);
6560
6581
  }
6561
6582
  if (!_this.parent.inlineMode.enable) {
@@ -6962,7 +6983,7 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6962
6983
  * @deprecated
6963
6984
  */
6964
6985
  QuickToolbar.prototype.showInlineQTBar = function (x, y, target) {
6965
- if (isNullOrUndefined(this.parent) || this.parent.readonly || target.tagName.toLowerCase() === 'img') {
6986
+ if (isNullOrUndefined(this.parent) || this.parent.readonly || target.tagName.toLowerCase() === 'img' || this.inlineQTBar.element.querySelector('.e-rte-color-content')) {
6966
6987
  return;
6967
6988
  }
6968
6989
  this.inlineQTBar.showPopup(x, y, target);
@@ -11789,9 +11810,11 @@ var DOMNode = /** @__PURE__ @class */ (function () {
11789
11810
  var range = save.range;
11790
11811
  var startChildNodes = range.startContainer.childNodes;
11791
11812
  var isTableStart = startChildNodes.length > 1 && startChildNodes[0].nodeName === 'TABLE';
11813
+ var isImgOnlySelected = startChildNodes.length > 1 && startChildNodes[0].nodeName === 'IMAGE' &&
11814
+ range.endOffset === 1 && range.endContainer.nodeName === '#text' && range.endContainer.textContent.length === 0;
11792
11815
  var start = ((isTableStart ? getLastTextNode(startChildNodes[range.startOffset + 1]) :
11793
11816
  startChildNodes[(range.startOffset > 0) ? (range.startOffset - 1) : range.startOffset]) || range.startContainer);
11794
- var end = (range.endContainer.childNodes[(range.endOffset > 0) ? (range.endOffset - 1) : range.endOffset]
11817
+ var end = (range.endContainer.childNodes[(range.endOffset > 0) ? (isImgOnlySelected ? range.endOffset : (range.endOffset - 1)) : range.endOffset]
11795
11818
  || range.endContainer);
11796
11819
  if ((start.nodeType === Node.ELEMENT_NODE && end.nodeType === Node.ELEMENT_NODE) && (start.contains(end) || end.contains(start))) {
11797
11820
  var existNode = start.contains(end) ? start : end;
@@ -12140,14 +12163,21 @@ var Lists = /** @__PURE__ @class */ (function () {
12140
12163
  var preElementOLTest = this.testList(preElement);
12141
12164
  var nextElementOLTest = this.testList(nextElement);
12142
12165
  if (!preElementOLTest && !nextElementOLTest && preElemULStart !== '*' && nextElemULStart !== '*') {
12166
+ var brElement = createElement('br');
12143
12167
  if (startElementOLTest) {
12144
12168
  range.startContainer.textContent = range.startContainer.textContent.slice(range.startOffset, range.startContainer.textContent.length);
12169
+ if (range.startContainer.nodeName === '#text' && range.startContainer.textContent.length === 0) {
12170
+ this.parent.domNode.insertAfter(brElement, range.startContainer);
12171
+ }
12145
12172
  this.applyListsHandler({ subCommand: 'OL', callBack: e.callBack });
12146
12173
  e.event.preventDefault();
12147
12174
  }
12148
12175
  else if (range.startContainer.textContent.replace(/\u200B/g, '').slice(0, range.startOffset).trim() === '*' ||
12149
12176
  range.startContainer.textContent.replace(/\u200B/g, '').slice(0, range.startOffset).trim() === '-') {
12150
12177
  range.startContainer.textContent = range.startContainer.textContent.slice(range.startOffset, range.startContainer.textContent.length);
12178
+ if (range.startContainer.nodeName === '#text' && range.startContainer.textContent.length === 0) {
12179
+ this.parent.domNode.insertAfter(brElement, range.startContainer);
12180
+ }
12151
12181
  this.applyListsHandler({ subCommand: 'UL', callBack: e.callBack });
12152
12182
  e.event.preventDefault();
12153
12183
  }
@@ -12258,11 +12288,11 @@ var Lists = /** @__PURE__ @class */ (function () {
12258
12288
  };
12259
12289
  Lists.prototype.removeList = function (range, e) {
12260
12290
  var startNode = this.parent.domNode.getSelectedNode(range.startContainer, range.startOffset);
12261
- var endNode = this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
12291
+ var endNode = (!isNullOrUndefined(range.endContainer.parentElement.closest('li')) && range.endContainer.parentElement.closest('li').childElementCount > 1 && range.endContainer.nodeName === '#text') ? range.endContainer : this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
12262
12292
  startNode = startNode.nodeName === 'BR' ? startNode.parentElement : startNode;
12263
12293
  endNode = endNode.nodeName === 'BR' ? endNode.parentElement : endNode;
12264
12294
  startNode = startNode.nodeName !== 'LI' && !isNullOrUndefined(startNode.closest('LI')) ? startNode.closest('LI') : startNode;
12265
- endNode = endNode.nodeName !== 'LI' && !isNullOrUndefined(endNode.closest('LI')) ? endNode.closest('LI') : endNode;
12295
+ endNode = endNode.nodeName !== 'LI' && endNode.nodeName !== '#text' && !isNullOrUndefined(endNode.closest('LI')) ? endNode.closest('LI') : endNode;
12266
12296
  if (((range.commonAncestorContainer.nodeName === 'OL' || range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'LI') &&
12267
12297
  isNullOrUndefined(endNode.nextElementSibling) && endNode.textContent.length === range.endOffset &&
12268
12298
  isNullOrUndefined(startNode.previousElementSibling) && range.startOffset === 0) ||
@@ -12667,7 +12697,7 @@ var Lists = /** @__PURE__ @class */ (function () {
12667
12697
  }
12668
12698
  };
12669
12699
  Lists.prototype.applyLists = function (elements, type, selector, item, e) {
12670
- if (this.isRevert(elements, type, item) && isNullOrUndefined(item)) {
12700
+ if (this.isRevert(elements, type, item) && isNullOrUndefined(item) || (!isNullOrUndefined(item) && item.listStyle === 'none')) {
12671
12701
  this.revertList(elements, e);
12672
12702
  this.removeEmptyListElements();
12673
12703
  }
@@ -12855,76 +12885,78 @@ var Lists = /** @__PURE__ @class */ (function () {
12855
12885
  var viewNode = [];
12856
12886
  for (var i = 0; i < elements.length; i++) {
12857
12887
  var element = elements[i];
12858
- if (this.domNode.contents(element)[0].nodeType === 3 && this.domNode.contents(element)[0].textContent.trim().length === 0) {
12859
- detach(this.domNode.contents(element)[0]);
12860
- }
12861
- var parentNode = elements[i].parentNode;
12862
- var className = element.getAttribute('class');
12863
- if (temp.length === 0) {
12864
- var siblingList = elements[i].querySelectorAll('ul, ol');
12865
- var firstNode = siblingList[0];
12866
- if (firstNode) {
12867
- var child = firstNode
12868
- .querySelectorAll('li');
12869
- if (child) {
12870
- var nestedElement = createElement(firstNode.tagName);
12871
- append([nestedElement], firstNode.parentNode);
12872
- var nestedElementLI = createElement('li', { styles: 'list-style-type: none;' });
12873
- append([nestedElementLI], nestedElement);
12874
- append([firstNode], nestedElementLI);
12888
+ if ((isNullOrUndefined(e.item)) || ((element.nodeName === 'LI' && e.item.listStyle === 'none'))) {
12889
+ if (this.domNode.contents(element)[0].nodeType === 3 && this.domNode.contents(element)[0].textContent.trim().length === 0) {
12890
+ detach(this.domNode.contents(element)[0]);
12891
+ }
12892
+ var parentNode = elements[i].parentNode;
12893
+ var className = element.getAttribute('class');
12894
+ if (temp.length === 0) {
12895
+ var siblingList = elements[i].querySelectorAll('ul, ol');
12896
+ var firstNode = siblingList[0];
12897
+ if (firstNode) {
12898
+ var child = firstNode
12899
+ .querySelectorAll('li');
12900
+ if (child) {
12901
+ var nestedElement = createElement(firstNode.tagName);
12902
+ append([nestedElement], firstNode.parentNode);
12903
+ var nestedElementLI = createElement('li', { styles: 'list-style-type: none;' });
12904
+ append([nestedElementLI], nestedElement);
12905
+ append([firstNode], nestedElementLI);
12906
+ }
12875
12907
  }
12876
12908
  }
12877
- }
12878
- if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName || 'OL' === parentNode.parentNode.tagName ||
12879
- 'UL' === parentNode.parentNode.tagName) {
12880
- element.parentNode.insertBefore(this.closeTag('LI'), element);
12881
- }
12882
- else {
12883
- if (DEFAULT_TAG && 0 === element.querySelectorAll(BLOCK_TAGS.join(', ')).length) {
12884
- var wrapperclass = isNullOrUndefined(className) ? ' class="e-rte-wrap-inner"' :
12885
- ' class="' + className + ' e-rte-wrap-inner"';
12886
- var parentElement = parentNode;
12887
- if (!isNullOrUndefined(parentElement.style.listStyleType)) {
12888
- parentNode.style.removeProperty("list-style-type");
12909
+ if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName || 'OL' === parentNode.parentNode.tagName ||
12910
+ 'UL' === parentNode.parentNode.tagName) {
12911
+ element.parentNode.insertBefore(this.closeTag('LI'), element);
12912
+ }
12913
+ else {
12914
+ if (DEFAULT_TAG && 0 === element.querySelectorAll(BLOCK_TAGS.join(', ')).length) {
12915
+ var wrapperclass = isNullOrUndefined(className) ? ' class="e-rte-wrap-inner"' :
12916
+ ' class="' + className + ' e-rte-wrap-inner"';
12917
+ var parentElement = parentNode;
12918
+ if (!isNullOrUndefined(parentElement.style.listStyleType)) {
12919
+ parentNode.style.removeProperty("list-style-type");
12920
+ }
12921
+ if (!isNullOrUndefined(parentElement.style.listStyleImage)) {
12922
+ parentNode.style.removeProperty("list-style-image");
12923
+ }
12924
+ if (parentElement.style.length === 0) {
12925
+ parentNode.removeAttribute("style");
12926
+ }
12927
+ var wrapper = '<' + DEFAULT_TAG + wrapperclass +
12928
+ this.domNode.attributes(parentElement) + '></' + DEFAULT_TAG + '>';
12929
+ if (e.enterAction !== 'BR') {
12930
+ this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
12931
+ }
12889
12932
  }
12890
- if (!isNullOrUndefined(parentElement.style.listStyleImage)) {
12891
- parentNode.style.removeProperty("list-style-image");
12933
+ else if (this.domNode.contents(element)[0].nodeType === 3) {
12934
+ var replace = this.domNode.createTagString(DEFAULT_TAG, parentNode, this.parent.domNode.encode(this.domNode.contents(element)[0].textContent));
12935
+ this.domNode.replaceWith(this.domNode.contents(element)[0], replace);
12892
12936
  }
12893
- if (parentElement.style.length === 0) {
12894
- parentNode.removeAttribute("style");
12937
+ else if (this.domNode.contents(element)[0].classList.contains(markerClassName.startSelection) ||
12938
+ this.domNode.contents(element)[0].classList.contains(markerClassName.endSelection)) {
12939
+ var replace = this.domNode.createTagString(DEFAULT_TAG, parentNode, this.domNode.contents(element)[0].outerHTML);
12940
+ this.domNode.replaceWith(this.domNode.contents(element)[0], replace);
12895
12941
  }
12896
- var wrapper = '<' + DEFAULT_TAG + wrapperclass +
12897
- this.domNode.attributes(parentElement) + '></' + DEFAULT_TAG + '>';
12898
- if (e.enterAction !== 'BR') {
12899
- this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
12942
+ else {
12943
+ var childNode = element.firstChild;
12944
+ className = childNode.getAttribute('class');
12945
+ attributes(childNode, this.domNode.rawAttributes(parentNode));
12946
+ if (className && childNode.getAttribute('class')) {
12947
+ attributes(childNode, { 'class': className + ' ' + childNode.getAttribute('class') });
12948
+ }
12900
12949
  }
12950
+ append([this.openTag('LI')], element);
12951
+ prepend([this.closeTag('LI')], element);
12901
12952
  }
12902
- else if (this.domNode.contents(element)[0].nodeType === 3) {
12903
- var replace = this.domNode.createTagString(DEFAULT_TAG, parentNode, this.parent.domNode.encode(this.domNode.contents(element)[0].textContent));
12904
- this.domNode.replaceWith(this.domNode.contents(element)[0], replace);
12905
- }
12906
- else if (this.domNode.contents(element)[0].classList.contains(markerClassName.startSelection) ||
12907
- this.domNode.contents(element)[0].classList.contains(markerClassName.endSelection)) {
12908
- var replace = this.domNode.createTagString(DEFAULT_TAG, parentNode, this.domNode.contents(element)[0].outerHTML);
12909
- this.domNode.replaceWith(this.domNode.contents(element)[0], replace);
12953
+ this.domNode.insertAfter(this.openTag(parentNode.tagName), element);
12954
+ if (parentNode.parentNode.tagName === 'LI') {
12955
+ parentNode = parentNode.parentNode.parentNode;
12910
12956
  }
12911
- else {
12912
- var childNode = element.firstChild;
12913
- className = childNode.getAttribute('class');
12914
- attributes(childNode, this.domNode.rawAttributes(parentNode));
12915
- if (className && childNode.getAttribute('class')) {
12916
- attributes(childNode, { 'class': className + ' ' + childNode.getAttribute('class') });
12917
- }
12957
+ if (viewNode.indexOf(parentNode) < 0) {
12958
+ viewNode.push(parentNode);
12918
12959
  }
12919
- append([this.openTag('LI')], element);
12920
- prepend([this.closeTag('LI')], element);
12921
- }
12922
- this.domNode.insertAfter(this.openTag(parentNode.tagName), element);
12923
- if (parentNode.parentNode.tagName === 'LI') {
12924
- parentNode = parentNode.parentNode.parentNode;
12925
- }
12926
- if (viewNode.indexOf(parentNode) < 0) {
12927
- viewNode.push(parentNode);
12928
12960
  }
12929
12961
  }
12930
12962
  for (var i = 0; i < viewNode.length; i++) {
@@ -13850,7 +13882,12 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
13850
13882
  TABLE_BLOCK_TAGS.indexOf(closestParentNode.tagName.toLocaleLowerCase()) !== -1))
13851
13883
  || (node.nodeName.toLowerCase() === 'table' && closestParentNode &&
13852
13884
  TABLE_BLOCK_TAGS.indexOf(closestParentNode.tagName.toLocaleLowerCase()) === -1))) {
13853
- preNode = nodeCutter.GetSpliceNode(range, closestParentNode);
13885
+ if (isCollapsed) {
13886
+ preNode = nodeCutter.SplitNode(range, closestParentNode, true);
13887
+ }
13888
+ else {
13889
+ preNode = nodeCutter.SplitNode(range, closestParentNode, false);
13890
+ }
13854
13891
  sibNode = isNullOrUndefined(preNode.previousSibling) ? preNode.parentNode.previousSibling : preNode.previousSibling;
13855
13892
  if (nodes.length === 1) {
13856
13893
  nodeSelection.setSelectionContents(docElement, preNode);
@@ -13937,6 +13974,9 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
13937
13974
  var paraElm = void 0;
13938
13975
  var previousParent = void 0;
13939
13976
  if (!this.contentsDeleted) {
13977
+ if (!isCollapsed && range.startContainer.parentElement.textContent.length === 0 && range.startContainer.nodeName === 'BR' && range.startContainer.parentElement.nodeName === 'P') {
13978
+ editNode.removeChild(range.startContainer.parentElement);
13979
+ }
13940
13980
  range.deleteContents();
13941
13981
  }
13942
13982
  while (node.firstChild) {
@@ -18265,6 +18305,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
18265
18305
  var elm = createElement('p');
18266
18306
  elm.setAttribute('id', 'MSWord-Content');
18267
18307
  elm.innerHTML = tempHTMLContent;
18308
+ this.addDoubleBr(elm);
18268
18309
  var patern = /class='?Mso|style='[^ ]*\bmso-/i;
18269
18310
  var patern2 = /class="?Mso|style="[^ ]*\bmso-/i;
18270
18311
  var patern3 = /(class="?Mso|class='?Mso|class="?Xl|class='?Xl|class=Xl|style="[^"]*\bmso-|style='[^']*\bmso-|w:WordDocument)/gi;
@@ -18299,6 +18340,26 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
18299
18340
  e.callBack(elm.innerHTML);
18300
18341
  }
18301
18342
  };
18343
+ MsWordPaste.prototype.addDoubleBr = function (elm) {
18344
+ var newline = elm.querySelector('.Apple-interchange-newline');
18345
+ if (!isNullOrUndefined(newline) && Browser.userAgent.indexOf('Chrome') !== -1 && newline.parentElement.nodeName === 'P' && elm !== newline.parentElement) {
18346
+ for (var i = 0; i < elm.childNodes.length; i++) {
18347
+ // eslint-disable-next-line
18348
+ var node = elm.childNodes[i];
18349
+ if (node.nodeType === Node.COMMENT_NODE && node.nodeValue.includes('StartFragment')) {
18350
+ var newElement = document.createElement('p');
18351
+ newElement.innerHTML = '<br>';
18352
+ var cssText = newline.parentElement.style.cssText;
18353
+ var currentStyle = newElement.getAttribute('style') || '';
18354
+ var newStyle = currentStyle + cssText;
18355
+ newElement.setAttribute('style', newStyle);
18356
+ elm.insertBefore(newElement, node.nextSibling);
18357
+ detach(newline);
18358
+ break;
18359
+ }
18360
+ }
18361
+ }
18362
+ };
18302
18363
  MsWordPaste.prototype.cleanList = function (elm, listTag) {
18303
18364
  var replacableElem = elm.querySelectorAll(listTag + ' div');
18304
18365
  for (var j = replacableElem.length - 1; j >= 0; j--) {
@@ -20069,6 +20130,14 @@ var FormatPainterActions = /** @__PURE__ @class */ (function () {
20069
20130
  var range = this.parent.nodeSelection.getRange(docElement);
20070
20131
  var isCollapsed = range.collapsed;
20071
20132
  var blockNodes = this.parent.domNode.blockNodes();
20133
+ var isListCopied = this.isListCopied();
20134
+ if (isListCopied) {
20135
+ for (var i = 0; i < blockNodes.length; i++) {
20136
+ if (closest(blockNodes[i], 'li')) {
20137
+ blockNodes[i] = closest(blockNodes[i], 'li');
20138
+ }
20139
+ }
20140
+ }
20072
20141
  var isFullNodeSelected = false;
20073
20142
  if (blockNodes.length === 1) {
20074
20143
  isFullNodeSelected = blockNodes[0].textContent.trim() === range.toString().trim();
@@ -20077,6 +20146,16 @@ var FormatPainterActions = /** @__PURE__ @class */ (function () {
20077
20146
  this.insertBlockNode(clonedElem, range, docElement, blockNodes);
20078
20147
  }
20079
20148
  };
20149
+ FormatPainterActions.prototype.isListCopied = function () {
20150
+ var isListCopied = false;
20151
+ for (var i = 0; i < this.copyCollection.length; i++) {
20152
+ if (this.copyCollection[i].tagName === 'OL' || this.copyCollection[i].tagName === 'UL') {
20153
+ isListCopied = true;
20154
+ break;
20155
+ }
20156
+ }
20157
+ return isListCopied;
20158
+ };
20080
20159
  FormatPainterActions.prototype.insertBlockNode = function (element, range, docElement, nodes) {
20081
20160
  var domSelection = this.parent.nodeSelection;
20082
20161
  var saveSelection = domSelection.save(range, docElement);
@@ -20786,7 +20865,7 @@ var __extends$3 = (undefined && undefined.__extends) || (function () {
20786
20865
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20787
20866
  };
20788
20867
  })();
20789
- var IFRAMEHEADER = "\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image, .e-rte-video {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-audio {border: 0;cursor: pointer;display:\n block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-rte-img-caption.e-imgcenter {display: contents; margin-left: auto; margin-right: auto;}\n .e-rte-img-caption.e-imgright {display: contents; margin-left: auto; margin-right: 0;}\n .e-rte-img-caption.e-imgleft {display: contents;margin-left: 0;margin-right: auto;}\n .e-img-caption.e-rte-img-caption.e-imgbreak {display: contents;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark, span.e-rte-videoboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark, .e-mob-rte span.e-rte-videoboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n li{margin-bottom: 10px;}\n h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}\n h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}\n h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}\n h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}\n h5{font-size: 00.8em;font-weight: 400;margin: 0;}\n h6{font-size: 00.65em;font-weight: 400;margin: 0;}\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n .e-rte-placeholder::before { content: attr(placeholder); opacity: 0.54; overflow: hidden; padding-top: 16px; position: absolute; text-align: start; top: 0; z-index: 1; }\n </style>\n </head>";
20868
+ var IFRAMEHEADER = "\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image, .e-rte-video {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-audio {border: 0;cursor: pointer;display:\n block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;\n margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-rte-img-caption.e-imgcenter {display: contents; margin-left: auto; margin-right: auto;}\n .e-rte-img-caption.e-imgright {display: contents; margin-left: auto; margin-right: 0;}\n .e-rte-img-caption.e-imgleft {display: contents;margin-left: 0;margin-right: auto;}\n .e-img-caption.e-rte-img-caption.e-imgbreak {display: contents;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark, span.e-rte-videoboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark, .e-mob-rte span.e-rte-videoboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n li{margin-bottom: 10px;}\n h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}\n h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}\n h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}\n h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}\n h5{font-size: 00.8em;font-weight: 400;margin: 0;}\n h6{font-size: 00.65em;font-weight: 400;margin: 0;}\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n .e-rte-placeholder::before { content: attr(placeholder); opacity: 0.54; overflow: hidden; padding-top: 16px; position: absolute; text-align: start; top: 0; z-index: 1; }\n </style>\n </head>";
20790
20869
  /**
20791
20870
  * Content module is used to render Rich Text Editor content
20792
20871
  *
@@ -21443,9 +21522,9 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
21443
21522
  var liElement = this.getRangeLiNode(currentRange.startContainer);
21444
21523
  if (liElement.previousElementSibling && liElement.previousElementSibling.childElementCount > 0) {
21445
21524
  this.oldRangeElement = liElement.previousElementSibling.lastElementChild.nodeName === 'BR' ?
21446
- liElement.previousElementSibling : liElement.previousElementSibling.lastElementChild;
21525
+ liElement.previousElementSibling : liElement.previousElementSibling.lastChild;
21447
21526
  if (!isNullOrUndefined(liElement.lastElementChild) && liElement.lastElementChild.nodeName !== 'BR' &&
21448
- isNullOrUndefined(liElement.lastElementChild.previousSibling)) {
21527
+ isNullOrUndefined(liElement.lastElementChild.previousSibling) && liElement.lastChild.nodeName !== "#text") {
21449
21528
  this.rangeElement = liElement.lastElementChild;
21450
21529
  isLiElement = true;
21451
21530
  }
@@ -21470,7 +21549,7 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
21470
21549
  ? this.oldRangeElement.lastElementChild.lastElementChild :
21471
21550
  this.oldRangeElement.lastElementChild;
21472
21551
  }
21473
- var lastNode = this.oldRangeElement.lastChild;
21552
+ var lastNode = this.oldRangeElement.lastChild ? this.oldRangeElement.lastChild : this.oldRangeElement;
21474
21553
  while (lastNode.nodeType !== 3 && lastNode.nodeName !== '#text' &&
21475
21554
  lastNode.nodeName !== 'BR') {
21476
21555
  lastNode = lastNode.lastChild;
@@ -21478,12 +21557,17 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
21478
21557
  this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),
21479
21558
  // eslint-disable-next-line
21480
21559
  lastNode, lastNode.textContent.length);
21481
- if (this.oldRangeElement.querySelectorAll('BR').length === 1) {
21560
+ if (this.oldRangeElement.nodeName !== '#text' && this.oldRangeElement.querySelectorAll('BR').length === 1) {
21482
21561
  detach(this.oldRangeElement.querySelector('BR'));
21483
21562
  }
21484
21563
  if (!isNullOrUndefined(this.rangeElement) && this.oldRangeElement !== this.rangeElement) {
21485
21564
  while (this.rangeElement.firstChild) {
21486
- this.oldRangeElement.appendChild(this.rangeElement.childNodes[0]);
21565
+ if (this.oldRangeElement.nodeName === '#text') {
21566
+ this.oldRangeElement.parentElement.appendChild(this.rangeElement.childNodes[0]);
21567
+ }
21568
+ else {
21569
+ this.oldRangeElement.appendChild(this.rangeElement.childNodes[0]);
21570
+ }
21487
21571
  }
21488
21572
  // eslint-disable-next-line
21489
21573
  !isLiElement ? detach(this.rangeElement) : detach(this.rangeElement.parentElement);
@@ -23968,7 +24052,7 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
23968
24052
  this.parent.getToolbar().appendChild(this.popDiv);
23969
24053
  }
23970
24054
  else if (this.parent.inlineMode.enable) {
23971
- this.parent.inputElement.appendChild(this.popDiv);
24055
+ this.parent.element.appendChild(this.popDiv);
23972
24056
  }
23973
24057
  EventHandler.add(this.popDiv, 'keydown', this.onKeyDown, this);
23974
24058
  EventHandler.add(this.popDiv, 'keyup', this.searchFilter, this);
@@ -25616,6 +25700,7 @@ var Image$1 = /** @__PURE__ @class */ (function () {
25616
25700
  }
25617
25701
  });
25618
25702
  }
25703
+ EventHandler.add(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing, this);
25619
25704
  EventHandler.add(this.contentModule.getDocument(), Browser.touchEndEvent, this.resizeEnd, this);
25620
25705
  }
25621
25706
  };
@@ -25667,7 +25752,6 @@ var Image$1 = /** @__PURE__ @class */ (function () {
25667
25752
  this.imgResizePos(e, this.imgResizeDiv);
25668
25753
  this.resizeImgDupPos(e);
25669
25754
  this.contentModule.getEditPanel().appendChild(this.imgResizeDiv);
25670
- EventHandler.add(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing, this);
25671
25755
  };
25672
25756
  Image.prototype.getPointX = function (e) {
25673
25757
  if (e.touches && e.touches.length) {
@@ -26026,7 +26110,9 @@ var Image$1 = /** @__PURE__ @class */ (function () {
26026
26110
  }
26027
26111
  }
26028
26112
  if (originalEvent.ctrlKey && (originalEvent.keyCode === 89 || originalEvent.keyCode === 90)) {
26029
- this.undoStack({ subCommand: (originalEvent.keyCode === 90 ? 'undo' : 'redo') });
26113
+ if (this.parent.editorMode !== 'Markdown') {
26114
+ this.undoStack({ subCommand: (originalEvent.keyCode === 90 ? 'undo' : 'redo') });
26115
+ }
26030
26116
  }
26031
26117
  if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
26032
26118
  if (selectNodeEle && selectNodeEle[0].nodeName === 'IMG' && selectNodeEle.length < 1) {
@@ -26551,7 +26637,29 @@ var Image$1 = /** @__PURE__ @class */ (function () {
26551
26637
  if (this.parent.formatter.getUndoRedoStack().length === 0) {
26552
26638
  this.parent.formatter.saveData();
26553
26639
  }
26554
- e.selection.restore();
26640
+ var restoreStartElement = e.selection.range.startContainer;
26641
+ if (e.selection.range.startContainer.nodeName === 'SPAN' &&
26642
+ restoreStartElement.classList.contains('e-img-wrap') &&
26643
+ restoreStartElement.parentElement.classList.contains('e-img-caption')) {
26644
+ restoreStartElement = restoreStartElement.parentElement;
26645
+ if (!isNullOrUndefined(restoreStartElement.previousSibling)) {
26646
+ var lastNode = restoreStartElement.previousSibling;
26647
+ while (lastNode.nodeName !== '#text' && lastNode.nodeName !== 'BR') {
26648
+ lastNode = lastNode.lastChild;
26649
+ }
26650
+ this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(), lastNode, lastNode.nodeName !== 'BR' ? lastNode.textContent.length : 0);
26651
+ }
26652
+ else if (!isNullOrUndefined(restoreStartElement.nextSibling)) {
26653
+ var firstNode = restoreStartElement.nextSibling;
26654
+ while (firstNode.nodeName !== '#text' && firstNode.nodeName !== 'BR') {
26655
+ firstNode = firstNode.firstChild;
26656
+ }
26657
+ this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(), firstNode, 0);
26658
+ }
26659
+ }
26660
+ else {
26661
+ e.selection.restore();
26662
+ }
26555
26663
  if (this.contentModule.getEditPanel().querySelector('.e-img-resize')) {
26556
26664
  this.removeResizeEle();
26557
26665
  }
@@ -26765,7 +26873,7 @@ var Image$1 = /** @__PURE__ @class */ (function () {
26765
26873
  animationSettings: { effect: 'None' },
26766
26874
  close: function (event) {
26767
26875
  if (_this.isImgUploaded) {
26768
- _this.uploadObj.removing();
26876
+ _this.uploadObj.remove();
26769
26877
  }
26770
26878
  _this.parent.isBlur = false;
26771
26879
  if (event && event.event.returnValue) {
@@ -26833,9 +26941,6 @@ var Image$1 = /** @__PURE__ @class */ (function () {
26833
26941
  Image.prototype.cancelDialog = function (e) {
26834
26942
  this.parent.isBlur = false;
26835
26943
  this.dialogObj.hide({ returnValue: true });
26836
- if (this.isImgUploaded) {
26837
- this.uploadObj.removing();
26838
- }
26839
26944
  };
26840
26945
  Image.prototype.onDocumentClick = function (e) {
26841
26946
  var target = e.target;
@@ -30278,7 +30383,6 @@ var Table = /** @__PURE__ @class */ (function () {
30278
30383
  this.pageY = null;
30279
30384
  this.moveEle = null;
30280
30385
  this.currentColumnResize = '';
30281
- this.currentMarginLeft = 0;
30282
30386
  this.parent = parent;
30283
30387
  this.rteID = parent.element.id;
30284
30388
  this.l10n = serviceLocator.getService('rteLocale');
@@ -30894,7 +30998,7 @@ var Table = /** @__PURE__ @class */ (function () {
30894
30998
  };
30895
30999
  Table.prototype.tableResizeEleCreation = function (table, e) {
30896
31000
  this.parent.preventDefaultResize(e);
30897
- var columns = table.rows[this.calMaxCol(table)].cells;
31001
+ var columns = this.calMaxCol(this.curTable);
30898
31002
  var rows = [];
30899
31003
  for (var i = 0; i < table.rows.length; i++) {
30900
31004
  for (var j = 0; j < table.rows[i].cells.length; j++) {
@@ -31026,6 +31130,7 @@ var Table = /** @__PURE__ @class */ (function () {
31026
31130
  if (target.classList.contains(CLS_TB_COL_RES) ||
31027
31131
  target.classList.contains(CLS_TB_ROW_RES) ||
31028
31132
  target.classList.contains(CLS_TB_BOX_RES)) {
31133
+ this.resetResizeHelper(this.curTable);
31029
31134
  e.preventDefault();
31030
31135
  this.parent.preventDefaultResize(e);
31031
31136
  removeClass(this.curTable.querySelectorAll('td,th'), CLS_TABLE_SEL);
@@ -31036,9 +31141,10 @@ var Table = /** @__PURE__ @class */ (function () {
31036
31141
  this.hideTableQuickToolbar();
31037
31142
  if (target.classList.contains(CLS_TB_COL_RES)) {
31038
31143
  this.resizeBtnStat.column = true;
31039
- if (parseInt(target.getAttribute('data-col'), 10) === this.curTable.rows[this.calMaxCol(this.curTable)].cells.length) {
31144
+ if (parseInt(target.getAttribute('data-col'), 10) === this.calMaxCol(this.curTable).length) {
31040
31145
  this.currentColumnResize = 'last';
31041
- this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10) - 1];
31146
+ this.colIndex = parseInt(target.getAttribute('data-col'), 10) - 1;
31147
+ this.columnEle = this.calMaxCol(this.curTable)[this.colIndex];
31042
31148
  }
31043
31149
  else {
31044
31150
  if (parseInt(target.getAttribute('data-col'), 10) === 0) {
@@ -31085,9 +31191,9 @@ var Table = /** @__PURE__ @class */ (function () {
31085
31191
  }
31086
31192
  }
31087
31193
  }
31088
- this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10)];
31194
+ this.colIndex = parseInt(target.getAttribute('data-col'), 10);
31195
+ this.columnEle = this.calMaxCol(this.curTable)[this.colIndex];
31089
31196
  }
31090
- this.colIndex = this.columnEle.cellIndex;
31091
31197
  this.moveEle = e.target;
31092
31198
  this.appendHelper();
31093
31199
  }
@@ -31176,16 +31282,33 @@ var Table = /** @__PURE__ @class */ (function () {
31176
31282
  this.helper.style.top = top_1 + 'px';
31177
31283
  }
31178
31284
  };
31179
- Table.prototype.calMaxCol = function (element) {
31180
- var max = 0;
31181
- var maxRowIndex;
31182
- for (var i = 0; i < element.rows.length; i++) {
31183
- if (max < element.rows[i].cells.length) {
31184
- maxRowIndex = i;
31185
- max = element.rows[i].cells.length;
31285
+ Table.prototype.calMaxCol = function (curTable) {
31286
+ var cellColl = curTable.rows[0].cells;
31287
+ var cellCount = 0;
31288
+ for (var cell = 0; cell < cellColl.length; cell++) {
31289
+ cellCount = cellCount + cellColl[cell].colSpan;
31290
+ }
31291
+ var cells = new Array(cellCount);
31292
+ var rowSpanCells = new Map();
31293
+ for (var i = 0; i < curTable.rows.length; i++) {
31294
+ var currentColIndex = 0;
31295
+ for (var k = 0; k < curTable.rows[i].cells.length; k++) {
31296
+ for (var l = 1; l < curTable.rows[i].cells[k].rowSpan; l++) {
31297
+ var key = "" + (i + l) + currentColIndex;
31298
+ rowSpanCells.set(key, curTable.rows[i].cells[k]);
31299
+ }
31300
+ var cellIndex = this.getCellIndex(rowSpanCells, i, k);
31301
+ if (cellIndex > currentColIndex) {
31302
+ currentColIndex = cellIndex;
31303
+ }
31304
+ var width = curTable.rows[i].cells[k].offsetWidth;
31305
+ if (!cells[currentColIndex] || width < cells[currentColIndex].offsetWidth) {
31306
+ cells[currentColIndex] = curTable.rows[i].cells[k];
31307
+ }
31308
+ currentColIndex += 1 + curTable.rows[i].cells[k].colSpan - 1;
31186
31309
  }
31187
31310
  }
31188
- return maxRowIndex;
31311
+ return cells;
31189
31312
  };
31190
31313
  Table.prototype.resizing = function (e) {
31191
31314
  var _this = this;
@@ -31223,7 +31346,6 @@ var Table = /** @__PURE__ @class */ (function () {
31223
31346
  }
31224
31347
  if (_this.resizeBtnStat.column) {
31225
31348
  var colGroup = _this.curTable.querySelectorAll('colgroup > col');
31226
- var cellRow = _this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
31227
31349
  var currentTableWidth = void 0;
31228
31350
  if (_this.curTable.style.width !== '' && _this.curTable.style.width.includes('%')) {
31229
31351
  currentTableWidth = parseFloat(_this.curTable.style.width.split('%')[0]);
@@ -31231,7 +31353,8 @@ var Table = /** @__PURE__ @class */ (function () {
31231
31353
  else {
31232
31354
  currentTableWidth = _this.getCurrentTableWidth(_this.curTable.offsetWidth, _this.parent.inputElement.offsetWidth);
31233
31355
  }
31234
- var currentColumnCellWidth = parseFloat(_this.curTable.rows[cellRow].cells[_this.colIndex >= _this.curTable.rows[cellRow].cells.length ? _this.curTable.rows[cellRow].cells.length - 1 : _this.colIndex].style.width.split('%')[0]);
31356
+ var currentCol = _this.calMaxCol(_this.curTable)[_this.colIndex];
31357
+ var currentColResizableWidth = _this.getCurrentColWidth(currentCol, tableWidth);
31235
31358
  if (_this.currentColumnResize === 'first') {
31236
31359
  mouseX = mouseX - 0.75; //This was done for to make the gripper and the table first/last column will be close.
31237
31360
  _this.removeResizeElement();
@@ -31240,16 +31363,25 @@ var Table = /** @__PURE__ @class */ (function () {
31240
31363
  _this.curTable.style.maxWidth = maxiumWidth + 'px';
31241
31364
  }
31242
31365
  // Below the value '100' is the 100% width of the parent element.
31243
- if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX < 0) && currentTableWidth <= 100 &&
31366
+ if (((mouseX !== 0 && 5 < currentColResizableWidth) || mouseX < 0) && currentTableWidth <= 100 &&
31244
31367
  _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) <= 100) {
31245
31368
  var firstColumnsCell = _this.findFirstLastColCells(_this.curTable, true);
31246
31369
  _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) > 100 ? (100 + '%') :
31247
31370
  (_this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) + '%');
31248
31371
  var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare);
31249
- _this.currentMarginLeft = _this.currentMarginLeft + differenceWidth;
31250
- _this.curTable.style.marginLeft = 'calc(' + (_this.curTable.style.width === '100%' ? 0 : _this.currentMarginLeft) + '%)';
31372
+ var preMarginLeft = 0;
31373
+ if (!isNullOrUndefined(_this.curTable.style.marginLeft) && _this.curTable.style.marginLeft !== '') {
31374
+ var regex = /[-+]?\d*\.\d+|\d+/;
31375
+ var value = _this.curTable.style.marginLeft.match(regex);
31376
+ if (!isNullOrUndefined(value)) {
31377
+ preMarginLeft = parseFloat(value[0]);
31378
+ }
31379
+ }
31380
+ var currentMarginLeft = preMarginLeft + differenceWidth;
31381
+ _this.curTable.style.marginLeft = 'calc(' + (_this.curTable.style.width === '100%' ? 0 : currentMarginLeft) + '%)';
31251
31382
  for (var i = 0; i < firstColumnsCell.length; i++) {
31252
- _this.curTable.rows[i].cells[_this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
31383
+ var currentColumnCellWidth = _this.getCurrentColWidth(firstColumnsCell[i], tableWidth);
31384
+ firstColumnsCell[i].style.width = (currentColumnCellWidth - differenceWidth) + '%';
31253
31385
  }
31254
31386
  }
31255
31387
  }
@@ -31261,16 +31393,14 @@ var Table = /** @__PURE__ @class */ (function () {
31261
31393
  _this.curTable.style.maxWidth = maxiumWidth + 'px';
31262
31394
  }
31263
31395
  // Below the value '100' is the 100% width of the parent element.
31264
- if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX > 0) &&
31396
+ if (((mouseX !== 0 && 5 < currentColResizableWidth) || mouseX > 0) &&
31265
31397
  currentTableWidth <= 100 && _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) <= 100) {
31266
31398
  var lastColumnsCell = _this.findFirstLastColCells(_this.curTable, false);
31267
31399
  _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) > 100 ? (100 + '%') : (_this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%');
31268
31400
  var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare);
31269
31401
  for (var i = 0; i < lastColumnsCell.length; i++) {
31270
- if (_this.curTable.rows[i].cells[_this.colIndex]) {
31271
- _this.curTable.rows[i].cells[_this.curTable.rows[i].cells.length === _this.colIndex ?
31272
- _this.colIndex - 1 : _this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
31273
- }
31402
+ var currentColumnCellWidth = _this.getCurrentColWidth(lastColumnsCell[i], tableWidth);
31403
+ lastColumnsCell[i].style.width = (currentColumnCellWidth - differenceWidth) + '%';
31274
31404
  }
31275
31405
  }
31276
31406
  }
@@ -31296,7 +31426,7 @@ var Table = /** @__PURE__ @class */ (function () {
31296
31426
  tableTrElementPixel[i] = (parseFloat(currentTableTrElement[i].clientHeight.toString()));
31297
31427
  }
31298
31428
  }
31299
- _this.curTable.style.height = (parseFloat(_this.curTable.clientHeight.toString()) + mouseY) + 'px';
31429
+ _this.curTable.style.height = (parseFloat(_this.curTable.clientHeight.toString()) + ((mouseY > 0) ? 0 : mouseY)) + 'px';
31300
31430
  for (var i = 0; i < currentTableTrElement.length; i++) {
31301
31431
  if (_this.rowEle === currentTableTrElement[i]) {
31302
31432
  currentTableTrElement[i].style.height = (parseFloat(currentTableTrElement[i].clientHeight.toString()) + mouseY) + 'px';
@@ -31331,6 +31461,16 @@ var Table = /** @__PURE__ @class */ (function () {
31331
31461
  }
31332
31462
  });
31333
31463
  };
31464
+ Table.prototype.getCurrentColWidth = function (col, tableWidth) {
31465
+ var currentColWidth = 0;
31466
+ if (col.style.width !== '' && col.style.width.includes('%')) {
31467
+ currentColWidth = parseFloat(col.style.width.split('%')[0]);
31468
+ }
31469
+ else {
31470
+ currentColWidth = this.convertPixelToPercentage(col.offsetWidth, tableWidth);
31471
+ }
31472
+ return currentColWidth;
31473
+ };
31334
31474
  Table.prototype.getCurrentTableWidth = function (tableWidth, parentWidth) {
31335
31475
  var currentTableWidth = 0;
31336
31476
  currentTableWidth = tableWidth / parentWidth * 100;
@@ -31338,12 +31478,22 @@ var Table = /** @__PURE__ @class */ (function () {
31338
31478
  };
31339
31479
  Table.prototype.findFirstLastColCells = function (table, isFirst) {
31340
31480
  var resultColumns = [];
31341
- var rows = table.querySelectorAll('tr');
31342
- for (var i = 0; i < rows.length; i++) {
31343
- if (rows[i].closest('table') === table) {
31344
- var columns = rows[i].querySelectorAll('th, td');
31345
- resultColumns.push(isFirst ? columns[0] : columns[columns.length - 1]);
31481
+ var rows = table.rows;
31482
+ var rowSpanCellIndexs = new Array();
31483
+ var _loop_1 = function (i) {
31484
+ var cellIndex = isFirst ? 0 : rows[i].cells.length - 1;
31485
+ var column = rows[i].cells[cellIndex];
31486
+ for (var rowSpan = 1; rowSpan < column.rowSpan; rowSpan++) {
31487
+ var key = i + rowSpan + "-" + cellIndex;
31488
+ rowSpanCellIndexs.push(key);
31489
+ }
31490
+ var spannedCellKey = i + "-" + cellIndex;
31491
+ if (rowSpanCellIndexs.length === 0 || (isFirst && rowSpanCellIndexs.indexOf(spannedCellKey) === -1) || (!isFirst && rowSpanCellIndexs.indexOf(spannedCellKey) === -1 && rowSpanCellIndexs.every(function (key) { return key.split('-')[0] !== i.toString(); }))) {
31492
+ resultColumns.push(column);
31346
31493
  }
31494
+ };
31495
+ for (var i = 0; i < rows.length; i++) {
31496
+ _loop_1(i);
31347
31497
  }
31348
31498
  return resultColumns;
31349
31499
  };
@@ -31367,22 +31517,7 @@ var Table = /** @__PURE__ @class */ (function () {
31367
31517
  detach(this.helper);
31368
31518
  this.helper = null;
31369
31519
  }
31370
- var colHelper = this.parent.element.querySelectorAll('.e-table-rhelper.e-column-helper');
31371
- Array.from(colHelper).forEach(function (element) {
31372
- if (element.parentNode) {
31373
- element.parentNode.removeChild(element);
31374
- }
31375
- });
31376
- for (var i = 0; i < this.curTable.rows.length; i++) {
31377
- for (var k = 0; k < this.curTable.rows[i].cells.length; k++) {
31378
- var width = this.convertPixelToPercentage(this.curTable.rows[i].cells[k].offsetWidth, parseInt(getComputedStyle(this.curTable).width, 10)) + '%';
31379
- this.curTable.rows[i].cells[k].style.width = width;
31380
- }
31381
- }
31382
- var colGroup = this.curTable.querySelector('colgroup');
31383
- if (colGroup) {
31384
- this.curTable.removeChild(colGroup);
31385
- }
31520
+ this.resetResizeHelper(this.curTable);
31386
31521
  this.pageX = null;
31387
31522
  this.pageY = null;
31388
31523
  this.moveEle = null;
@@ -31399,6 +31534,30 @@ var Table = /** @__PURE__ @class */ (function () {
31399
31534
  this.parent.trigger(resizeStop, args);
31400
31535
  this.parent.formatter.saveData();
31401
31536
  };
31537
+ Table.prototype.resetResizeHelper = function (curTable) {
31538
+ var colHelper = this.parent.element.querySelectorAll('.e-table-rhelper.e-column-helper');
31539
+ Array.from(colHelper).forEach(function (element) {
31540
+ if (element.parentNode) {
31541
+ element.parentNode.removeChild(element);
31542
+ }
31543
+ });
31544
+ var rowHelper = this.parent.element.querySelectorAll('.e-table-rhelper.e-row-helper');
31545
+ Array.from(rowHelper).forEach(function (element) {
31546
+ if (element.parentNode) {
31547
+ element.parentNode.removeChild(element);
31548
+ }
31549
+ });
31550
+ var colGroup = curTable.querySelector('colgroup');
31551
+ if (colGroup) {
31552
+ for (var i = 0; i < curTable.rows.length; i++) {
31553
+ for (var k = 0; k < curTable.rows[i].cells.length; k++) {
31554
+ var width = this.convertPixelToPercentage(curTable.rows[i].cells[k].offsetWidth, parseInt(getComputedStyle(curTable).width, 10)) + '%';
31555
+ curTable.rows[i].cells[k].style.width = width;
31556
+ }
31557
+ }
31558
+ curTable.removeChild(colGroup);
31559
+ }
31560
+ };
31402
31561
  Table.prototype.resizeBtnInit = function () {
31403
31562
  return this.resizeBtnStat = { column: false, row: false, tableBox: false };
31404
31563
  };
@@ -31508,6 +31667,7 @@ var Table = /** @__PURE__ @class */ (function () {
31508
31667
  if (!isNullOrUndefined(this.parent.cssClass)) {
31509
31668
  addClass([this.popupObj.element], this.parent.getCssClass());
31510
31669
  }
31670
+ btnEle.focus();
31511
31671
  this.popupObj.refreshPosition(target);
31512
31672
  };
31513
31673
  Table.prototype.onIframeMouseDown = function () {
@@ -31840,12 +32000,18 @@ var Table = /** @__PURE__ @class */ (function () {
31840
32000
  var _this = this;
31841
32001
  if (this.curTable) {
31842
32002
  setTimeout(function () {
31843
- var mouseOverEvent = document.createEvent('MouseEvents');
31844
- mouseOverEvent.initEvent('mouseover', true, true);
31845
- _this.curTable.dispatchEvent(mouseOverEvent);
32003
+ _this.updateResizeIconPosition();
31846
32004
  }, 1);
31847
32005
  }
31848
32006
  };
32007
+ Table.prototype.updateResizeIconPosition = function () {
32008
+ var tableReBox = this.parent.contentModule.getEditPanel().querySelector('.e-table-box');
32009
+ if (!isNullOrUndefined(tableReBox)) {
32010
+ var tablePosition = this.calcPos(this.curTable);
32011
+ tableReBox.style.cssText = 'top: ' + (tablePosition.top + parseInt(getComputedStyle(this.curTable).height, 10) - 4) +
32012
+ 'px; left:' + (tablePosition.left + parseInt(getComputedStyle(this.curTable).width, 10) - 4) + 'px;';
32013
+ }
32014
+ };
31849
32015
  return Table;
31850
32016
  }());
31851
32017
 
@@ -31885,7 +32051,11 @@ var DialogRenderer = /** @__PURE__ @class */ (function () {
31885
32051
  var dlgObj;
31886
32052
  e.beforeOpen = this.beforeOpen.bind(this);
31887
32053
  e.open = this.open.bind(this);
31888
- e.position = { X: 'center', Y: this.getDialogPosition() };
32054
+ e.position = {
32055
+ X: 'center',
32056
+ Y: (e.target !== 'string' && e.target.nodeName === 'BODY' &&
32057
+ !isNullOrUndefined(e.position)) ? e.position.Y : this.getDialogPosition()
32058
+ };
31889
32059
  if (isNullOrUndefined(e.close)) {
31890
32060
  e.close = this.close.bind(this);
31891
32061
  }
@@ -33233,10 +33403,10 @@ var EnterKeyAction = /** @__PURE__ @class */ (function () {
33233
33403
  }
33234
33404
  var previousBlockNode = this.parent.formatter.editorManager.domNode.blockNodes()[0].previousSibling;
33235
33405
  var nextBlockNode = this.parent.formatter.editorManager.domNode.blockNodes()[0].nextSibling;
33236
- if (!isNullOrUndefined(previousBlockNode) && previousBlockNode.hasAttribute('style') && previousBlockNode.nodeName !== 'TABLE') {
33406
+ if (!isNullOrUndefined(previousBlockNode) && previousBlockNode.nodeName !== '#text' && previousBlockNode.hasAttribute('style') && previousBlockNode.nodeName !== 'TABLE') {
33237
33407
  insertElem.setAttribute('style', previousBlockNode.getAttribute('style'));
33238
33408
  }
33239
- if (isNullOrUndefined(previousBlockNode) && !isNullOrUndefined(nextBlockNode) && nextBlockNode.hasAttribute('style') && nextBlockNode.nodeName !== 'TABLE') {
33409
+ if (isNullOrUndefined(previousBlockNode) && !isNullOrUndefined(nextBlockNode) && nextBlockNode.nodeName !== '#text' && nextBlockNode.hasAttribute('style') && nextBlockNode.nodeName !== 'TABLE') {
33240
33410
  insertElem.setAttribute('style', nextBlockNode.getAttribute('style'));
33241
33411
  }
33242
33412
  return insertElem;
@@ -34128,11 +34298,14 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
34128
34298
  clientX: touch.clientX, clientY: touch.clientY }
34129
34299
  });
34130
34300
  if (this.inputElement && ((this.editorMode === 'HTML' && this.inputElement.textContent.length !== 0) ||
34131
- (this.editorMode === 'Markdown' && this.inputElement.value.length !== 0)) || (e.target && (e.target.nodeName === 'VIDEO'
34132
- || e.target.querySelectorAll('.' + CLS_VIDEOWRAP).length > 0) || (e.target && e.target.nodeName !== 'BR' &&
34133
- (e.target.classList.contains(CLS_AUDIOWRAP) ||
34134
- e.target.classList.contains(CLS_CLICKELEM) ||
34135
- e.target.classList.contains(CLS_VID_CLICK_ELEM))))) {
34301
+ (this.editorMode === 'Markdown' && this.inputElement.value.length !== 0)) ||
34302
+ (e.target && !isNullOrUndefined(closest(e.target, 'table'))) ||
34303
+ (e.target && (e.target.nodeName === 'VIDEO' ||
34304
+ e.target.querySelectorAll('.' + CLS_VIDEOWRAP).length > 0) ||
34305
+ (e.target && e.target.nodeName !== 'BR' &&
34306
+ (e.target.classList.contains(CLS_AUDIOWRAP) ||
34307
+ e.target.classList.contains(CLS_CLICKELEM) ||
34308
+ e.target.classList.contains(CLS_VID_CLICK_ELEM))))) {
34136
34309
  this.notify(toolbarRefresh, { args: e });
34137
34310
  }
34138
34311
  this.triggerEditArea(e);
@@ -35016,6 +35189,13 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
35016
35189
  var imgPadding = 12;
35017
35190
  var imgResizeBorder = 2;
35018
35191
  var editEle = this.contentModule.getEditPanel();
35192
+ if (this.editorMode === "HTML" && !isNullOrUndefined(this.formatter.editorManager.nodeSelection) && !isNullOrUndefined(this.formatter.editorManager.nodeSelection.range)) {
35193
+ var currentRange = this.formatter.editorManager.nodeSelection.range;
35194
+ if (currentRange.startContainer.nodeType !== 3 && currentRange.startContainer.closest &&
35195
+ !isNullOrUndefined(currentRange.startContainer.closest('TD'))) {
35196
+ editEle = currentRange.startContainer;
35197
+ }
35198
+ }
35019
35199
  var eleStyle = window.getComputedStyle(editEle);
35020
35200
  var editEleMaxWidth = editEle.offsetWidth - (imgPadding + imgResizeBorder +
35021
35201
  parseFloat(eleStyle.paddingLeft.split('px')[0]) + parseFloat(eleStyle.paddingRight.split('px')[0]) +
@@ -35459,6 +35639,12 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
35459
35639
  var trg = e.relatedTarget;
35460
35640
  if (trg) {
35461
35641
  var rteElement = closest(trg, '.' + CLS_RTE);
35642
+ if (!rteElement && this.iframeSettings.enable) {
35643
+ var iframeElement = this.element.querySelector('#' + this.getID() + '_rte-view');
35644
+ if (iframeElement && iframeElement.contentWindow.document.body.contains(trg)) {
35645
+ rteElement = closest(iframeElement, '.' + CLS_RTE);
35646
+ }
35647
+ }
35462
35648
  if (rteElement && rteElement === this.element) {
35463
35649
  this.isBlur = false;
35464
35650
  if (trg === this.getToolbarElement()) {
@@ -36123,5 +36309,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
36123
36309
  * Rich Text Editor component exported items
36124
36310
  */
36125
36311
 
36126
- export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, FormatPainter, EmojiPicker, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image$1 as Image, Audio, Video, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, tableclass, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, tableModulekeyUp, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, audioToolbarAction, videoToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertAudio, insertVideo, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, audioDelete, videoDelete, imageCaption, imageSize, videoSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, moduleDestroy, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, fileSelected, fileUploading, fileUploadSuccess, fileUploadFailed, fileRemoving, afterImageDelete, afterMediaDelete, drop, xhtmlValidation, beforeImageUpload, beforeFileUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, showAudioDialog, showVideoDialog, closeImageDialog, closeAudioDialog, closeVideoDialog, showTableDialog, closeTableDialog, bindCssClass, formatPainterClick, formatPainterDoubleClick, emojiPicker, destroyTooltip, hidePopup, cleanupResizeElements, afterKeyDown, updateValueOnIdle, documentClickClosedBy, blockEmptyNodes, inlineEmptyNodes, supportedUnits, conversionFactors, onHandleFontsizeChange, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_TEXT_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_TEXT_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_AUDIOBREAK, CLS_CLICKELEM, CLS_VID_CLICK_ELEM, CLS_AUDIOWRAP, CLS_VIDEOWRAP, CLS_VIDEOBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_AUDIOINLINE, CLS_VIDEOINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_AUD_FOCUS, CLS_VID_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, CLS_RTE_RES_WEST, CLS_RTE_SOURCE_CODE_TXTAREA, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, getTooltipTextDropdownItems, getQuickToolbarTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, AUDIO, VIDEO, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, PASTE_SOURCE, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_VIDEO_RIGHT, CLASS_VIDEO_LEFT, CLASS_VIDEO_CENTER, CLASS_IMAGE_BREAK, CLASS_AUDIO_BREAK, CLASS_VIDEO_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, CLASS_AUDIO_INLINE, CLASS_CLICK_ELEM, CLASS_VIDEO_CLICK_ELEM, CLASS_AUDIO, CLASS_VIDEO, CLASS_AUDIO_WRAP, CLASS_VIDEO_WRAP, CLASS_EMBED_VIDEO_WRAP, CLASS_AUDIO_FOCUS, CLASS_VIDEO_FOCUS, CLASS_VIDEO_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, AudioCommand, VideoCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, FormatPainterActions, EmojiPickerAction, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, INSERT_TEXT_COMMAND, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION, FORMAT_PAINTER_ACTIONS, EMOJI_PICKER_ACTIONS, MOUSE_DOWN };
36312
+ export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, FormatPainter, EmojiPicker, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image$1 as Image, Audio, Video, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, tableclass, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, tableModulekeyUp, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, audioToolbarAction, videoToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertAudio, insertVideo, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, audioDelete, videoDelete, imageCaption, imageSize, videoSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, moduleDestroy, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, fileSelected, fileUploading, fileUploadSuccess, fileUploadFailed, fileRemoving, afterImageDelete, afterMediaDelete, drop, xhtmlValidation, beforeImageUpload, beforeFileUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, showAudioDialog, showVideoDialog, closeImageDialog, closeAudioDialog, closeVideoDialog, showTableDialog, closeTableDialog, bindCssClass, formatPainterClick, formatPainterDoubleClick, emojiPicker, destroyTooltip, hidePopup, cleanupResizeElements, afterKeyDown, updateValueOnIdle, documentClickClosedBy, showColorPicker, blockEmptyNodes, inlineEmptyNodes, supportedUnits, conversionFactors, onHandleFontsizeChange, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_TEXT_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_TEXT_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_AUDIOBREAK, CLS_CLICKELEM, CLS_VID_CLICK_ELEM, CLS_AUDIOWRAP, CLS_VIDEOWRAP, CLS_VIDEOBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_AUDIOINLINE, CLS_VIDEOINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_AUD_FOCUS, CLS_VID_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, CLS_RTE_RES_WEST, CLS_RTE_SOURCE_CODE_TXTAREA, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, getTooltipTextDropdownItems, getQuickToolbarTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, AUDIO, VIDEO, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, PASTE_SOURCE, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_VIDEO_RIGHT, CLASS_VIDEO_LEFT, CLASS_VIDEO_CENTER, CLASS_IMAGE_BREAK, CLASS_AUDIO_BREAK, CLASS_VIDEO_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, CLASS_AUDIO_INLINE, CLASS_CLICK_ELEM, CLASS_VIDEO_CLICK_ELEM, CLASS_AUDIO, CLASS_VIDEO, CLASS_AUDIO_WRAP, CLASS_VIDEO_WRAP, CLASS_EMBED_VIDEO_WRAP, CLASS_AUDIO_FOCUS, CLASS_VIDEO_FOCUS, CLASS_VIDEO_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, AudioCommand, VideoCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, FormatPainterActions, EmojiPickerAction, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, INSERT_TEXT_COMMAND, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION, FORMAT_PAINTER_ACTIONS, EMOJI_PICKER_ACTIONS, MOUSE_DOWN };
36127
36313
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map