@syncfusion/ej2-richtexteditor 27.1.57 → 27.2.2

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 (32) hide show
  1. package/dist/ej2-richtexteditor.min.js +2 -2
  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 +241 -100
  5. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es5.js +231 -77
  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 +13 -13
  12. package/src/common/config.d.ts +0 -7
  13. package/src/common/config.js +0 -12
  14. package/src/common/editor-styles.js +1 -1
  15. package/src/common/interface.d.ts +2 -0
  16. package/src/common/util.js +2 -1
  17. package/src/editor-manager/base/constant.d.ts +4 -0
  18. package/src/editor-manager/base/constant.js +4 -0
  19. package/src/editor-manager/plugin/formats.d.ts +1 -0
  20. package/src/editor-manager/plugin/formats.js +25 -0
  21. package/src/editor-manager/plugin/image.js +8 -2
  22. package/src/editor-manager/plugin/inserthtml.d.ts +2 -0
  23. package/src/editor-manager/plugin/inserthtml.js +96 -17
  24. package/src/editor-manager/plugin/nodecutter.js +2 -2
  25. package/src/rich-text-editor/actions/html-editor.js +9 -1
  26. package/src/rich-text-editor/actions/paste-clean-up.js +48 -21
  27. package/src/rich-text-editor/base/rich-text-editor.js +5 -2
  28. package/src/rich-text-editor/renderer/image-module.js +7 -6
  29. package/src/rich-text-editor/renderer/slash-menu.js +9 -0
  30. package/src/rich-text-editor/renderer/table-module.js +1 -1
  31. package/src/selection/selection.d.ts +2 -1
  32. package/src/selection/selection.js +15 -12
