@syncfusion/ej2-richtexteditor 27.1.50 → 27.1.52

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 (34) hide show
  1. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  2. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  3. package/dist/es6/ej2-richtexteditor.es2015.js +780 -210
  4. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es5.js +171 -92
  6. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  7. package/dist/global/ej2-richtexteditor.min.js +2 -2
  8. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  9. package/dist/global/index.d.ts +1 -1
  10. package/package.json +10 -10
  11. package/src/common/editor-styles.d.ts +1 -0
  12. package/src/common/editor-styles.js +1 -0
  13. package/src/common/interface.d.ts +10 -0
  14. package/src/editor-manager/plugin/alignments.js +1 -1
  15. package/src/editor-manager/plugin/indents.js +1 -1
  16. package/src/editor-manager/plugin/inserthtml.js +37 -9
  17. package/src/editor-manager/plugin/lists.js +4 -3
  18. package/src/editor-manager/plugin/ms-word-clean-up.js +14 -2
  19. package/src/editor-manager/plugin/table.js +3 -0
  20. package/src/rich-text-editor/actions/base-toolbar.js +1 -1
  21. package/src/rich-text-editor/actions/dropdown-buttons.js +0 -6
  22. package/src/rich-text-editor/actions/enter-key.js +8 -2
  23. package/src/rich-text-editor/actions/html-editor.js +3 -2
  24. package/src/rich-text-editor/actions/paste-clean-up.js +2 -1
  25. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +8 -8
  26. package/src/rich-text-editor/base/rich-text-editor.d.ts +8 -8
  27. package/src/rich-text-editor/base/rich-text-editor.js +8 -4
  28. package/src/rich-text-editor/renderer/content-renderer.d.ts +1 -1
  29. package/src/rich-text-editor/renderer/content-renderer.js +9 -2
  30. package/src/rich-text-editor/renderer/iframe-content-renderer.js +21 -8
  31. package/src/rich-text-editor/renderer/image-module.d.ts +2 -0
  32. package/src/rich-text-editor/renderer/image-module.js +21 -12
  33. package/src/rich-text-editor/renderer/link-module.js +1 -1
  34. package/dist/ej2-richtexteditor.min.js +0 -10
@@ -1,4 +1,4 @@
1
- import { isNullOrUndefined, Browser, addClass, removeClass, selectAll as selectAll$1, createElement, detach, SanitizeHtmlHelper, extend, EventHandler, closest, getInstance, formatUnit, select, Ajax, Property, Event, NotifyPropertyChanges, Base, ChildProperty, KeyboardEvents as KeyboardEvents$1, setStyleAttribute, getUniqueID, append, debounce, Observer, prepend, attributes, getComponent, getEnumValue, Complex, print, L10n, compile, Touch, Component } from '@syncfusion/ej2-base';
1
+ import { isNullOrUndefined, Browser, addClass, removeClass, selectAll as selectAll$1, createElement, detach, SanitizeHtmlHelper, extend, EventHandler, closest, getInstance, formatUnit, select, Ajax, Property, Event as Event$1, NotifyPropertyChanges, Base, ChildProperty, KeyboardEvents as KeyboardEvents$1, setStyleAttribute, getUniqueID, append, debounce, Observer, prepend, attributes, getComponent, getEnumValue, Complex, print, L10n, compile, Touch, Component } from '@syncfusion/ej2-base';
2
2
  import { Toolbar as Toolbar$1 } from '@syncfusion/ej2-navigations';
3
3
  import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
4
4
  import { Tooltip, Popup, Dialog, isCollide, getScrollableParent } from '@syncfusion/ej2-popups';
@@ -3715,9 +3715,15 @@ var ContentRender = /** @__PURE__ @class */ (function () {
3715
3715
  id: this.parent.getID() + '_rte-edit-view',
3716
3716
  attrs: {
3717
3717
  'contenteditable': 'true'
3718
- },
3719
- innerHTML: rteContent
3718
+ }
3720
3719
  });
3720
+ if (!isNullOrUndefined(this.parent.fontFamily.default)) {
3721
+ this.editableElement.style.fontFamily = this.parent.fontFamily.default;
3722
+ }
3723
+ if (!isNullOrUndefined(this.parent.fontSize.default)) {
3724
+ this.editableElement.style.fontSize = this.parent.fontSize.default;
3725
+ }
3726
+ this.editableElement.innerHTML = rteContent;
3721
3727
  div.appendChild(this.editableElement);
3722
3728
  this.setPanel(div);
3723
3729
  rteObj.rootContainer.appendChild(div);
