@syncfusion/ej2-richtexteditor 22.2.12 → 23.1.36

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 (81) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/dist/ej2-richtexteditor.min.js +2 -2
  3. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  4. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es2015.js +365 -263
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +365 -259
  8. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  9. package/dist/global/ej2-richtexteditor.min.js +2 -2
  10. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +13 -13
  13. package/src/editor-manager/plugin/dom-node.js +6 -5
  14. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +2 -0
  15. package/src/editor-manager/plugin/ms-word-clean-up.js +68 -11
  16. package/src/editor-manager/plugin/table.js +1 -1
  17. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +2 -1
  18. package/src/rich-text-editor/actions/base-quick-toolbar.js +10 -6
  19. package/src/rich-text-editor/actions/emoji-picker.js +29 -14
  20. package/src/rich-text-editor/actions/enter-key.js +6 -2
  21. package/src/rich-text-editor/actions/format-painter.js +12 -6
  22. package/src/rich-text-editor/actions/html-editor.js +14 -1
  23. package/src/rich-text-editor/actions/paste-clean-up.d.ts +2 -0
  24. package/src/rich-text-editor/actions/paste-clean-up.js +63 -32
  25. package/src/rich-text-editor/actions/quick-toolbar.js +32 -2
  26. package/src/rich-text-editor/actions/toolbar.js +1 -1
  27. package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
  28. package/src/rich-text-editor/base/classes.d.ts +5 -0
  29. package/src/rich-text-editor/base/classes.js +5 -0
  30. package/src/rich-text-editor/base/constant.d.ts +5 -0
  31. package/src/rich-text-editor/base/constant.js +5 -0
  32. package/src/rich-text-editor/base/enum.d.ts +4 -0
  33. package/src/rich-text-editor/base/interface.d.ts +10 -22
  34. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +1 -39
  35. package/src/rich-text-editor/base/rich-text-editor.d.ts +1 -39
  36. package/src/rich-text-editor/base/rich-text-editor.js +2 -8
  37. package/src/rich-text-editor/base/util.js +5 -1
  38. package/src/rich-text-editor/models/items.js +34 -22
  39. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +4 -5
  40. package/src/rich-text-editor/models/toolbar-settings.d.ts +4 -5
  41. package/src/rich-text-editor/models/toolbar-settings.js +1 -1
  42. package/src/rich-text-editor/renderer/audio-module.js +5 -33
  43. package/src/rich-text-editor/renderer/dialog-renderer.js +1 -1
  44. package/src/rich-text-editor/renderer/image-module.js +8 -65
  45. package/src/rich-text-editor/renderer/link-module.js +3 -0
  46. package/src/rich-text-editor/renderer/table-module.js +18 -7
  47. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +5 -1
  48. package/src/rich-text-editor/renderer/toolbar-renderer.js +28 -2
  49. package/src/rich-text-editor/renderer/video-module.js +5 -33
  50. package/src/rich-text-editor/renderer/view-source.js +1 -0
  51. package/styles/material-dark.css +0 -1
  52. package/styles/material.css +0 -1
  53. package/styles/material3-dark.css +0 -1
  54. package/styles/material3-dark.scss +1 -1
  55. package/styles/material3.css +0 -1
  56. package/styles/material3.scss +1 -1
  57. package/styles/rich-text-editor/bootstrap-dark.scss +1 -1
  58. package/styles/rich-text-editor/bootstrap.scss +1 -1
  59. package/styles/rich-text-editor/bootstrap4.scss +1 -1
  60. package/styles/rich-text-editor/bootstrap5-dark.scss +1 -1
  61. package/styles/rich-text-editor/bootstrap5.scss +1 -1
  62. package/styles/rich-text-editor/fabric-dark.scss +1 -1
  63. package/styles/rich-text-editor/fabric.scss +1 -1
  64. package/styles/rich-text-editor/fluent-dark.scss +1 -1
  65. package/styles/rich-text-editor/fluent.scss +1 -1
  66. package/styles/rich-text-editor/highcontrast-light.scss +1 -1
  67. package/styles/rich-text-editor/highcontrast.scss +1 -1
  68. package/styles/rich-text-editor/material-dark.css +0 -1
  69. package/styles/rich-text-editor/material-dark.scss +1 -1
  70. package/styles/rich-text-editor/material.css +0 -1
  71. package/styles/rich-text-editor/material.scss +1 -1
  72. package/styles/rich-text-editor/material3-dark.css +0 -1
  73. package/styles/rich-text-editor/material3-dark.scss +1 -1
  74. package/styles/rich-text-editor/material3.css +0 -1
  75. package/styles/rich-text-editor/material3.scss +1 -1
  76. package/styles/rich-text-editor/tailwind-dark.css +0 -1
  77. package/styles/rich-text-editor/tailwind-dark.scss +1 -1
  78. package/styles/rich-text-editor/tailwind.css +0 -1
  79. package/styles/rich-text-editor/tailwind.scss +1 -1
  80. package/styles/tailwind-dark.css +0 -1
  81. package/styles/tailwind.css +0 -1
@@ -739,6 +739,11 @@ var emojiPicker = 'emojiPicker';
739
739
  * @deprecated
740
740
  */
741
741
  var maximizeMinimizeClick = 'maximizeMinimizeClick';
742
+ /**
743
+ * @hidden
744
+ * @deprecated
745
+ */
746
+ var hidePopup = 'hidePopup';
742
747
  /**
743
748
  * @hidden
744
749
  * @deprecated
@@ -853,6 +858,11 @@ var CLS_QUICK_DROPDOWN = 'e-quick-dropdown';
853
858
  * @deprecated
854
859
  */
855
860
  var CLS_IMAGE_POP = 'e-rte-image-popup';
861
+ /**
862
+ * @hidden
863
+ * @deprecated
864
+ */
865
+ var CLS_TEXT_POP = 'e-rte-text-popup';
856
866
  /**
857
867
  * @hidden
858
868
  * @deprecated
@@ -2170,29 +2180,41 @@ function updateDropDownLocale(self) {
2170
2180
  });
2171
2181
  }
2172
2182
  var windowKeys = {
2173
- 'Insert Link': 'Ctrl + K',
2174
- 'Insert Image': 'Ctrl + Shift + I',
2175
- 'Create Table': 'Ctrl + Shift + E',
2176
- 'Undo': 'Ctrl + Z',
2177
- 'Redo': 'Ctrl + Y',
2178
- 'Copy': 'Ctrl + C',
2179
- 'Cut': 'Ctrl + X',
2180
- 'Paste': 'Ctrl + V',
2181
- 'Bold': 'Ctrl + B',
2182
- 'Italic': 'Ctrl + I',
2183
- 'Underline': 'Ctrl + U',
2184
- 'Strikethrough': 'Ctrl + Shift + S',
2185
- 'Upper Case': 'Ctrl + Shift + U',
2186
- 'Lower Case': 'Ctrl + Shift + L',
2187
- 'Superscript': 'Ctrl + Shift + =',
2188
- 'Subscript': 'Ctrl + =',
2189
- 'Source Code': 'Ctrl + Shift + H',
2190
- 'Maximize': 'Ctrl + Shift + F',
2183
+ 'Insert Link': 'Ctrl+K',
2184
+ 'Insert Image': 'Ctrl+Shift+I',
2185
+ 'Create Table': 'Ctrl+Shift+E',
2186
+ 'Undo': 'Ctrl+Z',
2187
+ 'Redo': 'Ctrl+Y',
2188
+ 'Copy': 'Ctrl+C',
2189
+ 'Cut': 'Ctrl+X',
2190
+ 'Paste': 'Ctrl+V',
2191
+ 'Bold': 'Ctrl+B',
2192
+ 'Italic': 'Ctrl+I',
2193
+ 'Underline': 'Ctrl+U',
2194
+ 'Strikethrough': 'Ctrl+Shift+S',
2195
+ 'Upper Case': 'Ctrl+Shift+U',
2196
+ 'Lower Case': 'Ctrl+Shift+L',
2197
+ 'Superscript': 'Ctrl+Shift+=',
2198
+ 'Subscript': 'Ctrl+=',
2199
+ 'Code View': 'Ctrl+Shift+H',
2200
+ 'Maximize': 'Ctrl+Shift+F',
2191
2201
  'Minimize': 'Esc',
2192
- 'Clear Format': 'Ctrl + Shift + R',
2193
- 'Numbered List': 'Ctrl + Shift + O',
2194
- 'Bulleted List': 'Ctrl + Alt + O',
2195
- 'Format Painter': 'Alt + Shift + C, Alt + Shift + V'
2202
+ 'Clear Format': 'Ctrl+Shift+R',
2203
+ 'Numbered List': 'Ctrl+Shift+O',
2204
+ 'Bulleted List': 'Ctrl+Alt+O',
2205
+ 'Number Format List': 'Ctrl+Shift+O',
2206
+ 'Bullet Format List': 'Ctrl+Alt+O',
2207
+ 'Insert Audio': 'Ctrl+Shift+A',
2208
+ 'Insert Video': 'Ctrl+Shift+V',
2209
+ 'Increase Indent': 'Ctrl+]',
2210
+ 'Decrease Indent': 'Ctrl+[',
2211
+ 'Decrease Fontsize': 'Ctrl+Shift+<',
2212
+ 'Increase Fontsize': 'Ctrl+Shift+>',
2213
+ 'Justify Center': 'Ctrl+E',
2214
+ 'Justify Full': 'Ctrl+J',
2215
+ 'Justify Left': 'Ctrl+L',
2216
+ 'Justify Right': 'Ctrl+R',
2217
+ 'Format Painter': 'Alt+Shift+C, Alt+Shift+V'
2196
2218
  };
2197
2219
  var defaultEmojiIcons = [{
2198
2220
  name: 'Smilies & People', code: '1F600', iconCss: 'e-emoji', icons: [{ code: '1F600', desc: 'Grinning face' },
@@ -2863,7 +2885,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2863
2885
  }
2864
2886
  }
2865
2887
  else if ((typeof data["" + key] === 'string' || data["" + key] === null) &&
2866
- getIndex(key, e.parent.toolbarSettings.items) > -1) {
2888
+ getIndex(key, e.parent.toolbarSettings.items) >= -1) {
2867
2889
  var value = ((data["" + key]) ? data["" + key] : '');
2868
2890
  var result = '';
2869
2891
  switch (key) {
@@ -2928,6 +2950,10 @@ function setToolbarStatus(e, isPopToolbar, self) {
2928
2950
  dropDown.fontSizeDropDown.dataBind();
2929
2951
  break;
2930
2952
  }
2953
+ case 'bulletFormatList':
2954
+ case 'numberFormatList': {
2955
+ removeClass([e.tbElements[j]], [CLS_ACTIVE]);
2956
+ }
2931
2957
  }
2932
2958
  }
2933
2959
  }
@@ -3293,9 +3319,13 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3293
3319
  * Constructor for toolbar renderer module
3294
3320
  *
3295
3321
  * @param {IRichTextEditor} parent - specifies the parent element.
3322
+ * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
3296
3323
  */