@@ -4247,6 +4247,10 @@ var SELF_CLOSING_TAGS = ['area', 'base', 'br', 'embed', 'hr', 'img', 'input', 'p
4247
4247
  * @hidden
4248
4248
  */
4249
4249
  var PASTE_SOURCE = ['word', 'excel', 'onenote'];
4250
+ /**
4251
+ * @hidden
4252
+ */
4253
+ var ALLOWED_TABLE_BLOCK_TAGS = ['article', 'aside', 'blockquote', 'body', 'canvas', 'details', 'div', 'fieldset', 'figure', 'footer', 'form', 'header', 'li', 'main', 'nav', 'noscript', 'section'];
4250
4254
 
4251
4255
  /**
4252
4256
  * `Selection` module is used to handle RTE Selections.
@@ -4375,7 +4379,8 @@ var NodeSelection = /** @__PURE__ @class */ (function () {
4375
4379
  var tableCursor = this.processedTableImageCursor(range);
4376
4380
  if (tableCursor.start || tableCursor.end) {
4377
4381
  if (tableCursor.startName === 'TABLE' || tableCursor.endName === 'TABLE') {
4378
- return [];
4382
+ var tableNode = tableCursor.start ? tableCursor.startNode : tableCursor.endNode;
4383
+ return [tableNode];
4379
4384
  }
4380
4385
  }
4381
4386
  if ((startNode === endNode || (startNode.nodeName === 'BR' && startNode === range.endContainer.childNodes[range.endOffset])) &&
@@ -4701,34 +4706,36 @@ var NodeSelection = /** @__PURE__ @class */ (function () {
4701
4706
  var customHandlerElements = ['TABLE'];
4702
4707
  var startContainer = range.startContainer;
4703
4708
  var startOffset = range.startOffset;
4709
+ var startNode = startContainer.childNodes[startOffset];
4704
4710
  var isCursorAtStart = range.collapsed && (startContainer.nodeType === 1) &&
4705
- startContainer.isContentEditable && startContainer.childNodes[startOffset] &&
4706
- (customHandlerElements.indexOf(startContainer.childNodes[startOffset].nodeName) > -1);
4711
+ startContainer.isContentEditable && startNode &&
4712
+ (customHandlerElements.indexOf(startNode.nodeName) > -1);
4707
4713
  if (isCursorAtStart) {
4708
- return { start: isCursorAtStart, startNodeName: startContainer.childNodes[startOffset].nodeName };
4714
+ return { start: isCursorAtStart, startNodeName: startNode.nodeName, startNode: startNode };
4709
4715
  }
4710
4716
  else {
4711
- return { start: false, startNodeName: '' };
4717
+ return { start: false, startNodeName: '', startNode: undefined };
4712
4718
  }
4713
4719
  };
4714
4720
  NodeSelection.prototype.isTableOrImageEnd = function (range) {
4715
4721
  var customHandlerElements = ['TABLE'];
4716
4722
  var startContainer = range.startContainer;
4717
4723
  var startOffset = range.startOffset;
4724
+ var endNode = startContainer.childNodes[startOffset - 1];
4718
4725
  var isCursorAtEnd = range.collapsed && (startContainer.nodeType === 1) &&
4719
- startContainer.isContentEditable && startContainer.childNodes[startOffset - 1] &&
4720
- (customHandlerElements.indexOf(startContainer.childNodes[startOffset - 1].nodeName) > -1);
4726
+ startContainer.isContentEditable && endNode &&
4727
+ (customHandlerElements.indexOf(endNode.nodeName) > -1);
4721
4728
  if (isCursorAtEnd) {
4722
- return { end: isCursorAtEnd, endNodeName: startContainer.childNodes[startOffset - 1].nodeName };
4729
+ return { end: isCursorAtEnd, endNodeName: endNode.nodeName, endNode: endNode };
4723
4730
  }
4724
4731
  else {
4725
- return { end: false, endNodeName: '' };
4732
+ return { end: false, endNodeName: '', endNode: undefined };
4726
4733
  }
4727
4734
  };
4728
4735
  NodeSelection.prototype.processedTableImageCursor = function (range) {
4729
- var _a = this.isTableOrImageStart(range), start = _a.start, startNodeName = _a.startNodeName;
4730
- var _b = this.isTableOrImageEnd(range), end = _b.end, endNodeName = _b.endNodeName;
4731
- return { start: start, startName: startNodeName, end: end, endName: endNodeName };
4736
+ var _a = this.isTableOrImageStart(range), start = _a.start, startNodeName = _a.startNodeName, startNode = _a.startNode;
4737
+ var _b = this.isTableOrImageEnd(range), end = _b.end, endNodeName = _b.endNodeName, endNode = _b.endNode;
4738
+ return { start: start, startName: startNodeName, end: end, endName: endNodeName, startNode: startNode, endNode: endNode };
4732
4739
  };
4733
4740
  return NodeSelection;
4734
4741
  }());
@@ -4816,7 +4823,8 @@ function updateTextNode$1(value, enterAction) {
4816
4823
  }
4817
4824
  var tableElm = resultElm.querySelectorAll('table');
4818
4825
  for (var i = 0; i < tableElm.length; i++) {
4819
- if (tableElm[i].classList.length > 0 && !tableElm[i].classList.contains('e-rte-table')) {
4826
+ if (tableElm[i].classList.length > 0 && !tableElm[i].classList.contains('e-rte-table') &&
4827
+ !tableElm[i].classList.contains('e-rte-custom-table')) {
4820
4828
  tableElm[i].classList.add('e-rte-paste-table');
4821
4829
  if (tableElm[i].classList.contains('e-rte-paste-word-table')) {
4822
4830
  tableElm[i].classList.remove('e-rte-paste-word-table');
@@ -6928,18 +6936,6 @@ var imageResizeFactor = {
6928
6936
  botRight: [1, 1],
6929
6937
  botLeft: [-1, 1]
6930
6938
  };
6931
- /**
6932
- * Resize factor for image in iframe editor.
6933
- *
6934
- *@hidden
6935
- *
6936
- */
6937
- var iframeResizeFactor = {
6938
- topLeft: [-1.2, -1.2],
6939
- topRight: [1.2, -1.2],
6940
- botRight: [1.2, 1.2],
6941
- botLeft: [-1.2, 1.2]
6942
- };
6943
6939
  /**
6944
6940
  * Mention restrict key configuration.
6945
6941
  *
@@ -7466,9 +7462,6 @@ var Image$1 = /** @__PURE__ @class */ (function () {
7466
7462
  return dimensions;
7467
7463
  };
7468
7464
  Image.prototype.getResizeFactor = function (value) {
7469
- if (this.parent.iframeSettings.enable) {
7470
- return iframeResizeFactor[value];
7471
- }
7472
7465
  return imageResizeFactor[value];
7473
7466
  };
7474
7467
  Image.prototype.findAspectRatio = function (image) {
@@ -7884,7 +7877,9 @@ var Image$1 = /** @__PURE__ @class */ (function () {
7884
7877
  _this.parent.formatter.editorManager.nodeSelection.Clear(_this.contentModule.getDocument());
7885
7878
  _this.parent.formatter.editorManager.nodeSelection.setSelectionContents(_this.contentModule.getDocument(), target);
7886
7879
  _this.quickToolObj.imageQTBar.showPopup(args.pageX, pageY, target);
7887
- _this.resizeStart(e.args, target);
7880
+ if (_this.parent.insertImageSettings.resize === true) {
7881
+ _this.resizeStart(e.args, target);
7882
+ }
7888
7883
  }, 400);
7889
7884
  }
7890
7885
  else {
@@ -9364,7 +9359,9 @@ var Image$1 = /** @__PURE__ @class */ (function () {
9364
9359
  if (imageElement) {
9365
9360
  this.showImageQTbarTime = setTimeout(function () {
9366
9361
  _this.showImageQuickToolbar(args);
9367
- _this.resizeStart(e.args, imageElement);
9362
+ if (_this.parent.insertImageSettings.resize) {
9363
+ _this.resizeStart(e.args, imageElement);
9364
+ }
9368
9365
  }, 0);
9369
9366
  }
9370
9367
  };
@@ -13476,7 +13473,7 @@ var Table = /** @__PURE__ @class */ (function () {
13476
13473
  return;
13477
13474
  }
13478
13475
  var target = e.target || e.targetTouches[0].target;
13479
- var closestTable = closest(target, 'table.e-rte-table, table.e-rte-paste-table');
13476
+ var closestTable = closest(target, 'table.e-rte-table, table.e-rte-paste-table, table.e-rte-custom-table');
13480
13477
  var isResizing = this.parent.contentModule.getEditPanel().querySelectorAll('.e-table-box.e-rbox-select, .e-table-rhelper.e-column-helper, .e-table-rhelper.e-row-helper').length > 0;
13481
13478
  if (!isResizing && !isNullOrUndefined(this.curTable) && !isNullOrUndefined(closestTable) && closestTable !== this.curTable &&
13482
13479
  this.parent.contentModule.getEditPanel().contains(closestTable)) {
@@ -14731,7 +14728,7 @@ var DialogRenderer = /** @__PURE__ @class */ (function () {
14731
14728
  return DialogRenderer;
14732
14729
  }());
14733
14730
 
14734
- var IFRAME_EDITOR_STYLES = "\n@charset \"UTF-8\";\n\nhtml {\n height: auto;\n}\n\nhtml, body {\n margin: 0;\n}\n\nbody {\n color: #333;\n word-wrap: break-word;\n}\n\n.e-content {\n background: unset;\n box-sizing: border-box;\n min-height: 100px;\n outline: 0 solid transparent;\n padding: 16px;\n position: relative;\n overflow-x: auto;\n font-weight: normal;\n line-height: 1.5;\n font-size: 14px;\n text-align: inherit;\n font-family: \"Roboto\", \"Segoe UI\", \"GeezaPro\", \"DejaVu Serif\", \"sans-serif\", \"-apple-system\", \"BlinkMacSystemFont\";\n}\n\n.e-content p {\n margin: 0 0 10px;\n margin-bottom: 10px;\n}\n\n.e-content h1 {\n font-size: 2.857em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h2 {\n font-size: 2.285em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h3 {\n font-size: 2em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h4 {\n font-size: 1.714em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h5 {\n font-size: 1.428em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h6 {\n font-size: 1.142em;\n font-weight: 600;\n line-height: 1.5;\n margin: 10px 0;\n}\n\n.e-content blockquote {\n margin: 10px 0;\n padding-left: 12px;\n border-left: 2px solid #5c5c5c;\n}\n\n.e-rtl.e-content blockquote {\n padding-left: 0;\n padding-right: 12px;\n}\n\n.e-content pre {\n border: 0;\n border-radius: 0;\n color: #333;\n font-size: inherit;\n line-height: inherit;\n margin: 0 0 10px;\n overflow: visible;\n padding: 0;\n white-space: pre-wrap;\n word-break: inherit;\n word-wrap: break-word;\n}\n\n.e-content code {\n background: #9d9d9d26;\n color: #ed484c;\n}\n\n.e-content strong,\n.e-content b {\n font-weight: bold;\n}\n\n.e-content a {\n text-decoration: none;\n user-select: auto;\n}\n\n.e-content a:hover {\n text-decoration: underline;\n}\n\n.e-content li {\n margin-bottom: 10px;\n}\n\n.e-content li ol,\n.e-content li ul {\n margin-block-start: 10px;\n}\n\n.e-content ul {\n list-style-type: disc;\n}\n\n.e-content ul ul,\n.e-content ol ul {\n list-style-type: circle;\n}\n\n.e-content ul ul ul,\n.e-content ol ul ul,\n.e-content ul ol ul,\n.e-content ol ol ul {\n list-style-type: square;\n}\n\n.e-rte-image,\n.e-rte-video {\n border: 0;\n cursor: pointer;\n display: block;\n float: none;\n height: auto;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-content p:last-child,\n.e-content pre:last-child,\n.e-content blockquote:last-child {\n margin-bottom: 0;\n}\n\n.e-content h3 + h4,\n.e-content h4 + h5,\n.e-content h5 + h6 {\n margin-top: 0.6em;\n}\n\n.e-content ul:last-child {\n margin-bottom: 0;\n}\n\n.e-content table {\n margin-bottom: 10px;\n border-collapse: collapse;\n empty-cells: show;\n}\n\n.e-content table.e-cell-select {\n position: relative;\n}\n\n.e-content table.e-cell-select::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4a90e2;\n pointer-events: none;\n}\n\ntable .e-cell-select {\n border: 1px double #4a90e2 !important;\n}\n\n.e-content table.e-rte-table th {\n background-color: #E0E0E0;\n}\n\n.e-rte-table td,\n.e-rte-table th {\n border: 1px solid #BDBDBD;\n height: 20px;\n min-width: 20px;\n padding: 2px 5px;\n box-sizing: border-box;\n}\n\n.e-rte-table td.e-cell-select.e-multi-cells-select,\n.e-rte-table th.e-cell-select.e-multi-cells-select {\n position: relative;\n}\n\n.e-rte-table td.e-cell-select.e-multi-cells-select::after,\n.e-rte-table th.e-cell-select.e-multi-cells-select::after {\n background-color: rgba(13, 110, 253, 0.08);\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n bottom: 0;\n pointer-events: none;\n right: 0;\n}\n\ntable td.e-multi-cells-select ::selection,\ntable th.e-multi-cells-select ::selection {\n background-color: transparent;\n}\n\ntd.e-multi-cells-select,\nth.e-multi-cells-select {\n user-select: none !important;\n}\n\n.e-rte-table.e-dashed-border td,\n.e-rte-table.e-dashed-border th {\n border-style: dashed;\n}\n\n.e-rte-table .e-alternate-border tbody tr:nth-child(2n) {\n background-color: #F5F5F5;\n}\n\n.e-rte-audio {\n border: 0;\n cursor: pointer;\n display: block;\n float: none;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-rte-image.e-imginline,\n.e-rte-audio.e-audio-inline,\n.e-rte-video.e-video-inline {\n display: inline-block;\n float: none;\n margin-left: 5px;\n margin-right: 5px;\n max-width: calc(100% - (2 * 5px));\n padding: 1px;\n vertical-align: bottom;\n}\n\n.e-rte-image.e-imgcenter,\n.e-rte-video.e-video-center {\n cursor: pointer;\n display: block;\n float: none;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-rte-image.e-imgright,\n.e-rte-video.e-video-right {\n float: right;\n margin: 0 auto;\n margin-left: 5px;\n text-align: right;\n}\n\n.e-rte-image.e-imgleft,\n.e-rte-video.e-video-left {\n float: left;\n margin: 0 auto;\n margin-right: 5px;\n text-align: left;\n}\n\n.e-img-caption {\n display: inline-block;\n float: none;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-img-caption.e-caption-inline {\n display: inline-block;\n float: none;\n margin: 5px auto;\n margin-left: 5px;\n margin-right: 5px;\n max-width: calc(100% - (2 * 5px));\n position: relative;\n text-align: center;\n vertical-align: bottom;\n}\n\n.e-rte-img-caption.e-imgcenter {\n display: contents;\n margin-left: auto;\n margin-right: auto;\n}\n\n.e-rte-img-caption.e-imgright {\n display: contents;\n margin-left: auto;\n margin-right: 0;\n}\n\n.e-rte-img-caption.e-imgleft {\n display: contents;\n margin-left: 0;\n margin-right: auto;\n}\n\n.e-img-caption.e-rte-img-caption.e-imgbreak {\n display: contents;\n}\n\n.e-img-inner {\n box-sizing: border-box;\n display: block;\n font-size: 16px;\n font-weight: initial;\n margin: auto;\n opacity: .9;\n text-align: center;\n width: 100%;\n}\n\n.e-img-wrap {\n display: inline-block;\n margin: auto;\n padding: 0;\n text-align: center;\n width: 100%;\n}\n\n.e-imgleft,\n.e-video-left {\n float: left;\n margin: 0 5px 0 0;\n text-align: left;\n}\n\n.e-imgright,\n.e-video-right {\n float: right;\n margin: 0 0 0 5px;\n text-align: right;\n}\n\n.e-imgcenter,\n.e-video-center {\n cursor: pointer;\n display: block;\n float: none;\n height: auto;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-control img:not(.e-resize) {\n border: 2px solid transparent;\n z-index: 1000\n}\n\n.e-imginline,\n.e-audio-inline,\n.e-video-inline {\n display: inline-block;\n float: none;\n margin-left: 5px;\n margin-right: 5px;\n max-width: calc(100% - (2 * 5px));\n vertical-align: bottom;\n}\n\n.e-imgbreak,\n.e-audio-break,\n.e-video-break {\n border: 0;\n cursor: pointer;\n display: block;\n float: none;\n height: auto;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-rte-image.e-img-focus:not(.e-resize),\n.e-audio-focus:not(.e-resize),\n.e-video-focus:not(.e-resize) {\n border: solid 2px #4a90e2;\n}\n\nimg.e-img-focus::selection,\naudio.e-audio-focus::selection,\n.e-video-focus::selection {\n background: transparent;\n color: transparent;\n}\n\nspan.e-rte-imageboxmark,\nspan.e-rte-videoboxmark {\n width: 10px;\n height: 10px;\n position: absolute;\n display: block;\n background: #4a90e2;\n border: 1px solid #fff;\n z-index: 1000;\n}\n\n.e-mob-rte.e-mob-span span.e-rte-imageboxmark,\n.e-mob-rte.e-mob-span span.e-rte-videoboxmark {\n background: #4a90e2;\n border: 1px solid #fff;\n}\n\n.e-mob-rte span.e-rte-imageboxmark,\n.e-mob-rte span.e-rte-videoboxmark {\n background: #fff;\n border: 1px solid #4a90e2;\n border-radius: 15px;\n height: 20px;\n width: 20px;\n}\n\n.e-mob-rte.e-mob-span span.e-rte-imageboxmark,\n.e-mob-rte.e-mob-span span.e-rte-videoboxmark {\n background: #4a90e2;\n border: 1px solid #fff;\n}\n\n.e-content img.e-resize,\n.e-content video.e-resize {\n z-index: 1000;\n}\n\n.e-img-caption .e-img-inner {\n outline: 0;\n}\n\n.e-rte-img-caption.e-imgleft .e-img-inner {\n float: left;\n text-align: left;\n}\n\n.e-rte-img-caption.e-imgright .e-img-inner {\n float: right;\n text-align: right;\n}\n\n.e-rte-img-caption.e-imgleft .e-img-wrap,\n.e-rte-img-caption.e-imgright .e-img-wrap {\n display: contents;\n}\n\n.e-img-caption a:focus-visible {\n outline: none;\n}\n\n.e-rte-img-caption .e-rte-image.e-imgright {\n margin-left: auto;\n margin-right: 0;\n}\n\n.e-rte-img-caption .e-rte-image.e-imgleft {\n margin: 0;\n}\n\nspan.e-table-box {\n cursor: nwse-resize;\n display: block;\n height: 10px;\n position: absolute;\n width: 10px;\n background-color: #ffffff;\n border: 1px solid #BDBDBD;\n}\n\nspan.e-table-box.e-rmob {\n height: 14px;\n width: 14px;\n background-color: #BDBDBD;\n border: 1px solid #BDBDBD;\n}\n\n.e-row-resize,\n.e-column-resize {\n background-color: transparent;\n background-repeat: repeat;\n bottom: 0;\n cursor: col-resize;\n height: 1px;\n overflow: visible;\n position: absolute;\n width: 1px;\n}\n\n.e-row-resize {\n cursor: row-resize;\n height: 1px;\n}\n\n.e-table-rhelper {\n cursor: col-resize;\n opacity: .87;\n position: absolute;\n}\n\n.e-table-rhelper.e-column-helper {\n width: 1px;\n}\n\n.e-table-rhelper.e-row-helper {\n height: 1px;\n}\n\n.e-reicon::before {\n border-bottom: 6px solid transparent;\n border-right: 6px solid;\n border-top: 6px solid transparent;\n content: '';\n display: block;\n height: 0;\n position: absolute;\n right: 4px;\n top: 4px;\n width: 20px;\n}\n\n.e-reicon::after {\n border-bottom: 6px solid transparent;\n border-left: 6px solid;\n border-top: 6px solid transparent;\n content: '';\n display: block;\n height: 0;\n left: 4px;\n position: absolute;\n top: 4px;\n width: 20px;\n z-index: 3;\n}\n\n.e-row-helper.e-reicon::after {\n top: 10px;\n transform: rotate(90deg);\n}\n\n.e-row-helper.e-reicon::before {\n left: 4px;\n top: -20px;\n transform: rotate(90deg);\n}\n\n\n.e-table-rhelper {\n background-color: #4a90e2;\n}\n\n.e-rtl {\n direction: rtl;\n}\n\n.e-rte-placeholder::before {\n content: attr(placeholder);\n opacity: 0.54;\n overflow: hidden;\n padding-top: 16px;\n position: absolute;\n text-align: start;\n top: 0;\n z-index: 1;\n}\n\n.e-resize-enabled,\n.e-count-enabled {\n padding-bottom: 0px;\n}\n";
14731
+ var IFRAME_EDITOR_STYLES = "\n@charset \"UTF-8\";\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n height: auto;\n}\n\nhtml, body {\n margin: 0;\n}\n\nbody {\n color: #333;\n word-wrap: break-word;\n}\n\n.e-content {\n background: unset;\n min-height: 100px;\n outline: 0 solid transparent;\n padding: 16px;\n position: relative;\n overflow-x: auto;\n font-weight: normal;\n line-height: 1.5;\n font-size: 14px;\n text-align: inherit;\n font-family: \"Roboto\", \"Segoe UI\", \"GeezaPro\", \"DejaVu Serif\", \"sans-serif\", \"-apple-system\", \"BlinkMacSystemFont\";\n}\n\n.e-content p {\n margin: 0 0 10px;\n margin-bottom: 10px;\n}\n\n.e-content h1 {\n font-size: 2.857em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h2 {\n font-size: 2.285em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h3 {\n font-size: 2em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h4 {\n font-size: 1.714em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h5 {\n font-size: 1.428em;\n font-weight: 600;\n line-height: 1.2;\n margin: 10px 0;\n}\n\n.e-content h6 {\n font-size: 1.142em;\n font-weight: 600;\n line-height: 1.5;\n margin: 10px 0;\n}\n\n.e-content blockquote {\n margin: 10px 0;\n padding-left: 12px;\n border-left: 2px solid #5c5c5c;\n}\n\n.e-rtl.e-content blockquote {\n padding-left: 0;\n padding-right: 12px;\n}\n\n.e-content pre {\n border: 0;\n border-radius: 0;\n color: #333;\n font-size: inherit;\n line-height: inherit;\n margin: 0 0 10px;\n overflow: visible;\n padding: 0;\n white-space: pre-wrap;\n word-break: inherit;\n word-wrap: break-word;\n}\n\n.e-content code {\n background: #9d9d9d26;\n color: #ed484c;\n}\n\n.e-content strong,\n.e-content b {\n font-weight: bold;\n}\n\n.e-content a {\n text-decoration: none;\n user-select: auto;\n}\n\n.e-content a:hover {\n text-decoration: underline;\n}\n\n.e-content li {\n margin-bottom: 10px;\n}\n\n.e-content li ol,\n.e-content li ul {\n margin-block-start: 10px;\n}\n\n.e-content ul {\n list-style-type: disc;\n}\n\n.e-content ul ul,\n.e-content ol ul {\n list-style-type: circle;\n}\n\n.e-content ul ul ul,\n.e-content ol ul ul,\n.e-content ul ol ul,\n.e-content ol ol ul {\n list-style-type: square;\n}\n\n.e-content p:last-child,\n.e-content pre:last-child,\n.e-content blockquote:last-child {\n margin-bottom: 0;\n}\n\n.e-content h3 + h4,\n.e-content h4 + h5,\n.e-content h5 + h6 {\n margin-top: 0.6em;\n}\n\n.e-content ul:last-child {\n margin-bottom: 0;\n}\n\n.e-content table {\n margin-bottom: 10px;\n border-collapse: collapse;\n empty-cells: show;\n}\n\n.e-content table.e-cell-select {\n position: relative;\n}\n\n.e-content table.e-cell-select::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4a90e2;\n pointer-events: none;\n}\n\ntable .e-cell-select {\n border: 1px double #4a90e2 !important;\n}\n\n.e-content table.e-rte-table th {\n background-color: #E0E0E0;\n}\n\n.e-rte-table td,\n.e-rte-table th {\n border: 1px solid #BDBDBD;\n height: 20px;\n min-width: 20px;\n padding: 2px 5px;\n}\n\n.e-rte-table td.e-cell-select.e-multi-cells-select,\n.e-rte-table th.e-cell-select.e-multi-cells-select {\n position: relative;\n}\n\n.e-rte-table td.e-cell-select.e-multi-cells-select::after,\n.e-rte-table th.e-cell-select.e-multi-cells-select::after {\n background-color: rgba(13, 110, 253, 0.08);\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n bottom: 0;\n pointer-events: none;\n right: 0;\n}\n\ntable td.e-multi-cells-select ::selection,\ntable th.e-multi-cells-select ::selection {\n background-color: transparent;\n}\n\ntd.e-multi-cells-select,\nth.e-multi-cells-select {\n user-select: none !important;\n}\n\n.e-rte-table.e-dashed-border td,\n.e-rte-table.e-dashed-border th {\n border-style: dashed;\n}\n\n.e-rte-table .e-alternate-border tbody tr:nth-child(2n) {\n background-color: #F5F5F5;\n}\n\n.e-rte-image,\n.e-rte-audio,\n.e-rte-video {\n border: 0;\n cursor: pointer;\n display: block;\n float: none;\n margin: auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-rte-image.e-imginline,\n.e-rte-audio.e-audio-inline,\n.e-rte-video.e-video-inline {\n margin-left: 5px;\n margin-right: 5px;\n display: inline-block;\n float: none;\n max-width: 100%;\n padding: 1px;\n vertical-align: bottom;\n}\n\n.e-rte-image.e-imgcenter,\n.e-rte-video.e-video-center {\n cursor: pointer;\n display: block;\n float: none;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-rte-image.e-imgright,\n.e-rte-video.e-video-right {\n float: right;\n margin: 0 auto;\n margin-left: 5px;\n text-align: right;\n}\n\n.e-rte-image.e-imgleft,\n.e-rte-video.e-video-left {\n float: left;\n margin: 0 auto;\n margin-right: 5px;\n text-align: left;\n}\n\n.e-rte-img-caption {\n display: inline-block;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-rte-img-caption.e-caption-inline {\n display: inline-block;\n margin: 5px auto;\n margin-left: 5px;\n margin-right: 5px;\n max-width: calc(100% - (2 * 5px));\n position: relative;\n text-align: center;\n vertical-align: bottom;\n}\n\n.e-rte-img-caption.e-imgcenter {\n display: contents;\n margin-left: auto;\n margin-right: auto;\n}\n\n.e-rte-img-caption.e-imgright {\n display: contents;\n margin-left: auto;\n margin-right: 0;\n}\n\n.e-rte-img-caption.e-imgleft {\n display: contents;\n margin-left: 0;\n margin-right: auto;\n}\n\n.e-img-caption.e-rte-img-caption.e-imgbreak {\n display: contents;\n}\n\n.e-rte-img-caption .e-img-inner {\n display: block;\n font-size: 16px;\n font-weight: initial;\n margin: auto;\n opacity: .9;\n position: relative;\n text-align: center;\n width: 100%;\n}\n\n.e-img-wrap {\n display: inline-block;\n margin: auto;\n padding: 0;\n text-align: center;\n width: 100%;\n}\n\n.e-imgleft,\n.e-video-left {\n float: left;\n margin: 0 5px 0 0;\n text-align: left;\n}\n\n.e-imgright,\n.e-video-right {\n float: right;\n margin: 0 0 0 5px;\n text-align: right;\n}\n\n.e-imgcenter,\n.e-video-center {\n cursor: pointer;\n display: block;\n float: none;\n height: auto;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-control img:not(.e-resize) {\n border: 2px solid transparent;\n z-index: 1000\n}\n\n.e-imginline,\n.e-audio-inline,\n.e-video-inline {\n display: inline-block;\n float: none;\n margin-left: 5px;\n margin-right: 5px;\n vertical-align: bottom;\n}\n\n.e-imgbreak,\n.e-audio-break,\n.e-video-break {\n border: 0;\n cursor: pointer;\n display: block;\n float: none;\n height: auto;\n margin: 5px auto;\n max-width: 100%;\n position: relative;\n}\n\n.e-rte-image.e-img-focus:not(.e-resize),\n.e-audio-focus:not(.e-resize),\n.e-video-focus:not(.e-resize) {\n border: solid 2px #4a90e2;\n}\n\nimg.e-img-focus::selection,\naudio.e-audio-focus::selection,\n.e-video-focus::selection {\n background: transparent;\n color: transparent;\n}\n\nspan.e-rte-imageboxmark,\nspan.e-rte-videoboxmark {\n width: 10px;\n height: 10px;\n position: absolute;\n display: block;\n background: #4a90e2;\n border: 1px solid #fff;\n z-index: 1000;\n}\n\n.e-mob-rte.e-mob-span span.e-rte-imageboxmark,\n.e-mob-rte.e-mob-span span.e-rte-videoboxmark {\n background: #4a90e2;\n border: 1px solid #fff;\n}\n\n.e-mob-rte span.e-rte-imageboxmark,\n.e-mob-rte span.e-rte-videoboxmark {\n background: #fff;\n border: 1px solid #4a90e2;\n border-radius: 15px;\n height: 20px;\n width: 20px;\n}\n\n.e-mob-rte.e-mob-span span.e-rte-imageboxmark,\n.e-mob-rte.e-mob-span span.e-rte-videoboxmark {\n background: #4a90e2;\n border: 1px solid #fff;\n}\n\n.e-content img.e-resize,\n.e-content video.e-resize {\n z-index: 1000;\n}\n\n.e-img-caption .e-img-inner {\n outline: 0;\n}\n\n.e-rte-img-caption.e-imgleft .e-img-inner {\n float: left;\n text-align: left;\n}\n\n.e-rte-img-caption.e-imgright .e-img-inner {\n float: right;\n text-align: right;\n}\n\n.e-rte-img-caption.e-imgleft .e-img-wrap,\n.e-rte-img-caption.e-imgright .e-img-wrap {\n display: contents;\n}\n\n.e-img-caption a:focus-visible {\n outline: none;\n}\n\n.e-rte-img-caption .e-rte-image.e-imgright {\n margin-left: auto;\n margin-right: 0;\n}\n\n.e-rte-img-caption .e-rte-image.e-imgleft {\n margin: 0;\n}\n\nspan.e-table-box {\n cursor: nwse-resize;\n display: block;\n height: 10px;\n position: absolute;\n width: 10px;\n background-color: #ffffff;\n border: 1px solid #BDBDBD;\n}\n\nspan.e-table-box.e-rmob {\n height: 14px;\n width: 14px;\n background-color: #BDBDBD;\n border: 1px solid #BDBDBD;\n}\n\n.e-row-resize,\n.e-column-resize {\n background-color: transparent;\n background-repeat: repeat;\n bottom: 0;\n cursor: col-resize;\n height: 1px;\n overflow: visible;\n position: absolute;\n width: 1px;\n}\n\n.e-row-resize {\n cursor: row-resize;\n height: 1px;\n}\n\n.e-table-rhelper {\n cursor: col-resize;\n opacity: .87;\n position: absolute;\n}\n\n.e-table-rhelper.e-column-helper {\n width: 1px;\n}\n\n.e-table-rhelper.e-row-helper {\n height: 1px;\n}\n\n.e-reicon::before {\n border-bottom: 6px solid transparent;\n border-right: 6px solid;\n border-top: 6px solid transparent;\n content: '';\n display: block;\n height: 0;\n position: absolute;\n right: 4px;\n top: 4px;\n width: 20px;\n}\n\n.e-reicon::after {\n border-bottom: 6px solid transparent;\n border-left: 6px solid;\n border-top: 6px solid transparent;\n content: '';\n display: block;\n height: 0;\n left: 4px;\n position: absolute;\n top: 4px;\n width: 20px;\n z-index: 3;\n}\n\n.e-row-helper.e-reicon::after {\n top: 10px;\n transform: rotate(90deg);\n}\n\n.e-row-helper.e-reicon::before {\n left: 4px;\n top: -20px;\n transform: rotate(90deg);\n}\n\n\n.e-table-rhelper {\n background-color: #4a90e2;\n}\n\n.e-rtl {\n direction: rtl;\n}\n\n.e-rte-placeholder::before {\n content: attr(placeholder);\n opacity: 0.54;\n overflow: hidden;\n padding-top: 16px;\n position: absolute;\n text-align: start;\n top: 0;\n z-index: 1;\n}\n\n.e-resize-enabled,\n.e-count-enabled {\n padding-bottom: 0px;\n}\n";
14735
14732
 
14736
14733
  var __extends$1 = (undefined && undefined.__extends) || (function () {
14737
14734
  var extendStatics = function (d, b) {
@@ -15302,6 +15299,15 @@ var SlashMenu = /** @__PURE__ @class */ (function () {
15302
15299
  break;
15303
15300
  }
15304
15301
  }
15302
+ else {
15303
+ if (_this.parent.inputElement.classList.contains('e-mention')) {
15304
+ var slashMenuPopup = _this.parent.inputElement.ownerDocument.getElementById(_this.parent.inputElement.id + '_slash_menu_popup');
15305
+ var isSlashMenuPopupOpen = slashMenuPopup && slashMenuPopup.classList.contains('e-popup-open');
15306
+ if (isSlashMenuPopupOpen) {
15307
+ _this.mention.hidePopup();
15308
+ }
15309
+ }
15310
+ }
15305
15311
  }
15306
15312
  });
15307
15313
  };
@@ -23459,7 +23465,7 @@ var NodeCutter = /** @__PURE__ @class */ (function () {
23459
23465
  fragment = this.spliceEmptyNode(fragment, false);
23460
23466
  if (fragment && fragment.childNodes.length > 0) {
23461
23467
  var isEmpty = (fragment.childNodes.length === 1 && fragment.childNodes[0].nodeName !== 'IMG' && !(fragment.querySelectorAll('img').length > 0)
23462
- && this.isRteElm(fragment) && fragment.textContent.trim() === '') ? true : false;
23468
+ && this.isRteElm(fragment) && fragment.textContent.trim() === '' && fragment.textContent !== ' ' && fragment.textContent.charCodeAt(0) !== 160) ? true : false;
23463
23469
  if (!isEmpty) {
23464
23470
  if (node) {
23465
23471
  InsertMethods.AppendBefore(fragment, node);
@@ -23480,7 +23486,7 @@ var NodeCutter = /** @__PURE__ @class */ (function () {
23480
23486
  fragment = this.spliceEmptyNode(fragment, true);
23481
23487
  if (fragment && fragment.childNodes.length > 0) {
23482
23488
  var isEmpty = (fragment.childNodes.length === 1 && fragment.childNodes[0].nodeName !== 'IMG'
23483
- && this.isRteElm(fragment) && fragment.textContent.trim() === '') ? true : false;
23489
+ && this.isRteElm(fragment) && fragment.textContent.trim() === '' && fragment.textContent !== ' ' && fragment.textContent.charCodeAt(0) !== 160) ? true : false;
23484
23490
  if (!isEmpty) {
23485
23491
  if (node) {
23486
23492
  InsertMethods.AppendBefore(fragment, node, true);
@@ -23880,6 +23886,14 @@ var Formats = /** @__PURE__ @class */ (function () {
23880
23886
  };
23881
23887
  Formats.prototype.applyFormats = function (e) {
23882
23888
  var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
23889
+ var tableCursor = this.parent.nodeSelection.processedTableImageCursor(range);
23890
+ if (tableCursor.start || tableCursor.end) {
23891
+ if (tableCursor.startName === 'TABLE' || tableCursor.endName === 'TABLE') {
23892
+ var tableNode = tableCursor.start ? tableCursor.startNode : tableCursor.endNode;
23893
+ this.applyTableSidesFormat(e, tableCursor.start, tableNode);
23894
+ return;
23895
+ }
23896
+ }
23883
23897
  var isSelectAll = false;
23884
23898
  if (this.parent.editableElement === range.endContainer &&
23885
23899
  !isNullOrUndefined(this.parent.editableElement.children[range.endOffset - 1]) &&
@@ -24128,6 +24142,23 @@ var Formats = /** @__PURE__ @class */ (function () {
24128
24142
  element.style.removeProperty(ignoreAttr[i]);
24129
24143
  }
24130
24144
  };
24145
+ Formats.prototype.applyTableSidesFormat = function (e, start, table) {
24146
+ var formatNode = createElement(e.subCommand);
24147
+ if (!(e.enterAction === 'BR')) {
24148
+ formatNode.appendChild(createElement('br'));
24149
+ }
24150
+ table.insertAdjacentElement(start ? 'beforebegin' : 'afterend', formatNode);
24151
+ this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, formatNode, 0);
24152
+ if (e.callBack) {
24153
+ e.callBack({
24154
+ requestType: e.subCommand,
24155
+ editorMode: 'HTML',
24156
+ event: e.event,
24157
+ range: this.parent.nodeSelection.getRange(this.parent.currentDocument),
24158
+ elements: this.parent.domNode.blockNodes()
24159
+ });
24160
+ }
24161
+ };
24131
24162
  Formats.prototype.destroy = function () {
24132
24163
  this.removeEventListener();
24133
24164
  };
@@ -24237,7 +24268,12 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24237
24268
  }
24238
24269
  }
24239
24270
  if (!isNullOrUndefined(sibNode) && !isNullOrUndefined(sibNode.parentNode)) {
24240
- InsertMethods.AppendBefore(node, sibNode, true);
24271
+ if (docElement.contains(sibNode)) {
24272
+ InsertMethods.AppendBefore(node, sibNode, true);
24273
+ }
24274
+ else {
24275
+ range.insertNode(node);
24276
+ }
24241
24277
  }
24242
24278
  else {
24243
24279
  var previousNode = null;
@@ -24525,26 +24561,99 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24525
24561
  this.cursorPos(lastSelectionNode, node, nodeSelection, docElement, editNode, enterAction);
24526
24562
  }
24527
24563
  this.alignCheck(editNode);
24528
- var currentRange = nodeSelection.getRange(docElement);
24529
- this.listCleanUp(currentRange);
24564
+ this.listCleanUp(nodeSelection, docElement);
24530
24565
  };
24531
- InsertHtml.listCleanUp = function (range) {
24566
+ InsertHtml.listCleanUp = function (nodeSelection, docElement) {
24567
+ var range = nodeSelection.getRange(docElement);
24568
+ var startContainer = range.startContainer;
24569
+ var startOffset = range.startOffset;
24532
24570
  if (range.startContainer.parentElement.closest('ol,ul') !== null && range.endContainer.parentElement.closest('ol,ul') !== null) {
24533
- var liElems = range.startContainer.parentElement.closest('ol,ul').querySelectorAll('li');
24534
- if (liElems.length > 0) {
24535
- liElems.forEach(function (item) {
24536
- if (!isNullOrUndefined(item.firstChild) && (item.firstChild.nodeName === 'OL' || item.firstChild.nodeName === 'UL')) {
24537
- item.style.listStyleType = 'none';
24538
- }
24539
- var nestedLi = Array.from(item.children).find(function (child) {
24540
- return child.tagName === 'LI' && (child.parentElement && child.parentElement.tagName !== 'OL' && child.parentElement.tagName !== 'UL');
24541
- });
24542
- if (nestedLi) {
24543
- item.parentNode.replaceChild(nestedLi, item);
24571
+ var haslistCleanUp = this.cleanUpListItems(range.startContainer.parentElement.closest('ol,ul'));
24572
+ var haslistContainerCleanUp = this.cleanUpListContainer(range.startContainer.parentElement.closest('ol,ul'));
24573
+ if (haslistCleanUp || haslistContainerCleanUp) {
24574
+ range.setStart(startContainer, startOffset);
24575
+ range.setEnd(startContainer, startOffset);
24576
+ }
24577
+ }
24578
+ };
24579
+ InsertHtml.cleanUpListItems = function (parentContainer) {
24580
+ var _this = this;
24581
+ var hasListCleanUp = false;
24582
+ var listItems = parentContainer.closest('ol, ul').querySelectorAll('li');
24583
+ if (listItems.length === 0) {
24584
+ return false;
24585
+ }
24586
+ var nearestListItem = null;
24587
+ listItems.forEach(function (listItem) {
24588
+ if (!isNullOrUndefined(listItem.firstChild) && (listItem.firstChild.nodeName === 'OL' || listItem.firstChild.nodeName === 'UL')) {
24589
+ listItem.style.listStyleType = 'none';
24590
+ }
24591
+ var parentElement = listItem.parentElement;
24592
+ if (!isNullOrUndefined(parentElement) && parentElement.nodeName !== 'OL' && parentElement.nodeName !== 'UL') {
24593
+ if (isNullOrUndefined(nearestListItem)) {
24594
+ nearestListItem = parentElement.closest('li');
24595
+ }
24596
+ if (!isNullOrUndefined(nearestListItem)) {
24597
+ var nextSibling = listItem.nextSibling;
24598
+ if (!isNullOrUndefined(nextSibling) && nextSibling.nodeName !== 'LI') {
24599
+ var startIndex = Array.prototype.indexOf.call(parentElement.childNodes, nextSibling);
24600
+ var clonedParent = parentElement.cloneNode(false);
24601
+ var totalChildren = parentElement.childNodes.length;
24602
+ for (var i = startIndex; i < totalChildren; i++) {
24603
+ clonedParent.appendChild(parentElement.childNodes[startIndex]);
24604
+ }
24605
+ if (clonedParent.childNodes.length > 0) {
24606
+ var newListItem = document.createElement('li');
24607
+ newListItem.appendChild(clonedParent);
24608
+ nearestListItem.insertAdjacentElement('afterend', newListItem);
24609
+ }
24610
+ else {
24611
+ clonedParent.remove();
24612
+ }
24544
24613
  }
24545
- });
24614
+ var closestList = parentElement.closest('ol, ul');
24615
+ nearestListItem.insertAdjacentElement('afterend', listItem);
24616
+ nearestListItem = nearestListItem.nextSibling;
24617
+ _this.removeEmptyElements(closestList);
24618
+ hasListCleanUp = true;
24619
+ }
24620
+ }
24621
+ var nestedLi = Array.from(listItem.children).find(function (child) {
24622
+ return child.tagName === 'LI' && (child.parentElement && child.parentElement.tagName !== 'OL' && child.parentElement.tagName !== 'UL');
24623
+ });
24624
+ if (nestedLi && listItem.parentNode) {
24625
+ listItem.parentNode.replaceChild(nestedLi, listItem);
24626
+ hasListCleanUp = true;
24546
24627
  }
24628
+ });
24629
+ return hasListCleanUp;
24630
+ };
24631
+ InsertHtml.cleanUpListContainer = function (parentList) {
24632
+ var hasListContainerCleanUp = false;
24633
+ var nonLiElementCollection = [];
24634
+ var replacements = [];
24635
+ if (!isNullOrUndefined(parentList)) {
24636
+ parentList.childNodes.forEach(function (childNode) {
24637
+ if (childNode.nodeName.toLocaleUpperCase() !== 'LI') {
24638
+ nonLiElementCollection.push(childNode);
24639
+ }
24640
+ if ((childNode.nodeName.toLocaleUpperCase() === 'LI' || parentList.lastChild === childNode) && nonLiElementCollection.length > 0) {
24641
+ replacements.push({ elements: nonLiElementCollection.slice() });
24642
+ nonLiElementCollection = [];
24643
+ }
24644
+ });
24645
+ replacements.forEach(function (_a) {
24646
+ var elements = _a.elements;
24647
+ var newListItem = document.createElement('li');
24648
+ elements[0].parentNode.replaceChild(newListItem, elements[0]);
24649
+ elements.forEach(function (child) { return newListItem.appendChild(child); });
24650
+ if (newListItem.textContent && newListItem.textContent.trim() === '') {
24651
+ parentList.removeChild(newListItem);
24652
+ }
24653
+ hasListContainerCleanUp = true;
24654
+ });
24547
24655
  }
24656
+ return hasListContainerCleanUp;
24548
24657
  };
24549
24658
  InsertHtml.placeCursorEnd = function (lastSelectionNode, node, nodeSelection, docElement, editNode) {
24550
24659
  lastSelectionNode = lastSelectionNode.nodeName === 'BR' ? (isNullOrUndefined(lastSelectionNode.previousSibling) ? lastSelectionNode.parentNode
@@ -24760,7 +24869,8 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24760
24869
  while (el && el.nodeType === 1) {
24761
24870
  if (el.parentNode === editNode ||
24762
24871
  (!isNullOrUndefined(el.parentNode.tagName) &&
24763
- IGNORE_BLOCK_TAGS.indexOf(el.parentNode.tagName.toLocaleLowerCase()) !== -1)) {
24872
+ (IGNORE_BLOCK_TAGS.indexOf(el.parentNode.tagName.toLocaleLowerCase()) !== -1
24873
+ || ALLOWED_TABLE_BLOCK_TAGS.indexOf(el.parentNode.tagName.toLocaleLowerCase()) !== -1))) {
24764
24874
  return el;
24765
24875
  }
24766
24876
  el = el.parentNode;
@@ -25542,8 +25652,14 @@ var ImageCommand = /** @__PURE__ @class */ (function () {
25542
25652
  (Browser.isIE ? selectedNode.previousSibling : selectedNode.previousElementSibling);
25543
25653
  var onImageLoadEvent_1 = function () {
25544
25654
  if (!isNullOrUndefined(_this.parent.currentDocument)) {
25545
- imgElm_1.setAttribute('width', imgElm_1.offsetWidth.toString());
25546
- imgElm_1.setAttribute('height', imgElm_1.offsetHeight.toString());
25655
+ var imgWidth = imgElm_1.getAttribute('width');
25656
+ var imgHeight = imgElm_1.getAttribute('height');
25657
+ if (isNullOrUndefined(imgWidth) || imgWidth === 'auto') {
25658
+ imgElm_1.setAttribute('width', imgElm_1.offsetWidth.toString());
25659
+ }
25660
+ if (isNullOrUndefined(imgHeight) || imgHeight === 'auto') {
25661
+ imgElm_1.setAttribute('height', imgElm_1.offsetHeight.toString());
25662
+ }
25547
25663
  e.callBack({
25548
25664
  requestType: (e.value === 'Replace') ? (e.item.subCommand = 'Replace', 'Replace') : 'Images',
25549
25665
  editorMode: 'HTML',
@@ -31669,7 +31785,11 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
31669
31785
  HtmlEditor.prototype.isTableClassAdded = function () {
31670
31786
  var tableElement = this.parent.inputElement.querySelectorAll('table');
31671
31787
  for (var i = 0; i < tableElement.length; i++) {
31672
- if (!tableElement[i].classList.contains('e-rte-table') && !tableElement[i].classList.contains('e-rte-paste-table')) {
31788
+ // e-rte-table class is added to the table element for styling.
31789
+ // e-rte-paste-table class is added for pasted table element from MS Word and other sources such as Web will not have any styles.
31790
+ // e-rte-custom-table class is added for custom table element will not have any styles.
31791
+ if (!tableElement[i].classList.contains('e-rte-table') && !tableElement[i].classList.contains('e-rte-paste-table')
31792
+ && !tableElement[i].classList.contains('e-rte-custom-table')) {
31673
31793
  tableElement[i].classList.add('e-rte-table');
31674
31794
  }
31675
31795
  }
@@ -32189,12 +32309,16 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
32189
32309
  }
32190
32310
  var brNode = this.deleteRangeElement.querySelector('BR');
32191
32311
  var brLastChildNode = this.deleteRangeElement.lastChild;
32312
+ var brParentNode = brLastChildNode.parentNode;
32192
32313
  if (brNode && brNode.classList.contains('e-rte-image-remove-focus')) {
32193
32314
  removeClass([brNode], ['e-rte-image-focus']);
32194
32315
  return;
32195
32316
  }
32196
32317
  else if (brNode && brLastChildNode && brLastChildNode.nodeName === 'BR') {
32197
32318
  detach(brLastChildNode);
32319
+ if (!isNullOrUndefined(brParentNode) && brParentNode.childNodes.length === 0) {
32320
+ detach(brParentNode);
32321
+ }
32198
32322
  e.args.preventDefault();
32199
32323
  }
32200
32324
  if (!isNullOrUndefined(this.deleteRangeElement) && (this.deleteOldRangeElement.tagName !== 'OL' && this.deleteOldRangeElement.tagName !== 'UL')
@@ -32868,38 +32992,62 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
32868
32992
  }
32869
32993
  };
32870
32994
  PasteCleanup.prototype.splitBreakLine = function (value) {
32871
- var enterSplitText = value.split('\n');
32872
- var contentInnerElem = '';
32995
+ var enterSplitText = value.split('\r\n\r\n');
32996
+ var finalText = '';
32873
32997
  var startNode = this.parent.enterKey === 'P' ? '<p>' : (this.parent.enterKey === 'DIV' ? '<div>' : '');
32874
32998
  var endNode = this.parent.enterKey === 'P' ? '</p>' : (this.parent.enterKey === 'DIV' ? '</div>' : '<br>');
32875
32999
  for (var i = 0; i < enterSplitText.length; i++) {
32876
- if (enterSplitText[i].trim() === '') {
32877
- contentInnerElem += getDefaultValue(this.parent);
33000
+ var content = enterSplitText[i];
33001
+ var contentWithSpace = this.makeSpace(content);
33002
+ var contentWithLineBreak = contentWithSpace.replace(/\r\n|\n/g, '<br>');
33003
+ if (i === 0) {
33004
+ if (this.parent.enterKey === 'BR') {
33005
+ finalText += (contentWithLineBreak + endNode);
33006
+ }
33007
+ else {
33008
+ finalText += contentWithLineBreak; // In order to merge the content in current line. No P/Div tag is added.
33009
+ }
32878
33010
  }
32879
33011
  else {
32880
- var contentWithSpace = this.makeSpace(enterSplitText[i]);
32881
- contentInnerElem += (i === 0 && this.parent.enterKey !== 'BR' ? '<span>' : startNode) +
32882
- (contentWithSpace.trim() === '' ? '<br>' : contentWithSpace.trim()) +
32883
- (enterSplitText.length - 1 === i && this.parent.enterKey === 'BR' ? '' : (i === 0 && this.parent.enterKey !== 'BR' ? '</span>' : endNode));
33012
+ if (this.parent.enterKey === 'BR') {
33013
+ if (i === enterSplitText.length - 1) {
33014
+ finalText += (contentWithLineBreak + endNode);
33015
+ }
33016
+ else {
33017
+ finalText += (contentWithLineBreak + endNode + endNode);
33018
+ }
33019
+ }
33020
+ else {
33021
+ finalText += startNode + contentWithLineBreak + endNode;
33022
+ }
32884
33023
  }
32885
33024
  }
32886
- return contentInnerElem;
33025
+ return finalText;
32887
33026
  };
32888
- PasteCleanup.prototype.makeSpace = function (enterSplitText) {
32889
- var contentWithSpace = '';
32890
- var spaceBetweenContent = true;
32891
- enterSplitText = enterSplitText.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
32892
- var spaceSplit = enterSplitText.split(' ');
32893
- for (var j = 0; j < spaceSplit.length; j++) {
32894
- if (spaceSplit[j].trim() === '') {
32895
- contentWithSpace += spaceBetweenContent ? '&nbsp;' : ' ';
33027
+ PasteCleanup.prototype.makeSpace = function (text) {
33028
+ var spacedContent = '';
33029
+ if (text === '') {
33030
+ return text;
33031
+ }
33032
+ var lineBreakSplitText = text.split(' ');
33033
+ for (var i = 0; i < lineBreakSplitText.length; i++) {
33034
+ var currentText = lineBreakSplitText[i];
33035
+ if (currentText === '') {
33036
+ spacedContent += '&nbsp;';
33037
+ }
33038
+ else if (currentText === '\t') {
33039
+ spacedContent += '&nbsp;&nbsp;&nbsp;&nbsp;';
32896
33040
  }
32897
33041
  else {
32898
- spaceBetweenContent = false;
32899
- contentWithSpace += spaceSplit[j] + ' ';
33042
+ if (i > 0 && i < lineBreakSplitText.length) {
33043
+ spacedContent += ' ';
33044
+ }
33045
+ spacedContent += currentText;
32900
33046
  }
32901
33047
  }
32902
- return contentWithSpace;
33048
+ spacedContent = spacedContent.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
33049
+ spacedContent = spacedContent.replace(/&nbsp;&nbsp;/g, '&nbsp; ');
33050
+ return spacedContent;
32903
33051
  };
32904
33052
  PasteCleanup.prototype.imgUploading = function (elm) {
32905
33053
  var allImgElm = elm.querySelectorAll('.pasteContent_Img');
@@ -33484,6 +33632,9 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
33484
33632
  var tableElement = element.querySelectorAll('table');
33485
33633
  for (var i = 0; i < tableElement.length; i++) {
33486
33634
  var isMSTeamsTable = tableElement[i].parentElement.nodeName === 'FIGURE';
33635
+ if (tableElement[i].classList.length > 0 && tableElement[i].classList.contains('e-rte-custom-table')) {
33636
+ continue; // Skip the custom table class
33637
+ }
33487
33638
  if (this.parent.pasteCleanupSettings.keepFormat && source && !isMSTeamsTable) {
33488
33639
  tableElement[i].classList.add('e-rte-paste-' + source + '-table');
33489
33640
  }
@@ -37979,7 +38130,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
37979
38130
  }
37980
38131
  var notFormatPainterCopy = isNullOrUndefined(e.action) ? true : (e.action !== 'format-copy' ? true : false);
37981
38132
  if (this.formatter.getUndoRedoStack().length === 0 && notFormatPainterCopy &&
37982
- !(e.altKey || e.shiftKey || (e.altKey && e.shiftKey && e.which === 67))) {
38133
+ !(e.altKey || (e.shiftKey && e.which === 16) || (e.altKey && e.shiftKey && e.which === 67))) {
37983
38134
  this.formatter.saveData();
37984
38135
  }
37985
38136
  var preventingMention = false;
@@ -39033,7 +39184,10 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
39033
39184
  var item = compiledTemplate[i];
39034
39185
  append([item], appendElem);
39035
39186
  }
39036
- this.setProperties({ value: appendElem.innerHTML.trim() });
39187
+ var content = appendElem.innerHTML.trim();
39188
+ if (content.length > 0) {
39189
+ this.setProperties({ value: content });
39190
+ }
39037
39191
  this.renderReactTemplates();
39038
39192
  }
39039
39193
  }
@@ -40178,5 +40332,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
40178
40332
  return RichTextEditor;
40179
40333
  }(Component));
40180
40334
 
40181
- export { ACTION, ALIGNMENT_TYPE, ALLOWED_ACTIONKEYS, AUDIO, Alignments, Audio, AudioCommand, BLOCKQUOTE_LIST_HANDLE, BLOCK_TAGS, BaseQuickToolbar, BaseToolbar, CLASS_AUDIO, CLASS_AUDIO_BREAK, CLASS_AUDIO_FOCUS, CLASS_AUDIO_INLINE, CLASS_AUDIO_WRAP, CLASS_CAPTION, CLASS_CAPTION_INLINE, CLASS_CLICK_ELEM, CLASS_EMBED_VIDEO_WRAP, CLASS_IMAGE_BREAK, CLASS_IMAGE_CENTER, CLASS_IMAGE_INLINE, CLASS_IMAGE_LEFT, CLASS_IMAGE_RIGHT, CLASS_RTE_CAPTION, CLASS_VIDEO, CLASS_VIDEO_BREAK, CLASS_VIDEO_CENTER, CLASS_VIDEO_CLICK_ELEM, CLASS_VIDEO_FOCUS, CLASS_VIDEO_INLINE, CLASS_VIDEO_LEFT, CLASS_VIDEO_RIGHT, CLASS_VIDEO_WRAP, CLEAR_COMMAND, CLEAR_TYPE, CLS_ACTIVE, CLS_ALIGN_TB_BTN, CLS_AUDIOBREAK, CLS_AUDIOINLINE, CLS_AUDIOWRAP, CLS_AUD_FOCUS, CLS_BACK, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_PICKER, CLS_BACKGROUND_COLOR_TARGET, CLS_BULLETFORMATLIST_TB_BTN, CLS_CAPINLINE, CLS_CAPTION, CLS_CLICKELEM, CLS_COLOR_CONTENT, CLS_COLOR_PALETTE, CLS_CONTENT, CLS_COUNT, CLS_CUSTOM_TILE, CLS_DISABLED, CLS_DROPAREA, CLS_DROPDOWN_BTN, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_POPUP, CLS_ERROR, CLS_EXPAND_OPEN, CLS_FOCUS, CLS_FONT_COLOR_DROPDOWN, CLS_FONT_COLOR_PICKER, CLS_FONT_COLOR_TARGET, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FULL_SCREEN, CLS_HIDE, CLS_HR_SEPARATOR, CLS_ICONS, CLS_IMAGE_POP, CLS_IMGBREAK, CLS_IMGCENTER, CLS_IMGINLINE, CLS_IMGLEFT, CLS_IMGRIGHT, CLS_IMG_FOCUS, CLS_IMG_INNER, CLS_IMG_RESIZE, CLS_INLINE, CLS_INLINE_DROPDOWN, CLS_INLINE_POP, CLS_LIST_PRIMARY_CONTENT, CLS_MAXIMIZE, CLS_MINIMIZE, CLS_NOCOLOR_ITEM, CLS_NUMBERFORMATLIST_TB_BTN, CLS_POP, CLS_POPUP, CLS_POPUP_OPEN, CLS_QUICK_DROPDOWN, CLS_QUICK_POP, CLS_QUICK_TB, CLS_RESIZE, CLS_RM_WHITE_SPACE, CLS_RTE, CLS_RTE_CAPTION, CLS_RTE_CONTAINER, CLS_RTE_CONTENT, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_DRAG_IMAGE, CLS_RTE_ELEMENTS, CLS_RTE_EXPAND_TB, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_HIDDEN, CLS_RTE_IMAGE, CLS_RTE_PASTE_CANCEL, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_READONLY, CLS_RTE_RES_CNT, CLS_RTE_RES_EAST, CLS_RTE_RES_HANDLE, CLS_RTE_RES_WEST, CLS_RTE_SOURCE_CODE_TXTAREA, CLS_RTE_TABLE_RESIZE, CLS_RTE_TB_ENABLED, CLS_RTE_UPLOAD_POPUP, CLS_RTL, CLS_SCRIPT_SHEET, CLS_SEPARATOR, CLS_SHOW, CLS_STYLE_SHEET, CLS_TABLE, CLS_TABLE_BORDER, CLS_TABLE_MULTI_CELL, CLS_TABLE_SEL, CLS_TABLE_SEL_END, CLS_TB_ALT_BOR, CLS_TB_BOX_RES, CLS_TB_BTN, CLS_TB_COL_RES, CLS_TB_DASH_BOR, CLS_TB_EXTENDED, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_INLINE, CLS_TB_IOS_FIX, CLS_TB_ITEM, CLS_TB_ROW_RES, CLS_TB_STATIC, CLS_TB_WRAP, CLS_TEXT_POP, CLS_TEXT_QUICK_TB, CLS_TOOLBAR, CLS_UPLOAD_FILES, CLS_VIDEOBREAK, CLS_VIDEOINLINE, CLS_VIDEOWRAP, CLS_VID_CLICK_ELEM, CLS_VID_FOCUS, CLS_VISIBLE, CLS_WARNING, ClearFormat, ClearFormatExec, ColorPickerInput, ContentRender, Count, DEFAULT_TAG, DELETECOLUMN, DELETEROW, DESTROY, DOMNode, DialogRenderer, DialogType, DropDownButtons, EMOJI_PICKER_ACTIONS, EditorManager, EmojiPicker, EmojiPickerAction, ExecCommandCallBack, FORMAT_PAINTER_ACTIONS, FORMAT_TYPE, FileManager, FormatPainter, FormatPainterActions, Formats, Formatter, FullScreen, HTMLFormatter, HtmlEditor, HtmlToolbarStatus, IGNORE_BLOCK_TAGS, IMAGE, INDENT_TYPE, INSERTHTML_TYPE, INSERT_COLUMN, INSERT_ROW, INSERT_TEXT_COMMAND, INSERT_TEXT_TYPE, INTERNAL_DESTROY, IframeContentRender, Image$1 as Image, ImageCommand, ImageInputSource, ImportExport, Indents, InsertHtml, InsertHtmlExec, InsertMethods, InsertTextExec, IsFormatted, KEY_DOWN, KEY_DOWN_HANDLER, KEY_UP, KEY_UP_HANDLER, KeyboardEvents, LINK, LINK_COMMAND, LISTS_COMMAND, LIST_TYPE, Link, LinkCommand, Lists, MDFormats, MDLink, MDLists, MDSelectionFormats, MDTable, MD_TABLE, MODEL_CHANGED, MODEL_CHANGED_PLUGIN, MOUSE_DOWN, MS_WORD_CLEANUP, MS_WORD_CLEANUP_PLUGIN, MarkdownEditor, MarkdownFormatter, MarkdownParser, MarkdownRender, MarkdownSelection, MarkdownToolbarStatus, MsWordPaste, NodeCutter, NodeSelection, ON_BEGIN, PASTE_SOURCE, PasteCleanup, PopupRenderer, QuickToolbar, REMOVETABLE, Render, RenderType, RendererFactory, Resize, RichTextEditor, SELECTION_TYPE, SELF_CLOSING_TAGS, SPACE_ACTION, SelectionBasedExec, SelectionCommands, ServiceLocator, SlashMenu, TABLE, TABLEHEADER, TABLE_BLOCK_TAGS, TABLE_HORIZONTAL_SPLIT, TABLE_MERGE, TABLE_MOVE, TABLE_VERTICAL_ALIGN, TABLE_VERTICAL_SPLIT, Table, TableCommand, Toolbar, ToolbarAction, ToolbarRenderer, ToolbarStatus, ToolbarType, UndoRedoCommands, UndoRedoManager, VIDEO, Video, VideoCommand, ViewSource, XhtmlValidation, actionBegin, actionComplete, actionSuccess, afterImageDelete, afterKeyDown, afterMediaDelete, afterPasteCleanup, audioDelete, audioToolbarAction, autoResize, beforeDialogClose, beforeDialogOpen, beforeDropDownItemRender, beforeDropDownOpen, beforeFileUpload, beforeImageDrop, beforeImageUpload, beforePasteCleanup, beforeQuickToolbarOpen, bindCssClass, bindOnEnd, blockEmptyNodes, checkUndo, cleanupResizeElements, clearDialogObj, closeAudioDialog, closeImageDialog, closeLinkDialog, closeTableDialog, closeTooltip, closeVideoDialog, colorPickerChanged, contentBlur, contentChanged, contentFocus, contentscroll, conversionFactors, convertToBlob, count, createTable, created, decode, destroy, destroyTooltip, destroyed, dialogClose, dialogOpen, disableFullScreen, dispatchEvent, docClick, documentClickClosedBy, drop, dropDownSelect, dynamicModule, editAreaClick, editLink, emojiPicker, enableFullScreen, enterHandler, execCommandCallBack, executeGroup, expandPopupClick, fileRemoving, fileSelected, fileUploadFailed, fileUploadSuccess, fileUploading, focusChange, formatPainterClick, formatPainterDoubleClick, getCollection, getDefaultValue, getDropDownValue, getEditValue, getFormattedFontSize, getIndex, getLocaleFontFormat, getSelectedHtml, getTBarItemsIndex, getTextNodesUnder, getTooltipText, hasClass, hidePopup, htmlKeyConfig, htmlToolbarClick, iframeMouseDown, iframeResizeFactor, imageAlt, imageBreak, imageCaption, imageCenter, imageDelete, imageInline, imageLeft, imageLink, imageRemoving, imageResizeFactor, imageRight, imageSelected, imageSize, imageToolbarAction, imageUploadFailed, imageUploadSuccess, imageUploading, imgModule, initialEnd, initialLoad, inlineEmptyNodes, insertAudio, insertCompleted, insertImage, insertLink, insertVideo, isEditableValueEmpty, isIDevice, keyDown, keyUp, linkToolbarAction, listConversionFilters, load, markdownFormatTags, markdownKeyConfig, markdownListsTags, markdownSelectionTags, markdownToolbarClick, markerClassName, mentionRestrictKeys, modelChanged, mouseDown, mouseUp, onExport, onHandleFontsizeChange, onImport, onResize, openLink, pageYOffset, parseHtml, paste, pasteClean, pasteCleanupGroupingTags, popupHide, quickToolbarClose, quickToolbarOpen, readOnlyMode, redo, refreshBegin, renderFileManager, renderInlineToolbar, resizeInitialized, resizeStart, resizeStop, rtlMode, sanitizeHelper, scroll, selectAll, selectRange, selectionCommand, selectionRestore, selectionSave, selfClosingTags, setAttributes, setToolbarStatus, showAudioDialog, showColorPicker, showImageDialog, showLinkDialog, showTableDialog, showVideoDialog, sourceCode, sourceCodeMouseDown, statusCollection, supportedUnits, tableColorPickerChanged, tableModulekeyUp, tableToolbarAction, tableclass, toObjectLowerCase, toolbarClick, toolbarCreated, toolbarOpen, toolbarRefresh, toolbarRenderComplete, toolbarUpdated, unLink, undo, updateDropDownFontFormatLocale, updateSource, updateTbItemsStatus, updateTextNode, updateToolbarItem, updateUndoRedoStatus, updateValueOnIdle, updatedToolbarStatus, videoDelete, videoSize, videoToolbarAction, windowResize, xhtmlValidation };
40335
+ export { ACTION, ALIGNMENT_TYPE, ALLOWED_ACTIONKEYS, ALLOWED_TABLE_BLOCK_TAGS, AUDIO, Alignments, Audio, AudioCommand, BLOCKQUOTE_LIST_HANDLE, BLOCK_TAGS, BaseQuickToolbar, BaseToolbar, CLASS_AUDIO, CLASS_AUDIO_BREAK, CLASS_AUDIO_FOCUS, CLASS_AUDIO_INLINE, CLASS_AUDIO_WRAP, CLASS_CAPTION, CLASS_CAPTION_INLINE, CLASS_CLICK_ELEM, CLASS_EMBED_VIDEO_WRAP, CLASS_IMAGE_BREAK, CLASS_IMAGE_CENTER, CLASS_IMAGE_INLINE, CLASS_IMAGE_LEFT, CLASS_IMAGE_RIGHT, CLASS_RTE_CAPTION, CLASS_VIDEO, CLASS_VIDEO_BREAK, CLASS_VIDEO_CENTER, CLASS_VIDEO_CLICK_ELEM, CLASS_VIDEO_FOCUS, CLASS_VIDEO_INLINE, CLASS_VIDEO_LEFT, CLASS_VIDEO_RIGHT, CLASS_VIDEO_WRAP, CLEAR_COMMAND, CLEAR_TYPE, CLS_ACTIVE, CLS_ALIGN_TB_BTN, CLS_AUDIOBREAK, CLS_AUDIOINLINE, CLS_AUDIOWRAP, CLS_AUD_FOCUS, CLS_BACK, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_PICKER, CLS_BACKGROUND_COLOR_TARGET, CLS_BULLETFORMATLIST_TB_BTN, CLS_CAPINLINE, CLS_CAPTION, CLS_CLICKELEM, CLS_COLOR_CONTENT, CLS_COLOR_PALETTE, CLS_CONTENT, CLS_COUNT, CLS_CUSTOM_TILE, CLS_DISABLED, CLS_DROPAREA, CLS_DROPDOWN_BTN, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_POPUP, CLS_ERROR, CLS_EXPAND_OPEN, CLS_FOCUS, CLS_FONT_COLOR_DROPDOWN, CLS_FONT_COLOR_PICKER, CLS_FONT_COLOR_TARGET, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FULL_SCREEN, CLS_HIDE, CLS_HR_SEPARATOR, CLS_ICONS, CLS_IMAGE_POP, CLS_IMGBREAK, CLS_IMGCENTER, CLS_IMGINLINE, CLS_IMGLEFT, CLS_IMGRIGHT, CLS_IMG_FOCUS, CLS_IMG_INNER, CLS_IMG_RESIZE, CLS_INLINE, CLS_INLINE_DROPDOWN, CLS_INLINE_POP, CLS_LIST_PRIMARY_CONTENT, CLS_MAXIMIZE, CLS_MINIMIZE, CLS_NOCOLOR_ITEM, CLS_NUMBERFORMATLIST_TB_BTN, CLS_POP, CLS_POPUP, CLS_POPUP_OPEN, CLS_QUICK_DROPDOWN, CLS_QUICK_POP, CLS_QUICK_TB, CLS_RESIZE, CLS_RM_WHITE_SPACE, CLS_RTE, CLS_RTE_CAPTION, CLS_RTE_CONTAINER, CLS_RTE_CONTENT, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_DRAG_IMAGE, CLS_RTE_ELEMENTS, CLS_RTE_EXPAND_TB, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_HIDDEN, CLS_RTE_IMAGE, CLS_RTE_PASTE_CANCEL, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_READONLY, CLS_RTE_RES_CNT, CLS_RTE_RES_EAST, CLS_RTE_RES_HANDLE, CLS_RTE_RES_WEST, CLS_RTE_SOURCE_CODE_TXTAREA, CLS_RTE_TABLE_RESIZE, CLS_RTE_TB_ENABLED, CLS_RTE_UPLOAD_POPUP, CLS_RTL, CLS_SCRIPT_SHEET, CLS_SEPARATOR, CLS_SHOW, CLS_STYLE_SHEET, CLS_TABLE, CLS_TABLE_BORDER, CLS_TABLE_MULTI_CELL, CLS_TABLE_SEL, CLS_TABLE_SEL_END, CLS_TB_ALT_BOR, CLS_TB_BOX_RES, CLS_TB_BTN, CLS_TB_COL_RES, CLS_TB_DASH_BOR, CLS_TB_EXTENDED, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_INLINE, CLS_TB_IOS_FIX, CLS_TB_ITEM, CLS_TB_ROW_RES, CLS_TB_STATIC, CLS_TB_WRAP, CLS_TEXT_POP, CLS_TEXT_QUICK_TB, CLS_TOOLBAR, CLS_UPLOAD_FILES, CLS_VIDEOBREAK, CLS_VIDEOINLINE, CLS_VIDEOWRAP, CLS_VID_CLICK_ELEM, CLS_VID_FOCUS, CLS_VISIBLE, CLS_WARNING, ClearFormat, ClearFormatExec, ColorPickerInput, ContentRender, Count, DEFAULT_TAG, DELETECOLUMN, DELETEROW, DESTROY, DOMNode, DialogRenderer, DialogType, DropDownButtons, EMOJI_PICKER_ACTIONS, EditorManager, EmojiPicker, EmojiPickerAction, ExecCommandCallBack, FORMAT_PAINTER_ACTIONS, FORMAT_TYPE, FileManager, FormatPainter, FormatPainterActions, Formats, Formatter, FullScreen, HTMLFormatter, HtmlEditor, HtmlToolbarStatus, IGNORE_BLOCK_TAGS, IMAGE, INDENT_TYPE, INSERTHTML_TYPE, INSERT_COLUMN, INSERT_ROW, INSERT_TEXT_COMMAND, INSERT_TEXT_TYPE, INTERNAL_DESTROY, IframeContentRender, Image$1 as Image, ImageCommand, ImageInputSource, ImportExport, Indents, InsertHtml, InsertHtmlExec, InsertMethods, InsertTextExec, IsFormatted, KEY_DOWN, KEY_DOWN_HANDLER, KEY_UP, KEY_UP_HANDLER, KeyboardEvents, LINK, LINK_COMMAND, LISTS_COMMAND, LIST_TYPE, Link, LinkCommand, Lists, MDFormats, MDLink, MDLists, MDSelectionFormats, MDTable, MD_TABLE, MODEL_CHANGED, MODEL_CHANGED_PLUGIN, MOUSE_DOWN, MS_WORD_CLEANUP, MS_WORD_CLEANUP_PLUGIN, MarkdownEditor, MarkdownFormatter, MarkdownParser, MarkdownRender, MarkdownSelection, MarkdownToolbarStatus, MsWordPaste, NodeCutter, NodeSelection, ON_BEGIN, PASTE_SOURCE, PasteCleanup, PopupRenderer, QuickToolbar, REMOVETABLE, Render, RenderType, RendererFactory, Resize, RichTextEditor, SELECTION_TYPE, SELF_CLOSING_TAGS, SPACE_ACTION, SelectionBasedExec, SelectionCommands, ServiceLocator, SlashMenu, TABLE, TABLEHEADER, TABLE_BLOCK_TAGS, TABLE_HORIZONTAL_SPLIT, TABLE_MERGE, TABLE_MOVE, TABLE_VERTICAL_ALIGN, TABLE_VERTICAL_SPLIT, Table, TableCommand, Toolbar, ToolbarAction, ToolbarRenderer, ToolbarStatus, ToolbarType, UndoRedoCommands, UndoRedoManager, VIDEO, Video, VideoCommand, ViewSource, XhtmlValidation, actionBegin, actionComplete, actionSuccess, afterImageDelete, afterKeyDown, afterMediaDelete, afterPasteCleanup, audioDelete, audioToolbarAction, autoResize, beforeDialogClose, beforeDialogOpen, beforeDropDownItemRender, beforeDropDownOpen, beforeFileUpload, beforeImageDrop, beforeImageUpload, beforePasteCleanup, beforeQuickToolbarOpen, bindCssClass, bindOnEnd, blockEmptyNodes, checkUndo, cleanupResizeElements, clearDialogObj, closeAudioDialog, closeImageDialog, closeLinkDialog, closeTableDialog, closeTooltip, closeVideoDialog, colorPickerChanged, contentBlur, contentChanged, contentFocus, contentscroll, conversionFactors, convertToBlob, count, createTable, created, decode, destroy, destroyTooltip, destroyed, dialogClose, dialogOpen, disableFullScreen, dispatchEvent, docClick, documentClickClosedBy, drop, dropDownSelect, dynamicModule, editAreaClick, editLink, emojiPicker, enableFullScreen, enterHandler, execCommandCallBack, executeGroup, expandPopupClick, fileRemoving, fileSelected, fileUploadFailed, fileUploadSuccess, fileUploading, focusChange, formatPainterClick, formatPainterDoubleClick, getCollection, getDefaultValue, getDropDownValue, getEditValue, getFormattedFontSize, getIndex, getLocaleFontFormat, getSelectedHtml, getTBarItemsIndex, getTextNodesUnder, getTooltipText, hasClass, hidePopup, htmlKeyConfig, htmlToolbarClick, iframeMouseDown, imageAlt, imageBreak, imageCaption, imageCenter, imageDelete, imageInline, imageLeft, imageLink, imageRemoving, imageResizeFactor, imageRight, imageSelected, imageSize, imageToolbarAction, imageUploadFailed, imageUploadSuccess, imageUploading, imgModule, initialEnd, initialLoad, inlineEmptyNodes, insertAudio, insertCompleted, insertImage, insertLink, insertVideo, isEditableValueEmpty, isIDevice, keyDown, keyUp, linkToolbarAction, listConversionFilters, load, markdownFormatTags, markdownKeyConfig, markdownListsTags, markdownSelectionTags, markdownToolbarClick, markerClassName, mentionRestrictKeys, modelChanged, mouseDown, mouseUp, onExport, onHandleFontsizeChange, onImport, onResize, openLink, pageYOffset, parseHtml, paste, pasteClean, pasteCleanupGroupingTags, popupHide, quickToolbarClose, quickToolbarOpen, readOnlyMode, redo, refreshBegin, renderFileManager, renderInlineToolbar, resizeInitialized, resizeStart, resizeStop, rtlMode, sanitizeHelper, scroll, selectAll, selectRange, selectionCommand, selectionRestore, selectionSave, selfClosingTags, setAttributes, setToolbarStatus, showAudioDialog, showColorPicker, showImageDialog, showLinkDialog, showTableDialog, showVideoDialog, sourceCode, sourceCodeMouseDown, statusCollection, supportedUnits, tableColorPickerChanged, tableModulekeyUp, tableToolbarAction, tableclass, toObjectLowerCase, toolbarClick, toolbarCreated, toolbarOpen, toolbarRefresh, toolbarRenderComplete, toolbarUpdated, unLink, undo, updateDropDownFontFormatLocale, updateSource, updateTbItemsStatus, updateTextNode, updateToolbarItem, updateUndoRedoStatus, updateValueOnIdle, updatedToolbarStatus, videoDelete, videoSize, videoToolbarAction, windowResize, xhtmlValidation };
40182
40336
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map