@syncfusion/ej2-richtexteditor 24.2.7 → 24.2.8

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 (71) hide show
  1. package/CHANGELOG.md +12 -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 +294 -147
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +295 -146
  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 +7 -7
  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/lists.js +79 -70
  17. package/src/rich-text-editor/actions/base-quick-toolbar.js +2 -2
  18. package/src/rich-text-editor/actions/color-picker.d.ts +1 -0
  19. package/src/rich-text-editor/actions/color-picker.js +10 -0
  20. package/src/rich-text-editor/actions/toolbar.js +3 -0
  21. package/src/rich-text-editor/base/constant.d.ts +5 -0
  22. package/src/rich-text-editor/base/constant.js +5 -0
  23. package/src/rich-text-editor/base/rich-text-editor.js +21 -5
  24. package/src/rich-text-editor/models/default-locale.js +1 -1
  25. package/src/rich-text-editor/renderer/dialog-renderer.js +5 -1
  26. package/src/rich-text-editor/renderer/iframe-content-renderer.js +1 -1
  27. package/src/rich-text-editor/renderer/image-module.js +28 -7
  28. package/src/rich-text-editor/renderer/table-module.d.ts +3 -1
  29. package/src/rich-text-editor/renderer/table-module.js +111 -50
  30. package/src/rich-text-editor/renderer/toolbar-renderer.js +13 -13
  31. package/styles/bootstrap-dark.css +32 -13
  32. package/styles/bootstrap.css +36 -20
  33. package/styles/bootstrap4.css +18 -3
  34. package/styles/bootstrap5-dark.css +22 -9
  35. package/styles/bootstrap5.css +22 -9
  36. package/styles/fabric-dark.css +18 -3
  37. package/styles/fabric.css +18 -3
  38. package/styles/fluent-dark.css +24 -3
  39. package/styles/fluent.css +24 -3
  40. package/styles/highcontrast-light.css +18 -3
  41. package/styles/highcontrast.css +21 -3
  42. package/styles/material-dark.css +22 -3
  43. package/styles/material.css +22 -3
  44. package/styles/material3-dark.css +19 -4
  45. package/styles/material3.css +19 -4
  46. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +8 -8
  47. package/styles/rich-text-editor/_bootstrap-definition.scss +14 -14
  48. package/styles/rich-text-editor/_layout.scss +11 -0
  49. package/styles/rich-text-editor/_material3-definition.scss +1 -1
  50. package/styles/rich-text-editor/_theme.scss +47 -13
  51. package/styles/rich-text-editor/bootstrap-dark.css +32 -13
  52. package/styles/rich-text-editor/bootstrap.css +36 -20
  53. package/styles/rich-text-editor/bootstrap4.css +18 -3
  54. package/styles/rich-text-editor/bootstrap5-dark.css +22 -9
  55. package/styles/rich-text-editor/bootstrap5.css +22 -9
  56. package/styles/rich-text-editor/fabric-dark.css +18 -3
  57. package/styles/rich-text-editor/fabric.css +18 -3
  58. package/styles/rich-text-editor/fluent-dark.css +24 -3
  59. package/styles/rich-text-editor/fluent.css +24 -3
  60. package/styles/rich-text-editor/highcontrast-light.css +18 -3
  61. package/styles/rich-text-editor/highcontrast.css +21 -3
  62. package/styles/rich-text-editor/material-dark.css +22 -3
  63. package/styles/rich-text-editor/material.css +22 -3
  64. package/styles/rich-text-editor/material3-dark.css +19 -4
  65. package/styles/rich-text-editor/material3.css +19 -4
  66. package/styles/rich-text-editor/tailwind-dark.css +30 -3
  67. package/styles/rich-text-editor/tailwind.css +30 -3
  68. package/styles/tailwind-dark.css +30 -3
  69. package/styles/tailwind.css +30 -3
  70. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
  71. 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
  }());
@@ -6553,9 +6571,9 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6553
6571
  parentData: parent_1.getBoundingClientRect(),
6554
6572
  tBarElementHeight: tBarHeight
6555
6573
  };
6556
- if (target.tagName === 'IMG' || target.tagName === 'AUDIO' || target.tagName === 'VIDEO' || target.tagName === 'IFRAME' || (target.classList &&
6574
+ if ((target.tagName === 'IMG' || target.tagName === 'AUDIO' || target.tagName === 'VIDEO' || target.tagName === 'IFRAME' || (target.classList &&
6557
6575
  (target.classList.contains(CLS_AUDIOWRAP) || target.classList.contains(CLS_CLICKELEM) ||
6558
- target.classList.contains(CLS_VID_CLICK_ELEM)))) {
6576
+ target.classList.contains(CLS_VID_CLICK_ELEM)))) && (x == beforeQuickToolbarArgs.positionX || y == beforeQuickToolbarArgs.positionY)) {
6559
6577
  _this.setPosition(showPopupData);
6560
6578
  }