3297
- function ToolbarRenderer(parent) {
3324
+ function ToolbarRenderer(parent, serviceLocator) {
3298
3325
  this.parent = parent;
3326
+ if (serviceLocator) {
3327
+ this.l10n = serviceLocator.getService('rteLocale');
3328
+ }
3299
3329
  this.wireEvent();
3300
3330
  }
3301
3331
  ToolbarRenderer.prototype.wireEvent = function () {
@@ -3303,7 +3333,11 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3303
3333
  this.parent.on(maximizeMinimizeClick, this.destroyTooltip, this);
3304
3334
  };
3305
3335
  ToolbarRenderer.prototype.destroyTooltip = function () {
3306
- this.tooltip.close();
3336
+ if (!isNullOrUndefined(document.querySelector('.e-tooltip-wrap')) && !isNullOrUndefined(document.querySelector(' [data-tooltip-id]'))) {
3337
+ var tooltipTargetEle = document.querySelector('#' + (this.parent.element).id + ' [data-tooltip-id]');
3338
+ var event_1 = new MouseEvent('mouseleave', { bubbles: true, cancelable: true });
3339
+ tooltipTargetEle.dispatchEvent(event_1);
3340
+ }
3307
3341
  };
3308
3342
  ToolbarRenderer.prototype.unWireEvent = function () {
3309
3343
  this.parent.off(destroy, this.unWireEvent);
@@ -3339,6 +3373,22 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3339
3373
  }
3340
3374
  this.parent.notify(beforeDropDownItemRender, args);
3341
3375
  };
