@syncfusion/ej2-richtexteditor 19.4.54 → 20.1.47

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 (79) hide show
  1. package/CHANGELOG.md +2 -58
  2. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  3. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-richtexteditor.es2015.js +125 -42
  5. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es5.js +122 -39
  7. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  8. package/dist/global/ej2-richtexteditor.min.js +2 -2
  9. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +12 -12
  12. package/src/editor-manager/plugin/clearformat.js +3 -2
  13. package/src/editor-manager/plugin/image.js +6 -1
  14. package/src/editor-manager/plugin/inserthtml.js +8 -2
  15. package/src/editor-manager/plugin/link.js +5 -0
  16. package/src/editor-manager/plugin/lists.js +22 -6
  17. package/src/editor-manager/plugin/selection-commands.js +8 -2
  18. package/src/editor-manager/plugin/table.js +6 -5
  19. package/src/rich-text-editor/actions/count.js +2 -2
  20. package/src/rich-text-editor/actions/dropdown-buttons.js +1 -1
  21. package/src/rich-text-editor/actions/html-editor.js +4 -1
  22. package/src/rich-text-editor/base/classes.d.ts +5 -0
  23. package/src/rich-text-editor/base/classes.js +5 -0
  24. package/src/rich-text-editor/base/rich-text-editor.js +4 -3
  25. package/src/rich-text-editor/renderer/image-module.js +23 -7
  26. package/src/rich-text-editor/renderer/table-module.js +21 -6
  27. package/src/selection/selection.js +3 -0
  28. package/styles/bootstrap-dark.css +6 -3
  29. package/styles/bootstrap.css +6 -3
  30. package/styles/bootstrap4.css +2 -2
  31. package/styles/bootstrap5-dark.css +30 -6
  32. package/styles/bootstrap5.css +31 -7
  33. package/styles/fabric-dark.css +2 -2
  34. package/styles/fabric.css +2 -2
  35. package/styles/fluent-dark.css +3001 -0
  36. package/styles/fluent-dark.scss +1 -0
  37. package/styles/fluent.css +3001 -0
  38. package/styles/fluent.scss +1 -0
  39. package/styles/highcontrast-light.css +2 -2
  40. package/styles/highcontrast.css +2 -2
  41. package/styles/material-dark.css +2 -2
  42. package/styles/material.css +2 -2
  43. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +19 -0
  44. package/styles/rich-text-editor/_bootstrap-definition.scss +19 -0
  45. package/styles/rich-text-editor/_bootstrap4-definition.scss +19 -0
  46. package/styles/rich-text-editor/_bootstrap5-definition.scss +24 -3
  47. package/styles/rich-text-editor/_fabric-dark-definition.scss +19 -0
  48. package/styles/rich-text-editor/_fabric-definition.scss +19 -0
  49. package/styles/rich-text-editor/_fluent-dark-definition.scss +1 -0
  50. package/styles/rich-text-editor/_fluent-definition.scss +42 -19
  51. package/styles/rich-text-editor/_highcontrast-definition.scss +19 -0
  52. package/styles/rich-text-editor/_highcontrast-light-definition.scss +19 -0
  53. package/styles/rich-text-editor/_layout.scss +96 -6
  54. package/styles/rich-text-editor/_material-dark-definition.scss +18 -1
  55. package/styles/rich-text-editor/_material-definition.scss +19 -0
  56. package/styles/rich-text-editor/_tailwind-definition.scss +26 -6
  57. package/styles/rich-text-editor/_theme.scss +17 -2
  58. package/styles/rich-text-editor/bootstrap-dark.css +6 -3
  59. package/styles/rich-text-editor/bootstrap.css +6 -3
  60. package/styles/rich-text-editor/bootstrap4.css +2 -2
  61. package/styles/rich-text-editor/bootstrap5-dark.css +30 -6
  62. package/styles/rich-text-editor/bootstrap5.css +31 -7
  63. package/styles/rich-text-editor/fabric-dark.css +2 -2
  64. package/styles/rich-text-editor/fabric.css +2 -2
  65. package/styles/rich-text-editor/fluent-dark.css +3001 -0
  66. package/styles/rich-text-editor/fluent-dark.scss +4 -0
  67. package/styles/rich-text-editor/fluent.css +3001 -0
  68. package/styles/rich-text-editor/fluent.scss +4 -0
  69. package/styles/rich-text-editor/highcontrast-light.css +2 -2
  70. package/styles/rich-text-editor/highcontrast.css +2 -2
  71. package/styles/rich-text-editor/icons/_fluent-dark.scss +1 -0
  72. package/styles/rich-text-editor/icons/_fluent.scss +74 -74
  73. package/styles/rich-text-editor/icons/_tailwind.scss +73 -74
  74. package/styles/rich-text-editor/material-dark.css +2 -2
  75. package/styles/rich-text-editor/material.css +2 -2
  76. package/styles/rich-text-editor/tailwind-dark.css +104 -85
  77. package/styles/rich-text-editor/tailwind.css +105 -86
  78. package/styles/tailwind-dark.css +104 -85
  79. package/styles/tailwind.css +105 -86