6561
6579
  if (!_this.parent.inlineMode.enable) {
@@ -11789,9 +11807,11 @@ var DOMNode = /** @__PURE__ @class */ (function () {
11789
11807
  var range = save.range;
11790
11808
  var startChildNodes = range.startContainer.childNodes;
11791
11809
  var isTableStart = startChildNodes.length > 1 && startChildNodes[0].nodeName === 'TABLE';
11810
+ var isImgOnlySelected = startChildNodes.length > 1 && startChildNodes[0].nodeName === 'IMAGE' &&
11811
+ range.endOffset === 1 && range.endContainer.nodeName === '#text' && range.endContainer.textContent.length === 0;
11792
11812
  var start = ((isTableStart ? getLastTextNode(startChildNodes[range.startOffset + 1]) :
11793
11813
  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]
11814
+ var end = (range.endContainer.childNodes[(range.endOffset > 0) ? (isImgOnlySelected ? range.endOffset : (range.endOffset - 1)) : range.endOffset]
11795
11815
  || range.endContainer);
11796
11816
  if ((start.nodeType === Node.ELEMENT_NODE && end.nodeType === Node.ELEMENT_NODE) && (start.contains(end) || end.contains(start))) {
11797
11817
  var existNode = start.contains(end) ? start : end;
@@ -12140,14 +12160,21 @@ var Lists = /** @__PURE__ @class */ (function () {
12140
12160
  var preElementOLTest = this.testList(preElement);
12141
12161
  var nextElementOLTest = this.testList(nextElement);
12142
12162
  if (!preElementOLTest && !nextElementOLTest && preElemULStart !== '*' && nextElemULStart !== '*') {
12163
+ var brElement = createElement('br');
12143
12164
  if (startElementOLTest) {
12144
12165
  range.startContainer.textContent = range.startContainer.textContent.slice(range.startOffset, range.startContainer.textContent.length);
12166
+ if (range.startContainer.nodeName === '#text' && range.startContainer.textContent.length === 0) {
12167
+ this.parent.domNode.insertAfter(brElement, range.startContainer);
12168
+ }
12145
12169
  this.applyListsHandler({ subCommand: 'OL', callBack: e.callBack });
12146
12170
  e.event.preventDefault();
12147
12171
  }
12148
12172
  else if (range.startContainer.textContent.replace(/\u200B/g, '').slice(0, range.startOffset).trim() === '*' ||
12149
12173
  range.startContainer.textContent.replace(/\u200B/g, '').slice(0, range.startOffset).trim() === '-') {
12150
12174
  range.startContainer.textContent = range.startContainer.textContent.slice(range.startOffset, range.startContainer.textContent.length);
12175
+ if (range.startContainer.nodeName === '#text' && range.startContainer.textContent.length === 0) {
12176
+ this.parent.domNode.insertAfter(brElement, range.startContainer);
12177
+ }
12151
12178
  this.applyListsHandler({ subCommand: 'UL', callBack: e.callBack });
12152
12179
  e.event.preventDefault();
12153
12180
  }
@@ -12258,11 +12285,11 @@ var Lists = /** @__PURE__ @class */ (function () {
12258
12285
  };
12259
12286
  Lists.prototype.removeList = function (range, e) {
12260
12287
  var startNode = this.parent.domNode.getSelectedNode(range.startContainer, range.startOffset);
12261
- var endNode = this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
12288
+ 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
12289
  startNode = startNode.nodeName === 'BR' ? startNode.parentElement : startNode;
12263
12290
  endNode = endNode.nodeName === 'BR' ? endNode.parentElement : endNode;
12264
12291
  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;
12292
+ endNode = endNode.nodeName !== 'LI' && endNode.nodeName !== '#text' && !isNullOrUndefined(endNode.closest('LI')) ? endNode.closest('LI') : endNode;
12266
12293
  if (((range.commonAncestorContainer.nodeName === 'OL' || range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'LI') &&
12267
12294
  isNullOrUndefined(endNode.nextElementSibling) && endNode.textContent.length === range.endOffset &&
12268
12295
  isNullOrUndefined(startNode.previousElementSibling) && range.startOffset === 0) ||
@@ -12667,7 +12694,7 @@ var Lists = /** @__PURE__ @class */ (function () {
12667
12694
  }
12668
12695
  };
12669
12696
  Lists.prototype.applyLists = function (elements, type, selector, item, e) {
12670
- if (this.isRevert(elements, type, item) && isNullOrUndefined(item)) {
12697
+ if (this.isRevert(elements, type, item) && isNullOrUndefined(item) || (!isNullOrUndefined(item) && item.listStyle === 'none')) {
12671
12698
  this.revertList(elements, e);
12672
12699
  this.removeEmptyListElements();
12673
12700
  }
@@ -12855,76 +12882,78 @@ var Lists = /** @__PURE__ @class */ (function () {
12855
12882
  var viewNode = [];
12856
12883
  for (var i = 0; i < elements.length; i++) {
12857
12884
  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);
12885
+ if ((isNullOrUndefined(e.item)) || ((element.nodeName === 'LI' && e.item.listStyle === 'none'))) {
12886
+ if (this.domNode.contents(element)[0].nodeType === 3 && this.domNode.contents(element)[0].textContent.trim().length === 0) {
12887
+ detach(this.domNode.contents(element)[0]);
12888
+ }
12889
+ var parentNode = elements[i].parentNode;
12890
+ var className = element.getAttribute('class');
12891
+ if (temp.length === 0) {
12892
+ var siblingList = elements[i].querySelectorAll('ul, ol');
12893
+ var firstNode = siblingList[0];
12894
+ if (firstNode) {
12895
+ var child = firstNode
12896
+ .querySelectorAll('li');
12897
+ if (child) {
12898
+ var nestedElement = createElement(firstNode.tagName);
12899
+ append([nestedElement], firstNode.parentNode);
12900
+ var nestedElementLI = createElement('li', { styles: 'list-style-type: none;' });
12901
+ append([nestedElementLI], nestedElement);
12902
+ append([firstNode], nestedElementLI);
12903
+ }
12875
12904
  }
12876
12905
  }
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");
12906
+ if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName || 'OL' === parentNode.parentNode.tagName ||
12907
+ 'UL' === parentNode.parentNode.tagName) {
12908
+ element.parentNode.insertBefore(this.closeTag('LI'), element);
12909
+ }
12910
+ else {
12911
+ if (DEFAULT_TAG && 0 === element.querySelectorAll(BLOCK_TAGS.join(', ')).length) {
12912
+ var wrapperclass = isNullOrUndefined(className) ? ' class="e-rte-wrap-inner"' :
12913
+ ' class="' + className + ' e-rte-wrap-inner"';
12914
+ var parentElement = parentNode;
12915
+ if (!isNullOrUndefined(parentElement.style.listStyleType)) {
12916
+ parentNode.style.removeProperty("list-style-type");
12917
+ }
12918
+ if (!isNullOrUndefined(parentElement.style.listStyleImage)) {
12919
+ parentNode.style.removeProperty("list-style-image");
12920
+ }
12921
+ if (parentElement.style.length === 0) {
12922
+ parentNode.removeAttribute("style");
12923
+ }
12924
+ var wrapper = '<' + DEFAULT_TAG + wrapperclass +
12925
+ this.domNode.attributes(parentElement) + '></' + DEFAULT_TAG + '>';
12926
+ if (e.enterAction !== 'BR') {
12927
+ this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
12928
+ }
12889
12929
  }
12890
- if (!isNullOrUndefined(parentElement.style.listStyleImage)) {
12891
- parentNode.style.removeProperty("list-style-image");
12930
+ else if (this.domNode.contents(element)[0].nodeType === 3) {
12931
+ var replace = this.domNode.createTagString(DEFAULT_TAG, parentNode, this.parent.domNode.encode(this.domNode.contents(element)[0].textContent));
12932
+ this.domNode.replaceWith(this.domNode.contents(element)[0], replace);
12892
12933
  }
12893
- if (parentElement.style.length === 0) {
12894
- parentNode.removeAttribute("style");
12934
+ else if (this.domNode.contents(element)[0].classList.contains(markerClassName.startSelection) ||
12935
+ this.domNode.contents(element)[0].classList.contains(markerClassName.endSelection)) {
12936
+ var replace = this.domNode.createTagString(DEFAULT_TAG, parentNode, this.domNode.contents(element)[0].outerHTML);
12937
+ this.domNode.replaceWith(this.domNode.contents(element)[0], replace);
12895
12938
  }
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));
12939
+ else {
12940
+ var childNode = element.firstChild;
12941
+ className = childNode.getAttribute('class');
12942
+ attributes(childNode, this.domNode.rawAttributes(parentNode));
12943
+ if (className && childNode.getAttribute('class')) {
12944
+ attributes(childNode, { 'class': className + ' ' + childNode.getAttribute('class') });
12945
+ }
12900
12946
  }
12947
+ append([this.openTag('LI')], element);
12948
+ prepend([this.closeTag('LI')], element);
12901
12949
  }
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);
12950
+ this.domNode.insertAfter(this.openTag(parentNode.tagName), element);
12951
+ if (parentNode.parentNode.tagName === 'LI') {
12952
+ parentNode = parentNode.parentNode.parentNode;
12910
12953
  }
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
- }
12954
+ if (viewNode.indexOf(parentNode) < 0) {
12955
+ viewNode.push(parentNode);
12918
12956
  }
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
12957
  }
12929
12958
  }
12930
12959
  for (var i = 0; i < viewNode.length; i++) {
@@ -20069,6 +20098,14 @@ var FormatPainterActions = /** @__PURE__ @class */ (function () {
20069
20098
  var range = this.parent.nodeSelection.getRange(docElement);
20070
20099
  var isCollapsed = range.collapsed;
20071
20100
  var blockNodes = this.parent.domNode.blockNodes();
20101
+ var isListCopied = this.isListCopied();
20102
+ if (isListCopied) {
20103
+ for (var i = 0; i < blockNodes.length; i++) {
20104
+ if (closest(blockNodes[i], 'li')) {
20105
+ blockNodes[i] = closest(blockNodes[i], 'li');
20106
+ }
20107
+ }
20108
+ }
20072
20109
  var isFullNodeSelected = false;
20073
20110
  if (blockNodes.length === 1) {
20074
20111
  isFullNodeSelected = blockNodes[0].textContent.trim() === range.toString().trim();
@@ -20077,6 +20114,16 @@ var FormatPainterActions = /** @__PURE__ @class */ (function () {
20077
20114
  this.insertBlockNode(clonedElem, range, docElement, blockNodes);
20078
20115
  }
20079
20116
  };
20117
+ FormatPainterActions.prototype.isListCopied = function () {
20118
+ var isListCopied = false;
20119
+ for (var i = 0; i < this.copyCollection.length; i++) {
20120
+ if (this.copyCollection[i].tagName === 'OL' || this.copyCollection[i].tagName === 'UL') {
20121
+ isListCopied = true;
20122
+ break;
20123
+ }
20124
+ }
20125
+ return isListCopied;
20126
+ };
20080
20127
  FormatPainterActions.prototype.insertBlockNode = function (element, range, docElement, nodes) {
20081
20128
  var domSelection = this.parent.nodeSelection;
20082
20129
  var saveSelection = domSelection.save(range, docElement);
@@ -20786,7 +20833,7 @@ var __extends$3 = (undefined && undefined.__extends) || (function () {
20786
20833
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20787
20834
  };
20788
20835
  })();
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>";
20836
+ 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
20837
  /**
20791
20838
  * Content module is used to render Rich Text Editor content
20792
20839
  *
@@ -25616,6 +25663,7 @@ var Image$1 = /** @__PURE__ @class */ (function () {
25616
25663
  }
25617
25664
  });
25618
25665
  }
25666
+ EventHandler.add(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing, this);
25619
25667
  EventHandler.add(this.contentModule.getDocument(), Browser.touchEndEvent, this.resizeEnd, this);
25620
25668
  }
25621
25669
  };
@@ -25667,7 +25715,6 @@ var Image$1 = /** @__PURE__ @class */ (function () {
25667
25715
  this.imgResizePos(e, this.imgResizeDiv);
25668
25716
  this.resizeImgDupPos(e);
25669
25717
  this.contentModule.getEditPanel().appendChild(this.imgResizeDiv);
25670
- EventHandler.add(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing, this);
25671
25718
  };
25672
25719
  Image.prototype.getPointX = function (e) {
25673
25720
  if (e.touches && e.touches.length) {
@@ -26026,7 +26073,9 @@ var Image$1 = /** @__PURE__ @class */ (function () {
26026
26073
  }
26027
26074
  }
26028
26075
  if (originalEvent.ctrlKey && (originalEvent.keyCode === 89 || originalEvent.keyCode === 90)) {
26029
- this.undoStack({ subCommand: (originalEvent.keyCode === 90 ? 'undo' : 'redo') });
26076
+ if (this.parent.editorMode !== 'Markdown') {
26077
+ this.undoStack({ subCommand: (originalEvent.keyCode === 90 ? 'undo' : 'redo') });
26078
+ }
26030
26079
  }
26031
26080
  if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
26032
26081
  if (selectNodeEle && selectNodeEle[0].nodeName === 'IMG' && selectNodeEle.length < 1) {
@@ -26551,7 +26600,29 @@ var Image$1 = /** @__PURE__ @class */ (function () {
26551
26600
  if (this.parent.formatter.getUndoRedoStack().length === 0) {
26552
26601
  this.parent.formatter.saveData();
26553
26602
  }
26554
- e.selection.restore();
26603
+ var restoreStartElement = e.selection.range.startContainer;
26604
+ if (e.selection.range.startContainer.nodeName === 'SPAN' &&
26605
+ restoreStartElement.classList.contains('e-img-wrap') &&
26606
+ restoreStartElement.parentElement.classList.contains('e-img-caption')) {
26607
+ restoreStartElement = restoreStartElement.parentElement;
26608
+ if (!isNullOrUndefined(restoreStartElement.previousSibling)) {
26609
+ var lastNode = restoreStartElement.previousSibling;
26610
+ while (lastNode.nodeName !== '#text' && lastNode.nodeName !== 'BR') {
26611
+ lastNode = lastNode.lastChild;
26612
+ }
26613
+ this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(), lastNode, lastNode.nodeName !== 'BR' ? lastNode.textContent.length : 0);
26614
+ }
26615
+ else if (!isNullOrUndefined(restoreStartElement.nextSibling)) {
26616
+ var firstNode = restoreStartElement.nextSibling;
26617
+ while (firstNode.nodeName !== '#text' && firstNode.nodeName !== 'BR') {
26618
+ firstNode = firstNode.firstChild;
26619
+ }
26620
+ this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(), firstNode, 0);
26621
+ }
26622
+ }
26623
+ else {
26624
+ e.selection.restore();
26625
+ }
26555
26626
  if (this.contentModule.getEditPanel().querySelector('.e-img-resize')) {
26556
26627
  this.removeResizeEle();
26557
26628
  }
@@ -26765,7 +26836,7 @@ var Image$1 = /** @__PURE__ @class */ (function () {
26765
26836
  animationSettings: { effect: 'None' },
26766
26837
  close: function (event) {
26767
26838
  if (_this.isImgUploaded) {
26768
- _this.uploadObj.removing();
26839
+ _this.uploadObj.remove();
26769
26840
  }
26770
26841
  _this.parent.isBlur = false;
26771
26842
  if (event && event.event.returnValue) {
@@ -26833,9 +26904,6 @@ var Image$1 = /** @__PURE__ @class */ (function () {
26833
26904
  Image.prototype.cancelDialog = function (e) {
26834
26905
  this.parent.isBlur = false;
26835
26906
  this.dialogObj.hide({ returnValue: true });
26836
- if (this.isImgUploaded) {
26837
- this.uploadObj.removing();
26838
- }
26839
26907
  };
26840
26908
  Image.prototype.onDocumentClick = function (e) {
26841
26909
  var target = e.target;
@@ -30278,7 +30346,6 @@ var Table = /** @__PURE__ @class */ (function () {
30278
30346
  this.pageY = null;
30279
30347
  this.moveEle = null;
30280
30348
  this.currentColumnResize = '';
30281
- this.currentMarginLeft = 0;
30282
30349
  this.parent = parent;
30283
30350
  this.rteID = parent.element.id;
30284
30351
  this.l10n = serviceLocator.getService('rteLocale');
@@ -30894,7 +30961,7 @@ var Table = /** @__PURE__ @class */ (function () {
30894
30961
  };
30895
30962
  Table.prototype.tableResizeEleCreation = function (table, e) {
30896
30963
  this.parent.preventDefaultResize(e);
30897
- var columns = table.rows[this.calMaxCol(table)].cells;
30964
+ var columns = this.calMaxCol(this.curTable);
30898
30965
  var rows = [];
30899
30966
  for (var i = 0; i < table.rows.length; i++) {
30900
30967
  for (var j = 0; j < table.rows[i].cells.length; j++) {
@@ -31026,6 +31093,7 @@ var Table = /** @__PURE__ @class */ (function () {
31026
31093
  if (target.classList.contains(CLS_TB_COL_RES) ||
31027
31094
  target.classList.contains(CLS_TB_ROW_RES) ||
31028
31095
  target.classList.contains(CLS_TB_BOX_RES)) {
31096
+ this.resetResizeHelper(this.curTable);
31029
31097
  e.preventDefault();
31030
31098
  this.parent.preventDefaultResize(e);
31031
31099
  removeClass(this.curTable.querySelectorAll('td,th'), CLS_TABLE_SEL);
@@ -31036,9 +31104,10 @@ var Table = /** @__PURE__ @class */ (function () {
31036
31104
  this.hideTableQuickToolbar();
31037
31105
  if (target.classList.contains(CLS_TB_COL_RES)) {
31038
31106
  this.resizeBtnStat.column = true;
31039
- if (parseInt(target.getAttribute('data-col'), 10) === this.curTable.rows[this.calMaxCol(this.curTable)].cells.length) {
31107
+ if (parseInt(target.getAttribute('data-col'), 10) === this.calMaxCol(this.curTable).length) {
31040
31108
  this.currentColumnResize = 'last';
31041
- this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10) - 1];
31109
+ this.colIndex = parseInt(target.getAttribute('data-col'), 10) - 1;
31110
+ this.columnEle = this.calMaxCol(this.curTable)[this.colIndex];
31042
31111
  }
31043
31112
  else {
31044
31113
  if (parseInt(target.getAttribute('data-col'), 10) === 0) {
@@ -31085,9 +31154,9 @@ var Table = /** @__PURE__ @class */ (function () {
31085
31154
  }
31086
31155
  }
31087
31156
  }
31088
- this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10)];
31157
+ this.colIndex = parseInt(target.getAttribute('data-col'), 10);
31158
+ this.columnEle = this.calMaxCol(this.curTable)[this.colIndex];
31089
31159
  }
31090
- this.colIndex = this.columnEle.cellIndex;
31091
31160
  this.moveEle = e.target;
31092
31161
  this.appendHelper();
31093
31162
  }
@@ -31176,16 +31245,33 @@ var Table = /** @__PURE__ @class */ (function () {
31176
31245
  this.helper.style.top = top_1 + 'px';
31177
31246
  }
31178
31247
  };
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;
31248
+ Table.prototype.calMaxCol = function (curTable) {
31249
+ var cellColl = curTable.rows[0].cells;
31250
+ var cellCount = 0;
31251
+ for (var cell = 0; cell < cellColl.length; cell++) {
31252
+ cellCount = cellCount + cellColl[cell].colSpan;
31253
+ }
31254
+ var cells = new Array(cellCount);
31255
+ var rowSpanCells = new Map();
31256
+ for (var i = 0; i < curTable.rows.length; i++) {
31257
+ var currentColIndex = 0;
31258
+ for (var k = 0; k < curTable.rows[i].cells.length; k++) {
31259
+ for (var l = 1; l < curTable.rows[i].cells[k].rowSpan; l++) {
31260
+ var key = "" + (i + l) + currentColIndex;
31261
+ rowSpanCells.set(key, curTable.rows[i].cells[k]);
31262
+ }
31263
+ var cellIndex = this.getCellIndex(rowSpanCells, i, k);
31264
+ if (cellIndex > currentColIndex) {
31265
+ currentColIndex = cellIndex;
31266
+ }
31267
+ var width = curTable.rows[i].cells[k].offsetWidth;
31268
+ if (!cells[currentColIndex] || width < cells[currentColIndex].offsetWidth) {
31269
+ cells[currentColIndex] = curTable.rows[i].cells[k];
31270
+ }
31271
+ currentColIndex += 1 + curTable.rows[i].cells[k].colSpan - 1;
31186
31272
  }
31187
31273
  }
31188
- return maxRowIndex;
31274
+ return cells;
31189
31275
  };
31190
31276
  Table.prototype.resizing = function (e) {
31191
31277
  var _this = this;
@@ -31223,7 +31309,6 @@ var Table = /** @__PURE__ @class */ (function () {
31223
31309
  }
31224
31310
  if (_this.resizeBtnStat.column) {
31225
31311
  var colGroup = _this.curTable.querySelectorAll('colgroup > col');
31226
- var cellRow = _this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
31227
31312
  var currentTableWidth = void 0;
31228
31313
  if (_this.curTable.style.width !== '' && _this.curTable.style.width.includes('%')) {
31229
31314
  currentTableWidth = parseFloat(_this.curTable.style.width.split('%')[0]);
@@ -31231,7 +31316,8 @@ var Table = /** @__PURE__ @class */ (function () {
31231
31316
  else {
31232
31317
  currentTableWidth = _this.getCurrentTableWidth(_this.curTable.offsetWidth, _this.parent.inputElement.offsetWidth);
31233
31318
  }
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]);
31319
+ var currentCol = _this.calMaxCol(_this.curTable)[_this.colIndex];
31320
+ var currentColResizableWidth = _this.getCurrentColWidth(currentCol, tableWidth);
31235
31321
  if (_this.currentColumnResize === 'first') {
31236
31322
  mouseX = mouseX - 0.75; //This was done for to make the gripper and the table first/last column will be close.
31237
31323
  _this.removeResizeElement();
@@ -31240,16 +31326,25 @@ var Table = /** @__PURE__ @class */ (function () {
31240
31326
  _this.curTable.style.maxWidth = maxiumWidth + 'px';
31241
31327
  }
31242
31328
  // Below the value '100' is the 100% width of the parent element.
31243
- if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX < 0) && currentTableWidth <= 100 &&
31329
+ if (((mouseX !== 0 && 5 < currentColResizableWidth) || mouseX < 0) && currentTableWidth <= 100 &&
31244
31330
  _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) <= 100) {
31245
31331
  var firstColumnsCell = _this.findFirstLastColCells(_this.curTable, true);
31246
31332
  _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) > 100 ? (100 + '%') :
31247
31333
  (_this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) + '%');
31248
31334
  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) + '%)';
31335
+ var preMarginLeft = 0;
31336
+ if (!isNullOrUndefined(_this.curTable.style.marginLeft) && _this.curTable.style.marginLeft !== '') {
31337
+ var regex = /[-+]?\d*\.\d+|\d+/;
31338
+ var value = _this.curTable.style.marginLeft.match(regex);
31339
+ if (!isNullOrUndefined(value)) {
31340
+ preMarginLeft = parseFloat(value[0]);
31341
+ }
31342
+ }
31343
+ var currentMarginLeft = preMarginLeft + differenceWidth;
31344
+ _this.curTable.style.marginLeft = 'calc(' + (_this.curTable.style.width === '100%' ? 0 : currentMarginLeft) + '%)';
31251
31345
  for (var i = 0; i < firstColumnsCell.length; i++) {
31252
- _this.curTable.rows[i].cells[_this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
31346
+ var currentColumnCellWidth = _this.getCurrentColWidth(firstColumnsCell[i], tableWidth);
31347
+ firstColumnsCell[i].style.width = (currentColumnCellWidth - differenceWidth) + '%';
31253
31348
  }
31254
31349
  }
31255
31350
  }
@@ -31261,16 +31356,14 @@ var Table = /** @__PURE__ @class */ (function () {
31261
31356
  _this.curTable.style.maxWidth = maxiumWidth + 'px';
31262
31357
  }
31263
31358
  // Below the value '100' is the 100% width of the parent element.
31264
- if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX > 0) &&
31359
+ if (((mouseX !== 0 && 5 < currentColResizableWidth) || mouseX > 0) &&
31265
31360
  currentTableWidth <= 100 && _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) <= 100) {
31266
31361
  var lastColumnsCell = _this.findFirstLastColCells(_this.curTable, false);
31267
31362
  _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) > 100 ? (100 + '%') : (_this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%');
31268
31363
  var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare);
31269
31364
  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
- }
31365
+ var currentColumnCellWidth = _this.getCurrentColWidth(lastColumnsCell[i], tableWidth);
31366
+ lastColumnsCell[i].style.width = (currentColumnCellWidth - differenceWidth) + '%';
31274
31367
  }
31275
31368
  }
31276
31369
  }
@@ -31296,7 +31389,7 @@ var Table = /** @__PURE__ @class */ (function () {
31296
31389
  tableTrElementPixel[i] = (parseFloat(currentTableTrElement[i].clientHeight.toString()));
31297
31390
  }
31298
31391
  }
31299
- _this.curTable.style.height = (parseFloat(_this.curTable.clientHeight.toString()) + mouseY) + 'px';
31392
+ _this.curTable.style.height = (parseFloat(_this.curTable.clientHeight.toString()) + ((mouseY > 0) ? 0 : mouseY)) + 'px';
31300
31393
  for (var i = 0; i < currentTableTrElement.length; i++) {
31301
31394
  if (_this.rowEle === currentTableTrElement[i]) {
31302
31395
  currentTableTrElement[i].style.height = (parseFloat(currentTableTrElement[i].clientHeight.toString()) + mouseY) + 'px';
@@ -31331,6 +31424,16 @@ var Table = /** @__PURE__ @class */ (function () {
31331
31424
  }
31332
31425
  });
31333
31426
  };
31427
+ Table.prototype.getCurrentColWidth = function (col, tableWidth) {
31428
+ var currentColWidth = 0;
31429
+ if (col.style.width !== '' && col.style.width.includes('%')) {
31430
+ currentColWidth = parseFloat(col.style.width.split('%')[0]);
31431
+ }
31432
+ else {
31433
+ currentColWidth = this.convertPixelToPercentage(col.offsetWidth, tableWidth);
31434
+ }
31435
+ return currentColWidth;
31436
+ };
31334
31437
  Table.prototype.getCurrentTableWidth = function (tableWidth, parentWidth) {
31335
31438
  var currentTableWidth = 0;
31336
31439
  currentTableWidth = tableWidth / parentWidth * 100;
@@ -31338,12 +31441,22 @@ var Table = /** @__PURE__ @class */ (function () {
31338
31441
  };
31339
31442
  Table.prototype.findFirstLastColCells = function (table, isFirst) {
31340
31443
  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]);
31444
+ var rows = table.rows;
31445
+ var rowSpanCellIndexs = new Array();
31446
+ var _loop_1 = function (i) {
31447
+ var cellIndex = isFirst ? 0 : rows[i].cells.length - 1;
31448
+ var column = rows[i].cells[cellIndex];
31449
+ for (var rowSpan = 1; rowSpan < column.rowSpan; rowSpan++) {
31450
+ var key = i + rowSpan + "-" + cellIndex;
31451
+ rowSpanCellIndexs.push(key);
31452
+ }
31453
+ var spannedCellKey = i + "-" + cellIndex;
31454
+ if (rowSpanCellIndexs.length === 0 || (isFirst && rowSpanCellIndexs.indexOf(spannedCellKey) === -1) || (!isFirst && rowSpanCellIndexs.indexOf(spannedCellKey) === -1 && rowSpanCellIndexs.every(function (key) { return key.split('-')[0] !== i.toString(); }))) {
31455
+ resultColumns.push(column);
31346
31456
  }
31457
+ };
31458
+ for (var i = 0; i < rows.length; i++) {
31459
+ _loop_1(i);
31347
31460
  }
31348
31461
  return resultColumns;
31349
31462
  };
@@ -31367,22 +31480,7 @@ var Table = /** @__PURE__ @class */ (function () {
31367
31480
  detach(this.helper);
31368
31481
  this.helper = null;
31369
31482
  }
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
- }
31483
+ this.resetResizeHelper(this.curTable);
31386
31484
  this.pageX = null;
31387
31485
  this.pageY = null;
31388
31486
  this.moveEle = null;
@@ -31399,6 +31497,30 @@ var Table = /** @__PURE__ @class */ (function () {
31399
31497
  this.parent.trigger(resizeStop, args);
31400
31498
  this.parent.formatter.saveData();
31401
31499
  };
31500
+ Table.prototype.resetResizeHelper = function (curTable) {
31501
+ var colHelper = this.parent.element.querySelectorAll('.e-table-rhelper.e-column-helper');
31502
+ Array.from(colHelper).forEach(function (element) {
31503
+ if (element.parentNode) {
31504
+ element.parentNode.removeChild(element);
31505
+ }
31506
+ });
31507
+ var rowHelper = this.parent.element.querySelectorAll('.e-table-rhelper.e-row-helper');
31508
+ Array.from(rowHelper).forEach(function (element) {
31509
+ if (element.parentNode) {
31510
+ element.parentNode.removeChild(element);
31511
+ }
31512
+ });
31513
+ var colGroup = curTable.querySelector('colgroup');
31514
+ if (colGroup) {
31515
+ for (var i = 0; i < curTable.rows.length; i++) {
31516
+ for (var k = 0; k < curTable.rows[i].cells.length; k++) {
31517
+ var width = this.convertPixelToPercentage(curTable.rows[i].cells[k].offsetWidth, parseInt(getComputedStyle(curTable).width, 10)) + '%';
31518
+ curTable.rows[i].cells[k].style.width = width;
31519
+ }
31520
+ }
31521
+ curTable.removeChild(colGroup);
31522
+ }
31523
+ };
31402
31524
  Table.prototype.resizeBtnInit = function () {
31403
31525
  return this.resizeBtnStat = { column: false, row: false, tableBox: false };
31404
31526
  };
@@ -31508,6 +31630,7 @@ var Table = /** @__PURE__ @class */ (function () {
31508
31630
  if (!isNullOrUndefined(this.parent.cssClass)) {
31509
31631
  addClass([this.popupObj.element], this.parent.getCssClass());
31510
31632
  }
31633
+ btnEle.focus();
31511
31634
  this.popupObj.refreshPosition(target);
31512
31635
  };
31513
31636
  Table.prototype.onIframeMouseDown = function () {
@@ -31840,12 +31963,18 @@ var Table = /** @__PURE__ @class */ (function () {
31840
31963
  var _this = this;
31841
31964
  if (this.curTable) {
31842
31965
  setTimeout(function () {
31843
- var mouseOverEvent = document.createEvent('MouseEvents');
31844
- mouseOverEvent.initEvent('mouseover', true, true);
31845
- _this.curTable.dispatchEvent(mouseOverEvent);
31966
+ _this.updateResizeIconPosition();
31846
31967
  }, 1);
31847
31968
  }
31848
31969
  };
31970
+ Table.prototype.updateResizeIconPosition = function () {
31971
+ var tableReBox = this.parent.contentModule.getEditPanel().querySelector('.e-table-box');
31972
+ if (!isNullOrUndefined(tableReBox)) {
31973
+ var tablePosition = this.calcPos(this.curTable);
31974
+ tableReBox.style.cssText = 'top: ' + (tablePosition.top + parseInt(getComputedStyle(this.curTable).height, 10) - 4) +
31975
+ 'px; left:' + (tablePosition.left + parseInt(getComputedStyle(this.curTable).width, 10) - 4) + 'px;';
31976
+ }
31977
+ };
31849
31978
  return Table;
31850
31979
  }());
31851
31980
 
@@ -31885,7 +32014,11 @@ var DialogRenderer = /** @__PURE__ @class */ (function () {
31885
32014
  var dlgObj;
31886
32015
  e.beforeOpen = this.beforeOpen.bind(this);
31887
32016
  e.open = this.open.bind(this);
31888
- e.position = { X: 'center', Y: this.getDialogPosition() };
32017
+ e.position = {
32018
+ X: 'center',
32019
+ Y: (e.target !== 'string' && e.target.nodeName === 'BODY' &&
32020
+ !isNullOrUndefined(e.position)) ? e.position.Y : this.getDialogPosition()
32021
+ };
31889
32022
  if (isNullOrUndefined(e.close)) {
31890
32023
  e.close = this.close.bind(this);
31891
32024
  }
@@ -34128,11 +34261,14 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
34128
34261
  clientX: touch.clientX, clientY: touch.clientY }
34129
34262
  });
34130
34263
  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))))) {
34264
+ (this.editorMode === 'Markdown' && this.inputElement.value.length !== 0)) ||
34265
+ (e.target && !isNullOrUndefined(closest(e.target, 'table'))) ||
34266
+ (e.target && (e.target.nodeName === 'VIDEO' ||
34267
+ e.target.querySelectorAll('.' + CLS_VIDEOWRAP).length > 0) ||
34268
+ (e.target && e.target.nodeName !== 'BR' &&
34269
+ (e.target.classList.contains(CLS_AUDIOWRAP) ||
34270
+ e.target.classList.contains(CLS_CLICKELEM) ||
34271
+ e.target.classList.contains(CLS_VID_CLICK_ELEM))))) {
34136
34272
  this.notify(toolbarRefresh, { args: e });
34137
34273
  }
34138
34274
  this.triggerEditArea(e);
@@ -35016,6 +35152,13 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
35016
35152
  var imgPadding = 12;
35017
35153
  var imgResizeBorder = 2;
35018
35154
  var editEle = this.contentModule.getEditPanel();
35155
+ if (this.editorMode === "HTML" && !isNullOrUndefined(this.formatter.editorManager.nodeSelection) && !isNullOrUndefined(this.formatter.editorManager.nodeSelection.range)) {
35156
+ var currentRange = this.formatter.editorManager.nodeSelection.range;
35157
+ if (currentRange.startContainer.nodeType !== 3 && currentRange.startContainer.closest &&
35158
+ !isNullOrUndefined(currentRange.startContainer.closest('TD'))) {
35159
+ editEle = currentRange.startContainer;
35160
+ }
35161
+ }
35019
35162
  var eleStyle = window.getComputedStyle(editEle);
35020
35163
  var editEleMaxWidth = editEle.offsetWidth - (imgPadding + imgResizeBorder +
35021
35164
  parseFloat(eleStyle.paddingLeft.split('px')[0]) + parseFloat(eleStyle.paddingRight.split('px')[0]) +
@@ -35459,6 +35602,12 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
35459
35602
  var trg = e.relatedTarget;
35460
35603
  if (trg) {
35461
35604
  var rteElement = closest(trg, '.' + CLS_RTE);
35605
+ if (!rteElement && this.iframeSettings.enable) {
35606
+ var iframeElement = this.element.querySelector('#' + this.getID() + '_rte-view');
35607
+ if (iframeElement && iframeElement.contentWindow.document.body.contains(trg)) {
35608
+ rteElement = closest(iframeElement, '.' + CLS_RTE);
35609
+ }
35610
+ }
35462
35611
  if (rteElement && rteElement === this.element) {
35463
35612
  this.isBlur = false;
35464
35613
  if (trg === this.getToolbarElement()) {
@@ -36123,5 +36272,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
36123
36272
  * Rich Text Editor component exported items
36124
36273
  */
36125
36274
 
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 };
36275
+ 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
36276
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map