3376
+ ToolbarRenderer.prototype.tooltipBeforeRender = function (args) {
3377
+ if (!isNullOrUndefined(args.target.getAttribute('title'))) {
3378
+ var tooltipTarget = args.target.getAttribute('title');
3379
+ var tooltipText = void 0;
3380
+ switch (tooltipTarget) {
3381
+ case 'Minimize':
3382
+ tooltipText = this.l10n.getConstant('minimize');
3383
+ args.target.setAttribute('title', tooltipText + ' (Esc)');
3384
+ break;
3385
+ case 'Maximize':
3386
+ tooltipText = this.l10n.getConstant('maximize');
3387
+ args.target.setAttribute('title', tooltipText + ' (Ctrl+Shift+F)');
3388
+ break;
3389
+ }
3390
+ }
3391
+ };
3342
3392
  ToolbarRenderer.prototype.dropDownOpen = function (args) {
3343
3393
  if (args.element.parentElement.getAttribute('id').indexOf('TableCell') > -1 && !isNullOrUndefined(args.element.parentElement.querySelector('.e-cell-merge')) &&
3344
3394
  (!isNullOrUndefined(args.element.parentElement.querySelector('.e-cell-horizontal-split')) || !isNullOrUndefined(args.element.parentElement.querySelector('.e-cell-vertical-split')))) {
@@ -3404,6 +3454,8 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3404
3454
  target: '#' + this.parent.getID() + '_toolbar_wrapper [title]',
3405
3455
  showTipPointer: true,
3406
3456
  openDelay: 400,
3457
+ opensOn: 'Hover',
3458
+ beforeRender: this.tooltipBeforeRender.bind(this),
3407
3459
  cssClass: this.parent.cssClass,
3408
3460
  windowCollision: true,
3409
3461
  position: 'BottomCenter'
@@ -4769,7 +4821,7 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4769
4821
  this.renderFactory = this.locator.getService('rendererFactory');
4770
4822
  updateDropDownLocale(this.parent);
4771
4823
  updateDropDownFontFormatLocale(this.parent);
4772
- this.renderFactory.addRenderer(RenderType.Toolbar, new ToolbarRenderer(this.parent));
4824
+ this.renderFactory.addRenderer(RenderType.Toolbar, new ToolbarRenderer(this.parent, this.locator));
4773
4825
  this.toolbarRenderer = this.renderFactory.getRenderer(RenderType.Toolbar);
4774
4826
  this.baseToolbar = new BaseToolbar(this.parent, this.locator);
4775
4827
  this.addEventListener();
@@ -5967,6 +6019,9 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
5967
6019
  else if (args.popupType === 'Inline') {
5968
6020
  className = CLS_INLINE_POP;
5969
6021
  }
6022
+ else if (args.popupType === 'Text') {
6023
+ className = CLS_TEXT_POP;
6024
+ }
5970
6025
  else {
5971
6026
  className = '';
5972
6027
  }
@@ -6046,7 +6101,7 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6046
6101
  case 'bottom': {
6047
6102
  var posY = void 0;
6048
6103
  if (viewPort === 'document') {
6049
- if (type === 'inline') {
6104
+ if (type === 'inline' || type === 'text') {
6050
6105
  posY = (e.y - e.popHeight - 10);
6051
6106
  }
6052
6107
  else {
@@ -6075,7 +6130,7 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6075
6130
  break;
6076
6131
  }
6077
6132
  case 'right':
6078
- if (type === 'inline') {
6133
+ if (type === 'inline' || type === 'text') {
6079
6134
  x = window.pageXOffset + (e.windowWidth - (e.popWidth + e.bodyRightSpace + 10));
6080
6135
  }
6081
6136
  else {
@@ -6083,7 +6138,7 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6083
6138
  }
6084
6139
  break;
6085
6140
  case 'left':
6086
- if (type === 'inline') {
6141
+ if (type === 'inline' || type === 'text') {
6087
6142
  x = 0;
6088
6143
  }
6089
6144
  else {
@@ -6102,11 +6157,12 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6102
6157
  * @param {number} x - specifies the x value
6103
6158
  * @param {number} y - specifies the y value
6104
6159
  * @param {Element} target - specifies the element
6160
+ * @param {string} type - specifies the type
6105
6161
  * @returns {void}
6106
6162
  * @hidden
6107
6163
  * @deprecated
6108
6164
  */
6109
- BaseQuickToolbar.prototype.showPopup = function (x, y, target) {
6165
+ BaseQuickToolbar.prototype.showPopup = function (x, y, target, type) {
6110
6166
  var _this = this;
6111
6167
  var eventArgs = { popup: this.popupObj, cancel: false, targetElement: target,
6112
6168
  positionX: x, positionY: y };
@@ -6137,7 +6193,7 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6137
6193
  editPanelTop = (cntEle) ? cntEle.scrollTop : 0;
6138
6194
  editPanelHeight = (cntEle) ? cntEle.offsetHeight : 0;
6139
6195
  }
6140
- if (!_this.parent.inlineMode.enable && !closest(target, 'table')) {
6196
+ if (!_this.parent.inlineMode.enable && !closest(target, 'table') && type !== 'text') {
6141
6197
  _this.parent.disableToolbarItem(_this.parent.toolbarSettings.items);
6142
6198
  _this.parent.enableToolbarItem(['Undo', 'Redo']);
6143
6199
  }
@@ -6190,7 +6246,7 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
6190
6246
  if (!_this.parent.inlineMode.enable) {
6191
6247
  _this.checkCollision(showPopupData, 'parent', '');
6192
6248
  }
6193
- _this.checkCollision(showPopupData, 'document', ((_this.parent.inlineMode.enable) ? 'inline' : ''));
6249
+ _this.checkCollision(showPopupData, 'document', ((_this.parent.inlineMode.enable) ? 'inline' : (type === 'text') ? 'text' : ''));
6194
6250
  _this.popupObj.element.classList.remove('e-popup-open');
6195
6251
  removeClass([_this.element], [CLS_HIDE]);
6196
6252
  _this.popupObj.show({ name: 'ZoomIn', duration: (Browser.isIE ? 250 : 400) });
@@ -6520,8 +6576,10 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6520
6576
  }
6521
6577
  this.linkQTBar = this.createQTBar('Link', 'Scrollable', this.parent.quickToolbarSettings.link, RenderType.LinkToolbar);
6522
6578
  this.renderFactory.addRenderer(RenderType.LinkToolbar, this.linkQTBar);
6523
- this.textQTBar = this.createQTBar('Text', 'Scrollable', this.parent.quickToolbarSettings.text, RenderType.TextToolbar);
6524
- this.renderFactory.addRenderer(RenderType.TextToolbar, this.textQTBar);
6579
+ if (!isNullOrUndefined(this.parent.quickToolbarSettings.text) && !this.parent.inlineMode.enable) {
6580
+ this.textQTBar = this.createQTBar('Text', 'MultiRow', this.parent.quickToolbarSettings.text, RenderType.TextToolbar);
6581
+ this.renderFactory.addRenderer(RenderType.TextToolbar, this.textQTBar);
6582
+ }
6525
6583
  this.imageQTBar = this.createQTBar('Image', 'MultiRow', this.parent.quickToolbarSettings.image, RenderType.ImageToolbar);
6526
6584
  this.renderFactory.addRenderer(RenderType.ImageToolbar, this.imageQTBar);
6527
6585
  this.audioQTBar = this.createQTBar('Audio', 'MultiRow', this.parent.quickToolbarSettings.audio, RenderType.AudioToolbar);
@@ -6663,6 +6721,24 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6663
6721
  }
6664
6722
  }
6665
6723
  }
6724
+ if (!isNullOrUndefined(this.textQTBar) && !isNullOrUndefined(this.parent.quickToolbarSettings.text) && !this.parent.inlineMode.enable) {
6725
+ var args = e.args.touches ?
6726
+ e.args.changedTouches[0] : e.args;
6727
+ var target = e.args.target;
6728
+ this.hideQuickToolbars();
6729
+ var parentLeft = this.parent.element.getBoundingClientRect().left;
6730
+ this.offsetX = this.parent.iframeSettings.enable ? this.parent.element.ownerDocument.documentElement.scrollLeft
6731
+ + parentLeft + args.clientX : args.pageX;
6732
+ this.offsetY = pageYOffset(args, this.parent.element, this.parent.iframeSettings.enable);
6733
+ var range = this.parent.getRange();
6734
+ if ((range.endContainer.parentElement.tagName === range.startContainer.parentElement.tagName && (range.startContainer.parentElement.tagName === 'A' && range.endContainer.parentElement.tagName === 'A')) ||
6735
+ (target.tagName === 'IMG') || (target.tagName === 'VIDEO') || (target.tagName === 'AUDIO') || (target.childNodes[0].nodeType === 1 && target.childNodes[0].classList.contains('e-rte-audio')) ||
6736
+ (this.parent.getRange().startOffset === this.parent.getRange().endOffset)) {
6737
+ return;
6738
+ }
6739
+ this.target = target;
6740
+ this.textQTBar.showPopup(this.offsetX, this.offsetY, target, 'text');
6741
+ }
6666
6742
  };
6667
6743
  QuickToolbar.prototype.keyDownHandler = function () {
6668
6744
  if ((this.parent.inlineMode.enable && (!Browser.isDevice || isIDevice()))
@@ -6675,6 +6751,11 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6675
6751
  && !isNullOrUndefined(select('.' + CLS_INLINE_POP, document))) {
6676
6752
  this.hideInlineQTBar();
6677
6753
  }
6754
+ if (!isNullOrUndefined(this.parent.quickToolbarSettings.text)) {
6755
+ if (this.textQTBar && !hasClass(this.textQTBar.element, 'e-popup-close') && document.body.contains(this.textQTBar.element)) {
6756
+ this.textQTBar.hidePopup();
6757
+ }
6758
+ }
6678
6759
  };
6679
6760
  QuickToolbar.prototype.keyUpHandler = function (e) {
6680
6761
  if (this.parent.inlineMode.enable && !Browser.isDevice) {
@@ -6833,6 +6914,7 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6833
6914
  this.parent.on(keyDown, this.onKeyDown, this);
6834
6915
  this.parent.on(rtlMode, this.setRtl, this);
6835
6916
  this.parent.on(bindCssClass, this.setCssClass, this);
6917
+ this.parent.on(hidePopup, this.hideQuickToolbars, this);
6836
6918
  };
6837
6919
  QuickToolbar.prototype.onKeyDown = function (e) {
6838
6920
  var args = e.args;
@@ -6886,6 +6968,9 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6886
6968
  if (this.linkQTBar) {
6887
6969
  this.linkQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
6888
6970
  }
6971
+ if (this.textQTBar) {
6972
+ this.textQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
6973
+ }
6889
6974
  };
6890
6975
  /**
6891
6976
  * removeEventListener
@@ -6914,6 +6999,7 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6914
6999
  this.parent.off(keyDown, this.onKeyDown);
6915
7000
  this.parent.off(rtlMode, this.setRtl);
6916
7001
  this.parent.off(bindCssClass, this.setCssClass);
7002
+ this.parent.off(hidePopup, this.hideQuickToolbars);
6917
7003
  };
6918
7004
  /**
6919
7005
  * Called internally if any of the property value changed.
@@ -11239,11 +11325,12 @@ var DOMNode = /** @__PURE__ @class */ (function () {
11239
11325
  var startTextNode;
11240
11326
  var endTextNode;
11241
11327
  if (start.textContent === '' && isNullOrUndefined(end) && action !== 'tab') {
11242
- if (isNullOrUndefined(action) && save.range.startContainer.nodeType === 1 &&
11243
- save.range.startContainer.querySelectorAll('audio,video,image').length === 0) {
11244
- start.innerHTML = '<br>';
11245
- }
11246
- else if (start.childNodes.length === 1 && start.childNodes[0].nodeName === 'BR') {
11328
+ // To Do Apply Heading and Back space press in empty content.
11329
+ // if (isNOU(action) && save.range.startContainer.nodeType === 1 &&
11330
+ // (save.range.startContainer as HTMLElement).querySelectorAll('audio,video,image').length === 0) {
11331
+ // start.innerHTML = '<br>';
11332
+ // }
11333
+ if (start.childNodes.length === 1 && start.childNodes[0].nodeName === 'BR') {
11247
11334
  start.innerHTML = '&#65279;&#65279;<br>';
11248
11335
  }
11249
11336
  else {
@@ -14995,7 +15082,7 @@ var TableCommand = /** @__PURE__ @class */ (function () {
14995
15082
  TableCommand.prototype.calculateStyleValue = function (value) {
14996
15083
  var styleValue;
14997
15084
  if (typeof (value) === 'string') {
14998
- if (value.indexOf('px') || value.indexOf('%') || value.indexOf('auto')) {
15085
+ if (value.indexOf('px') >= 0 || value.indexOf('%') >= 0 || value.indexOf('auto') >= 0) {
14999
15086
  styleValue = value;
15000
15087
  }
15001
15088
  else {
@@ -17497,6 +17584,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
17497
17584
  'μ', 'ν', 'ξ', 'ο', 'π', 'ρ', 'σ', 'τ', 'υ', 'φ', 'χ', 'ψ', 'ω'];
17498
17585
  this.removableElements = ['o:p', 'style'];
17499
17586
  this.listContents = [];
17587
+ this.cropImageDimensions = [];
17500
17588
  this.parent = parent;
17501
17589
  this.addEventListener();
17502
17590
  }
@@ -17546,7 +17634,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
17546
17634
  }
17547
17635
  }
17548
17636
  }
17549
- e.callBack(elm.innerHTML);
17637
+ e.callBack(elm.innerHTML, this.cropImageDimensions);
17550
17638
  }
17551
17639
  else {
17552
17640
  e.callBack(elm.innerHTML);
@@ -17614,7 +17702,8 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
17614
17702
  imgElem[i].getAttribute('v:shapes').indexOf('Grafik') < 0 &&
17615
17703
  imgElem[i].getAttribute('v:shapes').toLowerCase().indexOf('image') < 0 &&
17616
17704
  imgElem[i].getAttribute('v:shapes').indexOf('Graphic') < 0 &&
17617
- imgElem[i].getAttribute('v:shapes').indexOf('_x0000_s') < 0) {
17705
+ imgElem[i].getAttribute('v:shapes').indexOf('_x0000_s') < 0 &&
17706
+ imgElem[i].getAttribute('v:shapes').indexOf('_x0000_i') < 0) {
17618
17707
  detach(imgElem[i]);
17619
17708
  }
17620
17709
  }
@@ -17631,14 +17720,36 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
17631
17720
  }
17632
17721
  var hexValue = this.hexConversion(rtfData);
17633
17722
  for (var i = 0; i < hexValue.length; i++) {
17634
- base64Src.push(this.convertToBase64(hexValue[i]));
17723
+ base64Src.push({
17724
+ base64Data: !isNullOrUndefined(hexValue[i].hex) ? this.convertToBase64(hexValue[i]) : null,
17725
+ isCroppedImage: hexValue[i].isCroppedImage
17726
+ });
17727
+ if (hexValue[i].isCroppedImage) {
17728
+ this.cropImageDimensions.push({
17729
+ goalWidth: hexValue[i].goalWidth,
17730
+ goalHeight: hexValue[i].goalHeight,
17731
+ cropLength: hexValue[i].cropLength,
17732
+ cropTop: hexValue[i].cropTop,
17733
+ cropR: hexValue[i].cropR,
17734
+ cropB: hexValue[i].cropB
17735
+ });
17736
+ }
17635
17737
  }
17636
17738
  for (var i = 0; i < imgElem.length; i++) {
17637
17739
  if (imgSrc[i].match(linkRegex)) {
17638
17740
  imgElem[i].setAttribute('src', imgSrc[i]);
17639
17741
  }
17640
17742
  else {
17641
- imgElem[i].setAttribute('src', base64Src[i]);
17743
+ if (!isNullOrUndefined(base64Src[i]) && !isNullOrUndefined(base64Src[i].base64Data)) {
17744
+ imgElem[i].setAttribute('src', base64Src[i].base64Data);
17745
+ }
17746
+ else {
17747
+ imgElem[i].removeAttribute('src');
17748
+ imgElem[i].setAttribute('alt', 'Unsupported file format');
17749
+ }
17750
+ if (!isNullOrUndefined(base64Src[i]) && base64Src[i].isCroppedImage) {
17751
+ imgElem[i].classList.add('e-img-cropped');
17752
+ }
17642
17753
  }
17643
17754
  imgElem[i].setAttribute('id', 'msWordImg-' + imgName[i]);
17644
17755
  }
@@ -17715,6 +17826,13 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
17715
17826
  var result = [];
17716
17827
  if (!isNullOrUndefined(fullImg)) {
17717
17828
  for (var i = 0; i < fullImg.length; i++) {
17829
+ var isCroppedImage = false;
17830
+ var goalWidth = 0;
17831
+ var goalHeight = 0;
17832
+ var cropLength = 0;
17833
+ var cropTop = 0;
17834
+ var cropR = 0;
17835
+ var cropB = 0;
17718
17836
  if (picHead.test(fullImg[i])) {
17719
17837
  if (fullImg[i].indexOf('\\pngblip') !== -1) {
17720
17838
  imgType = 'image/png';
@@ -17722,20 +17840,45 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
17722
17840
  else if (fullImg[i].indexOf('\\jpegblip') !== -1) {
17723
17841
  imgType = 'image/jpeg';
17724
17842
  }
17843
+ else if (fullImg[i].indexOf('\\picprop') !== -1) {
17844
+ imgType = null;
17845
+ }
17725
17846
  else {
17726
17847
  continue;
17727
17848
  }
17849
+ isCroppedImage = this.extractCropValue('cropl', fullImg[i]) > 0 &&
17850
+ this.extractCropValue('cropt', fullImg[i]) > 0 ? true : false;
17851
+ if (isCroppedImage) {
17852
+ goalWidth = this.extractCropValue('wgoal', fullImg[i]);
17853
+ goalHeight = this.extractCropValue('hgoal', fullImg[i]);
17854
+ cropLength = this.extractCropValue('cropl', fullImg[i]);
17855
+ cropTop = this.extractCropValue('cropt', fullImg[i]);
17856
+ cropR = this.extractCropValue('cropr', fullImg[i]);
17857
+ cropB = this.extractCropValue('cropb', fullImg[i]);
17858
+ }
17728
17859
  result.push({
17729
17860
  hex: imgType ? fullImg[i].replace(picHead, '').replace(/[^\da-fA-F]/g, '') : null,
17730
- type: imgType
17861
+ type: imgType,
17862
+ isCroppedImage: isCroppedImage,
17863
+ goalWidth: goalWidth,
17864
+ goalHeight: goalHeight,
17865
+ cropLength: cropLength,
17866
+ cropTop: cropTop,
17867
+ cropR: cropR,
17868
+ cropB: cropB
17731
17869
  });
17732
17870
  }
17733
17871
  }
17734
17872
  }
17735
17873
  return result;
17736
17874
  };
17875
+ MsWordPaste.prototype.extractCropValue = function (crop, rtfData) {
17876
+ // eslint-disable-next-line security/detect-non-literal-regexp
17877
+ var result = new RegExp('\\\\pic' + crop + '(\\-?\\d+)\\\\').exec(rtfData.replace('\r\n\\', '\\'))[1];
17878
+ return parseInt(result, 10);
17879
+ };
17737
17880
  MsWordPaste.prototype.removeClassName = function (elm) {
17738
- var elmWithClass = elm.querySelectorAll('*[class]');
17881
+ var elmWithClass = elm.querySelectorAll('*[class]:not(.e-img-cropped)');
17739
17882
  for (var i = 0; i < elmWithClass.length; i++) {
17740
17883
  elmWithClass[i].removeAttribute('class');
17741
17884
  }
@@ -18072,8 +18215,10 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
18072
18215
  currentListStyle = listNodes[i].getAttribute('style');
18073
18216
  }
18074
18217
  }
18075
- collection.push({ listType: type, content: tempNode, nestedLevel: level, class: currentClassName,
18076
- listStyle: currentListStyle, listStyleTypeName: listStyleType, start: startAttr, styleMarginLeft: styleMarginLeft });
18218
+ collection.push({
18219
+ listType: type, content: tempNode, nestedLevel: level, class: currentClassName,
18220
+ listStyle: currentListStyle, listStyleTypeName: listStyleType, start: startAttr, styleMarginLeft: styleMarginLeft
18221
+ });
18077
18222
  }
18078
18223
  }
18079
18224
  stNode = listNodes.shift();
@@ -18201,8 +18346,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
18201
18346
  }
18202
18347
  else {
18203
18348
  if (collection[index].nestedLevel > pLevel && isNormalList) {
18204
- var initialNode = void 0;
18205
- initialNode = createElement(collection[index].listType);
18349
+ var initialNode = createElement(collection[index].listType);
18206
18350
  prevList = createElement('li');
18207
18351
  initialNode.appendChild(prevList);
18208
18352
  initialNode.style.listStyleType = 'none';
@@ -18291,7 +18435,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
18291
18435
  if (firstChild.childNodes.length > 0) {
18292
18436
  var listIgnoreTag = firstChild.querySelectorAll('[style*="mso-list"]');
18293
18437
  for (var i = 0; i < listIgnoreTag.length; i++) {
18294
- listIgnoreTag[i].setAttribute('style', listIgnoreTag[i].getAttribute('style').replace(/\n/g, ""));
18438
+ listIgnoreTag[i].setAttribute('style', listIgnoreTag[i].getAttribute('style').replace(/\n/g, ''));
18295
18439
  }
18296
18440
  var listOrder = firstChild.querySelector('span[style="mso-list:Ignore"]');
18297
18441
  if (!isNullOrUndefined(listOrder)) {
@@ -19902,7 +20046,7 @@ var XhtmlValidation = /** @__PURE__ @class */ (function () {
19902
20046
  */
19903
20047
  XhtmlValidation.prototype.selfEncloseValidation = function (currentValue, valueLength) {
19904
20048
  if (valueLength === 0 && currentValue.indexOf('table') < 0 && currentValue.indexOf('img') < 0 &&
19905
- currentValue !== '<p><br></p>' && currentValue !== '<div><br></div>' && currentValue !== '<br>') {
20049
+ currentValue.includes('&nbsp;')) {
19906
20050
  var arrayValue = currentValue.split('&nbsp;');
19907
20051
  arrayValue[arrayValue.length - 1] = '&#8203;' + arrayValue[arrayValue.length - 1];
19908
20052
  currentValue = arrayValue.join('');
@@ -20144,11 +20288,24 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
20144
20288
  var currentLength = this.parent.inputElement.innerHTML.replace(regEx, '').length;
20145
20289
  var focusNode = range.startContainer;
20146
20290
  if (previousLength > currentLength && !isRootParent) {
20291
+ if (focusNode.textContent.trim().length !== 0 && focusNode.previousSibling) {
20292
+ var tempSpan = document.createElement('span');
20293
+ tempSpan.className = 'tempSpan';
20294
+ range.insertNode(tempSpan);
20295
+ }
20147
20296
  var currentChild = this.parent.inputElement.firstChild;
20148
20297
  while (!isNullOrUndefined(currentChild) && currentChild.textContent.replace(regEx, '').trim().length > 0) {
20149
20298
  currentChild.innerHTML = currentChild.innerHTML.replace(regEx, '');
20150
20299
  currentChild = currentChild.nextElementSibling;
20151
20300
  }
20301
+ var tempSpanToRemove = this.parent.inputElement.querySelector('.tempSpan');
20302
+ if (tempSpanToRemove && tempSpanToRemove.previousSibling && focusNode.textContent.trim().length !== 0) {
20303
+ focusNode = tempSpanToRemove.previousSibling;
20304
+ pointer = tempSpanToRemove.previousSibling.textContent.length;
20305
+ var parentElement = tempSpanToRemove.parentNode;
20306
+ parentElement.removeChild(tempSpanToRemove);
20307
+ tempSpanToRemove = null;
20308
+ }
20152
20309
  var currentChildNode = this.parent.inputElement.querySelector('.currentStartMark').childNodes;
20153
20310
  if (currentChildNode.length > 1) {
20154
20311
  for (var i = 0; i < currentChildNode.length; i++) {
@@ -20603,7 +20760,7 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
20603
20760
  var item = args.item;
20604
20761
  var closestElement = closest(args.originalEvent.target, '.e-rte-quick-popup');
20605
20762
  if (item.command !== 'FormatPainter') {
20606
- if (closestElement && !closestElement.classList.contains('e-rte-inline-popup')) {
20763
+ if (closestElement && !closestElement.classList.contains('e-rte-inline-popup') && !closestElement.classList.contains('e-rte-text-popup')) {
20607
20764
  if (!(item.subCommand === 'SourceCode' || item.subCommand === 'Preview' ||
20608
20765
  item.subCommand === 'FontColor' || item.subCommand === 'BackgroundColor')) {
20609
20766
  if (isIDevice$1() && item.command === 'Images') {
@@ -20875,6 +21032,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
20875
21032
  'header', 'article', 'nav', 'footer', 'section', 'aside', 'main', 'figure', 'figcaption'];
20876
21033
  this.isNotFromHtml = false;
20877
21034
  this.containsHtml = false;
21035
+ this.cropImageData = [];
20878
21036
  this.parent = parent;
20879
21037
  this.locator = serviceLocator;
20880
21038
  this.renderFactory = this.locator.getService('rendererFactory');
@@ -20955,8 +21113,9 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
20955
21113
  args: e.args,
20956
21114
  text: e.text,
20957
21115
  allowedStylePropertiesArray: this.parent.pasteCleanupSettings.allowedStyleProps,
20958
- callBack: function (a) {
21116
+ callBack: function (a, cropImageData) {
20959
21117
  value = a.trim();
21118
+ _this.cropImageData = cropImageData;
20960
21119
  }
20961
21120
  });
20962
21121
  }
@@ -21005,7 +21164,9 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21005
21164
  currentFocusNode = currentFocusNode.childNodes[_this.nodeSelectionObj.getRange(_this.contentRenderer.getDocument()).startOffset];
21006
21165
  }
21007
21166
  if (currentFocusNode.previousSibling.nodeName === 'IMG') {
21008
- currentFocusNode.previousSibling.classList.add('pasteContent_Img');
21167
+ if (!isNullOrUndefined(currentFocusNode.previousSibling.getAttribute('src'))) {
21168
+ currentFocusNode.previousSibling.classList.add('pasteContent_Img');
21169
+ }
21009
21170
  currentFocusNode.previousSibling.classList.add(CLS_RTE_IMAGE);
21010
21171
  if (_this.parent.insertImageSettings.display === 'inline') {
21011
21172
  currentFocusNode.previousSibling.classList.add(CLS_IMGINLINE);
@@ -21037,6 +21198,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21037
21198
  PasteCleanup.prototype.makeSpace = function (enterSplitText) {
21038
21199
  var contentWithSpace = '';
21039
21200
  var spaceBetweenContent = true;
21201
+ enterSplitText = enterSplitText.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
21040
21202
  var spaceSplit = enterSplitText.split(' ');
21041
21203
  for (var j = 0; j < spaceSplit.length; j++) {
21042
21204
  if (spaceSplit[j].trim() === '') {
@@ -21056,7 +21218,8 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21056
21218
  var imgName = [];
21057
21219
  var uploadImg = [];
21058
21220
  for (var i = 0; i < allImgElm.length; i++) {
21059
- if (allImgElm[i].getAttribute('src').split(',')[0].indexOf('base64') >= 0) {
21221
+ if (!isNullOrUndefined(allImgElm[i].getAttribute('src')) &&
21222
+ allImgElm[i].getAttribute('src').split(',')[0].indexOf('base64') >= 0) {
21060
21223
  base64Src.push(allImgElm[i].getAttribute('src'));
21061
21224
  imgName.push(getUniqueID('rte_image'));
21062
21225
  uploadImg.push(allImgElm[i]);
@@ -21137,8 +21300,6 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21137
21300
  setTimeout(function () {
21138
21301
  _this.refreshPopup(imgElem, _this.popupObj);
21139
21302
  }, timeOut);
21140
- var rawFile;
21141
- var beforeUploadArgs;
21142
21303
  this.uploadObj = new Uploader({
21143
21304
  asyncSettings: {
21144
21305
  saveUrl: this.parent.insertImageSettings.saveUrl,
@@ -21170,28 +21331,8 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21170
21331
  }
21171
21332
  },
21172
21333
  beforeUpload: function (args) {
21173
- if (_this.parent.isServerRendered) {
21174
- beforeUploadArgs = JSON.parse(JSON.stringify(args));
21175
- beforeUploadArgs.filesData = rawFile;
21176
- args.cancel = true;
21177
- _this.parent.trigger(imageUploading, beforeUploadArgs, function (beforeUploadArgs) {
21178
- if (beforeUploadArgs.cancel) {
21179
- return;
21180
- }
21181
- _this.toolbarEnableDisable(true);
21182
- /* eslint-disable */
21183
- _this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
21184
- beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
21185
- _this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
21186
- beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
21187
- _this.uploadObj.uploadFiles(rawFile, null);
21188
- /* eslint-enable */
21189
- });
21190
- }
21191
- else {
21192
- _this.parent.trigger(beforeImageUpload, args);
21193
- _this.toolbarEnableDisable(true);
21194
- }
21334
+ _this.parent.trigger(beforeImageUpload, args);
21335
+ _this.toolbarEnableDisable(true);
21195
21336
  },
21196
21337
  // eslint-disable-next-line
21197
21338
  failure: function (e) {
@@ -21209,9 +21350,6 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21209
21350
  },
21210
21351
  selected: function (e) {
21211
21352
  e.cancel = true;
21212
- if (_this.parent.isServerRendered) {
21213
- rawFile = e.filesData;
21214
- }
21215
21353
  },
21216
21354
  removing: function () {
21217
21355
  _this.parent.inputElement.contentEditable = 'true';
@@ -21233,8 +21371,6 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21233
21371
  statusCode: '1'
21234
21372
  }];
21235
21373
  this.uploadObj.createFileList(fileData);
21236
- /* eslint-enable */
21237
- rawFile = fileData;
21238
21374
  this.uploadObj.upload(fileData);
21239
21375
  this.popupObj.element.getElementsByClassName('e-file-select-wrap')[0].style.display = 'none';
21240
21376
  detach(this.popupObj.element.querySelector('.e-rte-dialog-upload .e-file-select-wrap'));
@@ -21309,7 +21445,9 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21309
21445
  * @deprecated
21310
21446
  */
21311
21447
  PasteCleanup.prototype.imageFormatting = function (pasteArgs, imgElement) {
21312
- imgElement.elements[0].classList.add('pasteContent_Img');
21448
+ if (!isNullOrUndefined(imgElement.elements[0].getAttribute('src'))) {
21449
+ imgElement.elements[0].classList.add('pasteContent_Img');
21450
+ }
21313
21451
  var imageElement = this.parent.createElement('span');
21314
21452
  imageElement.appendChild(imgElement.elements[0]);
21315
21453
  var imageValue = imageElement.innerHTML;
@@ -21502,7 +21640,9 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21502
21640
  clipBoardElem.innerHTML = this.sanitizeHelper(clipBoardElem.innerHTML);
21503
21641
  var allImg = clipBoardElem.querySelectorAll('img');
21504
21642
  for (var i = 0; i < allImg.length; i++) {
21505
- allImg[i].classList.add('pasteContent_Img');
21643
+ if (!isNullOrUndefined(allImg[i].getAttribute('src'))) {
21644
+ allImg[i].classList.add('pasteContent_Img');
21645
+ }
21506
21646
  this.setImageProperties(allImg[i]);
21507
21647
  }
21508
21648
  this.addTempClass(clipBoardElem);
@@ -21545,6 +21685,51 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
21545
21685
  }, clipBoardElem, null, null, this.parent.enterKey);
21546
21686
  this.removeTempClass();
21547
21687
  this.parent.notify(toolbarRefresh, {});
21688
+ this.cropImageHandler(this.parent.inputElement);
21689
+ }
21690
+ };
21691
+ PasteCleanup.prototype.cropImageHandler = function (element) {
21692
+ var _this = this;
21693
+ var allImgElm = element.querySelectorAll('.e-img-cropped');
21694
+ if (allImgElm.length > 0) {
21695
+ var _loop_1 = function (i) {
21696
+ if (allImgElm[i].getAttribute('src').split(',')[0].indexOf('base64') >= 0) {
21697
+ var image_1 = new Image();
21698
+ image_1.src = allImgElm[i].getAttribute('src');
21699
+ var canvas_1 = document.createElement('canvas');
21700
+ var ctx_1 = canvas_1.getContext('2d');
21701
+ image_1.onload = function () {
21702
+ var wGoalWidth = _this.cropImageData[i].goalWidth / image_1.naturalWidth;
21703
+ var hGoalHeight = _this.cropImageData[i].goalHeight / image_1.naturalHeight;
21704
+ var cropLength = _this.cropImageData[i].cropLength / wGoalWidth;
21705
+ var cropTop = _this.cropImageData[i].cropTop / hGoalHeight;
21706
+ var cropWidth = (_this.cropImageData[i].goalWidth -
21707
+ _this.cropImageData[i].cropLength -
21708
+ _this.cropImageData[i].cropR) / wGoalWidth;
21709
+ var cropHeight = (_this.cropImageData[i].goalHeight -
21710
+ _this.cropImageData[i].cropTop -
21711
+ _this.cropImageData[i].cropB) / hGoalHeight;
21712
+ canvas_1.width = cropWidth;
21713
+ canvas_1.height = cropHeight;
21714
+ // Draw the cropped portion of the image onto the canvas
21715
+ ctx_1.drawImage(image_1, cropLength, cropTop, cropWidth, cropHeight, 0, 0, cropWidth, cropHeight);
21716
+ // Convert the cropped canvas to a base64 encoded image
21717
+ var croppedBase64 = canvas_1.toDataURL('image/png');
21718
+ // Call the provided callback with the cropped base64 data
21719
+ allImgElm[i].setAttribute('src', croppedBase64);
21720
+ allImgElm[i].classList.remove('e-img-cropped');
21721
+ _this.imgUploading(_this.parent.inputElement);
21722
+ if (_this.parent.iframeSettings.enable) {
21723
+ _this.parent.updateValue();
21724
+ }
21725
+ };
21726
+ }
21727
+ };
21728
+ for (var i = 0; i < allImgElm.length; i++) {
21729
+ _loop_1(i);
21730
+ }
21731
+ }
21732
+ else {
21548
21733
  this.imgUploading(this.parent.inputElement);
21549
21734
  if (this.parent.iframeSettings.enable) {
21550
21735
  this.parent.updateValue();
@@ -22495,6 +22680,10 @@ var FormatPainter = /** @__PURE__ @class */ (function () {
22495
22680
  clickargs.args.action = 'escape';
22496
22681
  this.actionHandler(clickargs, 'keyBoard');
22497
22682
  }
22683
+ if (this.parent.quickToolbarModule && !isNullOrUndefined(this.parent.quickToolbarSettings.text) &&
22684
+ this.parent.element.ownerDocument.contains(this.parent.quickToolbarModule.textQTBar.element)) {
22685
+ this.parent.quickToolbarModule.textQTBar.hidePopup();
22686
+ }
22498
22687
  };
22499
22688
  FormatPainter.prototype.toolbarDoubleClick = function (args) {
22500
22689
  this.isActive = true;
@@ -22573,12 +22762,14 @@ var FormatPainter = /** @__PURE__ @class */ (function () {
22573
22762
  }
22574
22763
  };
22575
22764
  FormatPainter.prototype.updateToolbarBtn = function (enable) {
22576
- var toolbarBtn = this.parent.element.querySelector('.e-rte-format-painter').parentElement.parentElement;
22577
- if (enable) {
22578
- addClass([toolbarBtn], 'e-active');
22579
- }
22580
- else if (!this.isSticky) {
22581
- removeClass([toolbarBtn], 'e-active');
22765
+ if (!isNullOrUndefined(this.parent.element.querySelector('.e-rte-format-painter'))) {
22766
+ var toolbarBtn = this.parent.element.querySelector('.e-rte-format-painter').parentElement.parentElement;
22767
+ if (enable) {
22768
+ addClass([toolbarBtn], 'e-active');
22769
+ }
22770
+ else if (!this.isSticky) {
22771
+ removeClass([toolbarBtn], 'e-active');
22772
+ }
22582
22773
  }
22583
22774
  };
22584
22775
  FormatPainter.prototype.editAreaClick = function (args) {
@@ -22651,7 +22842,13 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
22651
22842
  EmojiPicker.prototype.toolbarClick = function (args) {
22652
22843
  var _this = this;
22653
22844
  var _a, _b;
22654
- var spanElement = this.parent.element.querySelector('.e-emoji');
22845
+ var spanElement;
22846
+ if (!isNullOrUndefined(this.parent.element.querySelector('.e-emoji'))) {
22847
+ spanElement = this.parent.element.querySelector('.e-emoji');
22848
+ }
22849
+ else if (this.parent.inlineMode.enable) {
22850
+ spanElement = this.parent.element.ownerDocument.querySelector('.e-emoji');
22851
+ }
22655
22852
  this.divElement = spanElement.closest('div');
22656
22853
  var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
22657
22854
  this.save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
@@ -22666,7 +22863,12 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
22666
22863
  this.popupObj.hide();
22667
22864
  }
22668
22865
  this.popDiv = this.parent.createElement('div', { className: 'e-rte-emojipicker-popup', id: this.parent.getID() + '_emojiPicker' });
22669
- this.parent.getToolbar().appendChild(this.popDiv);
22866
+ if (!isNullOrUndefined(this.parent.getToolbar()) && !this.parent.inlineMode.enable) {
22867
+ this.parent.getToolbar().appendChild(this.popDiv);
22868
+ }
22869
+ else if (this.parent.inlineMode.enable) {
22870
+ this.parent.inputElement.appendChild(this.popDiv);
22871
+ }
22670
22872
  EventHandler.add(this.popDiv, 'keydown', this.onKeyDown, this);
22671
22873
  EventHandler.add(this.popDiv, 'keyup', this.searchFilter, this);
22672
22874
  var extendEle = this.parent.element.querySelector('.e-toolbar-extended');
@@ -22681,13 +22883,14 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
22681
22883
  var target;
22682
22884
  var xValue;
22683
22885
  var yValue;
22684
- if (!isNullOrUndefined(args.args)) {
22886
+ if (!isNullOrUndefined(args.args) && !this.parent.inlineMode.enable &&
22887
+ isNullOrUndefined(this.parent.quickToolbarSettings.text)) {
22685
22888
  target = args.args.originalEvent.target;
22686
22889
  target = target.classList.contains('e-toolbar-item') ? target.firstChild : target.parentElement;
22687
22890
  xValue = 'left';
22688
22891
  yValue = 'bottom';
22689
22892
  }
22690
- else if (isNullOrUndefined(args.x) && isNullOrUndefined(args.y)) {
22893
+ else if (isNullOrUndefined(args.x) && isNullOrUndefined(args.y) && !this.parent.inlineMode.enable && isNullOrUndefined(this.parent.quickToolbarSettings.text)) {
22691
22894
  target = this.parent.inputElement;
22692
22895
  if (window.getSelection().rangeCount > 0) {
22693
22896
  var coordinates = this.getCoordinates();
@@ -22695,6 +22898,14 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
22695
22898
  yValue = coordinates.top;
22696
22899
  }
22697
22900
  }
22901
+ else if (isNullOrUndefined(args.x) && isNullOrUndefined(args.y) && (this.parent.inlineMode.enable || !isNullOrUndefined(this.parent.quickToolbarSettings.text))) {
22902
+ this.parent.notify(hidePopup, {});
22903
+ if (window.getSelection().rangeCount > 0) {
22904
+ var coordinates = this.getCoordinates();
22905
+ xValue = coordinates.left;
22906
+ yValue = coordinates.top;
22907
+ }
22908
+ }
22698
22909
  else {
22699
22910
  target = this.parent.inputElement;
22700
22911
  xValue = args.x;
@@ -22721,7 +22932,8 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
22721
22932
  addClass([this.popupObj.element], 'e-popup-open');
22722
22933
  this.popupObj.refreshPosition(target);
22723
22934
  // header search element
22724
- if ((!isNullOrUndefined(args.args) || (isNullOrUndefined(args.x) && isNullOrUndefined(args.y))) && this.parent.emojiPickerSettings.showSearchBox) {
22935
+ if ((!isNullOrUndefined(args.args) || (isNullOrUndefined(args.x) && isNullOrUndefined(args.y))) &&
22936
+ this.parent.emojiPickerSettings.showSearchBox) {
22725
22937
  var inputEle = createElement('input', { id: 'e-rte-emoji-search', className: 'e-rte-emoji-search' });
22726
22938
  this.popDiv.append(inputEle);
22727
22939
  var inputobj = new TextBox({
@@ -22757,7 +22969,8 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
22757
22969
  this.popDiv.appendChild(emojiBtnDiv);
22758
22970
  var height;
22759
22971
  var popupBorder = window.getComputedStyle(this.popDiv);
22760
- if ((isNullOrUndefined(args.args) && !(isNullOrUndefined(args.x) && isNullOrUndefined(args.y))) || !this.parent.emojiPickerSettings.showSearchBox) {
22972
+ if ((isNullOrUndefined(args.args) && !(isNullOrUndefined(args.x) && isNullOrUndefined(args.y))) ||
22973
+ !this.parent.emojiPickerSettings.showSearchBox) {
22761
22974
  height = (this.popDiv.getBoundingClientRect().height - emojiToolBar.getBoundingClientRect().height - (2 * parseFloat(popupBorder.borderWidth))) + 'px';
22762
22975
  emojiBtnDiv.style.setProperty('height', height, 'important');
22763
22976
  }
@@ -22803,13 +23016,6 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
22803
23016
  if (!isNullOrUndefined(popup)) {
22804
23017
  scrollTop = Math.round(popup.scrollTop);
22805
23018
  }
22806
- for (var i = 0; i < toolbarName.length; i++) {
22807
- /* eslint-disable */
22808
- if (toolbarName[i].classList.contains('e-selected')) {
22809
- removeClass([toolbarName[i]], 'e-selected');
22810
- }
22811
- /* eslint-enable */
22812
- }
22813
23019
  if (scrollTop < toolbarName[0].offsetHeight) {
22814
23020
  addClass([toolbarName[0]], 'e-selected');
22815
23021
  }
@@ -23264,7 +23470,7 @@ var EmojiPicker = /** @__PURE__ @class */ (function () {
23264
23470
  var startOffset = this.save.startOffset;
23265
23471
  var textContent = this.save.range.startContainer.textContent;
23266
23472
  var previousText = textContent.substring(startOffset, startOffset + 1);
23267
- // When toolbar action is clicked then only restore the range.
23473
+ // When toolbar action is clicked then only restore the range.
23268
23474
  if (!isNullOrUndefined(this.clickEvent) || previousText !== ':') {
23269
23475
  this.save.restore();
23270
23476
  }
@@ -23846,6 +24052,9 @@ var Link = /** @__PURE__ @class */ (function () {
23846
24052
  if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
23847
24053
  this.quickToolObj.inlineQTBar.hidePopup();
23848
24054
  }
24055
+ if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
24056
+ this.quickToolObj.textQTBar.hidePopup();
24057
+ }
23849
24058
  }
23850
24059
  };
23851
24060
  // eslint-disable-next-line
@@ -24038,7 +24247,7 @@ var Link = /** @__PURE__ @class */ (function () {
24038
24247
  /**
24039
24248
  * `Image` module is used to handle image actions.
24040
24249
  */
24041
- var Image = /** @__PURE__ @class */ (function () {
24250
+ var Image$1 = /** @__PURE__ @class */ (function () {
24042
24251
  function Image(parent, serviceLocator) {
24043
24252
  this.isImgUploaded = false;
24044
24253
  this.isAllowedTypes = true;
@@ -25451,6 +25660,9 @@ var Image = /** @__PURE__ @class */ (function () {
25451
25660
  if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
25452
25661
  this.quickToolObj.inlineQTBar.hidePopup();
25453
25662
  }
25663
+ if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
25664
+ this.quickToolObj.textQTBar.hidePopup();
25665
+ }
25454
25666
  }
25455
25667
  };
25456
25668
  // eslint-disable-next-line
@@ -25719,10 +25931,8 @@ var Image = /** @__PURE__ @class */ (function () {
25719
25931
  });
25720
25932
  uploadParentEle.appendChild(uploadEle);
25721
25933
  var altText;
25722
- var rawFile;
25723
25934
  var selectArgs;
25724
25935
  var filesData;
25725
- var beforeUploadArgs;
25726
25936
  this.uploadObj = new Uploader({
25727
25937
  asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, removeUrl: this.parent.insertImageSettings.removeUrl },
25728
25938
  dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass,
@@ -25730,13 +25940,8 @@ var Image = /** @__PURE__ @class */ (function () {
25730
25940
  selected: function (e) {
25731
25941
  proxy.isImgUploaded = true;
25732
25942
  selectArgs = e;
25943
+ // eslint-disable-next-line
25733
25944
  filesData = e.filesData;
25734
- if (_this.parent.isServerRendered) {
25735
- selectArgs = JSON.parse(JSON.stringify(e));
25736
- e.cancel = true;
25737
- rawFile = e.filesData;
25738
- selectArgs.filesData = rawFile;
25739
- }
25740
25945
  _this.parent.trigger(imageSelected, selectArgs, function (selectArgs) {
25741
25946
  if (!selectArgs.cancel) {
25742
25947
  _this.checkExtension(selectArgs.filesData[0]);
@@ -25767,35 +25972,11 @@ var Image = /** @__PURE__ @class */ (function () {
25767
25972
  });
25768
25973
  reader_1.readAsDataURL(selectArgs.filesData[0].rawFile);
25769
25974
  }
25770
- if (_this.parent.isServerRendered) {
25771
- /* eslint-disable */
25772
- _this.uploadObj._internalRenderSelect(selectArgs, rawFile);
25773
- /* eslint-enable */
25774
- }
25775
25975
  }
25776
25976
  });
25777
25977
  },
25778
25978
  beforeUpload: function (args) {
25779
- if (_this.parent.isServerRendered) {
25780
- beforeUploadArgs = JSON.parse(JSON.stringify(args));
25781
- beforeUploadArgs.filesData = filesData;
25782
- args.cancel = true;
25783
- _this.parent.trigger(imageUploading, beforeUploadArgs, function (beforeUploadArgs) {
25784
- if (beforeUploadArgs.cancel) {
25785
- return;
25786
- }
25787
- /* eslint-disable */
25788
- _this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
25789
- beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
25790
- _this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
25791
- beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
25792
- _this.uploadObj.uploadFiles(rawFile, null);
25793
- /* eslint-enable */
25794
- });
25795
- }
25796
- else {
25797
- _this.parent.trigger(beforeImageUpload, args);
25798
- }
25979
+ _this.parent.trigger(beforeImageUpload, args);
25799
25980
  },
25800
25981
  uploading: function (e) {
25801
25982
  if (!_this.parent.isServerRendered) {
@@ -26113,8 +26294,6 @@ var Image = /** @__PURE__ @class */ (function () {
26113
26294
  setTimeout(function () {
26114
26295
  proxy.refreshPopup(imageElement);
26115
26296
  }, timeOut);
26116
- var rawFile;
26117
- var beforeUploadArgs;
26118
26297
  this.uploadObj = new Uploader({
26119
26298
  asyncSettings: {
26120
26299
  saveUrl: this.parent.insertImageSettings.saveUrl,
@@ -26140,33 +26319,9 @@ var Image = /** @__PURE__ @class */ (function () {
26140
26319
  }, 900);
26141
26320
  },
26142
26321
  beforeUpload: function (args) {
26143
- if (_this.parent.isServerRendered) {
26144
- beforeUploadArgs = JSON.parse(JSON.stringify(args));
26145
- beforeUploadArgs.filesData = rawFile;
26146
- isUploading = true;
26147
- args.cancel = true;
26148
- _this.parent.trigger(imageUploading, beforeUploadArgs, function (beforeUploadArgs) {
26149
- if (beforeUploadArgs.cancel) {
26150
- return;
26151
- }
26152
- if (!_this.parent.inlineMode.enable) {
26153
- _this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
26154
- }
26155
- /* eslint-disable */
26156
- _this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
26157
- beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
26158
- _this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
26159
- beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
26160
- _this.uploadObj.uploadFiles(rawFile, null);
26161
- _this.parent.inputElement.contentEditable = 'false';
26162
- /* eslint-enable */
26163
- });
26164
- }
26165
- else {
26166
- _this.parent.trigger(beforeImageUpload, args);
26167
- if (!_this.parent.inlineMode.enable) {
26168
- _this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
26169
- }
26322
+ _this.parent.trigger(beforeImageUpload, args);
26323
+ if (!_this.parent.inlineMode.enable) {
26324
+ _this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
26170
26325
  }
26171
26326
  },
26172
26327
  uploading: function (e) {
@@ -26191,9 +26346,6 @@ var Image = /** @__PURE__ @class */ (function () {
26191
26346
  if (isUploading) {
26192
26347
  e.cancel = true;
26193
26348
  }
26194
- if (_this.parent.isServerRendered) {
26195
- rawFile = e.filesData;
26196
- }
26197
26349
  },
26198
26350
  failure: function (e) {
26199
26351
  isUploading = false;
@@ -26980,6 +27132,9 @@ var Audio = /** @__PURE__ @class */ (function () {
26980
27132
  if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
26981
27133
  this.quickToolObj.inlineQTBar.hidePopup();
26982
27134
  }
27135
+ if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
27136
+ this.quickToolObj.textQTBar.hidePopup();
27137
+ }
26983
27138
  }
26984
27139
  };
26985
27140
  // eslint-disable-next-line
@@ -27049,10 +27204,8 @@ var Audio = /** @__PURE__ @class */ (function () {
27049
27204
  });
27050
27205
  uploadParentEle.appendChild(uploadEle);
27051
27206
  var fileName;
27052
- var rawFile;
27053
27207
  var selectArgs;
27054
27208
  var filesData;
27055
- var beforeUploadArgs;
27056
27209
  this.uploadObj = new Uploader({
27057
27210
  asyncSettings: { saveUrl: this.parent.insertAudioSettings.saveUrl, removeUrl: this.parent.insertAudioSettings.removeUrl },
27058
27211
  dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
@@ -27060,13 +27213,8 @@ var Audio = /** @__PURE__ @class */ (function () {
27060
27213
  selected: function (e) {
27061
27214
  proxy.isAudioUploaded = true;
27062
27215
  selectArgs = e;
27216
+ // eslint-disable-next-line
27063
27217
  filesData = e.filesData;
27064
- if (_this.parent.isServerRendered) {
27065
- selectArgs = JSON.parse(JSON.stringify(e));
27066
- e.cancel = true;
27067
- rawFile = e.filesData;
27068
- selectArgs.filesData = rawFile;
27069
- }
27070
27218
  _this.parent.trigger(fileSelected, selectArgs, function (selectArgs) {
27071
27219
  if (!selectArgs.cancel) {
27072
27220
  _this.checkExtension(selectArgs.filesData[0]);
@@ -27089,35 +27237,11 @@ var Audio = /** @__PURE__ @class */ (function () {
27089
27237
  });
27090
27238
  reader_1.readAsDataURL(selectArgs.filesData[0].rawFile);
27091
27239
  }
27092
- if (_this.parent.isServerRendered) {
27093
- /* eslint-disable */
27094
- _this.uploadObj._internalRenderSelect(selectArgs, rawFile);
27095
- /* eslint-enable */
27096
- }
27097
27240
  }
27098
27241
  });
27099
27242
  },
27100
27243
  beforeUpload: function (args) {
27101
- if (_this.parent.isServerRendered) {
27102
- beforeUploadArgs = JSON.parse(JSON.stringify(args));
27103
- beforeUploadArgs.filesData = filesData;
27104
- args.cancel = true;
27105
- _this.parent.trigger(fileUploading, beforeUploadArgs, function (beforeUploadArgs) {
27106
- if (beforeUploadArgs.cancel) {
27107
- return;
27108
- }
27109
- /* eslint-disable */
27110
- _this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
27111
- beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
27112
- _this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
27113
- beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
27114
- _this.uploadObj.uploadFiles(rawFile, null);
27115
- /* eslint-enable */
27116
- });
27117
- }
27118
- else {
27119
- _this.parent.trigger(beforeFileUpload, args);
27120
- }
27244
+ _this.parent.trigger(beforeFileUpload, args);
27121
27245
  },
27122
27246
  uploading: function (e) {
27123
27247
  if (!_this.parent.isServerRendered) {
@@ -28352,6 +28476,9 @@ var Video = /** @__PURE__ @class */ (function () {
28352
28476
  if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
28353
28477
  this.quickToolObj.inlineQTBar.hidePopup();
28354
28478
  }
28479
+ if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
28480
+ this.quickToolObj.textQTBar.hidePopup();
28481
+ }
28355
28482
  }
28356
28483
  };
28357
28484
  // eslint-disable-next-line
@@ -28463,10 +28590,8 @@ var Video = /** @__PURE__ @class */ (function () {
28463
28590
  });
28464
28591
  uploadParentEle.appendChild(uploadEle);
28465
28592
  var fileName;
28466
- var rawFile;
28467
28593
  var selectArgs;
28468
28594
  var filesData;
28469
- var beforeUploadArgs;
28470
28595
  this.uploadObj = new Uploader({
28471
28596
  asyncSettings: { saveUrl: this.parent.insertVideoSettings.saveUrl, removeUrl: this.parent.insertVideoSettings.removeUrl },
28472
28597
  dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
@@ -28474,13 +28599,8 @@ var Video = /** @__PURE__ @class */ (function () {
28474
28599
  selected: function (e) {
28475
28600
  proxy.isVideoUploaded = true;
28476
28601
  selectArgs = e;
28602
+ // eslint-disable-next-line
28477
28603
  filesData = e.filesData;
28478
- if (_this.parent.isServerRendered) {
28479
- selectArgs = JSON.parse(JSON.stringify(e));
28480
- e.cancel = true;
28481
- rawFile = e.filesData;
28482
- selectArgs.filesData = rawFile;
28483
- }
28484
28604
  _this.parent.trigger(fileSelected, selectArgs, function (selectArgs) {
28485
28605
  if (!selectArgs.cancel) {
28486
28606
  _this.checkExtension(selectArgs.filesData[0]);
@@ -28504,35 +28624,11 @@ var Video = /** @__PURE__ @class */ (function () {
28504
28624
  });
28505
28625
  reader_1.readAsDataURL(selectArgs.filesData[0].rawFile);
28506
28626
  }
28507
- if (_this.parent.isServerRendered) {
28508
- /* eslint-disable */
28509
- _this.uploadObj._internalRenderSelect(selectArgs, rawFile);
28510
- /* eslint-enable */
28511
- }
28512
28627
  }
28513
28628
  });
28514
28629
  },
28515
28630
  beforeUpload: function (args) {
28516
- if (_this.parent.isServerRendered) {
28517
- beforeUploadArgs = JSON.parse(JSON.stringify(args));
28518
- beforeUploadArgs.filesData = filesData;
28519
- args.cancel = true;
28520
- _this.parent.trigger(fileUploading, beforeUploadArgs, function (beforeUploadArgs) {
28521
- if (beforeUploadArgs.cancel) {
28522
- return;
28523
- }
28524
- /* eslint-disable */
28525
- _this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
28526
- beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
28527
- _this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
28528
- beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
28529
- _this.uploadObj.uploadFiles(rawFile, null);
28530
- /* eslint-enable */
28531
- });
28532
- }
28533
- else {
28534
- _this.parent.trigger(beforeFileUpload, args);
28535
- }
28631
+ _this.parent.trigger(beforeFileUpload, args);
28536
28632
  },
28537
28633
  uploading: function (e) {
28538
28634
  if (!_this.parent.isServerRendered) {
@@ -28779,6 +28875,7 @@ var ViewSource = /** @__PURE__ @class */ (function () {
28779
28875
  * @deprecated
28780
28876
  */
28781
28877
  ViewSource.prototype.sourceCode = function (args) {
28878
+ this.parent.notify(hidePopup, {});
28782
28879
  this.parent.isBlur = false;
28783
28880
  this.parent.trigger(actionBegin, { requestType: 'SourceCode', targetItem: 'SourceCode', args: args });
28784
28881
  var tbItems = selectAll('.' + CLS_TB_ITEM, this.parent.element);
@@ -29411,14 +29508,17 @@ var Table = /** @__PURE__ @class */ (function () {
29411
29508
  var pageX = void 0;
29412
29509
  var pageY = void 0;
29413
29510
  if (Browser.isDevice && e.args.touches) {
29414
- pageX = e.args.changedTouches[0].pageX;
29415
- pageY = e.args.changedTouches[0].pageY;
29511
+ pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset + this.parent.element.getBoundingClientRect().left +
29512
+ e.args.changedTouches[0].clientX : e.args.changedTouches[0].pageX;
29513
+ pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset + this.parent.element.getBoundingClientRect().top +
29514
+ (!this.parent.inlineMode.enable ? this.parent.toolbarModule.getToolbarHeight() : 0)
29515
+ + e.args.changedTouches[0].clientY : e.args.changedTouches[0].pageY;
29416
29516
  }
29417
29517
  else {
29418
29518
  pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset
29419
29519
  + this.parent.element.getBoundingClientRect().left + args.clientX : args.pageX;
29420
- pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset +
29421
- this.parent.element.getBoundingClientRect().top + args.clientY : args.pageY;
29520
+ pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset + this.parent.element.getBoundingClientRect().top +
29521
+ this.parent.toolbarModule.getToolbarHeight() + args.clientY : args.pageY;
29422
29522
  }
29423
29523
  this.quickToolObj.tableQTBar.showPopup(pageX, pageY, target);
29424
29524
  this.parent.formatter.editorManager.nodeSelection.restore();
@@ -29819,7 +29919,7 @@ var Table = /** @__PURE__ @class */ (function () {
29819
29919
  var width = parseFloat(_this.columnEle.offsetWidth.toString());
29820
29920
  var cellRow = _this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
29821
29921
  var currentTableWidth = void 0;
29822
- if (_this.curTable.style.width != '') {
29922
+ if (_this.curTable.style.width !== '') {
29823
29923
  currentTableWidth = parseFloat(_this.curTable.style.width.split('%')[0]);
29824
29924
  }
29825
29925
  else {
@@ -29882,6 +29982,7 @@ var Table = /** @__PURE__ @class */ (function () {
29882
29982
  var isMergedEleResize = false;
29883
29983
  var leftTableCell = void 0;
29884
29984
  var rightTableCell = void 0;
29985
+ /* eslint-disable */
29885
29986
  for (var j = 0; j < currentRow.cells.length; j++) {
29886
29987
  if (currentRow.cells[j].hasAttribute('rowspan') && j <= _this.colIndex) {
29887
29988
  isRowCellsMerged = true;
@@ -29940,6 +30041,7 @@ var Table = /** @__PURE__ @class */ (function () {
29940
30041
  _this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
29941
30042
  }
29942
30043
  }
30044
+ /* eslint-enable */
29943
30045
  }
29944
30046
  }
29945
30047
  }
@@ -30075,7 +30177,8 @@ var Table = /** @__PURE__ @class */ (function () {
30075
30177
  };
30076
30178
  Table.prototype.renderDlgContent = function (args) {
30077
30179
  var _this = this;
30078
- if (Browser.isDevice || this.parent.inlineMode.enable) {
30180
+ var argsTarget = args.args.originalEvent.target;
30181
+ if (Browser.isDevice || this.parent.inlineMode.enable || !isNullOrUndefined(closest(argsTarget, '.e-rte-text-popup'))) {
30079
30182
  this.insertTableDialog(args);
30080
30183
  return;
30081
30184
  }
@@ -30331,6 +30434,10 @@ var Table = /** @__PURE__ @class */ (function () {
30331
30434
  if (this.quickToolObj && this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
30332
30435
  this.quickToolObj.inlineQTBar.hidePopup();
30333
30436
  }
30437
+ if (this.quickToolObj && this.quickToolObj.textQTBar &&
30438
+ this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
30439
+ this.quickToolObj.textQTBar.hidePopup();
30440
+ }
30334
30441
  };
30335
30442
  Table.prototype.customTable = function (args, e) {
30336
30443
  var proxy = (this.self) ? this.self : this;
@@ -30338,7 +30445,8 @@ var Table = /** @__PURE__ @class */ (function () {
30338
30445
  var argument = ((Browser.isDevice || (!isNullOrUndefined(args.args)
30339
30446
  && !isNullOrUndefined(args.args.originalEvent) &&
30340
30447
  args.args.originalEvent.action === 'insert-table')
30341
- || proxy.parent.inlineMode.enable) ? args : this);
30448
+ || proxy.parent.inlineMode.enable || !isNullOrUndefined(proxy.parent.quickToolbarSettings.text)) ? args :
30449
+ this);
30342
30450
  proxy.tableInsert(proxy.rowTextBox.value, proxy.columnTextBox.value, e, argument);
30343
30451
  }
30344
30452
  };
@@ -30504,7 +30612,7 @@ var DialogRenderer = /** @__PURE__ @class */ (function () {
30504
30612
  this.parent.trigger(beforeDialogOpen, args, this.beforeOpenCallback.bind(this, args));
30505
30613
  };
30506
30614
  DialogRenderer.prototype.handleEnterKeyDown = function (args) {
30507
- if (args.code === "Enter") {
30615
+ if (args.code === 'Enter') {
30508
30616
  args.preventDefault();
30509
30617
  }
30510
30618
  };
@@ -31031,7 +31139,7 @@ var QuickToolbarSettings = /** @__PURE__ @class */ (function (_super) {
31031
31139
  Property(['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension'])
31032
31140
  ], QuickToolbarSettings.prototype, "video", void 0);
31033
31141
  __decorate$2([
31034
- Property(['Cut', 'Copy', 'Paste'])
31142
+ Property(null)
31035
31143
  ], QuickToolbarSettings.prototype, "text", void 0);
31036
31144
  __decorate$2([
31037
31145
  Property(['TableHeader', 'TableRows', 'TableColumns', 'BackgroundColor', '-', 'TableRemove', 'Alignments', 'TableCellVerticalAlign', 'Styles'])
@@ -31496,8 +31604,12 @@ var EnterKeyAction = /** @__PURE__ @class */ (function () {
31496
31604
  (_this.range.startContainer.previousSibling.nodeName === 'IMG' || _this.range.startContainer.previousSibling.nodeName === 'BR'))) {
31497
31605
  var isNearBlockLengthZero = void 0;
31498
31606
  var newElem = void 0;
31499
- if (!isNullOrUndefined(_this.range.startContainer.childNodes) && _this.range.startContainer.textContent.length === 0
31500
- && (_this.range.startContainer.querySelectorAll('img, audio, video').length > 0 ||
31607
+ if (!isNullOrUndefined(_this.range.startContainer.childNodes) &&
31608
+ (_this.range.startContainer.textContent.length === 0 ||
31609
+ (_this.range.startContainer.nodeName !== '#text' && !isNullOrUndefined(_this.range.startContainer.querySelector('.e-video-clickelem')) &&
31610
+ _this.range.startContainer.querySelector('.e-video-clickelem').textContent.length === 0)) &&
31611
+ (_this.range.startContainer.querySelectorAll('img, audio, video').length > 0 ||
31612
+ !isNullOrUndefined(_this.range.startContainer.querySelector('.e-video-clickelem')) ||
31501
31613
  _this.range.startContainer.nodeName === 'IMG' || _this.range.startContainer.nodeName === 'TABLE')) {
31502
31614
  newElem = _this.createInsertElement(shiftKey_1);
31503
31615
  isMediaNode = true;
@@ -32883,9 +32995,6 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
32883
32995
  this.removeAttributes();
32884
32996
  _super.prototype.destroy.call(this);
32885
32997
  this.isRendered = false;
32886
- if (this.enablePersistence) {
32887
- window.localStorage.removeItem(this.getModuleName() + this.element.id);
32888
- }
32889
32998
  };
32890
32999
  RichTextEditor.prototype.removeHtmlAttributes = function () {
32891
33000
  if (this.htmlAttributes) {
@@ -33015,9 +33124,10 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
33015
33124
  else {
33016
33125
  nVal = newProp[prop];
33017
33126
  }
33127
+ nVal = this.serializeValue(nVal);
33018
33128
  var val = this.editorMode === 'HTML' ? getEditValue(nVal, this) : nVal;
33019
33129
  if ((!isNullOrUndefined(nVal) && nVal !== '') || prop === 'enterKey') {
33020
- this.value = this.serializeValue(((this.enableHtmlEncode) ? this.encode(decode(val)) : val));
33130
+ this.setProperties({ value: ((this.enableHtmlEncode) ? this.encode(decode(val)) : val) }, true);
33021
33131
  }
33022
33132
  this.updatePanelValue();
33023
33133
  if (this.inputElement) {
@@ -33565,10 +33675,6 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
33565
33675
  // eslint-disable-next-line
33566
33676
  var imgPadding = 12;
33567
33677
  var imgResizeBorder = 2;
33568
- if (isNullOrUndefined(this.contentModule) || isNullOrUndefined(this.contentModule.getEditPanel())) {
33569
- EventHandler.remove(this.contentModule.getDocument(), Browser.touchMoveEvent, this.imageModule.resizing);
33570
- return maxWidth;
33571
- }
33572
33678
  var editEle = this.contentModule.getEditPanel();
33573
33679
  var eleStyle = window.getComputedStyle(editEle);
33574
33680
  var editEleMaxWidth = editEle.offsetWidth - (imgPadding + imgResizeBorder +
@@ -34569,5 +34675,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
34569
34675
  * Rich Text Editor component exported items
34570
34676
  */
34571
34677
 
34572
- export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, FormatPainter, EmojiPicker, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image, Audio, Video, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, tableclass, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, tableModulekeyUp, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, audioToolbarAction, videoToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertAudio, insertVideo, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, audioDelete, videoDelete, imageCaption, imageSize, videoSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, moduleDestroy, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, fileSelected, fileUploading, fileUploadSuccess, fileUploadFailed, fileRemoving, afterImageDelete, afterMediaDelete, drop, xhtmlValidation, beforeImageUpload, beforeFileUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, showAudioDialog, showVideoDialog, closeImageDialog, closeAudioDialog, closeVideoDialog, showTableDialog, closeTableDialog, bindCssClass, formatPainterClick, formatPainterDoubleClick, emojiPicker, maximizeMinimizeClick, blockEmptyNodes, inlineEmptyNodes, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_AUDIOBREAK, CLS_CLICKELEM, CLS_VID_CLICK_ELEM, CLS_AUDIOWRAP, CLS_VIDEOWRAP, CLS_VIDEOBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_AUDIOINLINE, CLS_VIDEOINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_AUD_FOCUS, CLS_VID_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, CLS_RTE_RES_WEST, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, AUDIO, VIDEO, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_VIDEO_RIGHT, CLASS_VIDEO_LEFT, CLASS_VIDEO_CENTER, CLASS_IMAGE_BREAK, CLASS_AUDIO_BREAK, CLASS_VIDEO_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, CLASS_AUDIO_INLINE, CLASS_CLICK_ELEM, CLASS_VIDEO_CLICK_ELEM, CLASS_AUDIO, CLASS_VIDEO, CLASS_AUDIO_WRAP, CLASS_VIDEO_WRAP, CLASS_EMBED_VIDEO_WRAP, CLASS_AUDIO_FOCUS, CLASS_VIDEO_FOCUS, CLASS_VIDEO_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, AudioCommand, VideoCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, FormatPainterActions, EmojiPickerAction, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, INSERT_TEXT_COMMAND, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION, FORMAT_PAINTER_ACTIONS, EMOJI_PICKER_ACTIONS };
34678
+ export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, FormatPainter, EmojiPicker, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image$1 as Image, Audio, Video, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, tableclass, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, tableModulekeyUp, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, audioToolbarAction, videoToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertAudio, insertVideo, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, audioDelete, videoDelete, imageCaption, imageSize, videoSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, moduleDestroy, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, fileSelected, fileUploading, fileUploadSuccess, fileUploadFailed, fileRemoving, afterImageDelete, afterMediaDelete, drop, xhtmlValidation, beforeImageUpload, beforeFileUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, showAudioDialog, showVideoDialog, closeImageDialog, closeAudioDialog, closeVideoDialog, showTableDialog, closeTableDialog, bindCssClass, formatPainterClick, formatPainterDoubleClick, emojiPicker, maximizeMinimizeClick, hidePopup, blockEmptyNodes, inlineEmptyNodes, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_TEXT_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_AUDIOBREAK, CLS_CLICKELEM, CLS_VID_CLICK_ELEM, CLS_AUDIOWRAP, CLS_VIDEOWRAP, CLS_VIDEOBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_AUDIOINLINE, CLS_VIDEOINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_AUD_FOCUS, CLS_VID_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, CLS_RTE_RES_WEST, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, AUDIO, VIDEO, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_VIDEO_RIGHT, CLASS_VIDEO_LEFT, CLASS_VIDEO_CENTER, CLASS_IMAGE_BREAK, CLASS_AUDIO_BREAK, CLASS_VIDEO_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, CLASS_AUDIO_INLINE, CLASS_CLICK_ELEM, CLASS_VIDEO_CLICK_ELEM, CLASS_AUDIO, CLASS_VIDEO, CLASS_AUDIO_WRAP, CLASS_VIDEO_WRAP, CLASS_EMBED_VIDEO_WRAP, CLASS_AUDIO_FOCUS, CLASS_VIDEO_FOCUS, CLASS_VIDEO_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, AudioCommand, VideoCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, FormatPainterActions, EmojiPickerAction, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, INSERT_TEXT_COMMAND, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION, FORMAT_PAINTER_ACTIONS, EMOJI_PICKER_ACTIONS };
34573
34679
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map