@@ -6527,7 +6533,7 @@ var Link = /** @__PURE__ @class */ (function () {
6527
6533
  // eslint-disable-next-line
6528
6534
  Link.prototype.insertlink = function (e) {
6529
6535
  var linkEle = this.selfLink.dialogObj.element;
6530
- var linkUrl = linkEle.querySelector('.e-rte-linkurl').value;
6536
+ var linkUrl = linkEle.querySelector('.e-rte-linkurl').value.trim();
6531
6537
  var linkText = linkEle.querySelector('.e-rte-linkText').value;
6532
6538
  var linkTitle;
6533
6539
  if (this.selfLink.parent.editorMode === 'HTML') {
@@ -7306,6 +7312,17 @@ var Image$1 = /** @__PURE__ @class */ (function () {
7306
7312
  return value;
7307
7313
  }
7308
7314
  };
7315
+ Image.prototype.adjustDimensionsByAspectRatio = function (width, height, aspectRatio, isWidthPrimary) {
7316
+ if (isWidthPrimary) {
7317
+ height = Math.round(width / aspectRatio);
7318
+ width = Math.round(height * aspectRatio);
7319
+ }
7320
+ else {
7321
+ width = Math.round(height * aspectRatio);
7322
+ height = Math.round(width / aspectRatio);
7323
+ }
7324
+ return { width: width, height: height };
7325
+ };
7309
7326
  Image.prototype.pixToPerc = function (expected, parentEle) {
7310
7327
  return expected / parseFloat(getComputedStyle(parentEle).width) * 100;
7311
7328
  };
@@ -7349,21 +7366,19 @@ var Image$1 = /** @__PURE__ @class */ (function () {
7349
7366
  var currentHeight = this.imgEle.clientHeight;
7350
7367
  var width = diffX * resizeFactor[0] + currentWidth;
7351
7368
  var height = diffY * resizeFactor[1] + currentHeight;
7352
- width = (width < 16) ? 16 : width;
7353
- height = (height < 16) ? 16 : height;
7354
- if (Math.abs(diffX) > Math.abs(diffY)) {
7355
- height = Math.round(width / this.aspectRatio);
7356
- width = Math.round(height * this.aspectRatio);
7357
- }
7358
- else {
7359
- width = Math.round(height * this.aspectRatio);
7360
- height = Math.round(width / this.aspectRatio);
7361
- }
7369
+ var dimensions = this.adjustDimensions(width, height, diffX, diffY, this.aspectRatio);
7362
7370
  this.pageX = pageX;
7363
7371
  this.pageY = pageY;
7364
- this.imgDupMouseMove(width + 'px', height + 'px', e);
7372
+ this.imgDupMouseMove(dimensions.width + 'px', dimensions.height + 'px', e);
7365
7373
  }
7366
7374
  };
7375
+ Image.prototype.adjustDimensions = function (width, height, diffX, diffY, aspectRatio) {
7376
+ width = (width < 16) ? 16 : width;
7377
+ height = (height < 16) ? 16 : height;
7378
+ var isWidthPrimary = Math.abs(diffX) > Math.abs(diffY);
7379
+ var dimensions = this.adjustDimensionsByAspectRatio(width, height, aspectRatio, isWidthPrimary);
7380
+ return dimensions;
7381
+ };
7367
7382
  Image.prototype.getResizeFactor = function (value) {
7368
7383
  return imageResizeFactor[value];
7369
7384
  };
@@ -8661,7 +8676,7 @@ var Image$1 = /** @__PURE__ @class */ (function () {
8661
8676
  };
8662
8677
  proxy.inputUrl.setAttribute('disabled', 'true');
8663
8678
  if (isNullOrUndefined(proxy.parent.insertImageSettings.saveUrl) && _this.isAllowedTypes
8664
- && !isNullOrUndefined(_this.dialogObj)) {
8679
+ && !isNullOrUndefined(_this.dialogObj) && selectArgs.filesData[0].size <= _this.uploadObj.maxFileSize) {
8665
8680
  _this.dialogObj.getButtons(0).element.removeAttribute('disabled');
8666
8681
  }
8667
8682
  });
@@ -12040,7 +12055,7 @@ var KeyboardEvents = /** @__PURE__ @class */ (function (_super) {
12040
12055
  Property('keyup')
12041
12056
  ], KeyboardEvents.prototype, "eventName", void 0);
12042
12057
  __decorate([
12043
- Event()
12058
+ Event$1()
12044
12059
  ], KeyboardEvents.prototype, "keyAction", void 0);
12045
12060
  KeyboardEvents = KeyboardEvents_1 = __decorate([
12046
12061
  NotifyPropertyChanges
@@ -14604,6 +14619,8 @@ var DialogRenderer = /** @__PURE__ @class */ (function () {
14604
14619
  return DialogRenderer;
14605
14620
  }());
14606
14621
 
14622
+ 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";
14623
+
14607
14624
  var __extends$1 = (undefined && undefined.__extends) || (function () {
14608
14625
  var extendStatics = function (d, b) {
14609
14626
  extendStatics = Object.setPrototypeOf ||
@@ -14617,7 +14634,8 @@ var __extends$1 = (undefined && undefined.__extends) || (function () {
14617
14634
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14618
14635
  };
14619
14636
  })();
14620
- var IFRAMEHEADER = "\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image, .e-rte-video {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-audio {border: 0;cursor: pointer;display:\n block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;\n margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-rte-img-caption.e-imgcenter {display: contents; margin-left: auto; margin-right: auto;}\n .e-rte-img-caption.e-imgright {display: contents; margin-left: auto; margin-right: 0;}\n .e-rte-img-caption.e-imgleft {display: contents;margin-left: 0;margin-right: auto;}\n .e-img-caption.e-rte-img-caption.e-imgbreak {display: contents;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark, span.e-rte-videoboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark, .e-mob-rte span.e-rte-videoboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }\n .e-rte-content { font-size: 14px; }\n .e-content { font-weight: normal; line-height: 1.5; font-size: 1em; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-rte-img-caption.e-imgleft .e-img-inner { float: left; text-align: left; }\n .e-rte-img-caption.e-imgright .e-img-inner { float: right; text-align: right; }\n .e-rte-img-caption.e-imgleft .e-img-wrap, .e-rte-img-caption.e-imgright .e-img-wrap { display: contents; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-rte-img-caption .e-rte-image.e-imgright { margin-left: auto; margin-right: 0; }\n .e-rte-img-caption .e-rte-image.e-imgleft { margin: 0; }\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n code{ background: #9d9d9d26; color: #ed484c;}\n li{margin-bottom: 10px;}\n table{margin-bottom: 10px;}\n h1{ font-size: 2.857em; font-weight: 600; line-height: 1.2; margin: 10px 0; }\n h2{ font-size: 2.285em; font-weight: 600; line-height: 1.2; margin: 10px 0; }\n h3{ font-size: 2em; font-weight: 600; line-height: 1.2; margin: 10px 0; }\n h4{ font-size: 1.714em; font-weight: 600; line-height: 1.2; margin: 10px 0; }\n h5{ font-size: 1.428em; font-weight: 600; line-height: 1.2; margin: 10px 0; }\n h6{ font-size: 1.142em; line-height: 600; line-height: 1.5; margin: 10px 0; }\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n table.e-cell-select {position: relative;}\n table.e-cell-select::after { content: \"\"; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 2px solid #4a90e2; pointer-events: none;}\n table td.e-cell-select.e-multi-cells-select, table th.e-cell-select.e-multi-cells-select {border: 1px solid #dee2e6; position: relative; }\n table td.e-cell-select.e-multi-cells-select::after, table th.e-cell-select.e-multi-cells-select::after {background-color: rgba(13, 110, 253, 0.08); content: \"\";\n position: absolute; top: 0; left: 0; width: 100%; height: 100%; bottom: 0; pointer-events: none; right: 0;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n .e-rte-placeholder::before { content: attr(placeholder); opacity: 0.54; overflow: hidden; padding-top: 16px; position: absolute; text-align: start; top: 0; z-index: 1; }\n li ol, li ul { margin-block-start: 10px;}\n .e-resize-enabled, .e-count-enabled { padding-bottom: 0px; }\n td.e-multi-cells-select ::selection, th.e-multi-cells-select ::selection { background-color: transparent; }\n td.e-multi-cells-select, th.e-multi-cells-select { user-select: none !important; }\n </style>\n </head>";
14637
+ var IFRAMEHEADER = "\n <!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>" +
14638
+ IFRAME_EDITOR_STYLES.replace(/[\n\t]/g, '') + "\n </style>\n </head>\n";
14621
14639
  /**
14622
14640
  * Content module is used to render Rich Text Editor content
14623
14641
  *
@@ -14638,7 +14656,7 @@ var IframeContentRender = /** @__PURE__ @class */ (function (_super) {
14638
14656
  IframeContentRender.prototype.renderPanel = function () {
14639
14657
  var rteObj = this.parent;
14640
14658
  var rteContent = getEditValue(rteObj.value, rteObj);
14641
- var iFrameBodyContent = '<body spellcheck="false" autocorrect="off" contenteditable="true">' +
14659
+ var iFrameBodyContent = '<body contenteditable="true">' +
14642
14660
  rteContent + '</body></html>';
14643
14661
  var iFrameContent = IFRAMEHEADER + iFrameBodyContent;
14644
14662
  var iframe = this.parent.createElement('iframe', {
@@ -14658,12 +14676,23 @@ var IframeContentRender = /** @__PURE__ @class */ (function (_super) {
14658
14676
  iframe.setAttribute('sandbox', sandboxValues.trim());
14659
14677
  }
14660
14678
  rteObj.rootContainer.appendChild(iframe);
14661
- iframe.contentDocument.body.id = this.parent.getID() + '_rte-edit-view';
14662
14679
  iframe.contentDocument.body.setAttribute('aria-owns', this.parent.getID());
14663
14680
  iframe.contentDocument.open();
14664
14681
  iFrameContent = this.setThemeColor(iFrameContent, { color: '#333' });
14665
14682
  iframe.contentDocument.write(iFrameContent);
14666
14683
  iframe.contentDocument.close();
14684
+ var body = iframe.contentDocument.body;
14685
+ body.className = 'e-content';
14686
+ if (this.parent.height === 'auto') {
14687
+ body.style.overflowY = 'hidden';
14688
+ }
14689
+ if (!isNullOrUndefined(this.parent.fontFamily.default)) {
14690
+ body.style.fontFamily = this.parent.fontFamily.default;
14691
+ }
14692
+ if (!isNullOrUndefined(this.parent.fontSize.default)) {
14693
+ body.style.fontSize = this.parent.fontSize.default;
14694
+ }
14695
+ body.id = this.parent.getID() + '_rte-edit-view';
14667
14696
  if (rteObj.enableRtl) {
14668
14697
  this.contentPanel.contentDocument.body.setAttribute('class', 'e-rtl');
14669
14698
  }
@@ -15384,7 +15413,7 @@ var BaseToolbar = /** @__PURE__ @class */ (function () {
15384
15413
  var tooltipText = items[num].tooltipText;
15385
15414
  var shortCutKey = void 0;
15386
15415
  var isMacDev = window.navigator.platform.toLocaleLowerCase().includes('mac');
15387
- if (windowKeys["" + tooltipText]) {
15416
+ if (windowKeys["" + tooltipText] && (!isNullOrUndefined(items[num].id) || !isNullOrUndefined(items[num].cssClass))) {
15388
15417
  shortCutKey = isMacDev ? windowKeys["" + tooltipText].replace('Ctrl+', '⌘').replace('Shift+', '⇧').replace('Alt+', '⌥') : windowKeys["" + tooltipText];
15389
15418
  }
15390
15419
  else {
@@ -15558,9 +15587,6 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
15558
15587
  cssClass: CLS_DROPDOWN_POPUP + ' ' + CLS_DROPDOWN_ITEMS + ' ' + CLS_FONT_NAME_TB_BTN,
15559
15588
  itemName: 'FontName', items: fontItem, element: targetElement
15560
15589
  });
15561
- if (!isNullOrUndefined(_this.parent.fontFamily.default)) {
15562
- _this.getEditNode().style.fontFamily = _this.parent.fontFamily.default;
15563
- }
15564
15590
  break;
15565
15591
  }
15566
15592
  case 'fontsize': {
@@ -15584,9 +15610,6 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
15584
15610
  cssClass: CLS_DROPDOWN_POPUP + ' ' + CLS_DROPDOWN_ITEMS + ' ' + CLS_FONT_SIZE_TB_BTN,
15585
15611
  itemName: 'FontSize', items: fontsize, element: targetElement
15586
15612
  });
15587
- if (!isNullOrUndefined(_this.parent.fontSize.default)) {
15588
- _this.getEditNode().style.fontSize = _this.parent.fontSize.default;
15589
- }
15590
15613
  break;
15591
15614
  }
15592
15615
  case 'alignments':
@@ -22561,7 +22584,7 @@ var Lists = /** @__PURE__ @class */ (function () {
22561
22584
  }
22562
22585
  if (isNested) {
22563
22586
  this.cleanNode();
22564
- this.parent.editableElement.focus();
22587
+ this.parent.editableElement.focus({ preventScroll: true });
22565
22588
  }
22566
22589
  if (!(e.event.action && e.event.action === 'indent')) {
22567
22590
  this.saveSelection = this.domNode.saveMarker(this.saveSelection);
@@ -22870,7 +22893,7 @@ var Lists = /** @__PURE__ @class */ (function () {
22870
22893
  span.parentNode.replaceChild(fragment, span);
22871
22894
  });
22872
22895
  }
22873
- this.parent.editableElement.focus();
22896
+ this.parent.editableElement.focus({ preventScroll: true });
22874
22897
  if (isIDevice$1()) {
22875
22898
  setEditFrameFocus(this.parent.editableElement, selector);
22876
22899
  }
@@ -23104,7 +23127,8 @@ var Lists = /** @__PURE__ @class */ (function () {
23104
23127
  parentNode.removeAttribute('style');
23105
23128
  }
23106
23129
  }
23107
- var wrapper = '<' + e.enterAction + wrapperclass + this.domNode.attributes(element) + '></' + e.enterAction + '>';
23130
+ var wrapperTag = isNullOrUndefined(e.enterAction) ? DEFAULT_TAG : e.enterAction;
23131
+ var wrapper = '<' + wrapperTag + wrapperclass + this.domNode.attributes(element) + '></' + wrapperTag + '>';
23108
23132
  if (e.enterAction !== 'BR') {
23109
23133
  this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
23110
23134
  }
@@ -24248,7 +24272,9 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24248
24272
  fragment.appendChild(node.firstChild);
24249
24273
  }
24250
24274
  if (isSingleNode) {
24251
- preNode.parentNode.replaceChild(fragment, preNode);
24275
+ range.deleteContents();
24276
+ this.removeEmptyElements(editNode, true);
24277
+ range.insertNode(fragment);
24252
24278
  }
24253
24279
  else {
24254
24280
  var startContainerParent = editNode === range.startContainer ?
@@ -24260,6 +24286,7 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24260
24286
  range.setEnd(startContainerParent, startIndex);
24261
24287
  if (!isNullOrUndefined(lasNode) && lasNode !== editNode) {
24262
24288
  detach(lasNode);
24289
+ this.removeEmptyElements(editNode, true);
24263
24290
  }
24264
24291
  // eslint-disable-next-line
24265
24292
  !isNullOrUndefined(sibNode) ? (sibNode.parentNode === editNode ? sibNode.appendChild(fragment) : sibNode.parentNode.appendChild(fragment)) : range.insertNode(fragment);
@@ -24276,6 +24303,9 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24276
24303
  var rangeElement = closest(nearestAnchor, 'span');
24277
24304
  rangeElement.appendChild(tempSpan);
24278
24305
  }
24306
+ else if (nodes[0].nodeName === '#text' && nodes[0].nodeValue.includes('\u200B') && !isNullOrUndefined(nodes[0].parentElement) && !isNullOrUndefined(nodes[0].parentElement.previousElementSibling) && nodes[0].parentElement.previousElementSibling.classList.contains('e-mention-chip')) {
24307
+ range.startContainer.parentElement.insertAdjacentElement('afterend', tempSpan);
24308
+ }
24279
24309
  else {
24280
24310
  range.insertNode(tempSpan);
24281
24311
  }
@@ -24361,6 +24391,24 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24361
24391
  if (lastSelectionNode.nodeName === '#text') {
24362
24392
  this.placeCursorEnd(lastSelectionNode, node, nodeSelection, docElement, editNode);
24363
24393
  }
24394
+ else if (lastSelectionNode.nodeName === 'HR') {
24395
+ var nextSiblingNode = lastSelectionNode.nextSibling ? lastSelectionNode.nextSibling : null;
24396
+ var siblingTag = enterAction === 'DIV' ? createElement('div') : createElement('p');
24397
+ siblingTag.appendChild(createElement('br'));
24398
+ if (!isNullOrUndefined(nextSiblingNode) && nextSiblingNode.nodeName === 'HR') {
24399
+ lastSelectionNode.parentNode.insertBefore(siblingTag, nextSiblingNode);
24400
+ lastSelectionNode = siblingTag;
24401
+ }
24402
+ else if (!isNullOrUndefined(nextSiblingNode)) {
24403
+ lastSelectionNode = nextSiblingNode;
24404
+ }
24405
+ else {
24406
+ lastSelectionNode.parentNode.appendChild(siblingTag);
24407
+ lastSelectionNode.parentNode.insertBefore(lastSelectionNode, siblingTag);
24408
+ lastSelectionNode = siblingTag;
24409
+ }
24410
+ nodeSelection.setSelectionText(docElement, lastSelectionNode, lastSelectionNode, 0, 0);
24411
+ }
24364
24412
  else {
24365
24413
  this.cursorPos(lastSelectionNode, node, nodeSelection, docElement, editNode, enterAction);
24366
24414
  }
@@ -24429,10 +24477,10 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24429
24477
  blockNode = range.endContainer;
24430
24478
  range.setEnd(blockNode, range.endContainer.textContent.length);
24431
24479
  }
24432
- if (blockNode.nodeName === 'BODY' && range.startContainer === range.endContainer && range.startContainer.nodeType === 1) {
24480
+ if (blockNode && blockNode.nodeName === 'BODY' && range.startContainer === range.endContainer && range.startContainer.nodeType === 1) {
24433
24481
  blockNode = range.startContainer;
24434
24482
  }
24435
- if (blockNode.closest('LI') && editNode.contains(blockNode.closest('LI')) && blockNode.nodeName !== 'TD' && blockNode.nodeName !== 'TH' && blockNode.nodeName !== 'TR' && node && node.firstElementChild &&
24483
+ if (blockNode && blockNode.closest('LI') && editNode.contains(blockNode.closest('LI')) && blockNode.nodeName !== 'TD' && blockNode.nodeName !== 'TH' && blockNode.nodeName !== 'TR' && node && node.firstElementChild &&
24436
24484
  ((node).firstElementChild.tagName === 'OL' || node.firstElementChild.tagName === 'UL')) {
24437
24485
  var liNode = void 0;
24438
24486
  while (node.firstElementChild.lastElementChild && node.firstElementChild.lastElementChild.tagName === 'LI') {
@@ -24443,7 +24491,7 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24443
24491
  node.firstElementChild.insertAdjacentElement('afterend', liNode);
24444
24492
  }
24445
24493
  }
24446
- if (blockNode.nodeName === 'TD' || blockNode.nodeName === 'TH' || blockNode.nodeName === 'TR') {
24494
+ if (blockNode && blockNode.nodeName === 'TD' || blockNode.nodeName === 'TH' || blockNode.nodeName === 'TR') {
24447
24495
  var tempSpan = createElement('span', { className: 'tempSpan' });
24448
24496
  range.insertNode(tempSpan);
24449
24497
  tempSpan.parentNode.replaceChild(node, tempSpan);
@@ -24526,17 +24574,20 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24526
24574
  innerElement = innerElement.replace(/<!--[\s\S]*?-->/g, '');
24527
24575
  elm.innerHTML = innerElement;
24528
24576
  };
24529
- InsertHtml.findDetachEmptyElem = function (element) {
24577
+ InsertHtml.findDetachEmptyElem = function (element, ignoreBlockNodes) {
24578
+ if (ignoreBlockNodes === void 0) { ignoreBlockNodes = false; }
24530
24579
  var removableElement;
24531
24580
  if (!isNullOrUndefined(element.parentElement)) {
24532
24581
  var hasNbsp = element.parentElement.textContent.length > 0 && element.parentElement.textContent.match(/\u00a0/g)
24533
24582
  && element.parentElement.textContent.match(/\u00a0/g).length > 0;
24534
24583
  if (!hasNbsp && element.parentElement.textContent.trim() === '' && element.parentElement.contentEditable !== 'true' &&
24535
24584
  isNullOrUndefined(element.parentElement.querySelector('img')) && element.parentElement.nodeName !== 'TD' && element.parentElement.nodeName !== 'TH') {
24536
- removableElement = this.findDetachEmptyElem(element.parentElement);
24585
+ removableElement = ignoreBlockNodes && BLOCK_TAGS.indexOf(element.parentElement.tagName.toLowerCase()) !== -1 ?
24586
+ element : this.findDetachEmptyElem(element.parentElement, ignoreBlockNodes);
24537
24587
  }
24538
24588
  else {
24539
- removableElement = element;
24589
+ removableElement = ignoreBlockNodes && BLOCK_TAGS.indexOf(element.tagName.toLowerCase()) !== -1 ? null :
24590
+ element;
24540
24591
  }
24541
24592
  }
24542
24593
  else {
@@ -24544,7 +24595,8 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24544
24595
  }
24545
24596
  return removableElement;
24546
24597
  };
24547
- InsertHtml.removeEmptyElements = function (element) {
24598
+ InsertHtml.removeEmptyElements = function (element, ignoreBlockNodes) {
24599
+ if (ignoreBlockNodes === void 0) { ignoreBlockNodes = false; }
24548
24600
  var emptyElements = element.querySelectorAll(':empty');
24549
24601
  var nonSvgEmptyElements = Array.from(emptyElements).filter(function (element) {
24550
24602
  // Check if the element is an SVG element or an ancestor of an SVG element
@@ -24557,7 +24609,7 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
24557
24609
  nonSvgEmptyElements[i].style.borderBottom === '' ? true : false;
24558
24610
  }
24559
24611
  if (SELF_CLOSING_TAGS.indexOf(nonSvgEmptyElements[i].tagName.toLowerCase()) < 0 && lineWithDiv) {
24560
- var detachableElement = this.findDetachEmptyElem(nonSvgEmptyElements[i]);
24612
+ var detachableElement = this.findDetachEmptyElem(nonSvgEmptyElements[i], ignoreBlockNodes);
24561
24613
  if (!isNullOrUndefined(detachableElement)) {
24562
24614
  detach(detachableElement);
24563
24615
  }
@@ -25065,7 +25117,7 @@ var Alignments = /** @__PURE__ @class */ (function () {
25065
25117
  selector: e.selector
25066
25118
  });
25067
25119
  }
25068
- this.parent.editableElement.focus();
25120
+ this.parent.editableElement.focus({ preventScroll: true });
25069
25121
  save = this.parent.domNode.saveMarker(save);
25070
25122
  if (isIDevice$1()) {
25071
25123
  setEditFrameFocus(this.parent.editableElement, e.selector);
@@ -25184,7 +25236,7 @@ var Indents = /** @__PURE__ @class */ (function () {
25184
25236
  /* eslint-enable */
25185
25237
  }
25186
25238
  }
25187
- editEle.focus();
25239
+ editEle.focus({ preventScroll: true });
25188
25240
  if (isIDevice$1()) {
25189
25241
  setEditFrameFocus(editEle, e.selector);
25190
25242
  }
@@ -26315,6 +26367,9 @@ var TableCommand = /** @__PURE__ @class */ (function () {
26315
26367
  for (var i = 0; i < thTdElm.length; i++) {
26316
26368
  thTdElm[i].dataset.oldWidth = (thTdElm[i].offsetWidth / currentTabElm.offsetWidth * 100) + '%';
26317
26369
  }
26370
+ if (isNullOrUndefined(currentTabElm.style.width) || currentTabElm.style.width === '') {
26371
+ currentTabElm.style.width = currentTabElm.offsetWidth + 'px';
26372
+ }
26318
26373
  for (var i = 0; i < allRows.length; i++) {
26319
26374
  curCell = allRows[i].querySelectorAll(':scope > td, :scope > th')[colIndex];
26320
26375
  var colTemplate = curCell.cloneNode(true);
@@ -29380,15 +29435,22 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
29380
29435
  var styleProperty = resultElem[j].getAttribute('style');
29381
29436
  if (!isNullOrUndefined(styleProperty) && styleProperty.trim() !== '') {
29382
29437
  var valueSplit = values[i].split(';');
29438
+ for (var q = 0; q < valueSplit.length; q++) {
29439
+ if (valueSplit[q].split(':')[0] === 'border' && valueSplit[q].split(':')[1] === 'none') {
29440
+ valueSplit.splice(q, 1);
29441
+ q--;
29442
+ }
29443
+ }
29383
29444
  if (!fromClass) {
29384
29445
  for (var k = 0; k < valueSplit.length; k++) {
29385
- if (styleProperty.indexOf(valueSplit[k].split(':')[0]) >= 0) {
29446
+ var propertyName = valueSplit[k].split(':')[0];
29447
+ if (styleProperty.includes(propertyName + ':')) {
29386
29448
  valueSplit.splice(k, 1);
29387
29449
  k--;
29388
29450
  }
29389
29451
  }
29390
29452
  }
29391
- var changedValue = styleProperty + valueSplit.join(';') + ';';
29453
+ var changedValue = valueSplit.join(';') + ';' + styleProperty;
29392
29454
  resultElem[j].setAttribute('style', changedValue);
29393
29455
  }
29394
29456
  else {
@@ -29567,6 +29629,11 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
29567
29629
  startAttr = parseInt(startString, 10);
29568
29630
  }
29569
29631
  }
29632
+ else if (listStyleType === 'decimal-leading-zero') {
29633
+ if (!isNaN(parseInt(startString, 10))) {
29634
+ startAttr = parseInt(startString, 10);
29635
+ }
29636
+ }
29570
29637
  else if (listStyleType === 'upper-alpha') {
29571
29638
  startAttr = (startString.split('.')[0].charCodeAt(0) - 64);
29572
29639
  }
@@ -31968,12 +32035,13 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
31968
32035
  this.isImageDelete = false;
31969
32036
  }
31970
32037
  var brNode = this.deleteRangeElement.querySelector('BR');
32038
+ var brLastChildNode = this.deleteRangeElement.lastChild;
31971
32039
  if (brNode && brNode.classList.contains('e-rte-image-remove-focus')) {
31972
32040
  removeClass([brNode], ['e-rte-image-focus']);
31973
32041
  return;
31974
32042
  }
31975
- else if (brNode) {
31976
- detach(brNode);
32043
+ else if (brNode && brLastChildNode && brLastChildNode.nodeName === 'BR') {
32044
+ detach(brLastChildNode);
31977
32045
  e.args.preventDefault();
31978
32046
  }
31979
32047
  if (!isNullOrUndefined(this.deleteRangeElement) && (this.deleteOldRangeElement.tagName !== 'OL' && this.deleteOldRangeElement.tagName !== 'UL')
@@ -32556,12 +32624,12 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
32556
32624
  if (e.args && !isNullOrUndefined(e.args.clipboardData)) {
32557
32625
  value = e.args.clipboardData.getData('text/html');
32558
32626
  }
32559
- this.parent.trigger(beforePasteCleanup, { value: value });
32560
32627
  if (e.args && value !== null && this.parent.editorMode === 'HTML') {
32561
32628
  var file = void 0;
32562
32629
  if (value.length === 0) {
32563
32630
  var htmlRegex = new RegExp(/<\/[a-z][\s\S]*>/i);
32564
32631
  value = e.args.clipboardData.getData('text/plain');
32632
+ this.parent.trigger(beforePasteCleanup, { value: value });
32565
32633
  this.isNotFromHtml = value !== '' ? true : false;
32566
32634
  value = value.replace(/</g, '&lt;');
32567
32635
  value = value.replace(/>/g, '&gt;');
@@ -32594,6 +32662,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
32594
32662
  }
32595
32663
  }
32596
32664
  else if (value.length > 0) {
32665
+ this.parent.trigger(beforePasteCleanup, { value: value });
32597
32666
  this.parent.formatter.editorManager.observer.notify(MS_WORD_CLEANUP, {
32598
32667
  args: e.args,
32599
32668
  text: e.text,
@@ -35904,7 +35973,7 @@ var FileManagerSettings = /** @__PURE__ @class */ (function (_super) {
35904
35973
  return _super !== null && _super.apply(this, arguments) || this;
35905
35974
  }
35906
35975
  __decorate$2([
35907
- Event()
35976
+ Event$1()
35908
35977
  ], FileManagerSettings.prototype, "beforeSend", void 0);
35909
35978
  __decorate$2([
35910
35979
  Complex({ getImageUrl: null, url: null, uploadUrl: null }, AjaxSettings)
@@ -36469,7 +36538,12 @@ var EnterKeyAction = /** @__PURE__ @class */ (function () {
36469
36538
  else {
36470
36539
  var nearBlockNode = void 0;
36471
36540
  if (isTableEnter && _this.parent.formatter.editorManager.domNode.isBlockNode(_this.startNode)) {
36472
- nearBlockNode = _this.startNode;
36541
+ if (_this.range.startContainer.nodeName === '#text' && !isNullOrUndefined(_this.range.startContainer.previousSibling) && _this.range.startContainer.previousSibling.nodeName === 'HR') {
36542
+ nearBlockNode = _this.range.startContainer.nextSibling;
36543
+ }
36544
+ else {
36545
+ nearBlockNode = _this.startNode;
36546
+ }
36473
36547
  }
36474
36548
  else {
36475
36549
  nearBlockNode = _this.parent.formatter.editorManager.domNode.blockParentNode(_this.startNode);
@@ -36517,7 +36591,7 @@ var EnterKeyAction = /** @__PURE__ @class */ (function () {
36517
36591
  }
36518
36592
  else {
36519
36593
  if ((nearBlockNode.textContent.trim().length !== 0 ||
36520
- nearBlockNode.childNodes[0].nodeName === 'IMG' ||
36594
+ (!isNullOrUndefined(nearBlockNode.childNodes[0]) && nearBlockNode.childNodes[0].nodeName === 'IMG') ||
36521
36595
  (nearBlockNode.textContent.trim() === '' && nearBlockNode.querySelectorAll('img, audio, video').length > 0))) {
36522
36596
  if ((_this.range.startOffset === _this.range.endOffset && _this.range.startOffset !== 0)) {
36523
36597
  newElem = _this.parent.formatter.editorManager.nodeCutter.SplitNode(_this.range, nearBlockNode, false).cloneNode(true);
@@ -36769,6 +36843,7 @@ var EnterKeyAction = /** @__PURE__ @class */ (function () {
36769
36843
  e.args.preventDefault();
36770
36844
  }
36771
36845
  _this.triggerActionComplete(e, shiftKey_1);
36846
+ _this.parent.inputElement.dispatchEvent(new Event('input'));
36772
36847
  }
36773
36848
  });
36774
36849
  }
@@ -39376,7 +39451,6 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
39376
39451
  var iframeElement = this.element.querySelector('#' + this.getID() + '_rte-view');
39377
39452
  if (iframeElement) {
39378
39453
  this.setAutoHeight(iframeElement);
39379
- this.inputElement.style.overflow = 'hidden';
39380
39454
  }
39381
39455
  }
39382
39456
  }
@@ -39401,9 +39475,14 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
39401
39475
  };
39402
39476
  RichTextEditor.prototype.setAutoHeight = function (element) {
39403
39477
  if (!isNullOrUndefined(element)) {
39404
- element.style.height = 'auto';
39405
- element.style.height = (this.inputElement.scrollHeight + 16) + 'px';
39406
- element.style.overflow = 'hidden';
39478
+ if (element.nodeName === 'TEXTAREA') {
39479
+ element.style.height = 'auto';
39480
+ element.style.height = (this.inputElement.scrollHeight + 16) + 'px';
39481
+ element.style.overflow = 'hidden';
39482
+ }
39483
+ else if (element.nodeName === 'IFRAME') {
39484
+ element.style.height = this.inputElement.parentElement.offsetHeight + 'px';
39485
+ }
39407
39486
  }
39408
39487
  };
39409
39488
  RichTextEditor.prototype.wireEvents = function () {
@@ -39788,124 +39867,124 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
39788
39867
  Property(10000)
39789
39868
  ], RichTextEditor.prototype, "saveInterval", void 0);
39790
39869
  __decorate$5([
39791
- Event()
39870
+ Event$1()
39792
39871
  ], RichTextEditor.prototype, "actionBegin", void 0);
39793
39872
  __decorate$5([
39794
- Event()
39873
+ Event$1()
39795
39874
  ], RichTextEditor.prototype, "actionComplete", void 0);
39796
39875
  __decorate$5([
39797
- Event()
39876
+ Event$1()
39798
39877
  ], RichTextEditor.prototype, "beforeDialogOpen", void 0);
39799
39878
  __decorate$5([
39800
- Event()
39879
+ Event$1()
39801
39880
  ], RichTextEditor.prototype, "dialogOpen", void 0);
39802
39881
  __decorate$5([
39803
- Event()
39882
+ Event$1()
39804
39883
  ], RichTextEditor.prototype, "beforeDialogClose", void 0);
39805
39884
  __decorate$5([
39806
- Event()
39885
+ Event$1()
39807
39886
  ], RichTextEditor.prototype, "dialogClose", void 0);
39808
39887
  __decorate$5([
39809
- Event()
39888
+ Event$1()
39810
39889
  ], RichTextEditor.prototype, "beforeQuickToolbarOpen", void 0);
39811
39890
  __decorate$5([
39812
- Event()
39891
+ Event$1()
39813
39892
  ], RichTextEditor.prototype, "quickToolbarOpen", void 0);
39814
39893
  __decorate$5([
39815
- Event()
39894
+ Event$1()
39816
39895
  ], RichTextEditor.prototype, "quickToolbarClose", void 0);
39817
39896
  __decorate$5([
39818
- Event()
39897
+ Event$1()
39819
39898
  ], RichTextEditor.prototype, "toolbarStatusUpdate", void 0);
39820
39899
  __decorate$5([
39821
- Event()
39900
+ Event$1()
39822
39901
  ], RichTextEditor.prototype, "updatedToolbarStatus", void 0);
39823
39902
  __decorate$5([
39824
- Event()
39903
+ Event$1()
39825
39904
  ], RichTextEditor.prototype, "imageSelected", void 0);
39826
39905
  __decorate$5([
39827
- Event()
39906
+ Event$1()
39828
39907
  ], RichTextEditor.prototype, "beforeImageUpload", void 0);
39829
39908
  __decorate$5([
39830
- Event()
39909
+ Event$1()
39831
39910
  ], RichTextEditor.prototype, "imageUploading", void 0);
39832
39911
  __decorate$5([
39833
- Event()
39912
+ Event$1()
39834
39913
  ], RichTextEditor.prototype, "imageUploadSuccess", void 0);
39835
39914
  __decorate$5([
39836
- Event()
39915
+ Event$1()
39837
39916
  ], RichTextEditor.prototype, "imageUploadFailed", void 0);
39838
39917
  __decorate$5([
39839
- Event()
39918
+ Event$1()
39840
39919
  ], RichTextEditor.prototype, "imageRemoving", void 0);
39841
39920
  __decorate$5([
39842
- Event()
39921
+ Event$1()
39843
39922
  ], RichTextEditor.prototype, "afterImageDelete", void 0);
39844
39923
  __decorate$5([
39845
- Event()
39924
+ Event$1()
39846
39925
  ], RichTextEditor.prototype, "fileSelected", void 0);
39847
39926
  __decorate$5([
39848
- Event()
39927
+ Event$1()
39849
39928
  ], RichTextEditor.prototype, "beforeFileUpload", void 0);
39850
39929
  __decorate$5([
39851
- Event()
39930
+ Event$1()
39852
39931
  ], RichTextEditor.prototype, "fileUploading", void 0);
39853
39932
  __decorate$5([
39854
- Event()
39933
+ Event$1()
39855
39934
  ], RichTextEditor.prototype, "fileUploadSuccess", void 0);
39856
39935
  __decorate$5([
39857
- Event()
39936
+ Event$1()
39858
39937
  ], RichTextEditor.prototype, "fileUploadFailed", void 0);
39859
39938
  __decorate$5([
39860
- Event()
39939
+ Event$1()
39861
39940
  ], RichTextEditor.prototype, "fileRemoving", void 0);
39862
39941
  __decorate$5([
39863
- Event()
39942
+ Event$1()
39864
39943
  ], RichTextEditor.prototype, "afterMediaDelete", void 0);
39865
39944
  __decorate$5([
39866
- Event()
39945
+ Event$1()
39867
39946
  ], RichTextEditor.prototype, "created", void 0);
39868
39947
  __decorate$5([
39869
- Event()
39948
+ Event$1()
39870
39949
  ], RichTextEditor.prototype, "destroyed", void 0);
39871
39950
  __decorate$5([
39872
- Event()
39951
+ Event$1()
39873
39952
  ], RichTextEditor.prototype, "beforeSanitizeHtml", void 0);
39874
39953
  __decorate$5([
39875
- Event()
39954
+ Event$1()
39876
39955
  ], RichTextEditor.prototype, "blur", void 0);
39877
39956
  __decorate$5([
39878
- Event()
39957
+ Event$1()
39879
39958
  ], RichTextEditor.prototype, "toolbarClick", void 0);
39880
39959
  __decorate$5([
39881
- Event()
39960
+ Event$1()
39882
39961
  ], RichTextEditor.prototype, "focus", void 0);
39883
39962
  __decorate$5([
39884
- Event()
39963
+ Event$1()
39885
39964
  ], RichTextEditor.prototype, "change", void 0);
39886
39965
  __decorate$5([
39887
- Event()
39966
+ Event$1()
39888
39967
  ], RichTextEditor.prototype, "resizing", void 0);
39889
39968
  __decorate$5([
39890
- Event()
39969
+ Event$1()
39891
39970
  ], RichTextEditor.prototype, "resizeStart", void 0);
39892
39971
  __decorate$5([
39893
- Event()
39972
+ Event$1()
39894
39973
  ], RichTextEditor.prototype, "resizeStop", void 0);
39895
39974
  __decorate$5([
39896
- Event()
39975
+ Event$1()
39897
39976
  ], RichTextEditor.prototype, "beforePasteCleanup", void 0);
39898
39977
  __decorate$5([
39899
- Event()
39978
+ Event$1()
39900
39979
  ], RichTextEditor.prototype, "afterPasteCleanup", void 0);
39901
39980
  __decorate$5([
39902
- Event()
39981
+ Event$1()
39903
39982
  ], RichTextEditor.prototype, "beforeImageDrop", void 0);
39904
39983
  __decorate$5([
39905
39984
  Property(null)
39906
39985
  ], RichTextEditor.prototype, "formatter", void 0);
39907
39986
  __decorate$5([
39908
- Event()
39987
+ Event$1()
39909
39988
  ], RichTextEditor.prototype, "slashMenuItemSelect", void 0);
39910
39989
  RichTextEditor = __decorate$5([
39911
39990
  NotifyPropertyChanges