@@ -933,6 +933,11 @@ var CLS_FONT_NAME_TB_BTN = 'e-font-name-tbar-btn';
933
933
  * @deprecated
934
934
  */
935
935
  var CLS_FONT_SIZE_TB_BTN = 'e-font-size-tbar-btn';
936
+ /**
937
+ * @hidden
938
+ * @deprecated
939
+ */
940
+ var CLS_ALIGN_TB_BTN = 'e-alignment-tbar-btn';
936
941
  /**
937
942
  * @hidden
938
943
  * @deprecated
@@ -3560,7 +3565,7 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
3560
3565
  }
3561
3566
  _this.alignDropDown = _this.toolbarRenderer.renderDropDownButton({
3562
3567
  iconCss: 'e-justify-left e-icons',
3563
- cssClass: CLS_DROPDOWN_POPUP + ' ' + CLS_DROPDOWN_ITEMS,
3568
+ cssClass: CLS_DROPDOWN_POPUP + ' ' + CLS_DROPDOWN_ITEMS + ' ' + CLS_ALIGN_TB_BTN,
3564
3569
  itemName: 'Alignments', items: alignmentItems, element: targetElement
3565
3570
  });
3566
3571
  break;
@@ -6114,8 +6119,8 @@ var Count = /** @__PURE__ @class */ (function () {
6114
6119
  }
6115
6120
  };
6116
6121
  Count.prototype.appendCount = function () {
6117
- var htmlText = this.parent.editorMode === 'Markdown' ? this.editPanel.value.trim() :
6118
- this.editPanel.textContent.trim();
6122
+ var htmlText = this.parent.editorMode === 'Markdown' ? this.editPanel.value :
6123
+ this.editPanel.textContent;
6119
6124
  if (this.parent.editorMode !== 'Markdown' && htmlText.indexOf('\u200B') !== -1) {
6120
6125
  this.htmlLength = htmlText.replace(/\u200B/g, '').length;
6121
6126
  }
@@ -9608,6 +9613,9 @@ var NodeSelection = /** @__PURE__ @class */ (function () {
9608
9613
  node = node && node.childNodes[num[index]];
9609
9614
  }
9610
9615
  if (node && constant >= 0 && node.nodeName !== 'html') {
9616
+ if (node.nodeType === 3 && node.nodeValue.replace(/\u00a0/g, ' ') === ' ') {
9617
+ constant = node.textContent.length;
9618
+ }
9611
9619
  range[isvalid ? 'setStart' : 'setEnd'](node, constant);
9612
9620
  }
9613
9621
  return range;
@@ -10609,6 +10617,9 @@ var Lists = /** @__PURE__ @class */ (function () {
10609
10617
  range.endContainer.parentElement.closest('LI');
10610
10618
  if (!isNullOrUndefined(startNode) && !isNullOrUndefined(endNode) && startNode === endNode && startNode.tagName === 'LI' &&
10611
10619
  startNode.textContent.trim() === '' && startNode.querySelectorAll('IMG').length === 0) {
10620
+ if (startNode.innerHTML.indexOf(' ') >= 0) {
10621
+ return;
10622
+ }
10612
10623
  if (startNode.textContent.charCodeAt(0) === 65279) {
10613
10624
  startNode.textContent = '';
10614
10625
  }
@@ -10750,7 +10761,7 @@ var Lists = /** @__PURE__ @class */ (function () {
10750
10761
  e.event.stopPropagation();
10751
10762
  this.currentAction = this.getAction(nodes[0]);
10752
10763
  if (e.event.shiftKey) {
10753
- this.revertList(nodes);
10764
+ this.revertList(nodes, e);
10754
10765
  this.revertClean();
10755
10766
  }
10756
10767
  else {
@@ -10912,6 +10923,9 @@ var Lists = /** @__PURE__ @class */ (function () {
10912
10923
  append([nestedElement], prevSibling);
10913
10924
  append([elements[i]], nestedElement);
10914
10925
  }
10926
+ else if (prevSibling.tagName === 'OL' || prevSibling.tagName === 'UL') {
10927
+ append([elements[i]], prevSibling);
10928
+ }
10915
10929
  }
10916
10930
  }
10917
10931
  else {
@@ -10924,6 +10938,14 @@ var Lists = /** @__PURE__ @class */ (function () {
10924
10938
  };
10925
10939
  Lists.prototype.applyListsHandler = function (e) {
10926
10940
  var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
10941
+ if (range.startContainer === range.endContainer && range.startContainer === this.parent.editableElement &&
10942
+ range.startOffset === range.endOffset && range.startOffset === 0 &&
10943
+ this.parent.editableElement.textContent.length === 0 && (this.parent.editableElement.childNodes[0].nodeName != 'TABLE' &&
10944
+ this.parent.editableElement.childNodes[0].nodeName != 'IMG')) {
10945
+ var focusNode = range.startContainer.childNodes[0];
10946
+ this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, focusNode, focusNode, 0, 0);
10947
+ range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
10948
+ }
10927
10949
  this.saveSelection = this.parent.nodeSelection.save(range, this.parent.currentDocument);
10928
10950
  this.currentAction = e.subCommand;
10929
10951
  this.currentAction = e.subCommand = this.currentAction === 'NumberFormatList' ? 'OL' : this.currentAction === 'BulletFormatList' ? 'UL' : this.currentAction;
@@ -10998,7 +11020,7 @@ var Lists = /** @__PURE__ @class */ (function () {
10998
11020
  listsNodes[i] = listsNodes[i].parentNode;
10999
11021
  }
11000
11022
  }
11001
- this.applyLists(listsNodes, this.currentAction, e.selector, e.item);
11023
+ this.applyLists(listsNodes, this.currentAction, e.selector, e.item, e);
11002
11024
  if (e.callBack) {
11003
11025
  e.callBack({
11004
11026
  requestType: this.currentAction,
@@ -11019,9 +11041,9 @@ var Lists = /** @__PURE__ @class */ (function () {
11019
11041
  this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, startElem, endElem, 0, 0);
11020
11042
  }
11021
11043
  };
11022
- Lists.prototype.applyLists = function (elements, type, selector, item) {
11044
+ Lists.prototype.applyLists = function (elements, type, selector, item, e) {
11023
11045
  if (this.isRevert(elements, type) && isNullOrUndefined(item)) {
11024
- this.revertList(elements);
11046
+ this.revertList(elements, e);
11025
11047
  this.removeEmptyListElements();
11026
11048
  }
11027
11049
  else {
@@ -11178,7 +11200,7 @@ var Lists = /** @__PURE__ @class */ (function () {
11178
11200
  }
11179
11201
  }
11180
11202
  };
11181
- Lists.prototype.revertList = function (elements) {
11203
+ Lists.prototype.revertList = function (elements, e) {
11182
11204
  var temp = [];
11183
11205
  for (var i = elements.length - 1; i >= 0; i--) {
11184
11206
  for (var j = i - 1; j >= 0; j--) {
@@ -11222,7 +11244,9 @@ var Lists = /** @__PURE__ @class */ (function () {
11222
11244
  ' class="' + className + ' e-rte-wrap-inner"';
11223
11245
  var wrapper = '<' + DEFAULT_TAG + wrapperclass +
11224
11246
  this.domNode.attributes(parentNode) + '></' + DEFAULT_TAG + '>';
11225
- this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
11247
+ if (e.enterAction !== 'BR') {
11248
+ this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
11249
+ }
11226
11250
  }
11227
11251
  else if (this.domNode.contents(element)[0].nodeType === 3) {
11228
11252
  var replace = this.domNode.createTagString(DEFAULT_TAG, parentNode, this.parent.domNode.encode(this.domNode.contents(element)[0].textContent));
@@ -11964,6 +11988,12 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
11964
11988
  nodeSelection.setSelectionText(docElement, range.startContainer.children[0], range.startContainer.children[0], 0, 0);
11965
11989
  range = nodeSelection.getRange(docElement);
11966
11990
  }
11991
+ if (range.startContainer.nodeName === 'BR' && range.startOffset === 0 && range.startOffset === range.endOffset &&
11992
+ range.startContainer === range.endContainer) {
11993
+ var currentIndex = Array.prototype.slice.call(range.startContainer.parentElement.children).indexOf(range.startContainer);
11994
+ nodeSelection.setSelectionText(docElement, range.startContainer.parentElement, range.startContainer.parentElement, currentIndex + 1, currentIndex + 1);
11995
+ range = nodeSelection.getRange(docElement);
11996
+ }
11967
11997
  var isCursor = range.startOffset === range.endOffset && range.startOffset === 0 &&
11968
11998
  range.startContainer === range.endContainer;
11969
11999
  var isCollapsed = range.collapsed;
@@ -12147,7 +12177,7 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12147
12177
  else {
12148
12178
  var tempSpan = createElement('span', { className: 'tempSpan' });
12149
12179
  var nearestAnchor = closest(range.startContainer.parentElement, 'a');
12150
- if (range.startContainer.nodeType === 3 && nearestAnchor) {
12180
+ if (range.startContainer.nodeType === 3 && nearestAnchor && closest(nearestAnchor, 'span')) {
12151
12181
  var immediateBlockNode = this.getImmediateBlockNode(range.startContainer, editNode);
12152
12182
  if (immediateBlockNode.querySelectorAll('br').length > 0) {
12153
12183
  detach(immediateBlockNode.querySelector('br'));
@@ -12299,7 +12329,7 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12299
12329
  var currentNode = nodes[nodes.length - 1];
12300
12330
  var splitedElm = void 0;
12301
12331
  if ((currentNode.nodeName === 'BR' || currentNode.nodeName === 'HR') && !isNullOrUndefined(currentNode.parentElement) &&
12302
- currentNode.parentElement.textContent.trim().length === 0 && (currentNode.parentElement === editNode || !node.classList.contains('pasteContent'))) {
12332
+ currentNode.parentElement.textContent.trim().length === 0) {
12303
12333
  splitedElm = currentNode;
12304
12334
  }
12305
12335
  else {
@@ -12463,6 +12493,11 @@ var LinkCommand = /** @__PURE__ @class */ (function () {
12463
12493
  else {
12464
12494
  var domSelection = new NodeSelection();
12465
12495
  var range = domSelection.getRange(this.parent.currentDocument);
12496
+ if (range.endContainer.nodeName === '#text' && range.startContainer.textContent.length === (range.endOffset + 1) &&
12497
+ range.endContainer.textContent.charAt(range.endOffset) === ' ' && range.endContainer.nextSibling.nodeName === 'A') {
12498
+ domSelection.setSelectionText(this.parent.currentDocument, range.startContainer, range.endContainer, range.startOffset, range.endOffset + 1);
12499
+ range = domSelection.getRange(this.parent.currentDocument);
12500
+ }
12466
12501
  var text = isNullOrUndefined(e.item.text) ? true : e.item.text.replace(/ /g, '').localeCompare(range.toString()
12467
12502
  .replace(/\n/g, ' ').replace(/ /g, '')) < 0;
12468
12503
  if (e.event && e.event.type === 'keydown' && (e.event.keyCode === 32
@@ -13120,7 +13155,12 @@ var ImageCommand = /** @__PURE__ @class */ (function () {
13120
13155
  ImageCommand.prototype.removeImage = function (e) {
13121
13156
  if (closest(e.item.selectNode[0], 'a')) {
13122
13157
  if (e.item.selectNode[0].parentElement.nodeName === 'A' && !isNullOrUndefined(e.item.selectNode[0].parentElement.innerText)) {
13123
- detach(e.item.selectNode[0]);
13158
+ if (!isNullOrUndefined(closest(e.item.selectNode[0], '.' + CLASS_CAPTION))) {
13159
+ detach(closest(e.item.selectNode[0], '.' + CLASS_CAPTION));
13160
+ }
13161
+ else {
13162
+ detach(e.item.selectNode[0]);
13163
+ }
13124
13164
  }
13125
13165
  else {
13126
13166
  detach(closest(e.item.selectNode[0], 'a'));
@@ -13442,7 +13482,7 @@ var TableCommand = /** @__PURE__ @class */ (function () {
13442
13482
  var tdElement = createElement('td');
13443
13483
  tdElement.appendChild(createElement('br'));
13444
13484
  newRow.appendChild(tdElement);
13445
- tdElement.setAttribute('style', allCells[(isHeaderSelect && isBelow) ? (minVal + 1) : minVal][i].getAttribute('style'));
13485
+ tdElement.setAttribute('style', allCells[(isHeaderSelect && isBelow) ? allCells[(minVal + 1)] ? (minVal + 1) : minVal : minVal][i].getAttribute('style'));
13446
13486
  }
13447
13487
  }
13448
13488
  // eslint-disable-next-line
@@ -13826,7 +13866,8 @@ var TableCommand = /** @__PURE__ @class */ (function () {
13826
13866
  if (min < (max = Math.min(max, eleArray.length - 1))) {
13827
13867
  for (rowValue = min; rowValue <= max; rowValue++) {
13828
13868
  // eslint-disable-next-line
13829
- if (!(min < rowValue && eleArray[rowValue][0] === eleArray[rowValue - 1][0]) && 1 < (index = Math.min(parseInt(eleArray[rowValue][0].getAttribute('rowspan'), 10) || 1, max - min + 1)) && eleArray[rowValue][0] === eleArray[rowValue + 1][0]) {
13869
+ if (!(min < rowValue && eleArray[rowValue][0] === eleArray[rowValue - 1][0]) && eleArray[rowValue][0] &&
13870
+ 1 < (index = Math.min(parseInt(eleArray[rowValue][0].getAttribute('rowspan'), 10) || 1, max - min + 1)) && eleArray[rowValue][0] === eleArray[rowValue + 1][0]) {
13830
13871
  for (count = index - 1, colIndex = 1; colIndex < eleArray[0].length; colIndex++) {
13831
13872
  if (eleArray[rowValue][colIndex] !== eleArray[rowValue][colIndex - 1]) {
13832
13873
  for (rowMin = rowValue; rowMin < rowValue + index; rowMin++) {
@@ -13868,10 +13909,10 @@ var TableCommand = /** @__PURE__ @class */ (function () {
13868
13909
  };
13869
13910
  TableCommand.prototype.mergeCellContent = function () {
13870
13911
  var selectedCells = this.curTable.querySelectorAll('.e-cell-select');
13871
- var innerHtml = selectedCells[0].innerHTML;
13872
- for (var i = 1; i < selectedCells.length - 1; i++) {
13912
+ var innerHtml = selectedCells[0].innerHTML === '<br>' ? '' : selectedCells[0].innerHTML;
13913
+ for (var i = 1; i < selectedCells.length; i++) {
13873
13914
  if ('<br>' !== selectedCells[i].innerHTML) {
13874
- innerHtml = innerHtml + selectedCells[i].innerHTML;
13915
+ innerHtml = innerHtml ? innerHtml + '<br>' + selectedCells[i].innerHTML : innerHtml + selectedCells[i].innerHTML;
13875
13916
  }
13876
13917
  }
13877
13918
  selectedCells[0].innerHTML = innerHtml;
@@ -14531,6 +14572,7 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
14531
14572
  };
14532
14573
  SelectionCommands.insertCursorNode = function (docElement, domSelection, range, isFormatted, nodeCutter, format, value, endNode) {
14533
14574
  var cursorNodes = domSelection.getNodeCollection(range);
14575
+ var domNode = new DOMNode(endNode, docElement);
14534
14576
  var cursorFormat = (cursorNodes.length > 0) ?
14535
14577
  (cursorNodes.length > 1 && range.startContainer === range.endContainer) ?
14536
14578
  this.getCursorFormat(isFormatted, cursorNodes, format, endNode) :
@@ -14538,11 +14580,16 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
14538
14580
  var cursorNode = null;
14539
14581
  if (cursorFormat) {
14540
14582
  cursorNode = cursorNodes[0];
14541
- if (cursorFormat.firstChild.textContent.charCodeAt(0) === 8203) {
14583
+ if (cursorFormat.firstChild.textContent.charCodeAt(0) === 8203 && cursorFormat.firstChild.nodeType === 3) {
14542
14584
  var regEx = new RegExp(String.fromCharCode(8203), 'g');
14543
14585
  var emptySpaceNode = void 0;
14544
14586
  if (cursorFormat.firstChild === cursorNode) {
14545
- cursorNode.textContent = cursorNode.textContent.replace(regEx, '');
14587
+ cursorNode.textContent = (cursorFormat.parentElement && (domNode.isBlockNode(cursorFormat.parentElement) &&
14588
+ cursorFormat.parentElement.textContent.length <= 1 ? cursorFormat.parentElement.childElementCount > 1 :
14589
+ cursorFormat.childElementCount === 0) &&
14590
+ (cursorFormat.parentElement.textContent.length > 1 ||
14591
+ cursorFormat.parentElement.firstChild && cursorFormat.parentElement.firstChild.nodeType === 1) ?
14592
+ cursorNode.textContent : cursorNode.textContent.replace(regEx, ''));
14546
14593
  emptySpaceNode = cursorNode;
14547
14594
 
14548
14595
  }
@@ -15221,7 +15268,8 @@ var ClearFormat$1 = /** @__PURE__ @class */ (function () {
15221
15268
  for (var index = 0; index < textNodes.length; index++) {
15222
15269
  var currentInlineNode = textNodes[index];
15223
15270
  var currentNode = void 0;
15224
- while (!this.domNode.isBlockNode(currentInlineNode)) {
15271
+ while (!this.domNode.isBlockNode(currentInlineNode) &&
15272
+ (currentInlineNode.parentElement && !currentInlineNode.parentElement.classList.contains('e-img-inner'))) {
15225
15273
  currentNode = currentInlineNode;
15226
15274
  currentInlineNode = currentInlineNode.parentElement;
15227
15275
  }
@@ -15235,7 +15283,7 @@ var ClearFormat$1 = /** @__PURE__ @class */ (function () {
15235
15283
  ClearFormat.removeInlineParent = function (textNodes) {
15236
15284
  var nodes = InsertMethods.unwrap(textNodes);
15237
15285
  for (var index = 0; index < nodes.length; index++) {
15238
- if (nodes[index].parentNode.childNodes.length === 1
15286
+ if (nodes[index].parentNode.childNodes.length === 1 && !nodes[index].parentNode.classList.contains('e-img-inner')
15239
15287
  && IsFormatted.inlineTags.indexOf(nodes[index].parentNode.nodeName.toLocaleLowerCase()) > -1) {
15240
15288
  this.removeInlineParent(nodes[index].parentNode);
15241
15289
  }
@@ -17302,7 +17350,9 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
17302
17350
  this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), range.startContainer, pointer);
17303
17351
  }
17304
17352
  if (!isNullOrUndefined(range.startContainer.previousSibling) && !isNullOrUndefined(range.startContainer.previousSibling.parentElement) &&
17305
- range.startContainer.parentElement === range.startContainer.previousSibling.parentElement && range.startContainer.previousSibling.textContent.charCodeAt(0) === 8203) {
17353
+ range.startContainer.parentElement === range.startContainer.previousSibling.parentElement &&
17354
+ range.startContainer.previousSibling.textContent.charCodeAt(0) === 8203 &&
17355
+ range.startContainer.previousSibling.textContent.length <= 1) {
17306
17356
  range.startContainer.previousSibling.textContent = range.startContainer.previousSibling.textContent.replace(regEx, '');
17307
17357
  }
17308
17358
  if (range.endContainer.textContent.charCodeAt(range.endOffset) === 8203) {
@@ -17393,6 +17443,7 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
17393
17443
  if (!this.isImageDelete) {
17394
17444
  args.preventDefault();
17395
17445
  }
17446
+ args.preventDefault();
17396
17447
  }
17397
17448
  };
17398
17449
  HtmlEditor.prototype.isOrderedList = function (editorValue) {
@@ -20244,6 +20295,7 @@ var Image = /** @__PURE__ @class */ (function () {
20244
20295
  Image.prototype.calcPos = function (elem) {
20245
20296
  var ignoreOffset = ['TD', 'TH', 'TABLE', 'A'];
20246
20297
  var parentOffset = { top: 0, left: 0 };
20298
+ var elementOffset;
20247
20299
  var doc = elem.ownerDocument;
20248
20300
  var offsetParent = ((elem.offsetParent && (elem.offsetParent.classList.contains('e-img-caption') ||
20249
20301
  ignoreOffset.indexOf(elem.offsetParent.tagName) > -1)) ?
@@ -20257,10 +20309,19 @@ var Image = /** @__PURE__ @class */ (function () {
20257
20309
  // eslint-disable-next-line
20258
20310
  parentOffset = offsetParent.getBoundingClientRect();
20259
20311
  }
20260
- return {
20261
- top: elem.offsetTop,
20262
- left: elem.offsetLeft
20263
- };
20312
+ if (elem.offsetParent && (elem.offsetParent.classList.contains('e-img-caption'))) {
20313
+ elementOffset = elem.getBoundingClientRect();
20314
+ return {
20315
+ top: elementOffset.top - parentOffset.top,
20316
+ left: elementOffset.left - parentOffset.left
20317
+ };
20318
+ }
20319
+ else {
20320
+ return {
20321
+ top: elem.offsetTop,
20322
+ left: elem.offsetLeft
20323
+ };
20324
+ }
20264
20325
  };
20265
20326
  Image.prototype.setAspectRatio = function (img, expectedX, expectedY, e) {
20266
20327
  if (isNullOrUndefined(img.width)) {
@@ -20270,7 +20331,7 @@ var Image = /** @__PURE__ @class */ (function () {
20270
20331
  parseInt(img.style.width, 10) : img.width;
20271
20332
  var height = img.style.height !== '' ? parseInt(img.style.height, 10) : img.height;
20272
20333
  if (width > height) {
20273
- img.style.minWidth = '20px';
20334
+ img.style.minWidth = this.parent.insertImageSettings.minWidth === 0 ? '20px' : formatUnit(this.parent.insertImageSettings.minWidth);
20274
20335
  if (this.parent.insertImageSettings.resizeByPercent) {
20275
20336
  if (parseInt('' + img.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
20276
20337
  var percentageValue = this.pixToPerc((width / height * expectedY), (img.previousElementSibling || img.parentElement));
@@ -20593,6 +20654,10 @@ var Image = /** @__PURE__ @class */ (function () {
20593
20654
  range.startContainer.querySelector('.' + CLS_CAPTION + '.' + CLS_CAPINLINE))) {
20594
20655
  detach(range.startContainer.querySelector('.' + CLS_CAPTION + '.' + CLS_CAPINLINE));
20595
20656
  }
20657
+ else if (range.startContainer.nodeType === 1 &&
20658
+ range.startContainer.querySelector('.' + CLS_CAPTION + '.' + CLS_IMGBREAK)) {
20659
+ detach(range.startContainer.querySelector('.' + CLS_CAPTION + '.' + CLS_IMGBREAK));
20660
+ }
20596
20661
  }
20597
20662
  break;
20598
20663
  case 'insert-image':
@@ -20763,6 +20828,8 @@ var Image = /** @__PURE__ @class */ (function () {
20763
20828
  if (this.parent.quickToolbarModule.imageQTBar) {
20764
20829
  if (e.isNotify) {
20765
20830
  setTimeout(function () {
20831
+ _this.parent.formatter.editorManager.nodeSelection.Clear(_this.contentModule.getDocument());
20832
+ _this.parent.formatter.editorManager.nodeSelection.setSelectionContents(_this.contentModule.getDocument(), target);
20766
20833
  _this.quickToolObj.imageQTBar.showPopup(args.pageX, pageY, target);
20767
20834
  }, 400);
20768
20835
  }
@@ -21803,7 +21870,8 @@ var Image = /** @__PURE__ @class */ (function () {
21803
21870
  if (activePopupElement) {
21804
21871
  activePopupElement.classList.add(CLS_HIDE);
21805
21872
  }
21806
- if (e.dataTransfer.files.length > 0) { //For external image drag and drop
21873
+ var imgElement = this.parent.inputElement.ownerDocument.querySelector('.' + CLS_RTE_DRAG_IMAGE);
21874
+ if (e.dataTransfer.files.length > 0 && imgElement === null) { //For external image drag and drop
21807
21875
  if (e.dataTransfer.files.length > 1) {
21808
21876
  return;
21809
21877
  }
@@ -21826,7 +21894,6 @@ var Image = /** @__PURE__ @class */ (function () {
21826
21894
  }
21827
21895
  else { //For internal image drag and drop
21828
21896
  var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
21829
- var imgElement = this.parent.inputElement.ownerDocument.querySelector('.' + CLS_RTE_DRAG_IMAGE);
21830
21897
  if (imgElement && imgElement.tagName === 'IMG') {
21831
21898
  if (imgElement.nextElementSibling) {
21832
21899
  if (imgElement.nextElementSibling.classList.contains(CLS_IMG_INNER)) {
@@ -22745,7 +22812,7 @@ var Table = /** @__PURE__ @class */ (function () {
22745
22812
  ele.classList.add(CLS_TABLE_SEL);
22746
22813
  this.addRow(selection, event, true);
22747
22814
  ele.classList.remove(CLS_TABLE_SEL);
22748
- nextElement = nextElement.parentElement.nextSibling.firstChild;
22815
+ nextElement = nextElement.parentElement.nextSibling ? nextElement.parentElement.nextSibling.firstChild : nextElement.parentElement.firstChild;
22749
22816
  // eslint-disable-next-line
22750
22817
  (nextElement.textContent.trim() !== '' && closest(nextElement, 'td')) ?
22751
22818
  selection.setSelectionNode(this.contentModule.getDocument(), nextElement) :
@@ -22955,7 +23022,7 @@ var Table = /** @__PURE__ @class */ (function () {
22955
23022
  return;
22956
23023
  }
22957
23024
  var target = e.target || e.targetTouches[0].target;
22958
- var closestTable = closest(target, 'table');
23025
+ var closestTable = closest(target, 'table.e-rte-table');
22959
23026
  if (!isNullOrUndefined(this.curTable) && !isNullOrUndefined(closestTable) && closestTable !== this.curTable) {
22960
23027
  this.removeResizeElement();
22961
23028
  this.removeHelper(e);
@@ -23034,6 +23101,7 @@ var Table = /** @__PURE__ @class */ (function () {
23034
23101
  var offset = elem.getBoundingClientRect();
23035
23102
  var doc = elem.ownerDocument;
23036
23103
  var offsetParent = elem.offsetParent || doc.documentElement;
23104
+ var isNestedTable = false;
23037
23105
  while (offsetParent &&
23038
23106
  (offsetParent === doc.body || offsetParent === doc.documentElement) &&
23039
23107
  offsetParent.style.position === 'static') {
@@ -23041,15 +23109,29 @@ var Table = /** @__PURE__ @class */ (function () {
23041
23109
  }
23042
23110
  if (offsetParent.nodeName === 'TD' && elem.nodeName === 'TABLE') {
23043
23111
  offsetParent = closest(offsetParent, '.e-rte-content');
23112
+ isNestedTable = true;
23044
23113
  }
23045
23114
  if (offsetParent && offsetParent !== elem && offsetParent.nodeType === 1) {
23046
23115
  // eslint-disable-next-line
23047
23116
  parentOffset = offsetParent.getBoundingClientRect();
23048
23117
  }
23049
- return {
23050
- top: elem.offsetTop,
23051
- left: elem.offsetLeft
23052
- };
23118
+ if (isNestedTable) {
23119
+ isNestedTable = false;
23120
+ var topValue = this.parent.inputElement && this.parent.inputElement.scrollTop > 0 ?
23121
+ (this.parent.inputElement.scrollTop + offset.top) - parentOffset.top : offset.top - parentOffset.top;
23122
+ var leftValue = this.parent.inputElement && this.parent.inputElement.scrollLeft > 0 ?
23123
+ (this.parent.inputElement.scrollLeft + offset.left) - parentOffset.left : offset.left - parentOffset.left;
23124
+ return {
23125
+ top: topValue,
23126
+ left: leftValue
23127
+ };
23128
+ }
23129
+ else {
23130
+ return {
23131
+ top: elem.offsetTop,
23132
+ left: elem.offsetLeft
23133
+ };
23134
+ }
23053
23135
  };
23054
23136
  Table.prototype.getPointX = function (e) {
23055
23137
  if (e.touches && e.touches.length) {
@@ -25904,7 +25986,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25904
25986
  this.inputElement.parentElement.insertBefore(this.placeHolderWrapper, this.inputElement);
25905
25987
  }
25906
25988
  attributes(this.placeHolderWrapper, {
25907
- 'style': 'font-size: 14px; padding: 16px; margin-left: 0px; margin-right: 0px;'
25989
+ 'style': 'font-size: 14px; margin-left: 0px; margin-right: 0px;'
25908
25990
  });
25909
25991
  }
25910
25992
  this.placeHolderWrapper.innerHTML = this.placeholder;
@@ -26144,7 +26226,8 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26144
26226
  };
26145
26227
  RichTextEditor.prototype.setValue = function () {
26146
26228
  if (this.valueTemplate) {
26147
- if (typeof this.valueTemplate === 'string') {
26229
+ var regEx = new RegExp(/<(?=.*? .*?\/ ?>|br|hr|input|!--|wbr)[a-z]+.*?>|<([a-z]+).*?<\/\1>/i);
26230
+ if (regEx.test(this.valueTemplate)) {
26148
26231
  this.setProperties({ value: this.valueTemplate });
26149
26232
  }
26150
26233
  else {
@@ -26730,7 +26813,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26730
26813
  RichTextEditor.prototype.restrict = function (e) {
26731
26814
  if (this.maxLength >= 0) {
26732
26815
  var element = this.editorMode === 'Markdown' ? this.contentModule.getText() :
26733
- e.currentTarget.textContent.trim();
26816
+ e.currentTarget.textContent;
26734
26817
  var array = [8, 16, 17, 37, 38, 39, 40, 46, 65];
26735
26818
  var arrayKey = void 0;
26736
26819
  for (var i = 0; i <= array.length - 1; i++) {
@@ -27101,5 +27184,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
27101
27184
  * Rich Text Editor component exported items
27102
27185
  */
27103
27186
 
27104
- 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, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, imageCaption, imageSize, 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, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, afterImageDelete, drop, xhtmlValidation, beforeImageUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, closeImageDialog, showTableDialog, closeTableDialog, 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_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_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_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, 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_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_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, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, 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, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_IMAGE_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, 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 };
27187
+ 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, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, imageCaption, imageSize, 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, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, afterImageDelete, drop, xhtmlValidation, beforeImageUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, closeImageDialog, showTableDialog, closeTableDialog, 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_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_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_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, 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_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, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, 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, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_IMAGE_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, 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 };
27105
27188
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map