@syncfusion/ej2-richtexteditor 20.1.55 → 20.1.58

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 (75) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  3. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-richtexteditor.es2015.js +481 -93
  5. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es5.js +473 -93
  7. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  8. package/dist/global/ej2-richtexteditor.min.js +2 -2
  9. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +11 -11
  12. package/src/editor-manager/plugin/dom-node.js +7 -1
  13. package/src/editor-manager/plugin/lists.d.ts +1 -0
  14. package/src/editor-manager/plugin/lists.js +38 -1
  15. package/src/editor-manager/plugin/selection-commands.js +10 -2
  16. package/src/rich-text-editor/actions/base-quick-toolbar.js +8 -3
  17. package/src/rich-text-editor/actions/base-toolbar.d.ts +1 -0
  18. package/src/rich-text-editor/actions/base-toolbar.js +14 -1
  19. package/src/rich-text-editor/actions/color-picker.d.ts +2 -0
  20. package/src/rich-text-editor/actions/color-picker.js +22 -1
  21. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -0
  22. package/src/rich-text-editor/actions/dropdown-buttons.js +25 -0
  23. package/src/rich-text-editor/actions/file-manager.d.ts +1 -0
  24. package/src/rich-text-editor/actions/file-manager.js +14 -1
  25. package/src/rich-text-editor/actions/html-editor.js +11 -1
  26. package/src/rich-text-editor/actions/paste-clean-up.d.ts +6 -0
  27. package/src/rich-text-editor/actions/paste-clean-up.js +79 -47
  28. package/src/rich-text-editor/actions/quick-toolbar.d.ts +2 -0
  29. package/src/rich-text-editor/actions/quick-toolbar.js +23 -2
  30. package/src/rich-text-editor/actions/toolbar.d.ts +1 -0
  31. package/src/rich-text-editor/actions/toolbar.js +15 -1
  32. package/src/rich-text-editor/base/constant.d.ts +10 -0
  33. package/src/rich-text-editor/base/constant.js +10 -0
  34. package/src/rich-text-editor/base/interface.d.ts +14 -0
  35. package/src/rich-text-editor/base/rich-text-editor.js +43 -1
  36. package/src/rich-text-editor/base/util.js +5 -0
  37. package/src/rich-text-editor/formatter/formatter.js +15 -0
  38. package/src/rich-text-editor/renderer/content-renderer.js +2 -1
  39. package/src/rich-text-editor/renderer/image-module.d.ts +5 -0
  40. package/src/rich-text-editor/renderer/image-module.js +57 -13
  41. package/src/rich-text-editor/renderer/link-module.d.ts +2 -0
  42. package/src/rich-text-editor/renderer/link-module.js +19 -2
  43. package/src/rich-text-editor/renderer/table-module.d.ts +6 -0
  44. package/src/rich-text-editor/renderer/table-module.js +58 -17
  45. package/src/rich-text-editor/renderer/toolbar-renderer.js +2 -1
  46. package/styles/bootstrap-dark.css +135 -519
  47. package/styles/bootstrap.css +136 -525
  48. package/styles/bootstrap4.css +145 -572
  49. package/styles/bootstrap5-dark.css +135 -539
  50. package/styles/bootstrap5.css +135 -539
  51. package/styles/fabric-dark.css +134 -518
  52. package/styles/fabric.css +135 -519
  53. package/styles/fluent-dark.css +134 -521
  54. package/styles/fluent.css +134 -521
  55. package/styles/highcontrast-light.css +135 -519
  56. package/styles/highcontrast.css +135 -517
  57. package/styles/material-dark.css +134 -518
  58. package/styles/material.css +135 -519
  59. package/styles/rich-text-editor/bootstrap-dark.css +135 -519
  60. package/styles/rich-text-editor/bootstrap.css +136 -525
  61. package/styles/rich-text-editor/bootstrap4.css +145 -572
  62. package/styles/rich-text-editor/bootstrap5-dark.css +135 -539
  63. package/styles/rich-text-editor/bootstrap5.css +135 -539
  64. package/styles/rich-text-editor/fabric-dark.css +134 -518
  65. package/styles/rich-text-editor/fabric.css +135 -519
  66. package/styles/rich-text-editor/fluent-dark.css +134 -521
  67. package/styles/rich-text-editor/fluent.css +134 -521
  68. package/styles/rich-text-editor/highcontrast-light.css +135 -519
  69. package/styles/rich-text-editor/highcontrast.css +135 -517
  70. package/styles/rich-text-editor/material-dark.css +134 -518
  71. package/styles/rich-text-editor/material.css +135 -519
  72. package/styles/rich-text-editor/tailwind-dark.css +135 -524
  73. package/styles/rich-text-editor/tailwind.css +135 -524
  74. package/styles/tailwind-dark.css +135 -524
  75. package/styles/tailwind.css +135 -524
@@ -609,6 +609,16 @@ var showTableDialog = 'showTableDialog';
609
609
  * @deprecated
610
610
  */
611
611
  var closeTableDialog = 'closeTableDialog';
612
+ /**
613
+ * @hidden
614
+ * @deprecated
615
+ */
616
+ var bindCssClass = 'closeTableDialog';
617
+ /**
618
+ * @hidden
619
+ * @deprecated
620
+ */
621
+ var blockInlineEmptyNodes = "address:empty, article:empty, aside:empty, blockquote:empty,\ndetails:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,\nh2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, hr:empty, li:empty, main:empty, nav:empty,\nnoscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty,\na:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,\ncanvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,\nins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,\nq:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,\ntemplate:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty";
612
622
 
613
623
  /**
614
624
  * Rich Text Editor classes defined here.
@@ -2535,6 +2545,10 @@ function updateTextNode(value, rteObj) {
2535
2545
  var previousParent = void 0;
2536
2546
  var insertElem = void 0;
2537
2547
  while (tempNode.firstChild) {
2548
+ var emptyElem = tempNode.querySelectorAll(blockInlineEmptyNodes);
2549
+ for (var i = 0; i < emptyElem.length; i++) {
2550
+ emptyElem[i].innerHTML = '<br>';
2551
+ }
2538
2552
  if (rteObj.enterKey !== 'BR' && ((tempNode.firstChild.nodeName === '#text' &&
2539
2553
  (tempNode.firstChild.textContent.indexOf('\n') < 0 || tempNode.firstChild.textContent.trim() !== '')) ||
2540
2554
  inlineNode.indexOf(tempNode.firstChild.nodeName.toLocaleLowerCase()) >= 0)) {
@@ -2799,7 +2813,8 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
2799
2813
  created: this.toolbarCreated.bind(this),
2800
2814
  clicked: this.toolbarClicked.bind(this),
2801
2815
  enablePersistence: args.enablePersistence,
2802
- enableRtl: args.enableRtl
2816
+ enableRtl: args.enableRtl,
2817
+ cssClass: args.cssClass
2803
2818
  });
2804
2819
  args.rteToolbarObj.toolbarObj.isStringTemplate = true;
2805
2820
  args.rteToolbarObj.toolbarObj.createElement = this.parent.createElement;
@@ -3259,12 +3274,24 @@ var BaseToolbar = /** @__PURE__ @class */ (function () {
3259
3274
  }
3260
3275
  BaseToolbar.prototype.addEventListener = function () {
3261
3276
  this.parent.on(rtlMode, this.setRtl, this);
3277
+ this.parent.on(bindCssClass, this.setCssClass, this);
3262
3278
  this.parent.on(destroy, this.removeEventListener, this);
3263
3279
  };
3264
3280
  BaseToolbar.prototype.removeEventListener = function () {
3265
3281
  this.parent.off(rtlMode, this.setRtl);
3282
+ this.parent.off(bindCssClass, this.setCssClass);
3266
3283
  this.parent.off(destroy, this.removeEventListener);
3267
3284
  };
3285
+ BaseToolbar.prototype.setCssClass = function (e) {
3286
+ if (!isNullOrUndefined(this.toolbarObj)) {
3287
+ if (isNullOrUndefined(e.oldCssClass)) {
3288
+ this.toolbarObj.setProperties({ cssClass: (this.toolbarObj.cssClass + ' ' + e.cssClass).trim() });
3289
+ }
3290
+ else {
3291
+ this.toolbarObj.setProperties({ cssClass: (this.toolbarObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
3292
+ }
3293
+ }
3294
+ };
3268
3295
  BaseToolbar.prototype.setRtl = function (args) {
3269
3296
  if (!isNullOrUndefined(this.toolbarObj)) {
3270
3297
  this.toolbarObj.setProperties({ enableRtl: args.enableRtl });
@@ -3394,7 +3421,8 @@ var BaseToolbar = /** @__PURE__ @class */ (function () {
3394
3421
  items: this.getItems(args.items, args.container),
3395
3422
  overflowMode: args.mode,
3396
3423
  enablePersistence: this.parent.enablePersistence,
3397
- enableRtl: this.parent.enableRtl
3424
+ enableRtl: this.parent.enableRtl,
3425
+ cssClass: args.cssClass,
3398
3426
  };
3399
3427
  };
3400
3428
  /**
@@ -3593,6 +3621,9 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
3593
3621
  }
3594
3622
  }
3595
3623
  });
3624
+ if (this.parent.inlineMode.enable) {
3625
+ this.setCssClass({ cssClass: this.parent.cssClass });
3626
+ }
3596
3627
  };
3597
3628
  DropDownButtons.prototype.getUpdateItems = function (items, value) {
3598
3629
  var dropDownItems = items.slice();
@@ -3880,6 +3911,26 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
3880
3911
  this.bulletFormatListDropDown.setProperties({ enableRtl: args.enableRtl });
3881
3912
  }
3882
3913
  };
3914
+ DropDownButtons.prototype.updateCss = function (dropDownObj, e) {
3915
+ if (dropDownObj && e.cssClass) {
3916
+ if (isNullOrUndefined(e.oldCssClass)) {
3917
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass + ' ' + e.cssClass).trim() });
3918
+ }
3919
+ else {
3920
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
3921
+ }
3922
+ }
3923
+ };
3924
+ DropDownButtons.prototype.setCssClass = function (e) {
3925
+ var dropDownObj = [
3926
+ this.formatDropDown, this.fontNameDropDown, this.fontSizeDropDown, this.alignDropDown, this.imageAlignDropDown,
3927
+ this.displayDropDown, this.numberFormatListDropDown, this.bulletFormatListDropDown, this.tableRowsDropDown,
3928
+ this.tableColumnsDropDown, this.tableCellVerticalAlignDropDown
3929
+ ];
3930
+ for (var i = 0; i < dropDownObj.length; i++) {
3931
+ this.updateCss(dropDownObj[i], e);
3932
+ }
3933
+ };
3883
3934
  DropDownButtons.prototype.addEventListener = function () {
3884
3935
  if (this.parent.isDestroyed) {
3885
3936
  return;
@@ -3889,6 +3940,7 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
3889
3940
  this.parent.on(rtlMode, this.setRtl, this);
3890
3941
  this.parent.on(destroy, this.removeEventListener, this);
3891
3942
  this.parent.on(modelChanged, this.onPropertyChanged, this);
3943
+ this.parent.on(bindCssClass, this.setCssClass, this);
3892
3944
  };
3893
3945
  DropDownButtons.prototype.onIframeMouseDown = function () {
3894
3946
  dispatchEvent(document, 'mousedown');
@@ -3902,6 +3954,7 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
3902
3954
  this.parent.off(beforeDropDownItemRender, this.beforeRender);
3903
3955
  this.parent.off(destroy, this.removeEventListener);
3904
3956
  this.parent.off(modelChanged, this.onPropertyChanged);
3957
+ this.parent.off(bindCssClass, this.setCssClass);
3905
3958
  };
3906
3959
  return DropDownButtons;
3907
3960
  }());
@@ -4651,6 +4704,7 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4651
4704
  this.parent.on(focusChange, this.focusChangeHandler, this);
4652
4705
  this.parent.on(mouseDown, this.mouseDownHandler, this);
4653
4706
  this.parent.on(sourceCodeMouseDown, this.mouseDownHandler, this);
4707
+ this.parent.on(bindCssClass, this.setCssClass, this);
4654
4708
  if (!this.parent.inlineMode.enable && !isIDevice()) {
4655
4709
  this.parent.on(toolbarClick, this.toolbarClickHandler, this);
4656
4710
  }
@@ -4674,12 +4728,25 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4674
4728
  this.parent.off(focusChange, this.focusChangeHandler);
4675
4729
  this.parent.off(mouseDown, this.mouseDownHandler);
4676
4730
  this.parent.off(sourceCodeMouseDown, this.mouseDownHandler);
4731
+ this.parent.off(bindCssClass, this.setCssClass);
4677
4732
  if (!this.parent.inlineMode.enable && !isIDevice()) {
4678
4733
  this.parent.off(toolbarClick, this.toolbarClickHandler);
4679
4734
  }
4680
4735
  };
4736
+ Toolbar$$1.prototype.setCssClass = function (e) {
4737
+ if (this.toolbarObj && e.cssClass) {
4738
+ if (isNullOrUndefined(e.oldCssClass)) {
4739
+ this.toolbarObj.setProperties({ cssClass: (this.toolbarObj.cssClass + ' ' + e.cssClass).trim() });
4740
+ }
4741
+ else {
4742
+ this.toolbarObj.setProperties({ cssClass: (this.toolbarObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
4743
+ }
4744
+ }
4745
+ };
4681
4746
  Toolbar$$1.prototype.onRefresh = function () {
4682
- this.refreshToolbarOverflow();
4747
+ if (!this.parent.inlineMode.enable) {
4748
+ this.refreshToolbarOverflow();
4749
+ }
4683
4750
  this.parent.setContentHeight('', true);
4684
4751
  };
4685
4752
  /**
@@ -5042,6 +5109,9 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5042
5109
  }
5043
5110
  }
5044
5111
  });
5112
+ if (this.parent.inlineMode.enable) {
5113
+ this.setCssClass({ cssClass: this.parent.cssClass });
5114
+ }
5045
5115
  };
5046
5116
  ColorPickerInput.prototype.destroy = function () {
5047
5117
  this.removeEventListener();
@@ -5087,12 +5157,29 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5087
5157
  this.backgroundColorDropDown.setProperties({ enableRtl: args.enableRtl });
5088
5158
  }
5089
5159
  };
5160
+ ColorPickerInput.prototype.setCssClass = function (e) {
5161
+ this.updateCss(this.fontColorPicker, this.fontColorDropDown, e);
5162
+ this.updateCss(this.backgroundColorPicker, this.backgroundColorDropDown, e);
5163
+ };
5164
+ ColorPickerInput.prototype.updateCss = function (colorPickerObj, dropDownObj, e) {
5165
+ if (colorPickerObj && e.cssClass) {
5166
+ if (isNullOrUndefined(e.oldCssClass)) {
5167
+ colorPickerObj.setProperties({ cssClass: (colorPickerObj.cssClass + ' ' + e.cssClass).trim() });
5168
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass + ' ' + e.cssClass).trim() });
5169
+ }
5170
+ else {
5171
+ colorPickerObj.setProperties({ cssClass: (colorPickerObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
5172
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
5173
+ }
5174
+ }
5175
+ };
5090
5176
  ColorPickerInput.prototype.addEventListener = function () {
5091
5177
  this.parent.on(toolbarRenderComplete, this.renderColorPickerInput, this);
5092
5178
  this.parent.on(rtlMode, this.setRtl, this);
5093
5179
  this.parent.on(destroy, this.destroy, this);
5094
5180
  this.parent.on(destroyColorPicker, this.destroyColorPicker, this);
5095
5181
  this.parent.on(modelChanged, this.onPropertyChanged, this);
5182
+ this.parent.on(bindCssClass, this.setCssClass, this);
5096
5183
  };
5097
5184
  ColorPickerInput.prototype.onPropertyChanged = function (model) {
5098
5185
  var newProp = model.newProp;
@@ -5165,6 +5252,7 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5165
5252
  this.parent.off(rtlMode, this.setRtl);
5166
5253
  this.parent.off(destroyColorPicker, this.destroyColorPicker);
5167
5254
  this.parent.off(modelChanged, this.onPropertyChanged);
5255
+ this.parent.off(bindCssClass, this.setCssClass);
5168
5256
  };
5169
5257
  return ColorPickerInput;
5170
5258
  }());
@@ -5211,17 +5299,18 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
5211
5299
  this.element = this.parent.createElement('div', { id: popupId, className: className + ' ' + CLS_RTE_ELEMENTS });
5212
5300
  this.element.setAttribute('aria-owns', this.parent.getID());
5213
5301
  this.appendPopupContent();
5214
- this.createToolbar(args.toolbarItems, args.mode);
5302
+ this.createToolbar(args.toolbarItems, args.mode, args.cssClass);
5215
5303
  this.popupRenderer.renderPopup(this);
5216
5304
  this.addEventListener();
5217
5305
  };
5218
- BaseQuickToolbar.prototype.createToolbar = function (items, mode) {
5306
+ BaseQuickToolbar.prototype.createToolbar = function (items, mode, cssClass) {
5219
5307
  this.quickTBarObj = new BaseToolbar(this.parent, this.locator);
5220
5308
  this.quickTBarObj.render({
5221
5309
  container: 'quick',
5222
5310
  target: this.toolbarElement,
5223
5311
  items: items,
5224
- mode: mode
5312
+ mode: mode,
5313
+ cssClass: cssClass
5225
5314
  });
5226
5315
  this.quickTBarObj.toolbarObj.refresh();
5227
5316
  };
@@ -5413,6 +5502,10 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
5413
5502
  _this.popupObj.element.classList.remove('e-popup-open');
5414
5503
  removeClass([_this.element], [CLS_HIDE]);
5415
5504
  _this.popupObj.show({ name: 'ZoomIn', duration: (Browser.isIE ? 250 : 400) });
5505
+ if (_this.popupObj && _this.parent.cssClass) {
5506
+ removeClass([_this.popupObj.element], _this.parent.cssClass);
5507
+ addClass([_this.popupObj.element], _this.parent.cssClass);
5508
+ }
5416
5509
  setStyleAttribute(_this.element, {
5417
5510
  maxWidth: window.outerWidth + 'px'
5418
5511
  });
@@ -5674,7 +5767,8 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
5674
5767
  popupType: popType,
5675
5768
  toolbarItems: items,
5676
5769
  mode: mode,
5677
- renderType: type
5770
+ renderType: type,
5771
+ cssClass: this.parent.cssClass
5678
5772
  };
5679
5773
  };
5680
5774
  /**
@@ -5985,6 +6079,7 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
5985
6079
  this.parent.on(destroy, this.destroy, this);
5986
6080
  this.parent.on(keyDown, this.onKeyDown, this);
5987
6081
  this.parent.on(rtlMode, this.setRtl, this);
6082
+ this.parent.on(bindCssClass, this.setCssClass, this);
5988
6083
  };
5989
6084
  QuickToolbar.prototype.onKeyDown = function (e) {
5990
6085
  var args = e.args;
@@ -5998,6 +6093,24 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
5998
6093
  this.hideQuickToolbars();
5999
6094
  this.hideInlineQTBar();
6000
6095
  };
6096
+ QuickToolbar.prototype.updateCss = function (baseQTObj, e) {
6097
+ if (baseQTObj && e.cssClass) {
6098
+ if (isNullOrUndefined(e.oldCssClass && baseQTObj.quickTBarObj.toolbarObj.cssClass !== e.cssClass)) {
6099
+ baseQTObj.quickTBarObj.toolbarObj.setProperties({ cssClass: (baseQTObj.quickTBarObj.toolbarObj.cssClass + ' ' + e.cssClass).trim() });
6100
+ }
6101
+ else {
6102
+ baseQTObj.quickTBarObj.toolbarObj.setProperties({ cssClass: (baseQTObj.quickTBarObj.toolbarObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
6103
+ }
6104
+ }
6105
+ };
6106
+ QuickToolbar.prototype.setCssClass = function (e) {
6107
+ var baseQuickToolbarObj = [
6108
+ this.inlineQTBar, this.imageQTBar, this.linkQTBar, this.textQTBar, this.tableQTBar
6109
+ ];
6110
+ for (var i = 0; i < baseQuickToolbarObj.length; i++) {
6111
+ this.updateCss(baseQuickToolbarObj[i], e);
6112
+ }
6113
+ };
6001
6114
  QuickToolbar.prototype.setRtl = function (args) {
6002
6115
  if (this.inlineQTBar) {
6003
6116
  this.inlineQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
@@ -6006,7 +6119,7 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6006
6119
  this.imageQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
6007
6120
  }
6008
6121
  if (this.linkQTBar) {
6009
- this.imageQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
6122
+ this.linkQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
6010
6123
  }
6011
6124
  };
6012
6125
  /**
@@ -6035,6 +6148,7 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
6035
6148
  this.parent.off(iframeMouseDown, this.onIframeMouseDown);
6036
6149
  this.parent.off(keyDown, this.onKeyDown);
6037
6150
  this.parent.off(rtlMode, this.setRtl);
6151
+ this.parent.off(bindCssClass, this.setCssClass);
6038
6152
  };
6039
6153
  /**
6040
6154
  * Called internally if any of the property value changed.
@@ -6869,6 +6983,21 @@ var Formatter = /** @__PURE__ @class */ (function () {
6869
6983
  || self.contentModule.getPanel() === range.commonAncestorContainer)) {
6870
6984
  return;
6871
6985
  }
6986
+ if (!isNullOrUndefined(args) && self.maxLength !== -1 && !isNullOrUndefined(args.item.command)) {
6987
+ var currentInsertContentLength = 0;
6988
+ if (args.item.command === 'Links') {
6989
+ currentInsertContentLength = value.text.length === 0 ? value.url.length : value.text.length;
6990
+ }
6991
+ if (args.item.command === 'Images' || args.item.command === 'Table' || args.item.command === 'Files') {
6992
+ currentInsertContentLength = 1;
6993
+ }
6994
+ var currentLength = self.getText().trim().length;
6995
+ var selectionLength = self.getSelection().length;
6996
+ var totalLength = (currentLength - selectionLength) + currentInsertContentLength;
6997
+ if (!(self.maxLength === -1 || totalLength <= self.maxLength)) {
6998
+ return;
6999
+ }
7000
+ }
6872
7001
  if (isNullOrUndefined(args)) {
6873
7002
  var action_1 = event.action;
6874
7003
  if (action_1 !== 'tab' && action_1 !== 'enter' && action_1 !== 'space' && action_1 !== 'escape') {
@@ -10303,7 +10432,13 @@ var DOMNode = /** @__PURE__ @class */ (function () {
10303
10432
  markerStart.appendChild(start);
10304
10433
  }
10305
10434
  else {
10306
- this.replaceWith(start, this.marker(markerClassName.startSelection, this.encode(start.textContent)));
10435
+ if (start.nodeType != 3 && start.nodeName != '#text') {
10436
+ var marker = this.marker(markerClassName.startSelection, '');
10437
+ append([this.parseHTMLFragment(marker)], start);
10438
+ }
10439
+ else {
10440
+ this.replaceWith(start, this.marker(markerClassName.startSelection, this.encode(start.textContent)));
10441
+ }
10307
10442
  }
10308
10443
  if (end.nodeType !== Node.TEXT_NODE && end.tagName === 'BR' &&
10309
10444
  IGNORE_BLOCK_TAGS.indexOf(end.parentNode.tagName.toLocaleLowerCase()) >= 0) {
@@ -10709,6 +10844,29 @@ var Lists = /** @__PURE__ @class */ (function () {
10709
10844
  parentList.parentElement.insertBefore(startNode.children[1], parentList);
10710
10845
  }
10711
10846
  }
10847
+ this.removeList(range, e);
10848
+ };
10849
+ Lists.prototype.removeList = function (range, e) {
10850
+ var startNode = this.parent.domNode.getSelectedNode(range.startContainer, range.startOffset);
10851
+ var endNode = this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
10852
+ startNode = startNode.nodeName === 'BR' ? startNode.parentElement : startNode;
10853
+ endNode = endNode.nodeName === 'BR' ? endNode.parentElement : endNode;
10854
+ if (((range.commonAncestorContainer.nodeName === 'OL' || range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'LI') &&
10855
+ isNullOrUndefined(endNode.nextElementSibling) && endNode.textContent.length === range.endOffset &&
10856
+ isNullOrUndefined(startNode.previousElementSibling) && range.startOffset === 0) ||
10857
+ (Browser.userAgent.indexOf('Firefox') != -1 && range.startContainer === range.endContainer && range.startContainer === this.parent.editableElement &&
10858
+ range.startOffset === 0 && range.endOffset === 1)) {
10859
+ if (Browser.userAgent.indexOf('Firefox') != -1) {
10860
+ detach(range.commonAncestorContainer.childNodes[0]);
10861
+ }
10862
+ else if (range.commonAncestorContainer.nodeName === 'LI') {
10863
+ detach(range.commonAncestorContainer.parentElement);
10864
+ }
10865
+ else {
10866
+ detach(range.commonAncestorContainer);
10867
+ }
10868
+ e.event.preventDefault();
10869
+ }
10712
10870
  };
10713
10871
  Lists.prototype.keyDownHandler = function (e) {
10714
10872
  if (e.event.which === 13) {
@@ -10733,6 +10891,7 @@ var Lists = /** @__PURE__ @class */ (function () {
10733
10891
  && (commonAncestor.lastElementChild === closest(endNode, 'li')) && !range.collapsed) {
10734
10892
  detach(commonAncestor);
10735
10893
  }
10894
+ this.removeList(range, e);
10736
10895
  }
10737
10896
  if (e.event.which === 9) {
10738
10897
  var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
@@ -10948,6 +11107,19 @@ var Lists = /** @__PURE__ @class */ (function () {
10948
11107
  };
10949
11108
  Lists.prototype.applyListsHandler = function (e) {
10950
11109
  var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
11110
+ if (Browser.userAgent.indexOf('Firefox') != -1 && range.startContainer === range.endContainer && range.startContainer === this.parent.editableElement) {
11111
+ var startChildNodes = range.startContainer.childNodes;
11112
+ var startNode = ((startChildNodes[(range.startOffset > 0) ? (range.startOffset - 1) : range.startOffset]) || range.startContainer);
11113
+ var endNode = (range.endContainer.childNodes[(range.endOffset > 0) ? (range.endOffset - 1) : range.endOffset] || range.endContainer);
11114
+ var lastSelectionNode = endNode.lastChild.nodeName === 'BR' ? (isNullOrUndefined(endNode.lastChild.previousSibling) ? endNode
11115
+ : endNode.lastChild.previousSibling) : endNode.lastChild;
11116
+ while (!isNullOrUndefined(lastSelectionNode) && lastSelectionNode.nodeName !== '#text' && lastSelectionNode.nodeName !== 'IMG' &&
11117
+ lastSelectionNode.nodeName !== 'BR' && lastSelectionNode.nodeName !== 'HR') {
11118
+ lastSelectionNode = lastSelectionNode.lastChild;
11119
+ }
11120
+ this.parent.nodeSelection.setSelectionText(this.parent.currentDocument, startNode, lastSelectionNode, 0, lastSelectionNode.textContent.length);
11121
+ range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
11122
+ }
10951
11123
  if (range.startContainer === range.endContainer && range.startContainer === this.parent.editableElement &&
10952
11124
  range.startOffset === range.endOffset && range.startOffset === 0 &&
10953
11125
  this.parent.editableElement.textContent.length === 0 && (this.parent.editableElement.childNodes[0].nodeName != 'TABLE' &&
@@ -14740,8 +14912,16 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
14740
14912
  for (; nodeTraverse && nodeTraverse.parentElement && nodeTraverse.parentElement !== endNode;
14741
14913
  // eslint-disable-next-line
14742
14914
  nodeTraverse = nodeTraverse) {
14743
- if (nodeTraverse.parentElement && nodeTraverse.parentElement.tagName.toLocaleLowerCase()
14744
- === formatNode.tagName.toLocaleLowerCase() &&
14915
+ var nodeTraverseCondition = void 0;
14916
+ if (formatNode.nodeName === 'SPAN') {
14917
+ nodeTraverseCondition = nodeTraverse.parentElement.tagName.toLocaleLowerCase()
14918
+ === formatNode.tagName.toLocaleLowerCase() && nodeTraverse.parentElement.getAttribute('style') === formatNodeStyles;
14919
+ }
14920
+ else {
14921
+ nodeTraverseCondition = nodeTraverse.parentElement.tagName.toLocaleLowerCase()
14922
+ === formatNode.tagName.toLocaleLowerCase();
14923
+ }
14924
+ if (nodeTraverse.parentElement && nodeTraverseCondition &&
14745
14925
  (nodeTraverse.parentElement.childElementCount > 1 || range.startOffset > 1)) {
14746
14926
  if (textNode.parentElement && textNode.parentElement.tagName.toLocaleLowerCase()
14747
14927
  === formatNode.tagName.toLocaleLowerCase()) {
@@ -16984,7 +17164,8 @@ var ContentRender = /** @__PURE__ @class */ (function () {
16984
17164
  * @returns {string} - specifies the string element.
16985
17165
  */
16986
17166
  ContentRender.prototype.getText = function () {
16987
- return this.getEditPanel().innerText;
17167
+ var textString = this.getEditPanel().innerText;
17168
+ return textString === '\n' ? '' : textString;
16988
17169
  };
16989
17170
  /**
16990
17171
  * Set the content div element of RichTextEditor
@@ -17418,7 +17599,17 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
17418
17599
  e.args.keyCode === 13) {
17419
17600
  this.spaceLink(e.args);
17420
17601
  if (this.parent.editorMode === 'HTML' && !this.parent.readonly) {
17421
- this.parent.notify(enterHandler, { args: e.args });
17602
+ var currentLength = this.parent.getText().trim().length;
17603
+ var selectionLength = this.parent.getSelection().length;
17604
+ var totalLength = (currentLength - selectionLength) + 1;
17605
+ if (!(this.parent.maxLength === -1 || totalLength <= this.parent.maxLength) &&
17606
+ e.args.keyCode === 13) {
17607
+ e.args.preventDefault();
17608
+ return;
17609
+ }
17610
+ else {
17611
+ this.parent.notify(enterHandler, { args: e.args });
17612
+ }
17422
17613
  }
17423
17614
  }
17424
17615
  if (e.args.action === 'space') {
@@ -18008,6 +18199,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18008
18199
  return;
18009
18200
  }
18010
18201
  this.parent.on(pasteClean, this.pasteClean, this);
18202
+ this.parent.on(bindCssClass, this.setCssClass, this);
18011
18203
  this.parent.on(destroy, this.destroy, this);
18012
18204
  };
18013
18205
  PasteCleanup.prototype.destroy = function () {
@@ -18018,6 +18210,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18018
18210
  return;
18019
18211
  }
18020
18212
  this.parent.off(pasteClean, this.pasteClean);
18213
+ this.parent.off(bindCssClass, this.setCssClass);
18021
18214
  this.parent.off(destroy, this.destroy);
18022
18215
  };
18023
18216
  PasteCleanup.prototype.pasteClean = function (e) {
@@ -18197,7 +18390,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18197
18390
  id: this.parent.element.id + '_upload', attrs: { type: 'File', name: 'UploadFiles' }
18198
18391
  });
18199
18392
  var offsetY = this.parent.iframeSettings.enable ? -50 : -90;
18200
- var popupObj = new Popup(popupEle, {
18393
+ this.popupObj = new Popup(popupEle, {
18201
18394
  relateTo: imgElem,
18202
18395
  height: '85px',
18203
18396
  width: '300px',
@@ -18210,19 +18403,22 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18210
18403
  // eslint-disable-next-line
18211
18404
  close: function (event) {
18212
18405
  _this.parent.isBlur = false;
18213
- popupObj.destroy();
18214
- detach(popupObj.element);
18406
+ _this.popupObj.destroy();
18407
+ detach(_this.popupObj.element);
18215
18408
  }
18216
18409
  });
18217
- popupObj.element.style.display = 'none';
18218
- addClass([popupObj.element], [CLS_POPUP_OPEN, CLS_RTE_UPLOAD_POPUP]);
18410
+ this.popupObj.element.style.display = 'none';
18411
+ addClass([this.popupObj.element], [CLS_POPUP_OPEN, CLS_RTE_UPLOAD_POPUP]);
18412
+ if (!isNullOrUndefined(this.parent.cssClass)) {
18413
+ addClass([this.popupObj.element], this.parent.cssClass);
18414
+ }
18219
18415
  var timeOut = fileList.size > 1000000 ? 300 : 100;
18220
18416
  setTimeout(function () {
18221
- _this.refreshPopup(imgElem, popupObj);
18417
+ _this.refreshPopup(imgElem, _this.popupObj);
18222
18418
  }, timeOut);
18223
18419
  var rawFile;
18224
18420
  var beforeUploadArgs;
18225
- var uploadObj = new Uploader({
18421
+ this.uploadObj = new Uploader({
18226
18422
  asyncSettings: {
18227
18423
  saveUrl: this.parent.insertImageSettings.saveUrl,
18228
18424
  removeUrl: this.parent.insertImageSettings.removeUrl
@@ -18232,7 +18428,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18232
18428
  allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
18233
18429
  success: function (e) {
18234
18430
  setTimeout(function () {
18235
- _this.popupClose(popupObj, uploadObj, imgElem, e);
18431
+ _this.popupClose(_this.popupObj, _this.uploadObj, imgElem, e);
18236
18432
  }, 900);
18237
18433
  },
18238
18434
  uploading: function (e) {
@@ -18242,8 +18438,8 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18242
18438
  if (!isNullOrUndefined(imgElem)) {
18243
18439
  detach(imgElem);
18244
18440
  }
18245
- if (!isNullOrUndefined(popupObj.element)) {
18246
- detach(popupObj.element);
18441
+ if (!isNullOrUndefined(_this.popupObj.element)) {
18442
+ detach(_this.popupObj.element);
18247
18443
  }
18248
18444
  }
18249
18445
  else {
@@ -18263,11 +18459,11 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18263
18459
  }
18264
18460
  _this.toolbarEnableDisable(true);
18265
18461
  /* eslint-disable */
18266
- uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
18267
- beforeUploadArgs.currentRequest : uploadObj.currentRequestHeader;
18268
- uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
18269
- beforeUploadArgs.customFormData : uploadObj.customFormDatas;
18270
- uploadObj.uploadFiles(rawFile, null);
18462
+ _this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
18463
+ beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
18464
+ _this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
18465
+ beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
18466
+ _this.uploadObj.uploadFiles(rawFile, null);
18271
18467
  /* eslint-enable */
18272
18468
  });
18273
18469
  }
@@ -18279,7 +18475,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18279
18475
  // eslint-disable-next-line
18280
18476
  failure: function (e) {
18281
18477
  setTimeout(function () {
18282
- _this.uploadFailure(imgElem, uploadObj, popupObj, e);
18478
+ _this.uploadFailure(imgElem, _this.uploadObj, _this.popupObj, e);
18283
18479
  }, 900);
18284
18480
  },
18285
18481
  canceling: function () {
@@ -18288,7 +18484,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18288
18484
  detach(imgElem.nextSibling);
18289
18485
  }
18290
18486
  detach(imgElem);
18291
- popupObj.close();
18487
+ _this.popupObj.close();
18292
18488
  },
18293
18489
  selected: function (e) {
18294
18490
  e.cancel = true;
@@ -18302,10 +18498,10 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18302
18498
  detach(imgElem.nextSibling);
18303
18499
  }
18304
18500
  detach(imgElem);
18305
- popupObj.close();
18501
+ _this.popupObj.close();
18306
18502
  }
18307
18503
  });
18308
- uploadObj.appendTo(popupObj.element.childNodes[0]);
18504
+ this.uploadObj.appendTo(this.popupObj.element.childNodes[0]);
18309
18505
  /* eslint-disable */
18310
18506
  var fileData = [{
18311
18507
  name: fileList.name,
@@ -18315,13 +18511,13 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18315
18511
  validationMessages: { minSize: "", maxSize: "" },
18316
18512
  statusCode: '1'
18317
18513
  }];
18318
- uploadObj.createFileList(fileData);
18319
- uploadObj.filesData.push(fileData[0]);
18514
+ this.uploadObj.createFileList(fileData);
18515
+ this.uploadObj.filesData.push(fileData[0]);
18320
18516
  /* eslint-enable */
18321
18517
  rawFile = fileData;
18322
- uploadObj.upload(fileData);
18323
- popupObj.element.getElementsByClassName('e-file-select-wrap')[0].style.display = 'none';
18324
- detach(popupObj.element.querySelector('.e-rte-dialog-upload .e-file-select-wrap'));
18518
+ this.uploadObj.upload(fileData);
18519
+ this.popupObj.element.getElementsByClassName('e-file-select-wrap')[0].style.display = 'none';
18520
+ detach(this.popupObj.element.querySelector('.e-rte-dialog-upload .e-file-select-wrap'));
18325
18521
  };
18326
18522
  PasteCleanup.prototype.uploadFailure = function (imgElem, uploadObj, popupObj, e) {
18327
18523
  this.parent.inputElement.contentEditable = 'true';
@@ -18414,19 +18610,19 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18414
18610
  }
18415
18611
  };
18416
18612
  PasteCleanup.prototype.radioRender = function () {
18417
- var keepRadioButton = new RadioButton({ label: this.i10n.getConstant('keepFormat'),
18613
+ this.keepRadioButton = new RadioButton({ label: this.i10n.getConstant('keepFormat'),
18418
18614
  name: 'pasteOption', checked: true });
18419
- keepRadioButton.isStringTemplate = true;
18615
+ this.keepRadioButton.isStringTemplate = true;
18420
18616
  var keepFormatElement = this.parent.element.querySelector('#keepFormating');
18421
- keepRadioButton.appendTo(keepFormatElement);
18422
- var cleanRadioButton = new RadioButton({ label: this.i10n.getConstant('cleanFormat'), name: 'pasteOption' });
18423
- cleanRadioButton.isStringTemplate = true;
18617
+ this.keepRadioButton.appendTo(keepFormatElement);
18618
+ this.cleanRadioButton = new RadioButton({ label: this.i10n.getConstant('cleanFormat'), name: 'pasteOption' });
18619
+ this.cleanRadioButton.isStringTemplate = true;
18424
18620
  var cleanFormatElement = this.parent.element.querySelector('#cleanFormat');
18425
- cleanRadioButton.appendTo(cleanFormatElement);
18426
- var plainTextRadioButton = new RadioButton({ label: this.i10n.getConstant('plainText'), name: 'pasteOption' });
18427
- plainTextRadioButton.isStringTemplate = true;
18621
+ this.cleanRadioButton.appendTo(cleanFormatElement);
18622
+ this.plainTextRadioButton = new RadioButton({ label: this.i10n.getConstant('plainText'), name: 'pasteOption' });
18623
+ this.plainTextRadioButton.isStringTemplate = true;
18428
18624
  var plainTextElement = this.parent.element.querySelector('#plainTextFormat');
18429
- plainTextRadioButton.appendTo(plainTextElement);
18625
+ this.plainTextRadioButton.appendTo(plainTextElement);
18430
18626
  };
18431
18627
  PasteCleanup.prototype.selectFormatting = function (value, args, keepChecked, cleanChecked) {
18432
18628
  if (keepChecked) {
@@ -18447,15 +18643,15 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18447
18643
  buttons: [
18448
18644
  {
18449
18645
  click: function () {
18450
- if (!dialog.isDestroyed) {
18646
+ if (!_this.dialogObj.isDestroyed) {
18451
18647
  var keepChecked = _this.parent.element.querySelector('#keepFormating').checked;
18452
18648
  var cleanChecked = _this.parent.element.querySelector('#cleanFormat').checked;
18453
- dialog.hide();
18649
+ _this.dialogObj.hide();
18454
18650
  _this.parent.height = isHeight ? preRTEHeight : _this.parent.height;
18455
18651
  isHeight = false;
18456
- var argument = dialog;
18652
+ var argument = _this.dialogObj;
18457
18653
  _this.dialogRenderObj.close(argument);
18458
- dialog.destroy();
18654
+ _this.dialogObj.destroy();
18459
18655
  _this.selectFormatting(value, args, keepChecked, cleanChecked);
18460
18656
  }
18461
18657
  },
@@ -18467,13 +18663,13 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18467
18663
  },
18468
18664
  {
18469
18665
  click: function () {
18470
- if (!dialog.isDestroyed) {
18471
- dialog.hide();
18666
+ if (!_this.dialogObj.isDestroyed) {
18667
+ _this.dialogObj.hide();
18472
18668
  _this.parent.height = isHeight ? preRTEHeight : _this.parent.height;
18473
18669
  isHeight = false;
18474
- var args_1 = dialog;
18670
+ var args_1 = _this.dialogObj;
18475
18671
  _this.dialogRenderObj.close(args_1);
18476
- dialog.destroy();
18672
+ _this.dialogObj.destroy();
18477
18673
  }
18478
18674
  },
18479
18675
  buttonModel: {
@@ -18496,7 +18692,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18496
18692
  isModal: true,
18497
18693
  visible: false
18498
18694
  };
18499
- var dialog = this.dialogRenderObj.render(dialogModel);
18695
+ this.dialogObj = this.dialogRenderObj.render(dialogModel);
18500
18696
  var rteDialogWrapper = this.parent.element.querySelector('#' + this.parent.getID()
18501
18697
  + '_pasteCleanupDialog');
18502
18698
  if (rteDialogWrapper !== null && rteDialogWrapper.innerHTML !== '') {
@@ -18508,15 +18704,42 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
18508
18704
  });
18509
18705
  this.parent.element.appendChild(rteDialogWrapper);
18510
18706
  }
18511
- dialog.appendTo(rteDialogWrapper);
18707
+ this.dialogObj.appendTo(rteDialogWrapper);
18512
18708
  this.radioRender();
18513
18709
  /* eslint-disable */
18514
- if (this.parent.element.offsetHeight < parseInt(dialog.height.split('px')[0], null)) {
18515
- this.parent.height = parseInt(dialog.height.split('px')[0], null) + 40;
18710
+ if (this.parent.element.offsetHeight < parseInt(this.dialogObj.height.split('px')[0], null)) {
18711
+ this.parent.height = parseInt(this.dialogObj.height.split('px')[0], null) + 40;
18516
18712
  /* eslint-enable */
18517
18713
  isHeight = true;
18518
18714
  }
18519
- dialog.show();
18715
+ this.dialogObj.show();
18716
+ this.setCssClass({ cssClass: this.parent.cssClass });
18717
+ };
18718
+ PasteCleanup.prototype.updateCss = function (currentObj, e) {
18719
+ if (currentObj && e.cssClass) {
18720
+ if (isNullOrUndefined(e.oldCssClass)) {
18721
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
18722
+ }
18723
+ else {
18724
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
18725
+ }
18726
+ }
18727
+ };
18728
+ PasteCleanup.prototype.setCssClass = function (e) {
18729
+ if (this.popupObj && e.cssClass) {
18730
+ if (isNullOrUndefined(e.oldCssClass)) {
18731
+ addClass([this.popupObj.element], e.cssClass);
18732
+ }
18733
+ else {
18734
+ removeClass([this.popupObj.element], e.oldCssClass);
18735
+ addClass([this.popupObj.element], e.cssClass);
18736
+ }
18737
+ }
18738
+ this.updateCss(this.dialogObj, e);
18739
+ this.updateCss(this.uploadObj, e);
18740
+ this.updateCss(this.plainTextRadioButton, e);
18741
+ this.updateCss(this.cleanRadioButton, e);
18742
+ this.updateCss(this.keepRadioButton, e);
18520
18743
  };
18521
18744
  PasteCleanup.prototype.destroyDialog = function (rteDialogWrapper) {
18522
18745
  var rteDialogContainer = this.parent.element.querySelector('.e-dlg-container');
@@ -19062,6 +19285,17 @@ var FileManager$1 = /** @__PURE__ @class */ (function () {
19062
19285
  this.dialogObj.createElement = this.parent.createElement;
19063
19286
  this.dialogObj.appendTo(dlgTarget);
19064
19287
  this.dialogObj.show(Browser.isDevice ? true : false);
19288
+ this.setCssClass({ cssClass: this.parent.cssClass });
19289
+ };
19290
+ FileManager$$1.prototype.setCssClass = function (e) {
19291
+ if (this.dialogObj && e.cssClass) {
19292
+ if (isNullOrUndefined(e.oldCssClass)) {
19293
+ this.dialogObj.setProperties({ cssClass: (this.dialogObj.cssClass + ' ' + e.cssClass).trim() });
19294
+ }
19295
+ else {
19296
+ this.dialogObj.setProperties({ cssClass: (this.dialogObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
19297
+ }
19298
+ }
19065
19299
  };
19066
19300
  FileManager$$1.prototype.renderFileManager = function () {
19067
19301
  var _this = this;
@@ -19186,12 +19420,14 @@ var FileManager$1 = /** @__PURE__ @class */ (function () {
19186
19420
  FileManager$$1.prototype.addEventListener = function () {
19187
19421
  this.parent.on(initialEnd, this.initialize, this);
19188
19422
  this.parent.on(renderFileManager, this.render, this);
19423
+ this.parent.on(bindCssClass, this.setCssClass, this);
19189
19424
  this.parent.on(destroy, this.destroy, this);
19190
19425
  };
19191
19426
  FileManager$$1.prototype.removeEventListener = function () {
19192
19427
  EventHandler.remove(this.parent.element.ownerDocument, 'mousedown', this.onDocumentClick);
19193
19428
  this.parent.off(initialEnd, this.initialize);
19194
19429
  this.parent.off(renderFileManager, this.render);
19430
+ this.parent.off(bindCssClass, this.setCssClass);
19195
19431
  this.parent.off(destroy, this.destroy);
19196
19432
  };
19197
19433
  FileManager$$1.prototype.destroyComponents = function () {
@@ -19571,6 +19807,7 @@ var Link = /** @__PURE__ @class */ (function () {
19571
19807
  this.parent.on(editLink, this.editLink, this);
19572
19808
  this.parent.on(openLink, this.openLink, this);
19573
19809
  this.parent.on(editAreaClick, this.editAreaClickHandler, this);
19810
+ this.parent.on(bindCssClass, this.setCssClass, this);
19574
19811
  this.parent.on(destroy, this.destroy, this);
19575
19812
  };
19576
19813
  Link.prototype.onToolbarAction = function (args) {
@@ -19603,6 +19840,7 @@ var Link = /** @__PURE__ @class */ (function () {
19603
19840
  this.parent.off(editLink, this.editLink);
19604
19841
  this.parent.off(openLink, this.openLink);
19605
19842
  this.parent.off(editAreaClick, this.editAreaClickHandler);
19843
+ this.parent.off(bindCssClass, this.setCssClass);
19606
19844
  this.parent.off(destroy, this.destroy);
19607
19845
  };
19608
19846
  Link.prototype.onIframeMouseDown = function () {
@@ -19610,6 +19848,20 @@ var Link = /** @__PURE__ @class */ (function () {
19610
19848
  this.dialogObj.hide({ returnValue: true });
19611
19849
  }
19612
19850
  };
19851
+ Link.prototype.updateCss = function (currentObj, e) {
19852
+ if (currentObj && e.cssClass) {
19853
+ if (isNullOrUndefined(e.oldCssClass)) {
19854
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
19855
+ }
19856
+ else {
19857
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
19858
+ }
19859
+ }
19860
+ };
19861
+ Link.prototype.setCssClass = function (e) {
19862
+ this.updateCss(this.checkBoxObj, e);
19863
+ this.updateCss(this.dialogObj, e);
19864
+ };
19613
19865
  Link.prototype.showLinkQuickToolbar = function (e) {
19614
19866
  if (!isNullOrUndefined(e.args) && e.args.action !== 'enter' &&
19615
19867
  e.args.action !== 'space') {
@@ -19738,6 +19990,7 @@ var Link = /** @__PURE__ @class */ (function () {
19738
19990
  };
19739
19991
  Link.prototype.showDialog = function () {
19740
19992
  this.openDialog(false);
19993
+ this.setCssClass({ cssClass: this.parent.cssClass });
19741
19994
  };
19742
19995
  Link.prototype.closeDialog = function () {
19743
19996
  if (this.dialogObj) {
@@ -19793,7 +20046,7 @@ var Link = /** @__PURE__ @class */ (function () {
19793
20046
  var linkText = linkContent.querySelector('.e-rte-linkText');
19794
20047
  var linkTitle = linkContent.querySelector('.e-rte-linkTitle');
19795
20048
  var linkOpenLabel = this.i10n.getConstant('linkOpenInNewWindow');
19796
- this.checkBoxObj = new CheckBox({ label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl });
20049
+ this.checkBoxObj = new CheckBox({ label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass });
19797
20050
  this.checkBoxObj.isStringTemplate = true;
19798
20051
  this.checkBoxObj.createElement = this.parent.createElement;
19799
20052
  this.checkBoxObj.appendTo(linkTarget);
@@ -19806,7 +20059,7 @@ var Link = /** @__PURE__ @class */ (function () {
19806
20059
  var dialogModel = {
19807
20060
  header: this.i10n.getConstant('linkHeader'),
19808
20061
  content: linkContent,
19809
- cssClass: CLS_RTE_ELEMENTS,
20062
+ cssClass: CLS_RTE_ELEMENTS + ' ' + this.parent.cssClass,
19810
20063
  enableRtl: this.parent.enableRtl,
19811
20064
  locale: this.parent.locale,
19812
20065
  showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '310px', height: 'inherit',
@@ -20089,6 +20342,7 @@ var Image = /** @__PURE__ @class */ (function () {
20089
20342
  this.parent.on(initialEnd, this.afterRender, this);
20090
20343
  this.parent.on(dynamicModule, this.afterRender, this);
20091
20344
  this.parent.on(paste, this.imagePaste, this);
20345
+ this.parent.on(bindCssClass, this.setCssClass, this);
20092
20346
  this.parent.on(destroy, this.removeEventListener, this);
20093
20347
  };
20094
20348
  Image.prototype.removeEventListener = function () {
@@ -20115,6 +20369,7 @@ var Image = /** @__PURE__ @class */ (function () {
20115
20369
  this.parent.off(initialEnd, this.afterRender);
20116
20370
  this.parent.off(dynamicModule, this.afterRender);
20117
20371
  this.parent.off(paste, this.imagePaste);
20372
+ this.parent.off(bindCssClass, this.setCssClass);
20118
20373
  this.parent.off(destroy, this.removeEventListener);
20119
20374
  var dropElement = this.parent.iframeSettings.enable ? this.parent.inputElement.ownerDocument
20120
20375
  : this.parent.inputElement;
@@ -20132,6 +20387,32 @@ var Image = /** @__PURE__ @class */ (function () {
20132
20387
  }
20133
20388
  }
20134
20389
  };
20390
+ Image.prototype.updateCss = function (currentObj, e) {
20391
+ if (currentObj && e.cssClass) {
20392
+ if (isNullOrUndefined(e.oldCssClass)) {
20393
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
20394
+ }
20395
+ else {
20396
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
20397
+ }
20398
+ }
20399
+ };
20400
+ Image.prototype.setCssClass = function (e) {
20401
+ if (this.popupObj && e.cssClass) {
20402
+ if (isNullOrUndefined(e.oldCssClass)) {
20403
+ addClass([this.popupObj.element], e.cssClass);
20404
+ }
20405
+ else {
20406
+ removeClass([this.popupObj.element], e.oldCssClass);
20407
+ addClass([this.popupObj.element], e.cssClass);
20408
+ }
20409
+ }
20410
+ this.updateCss(this.checkBoxObj, e);
20411
+ this.updateCss(this.widthNum, e);
20412
+ this.updateCss(this.heightNum, e);
20413
+ this.updateCss(this.uploadObj, e);
20414
+ this.updateCss(this.dialogObj, e);
20415
+ };
20135
20416
  Image.prototype.onIframeMouseDown = function () {
20136
20417
  if (this.dialogObj) {
20137
20418
  this.dialogObj.hide({ returnValue: true });
@@ -20735,6 +21016,7 @@ var Image = /** @__PURE__ @class */ (function () {
20735
21016
  };
20736
21017
  Image.prototype.showDialog = function () {
20737
21018
  this.openDialog(false);
21019
+ this.setCssClass({ cssClass: this.parent.cssClass });
20738
21020
  };
20739
21021
  Image.prototype.closeDialog = function () {
20740
21022
  if (this.dialogObj) {
@@ -20954,7 +21236,8 @@ var Image = /** @__PURE__ @class */ (function () {
20954
21236
  var inputLink = linkWrap.querySelector('.e-img-link');
20955
21237
  var linkOpenLabel = this.i10n.getConstant('linkOpenInNewWindow');
20956
21238
  this.checkBoxObj = new CheckBox({
20957
- label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl, change: function (e) {
21239
+ label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass,
21240
+ change: function (e) {
20958
21241
  if (e.checked) {
20959
21242
  target_1 = '_blank';
20960
21243
  }
@@ -20989,6 +21272,9 @@ var Image = /** @__PURE__ @class */ (function () {
20989
21272
  }
20990
21273
  }]
20991
21274
  });
21275
+ if (!isNullOrUndefined(this.parent.cssClass)) {
21276
+ this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
21277
+ }
20992
21278
  if (!isNullOrUndefined(inputDetails)) {
20993
21279
  inputLink.value = inputDetails.url;
20994
21280
  // eslint-disable-next-line
@@ -21034,6 +21320,9 @@ var Image = /** @__PURE__ @class */ (function () {
21034
21320
  }
21035
21321
  }]
21036
21322
  });
21323
+ if (!isNullOrUndefined(this.parent.cssClass)) {
21324
+ this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
21325
+ }
21037
21326
  this.dialogObj.element.style.maxHeight = 'inherit';
21038
21327
  this.dialogObj.content.querySelector('input').focus();
21039
21328
  }
@@ -21254,6 +21543,9 @@ var Image = /** @__PURE__ @class */ (function () {
21254
21543
  }
21255
21544
  }]
21256
21545
  });
21546
+ if (!isNullOrUndefined(this.parent.cssClass)) {
21547
+ this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
21548
+ }
21257
21549
  this.dialogObj.element.style.maxHeight = 'inherit';
21258
21550
  this.dialogObj.content.querySelector('input').focus();
21259
21551
  }
@@ -21531,24 +21823,26 @@ var Image = /** @__PURE__ @class */ (function () {
21531
21823
  + ' /></div>';
21532
21824
  var contentElem = parseHtml(content);
21533
21825
  imgSizeWrap.appendChild(contentElem);
21534
- var widthNum = new TextBox({
21826
+ this.widthNum = new TextBox({
21535
21827
  value: formatUnit(widthVal),
21536
21828
  enableRtl: this.parent.enableRtl,
21829
+ cssClass: this.parent.cssClass,
21537
21830
  input: function (e) {
21538
21831
  _this.inputWidthValue = formatUnit(_this.inputValue(e.value));
21539
21832
  }
21540
21833
  });
21541
- widthNum.createElement = this.parent.createElement;
21542
- widthNum.appendTo(imgSizeWrap.querySelector('#imgwidth'));
21543
- var heightNum = new TextBox({
21834
+ this.widthNum.createElement = this.parent.createElement;
21835
+ this.widthNum.appendTo(imgSizeWrap.querySelector('#imgwidth'));
21836
+ this.heightNum = new TextBox({
21544
21837
  value: formatUnit(heightVal),
21545
21838
  enableRtl: this.parent.enableRtl,
21839
+ cssClass: this.parent.cssClass,
21546
21840
  input: function (e) {
21547
21841
  _this.inputHeightValue = formatUnit(_this.inputValue(e.value));
21548
21842
  }
21549
21843
  });
21550
- heightNum.createElement = this.parent.createElement;
21551
- heightNum.appendTo(imgSizeWrap.querySelector('#imgheight'));
21844
+ this.heightNum.createElement = this.parent.createElement;
21845
+ this.heightNum.appendTo(imgSizeWrap.querySelector('#imgheight'));
21552
21846
  return imgSizeWrap;
21553
21847
  };
21554
21848
  Image.prototype.inputValue = function (value) {
@@ -21628,10 +21922,10 @@ var Image = /** @__PURE__ @class */ (function () {
21628
21922
  span.appendChild(btnEle);
21629
21923
  uploadParentEle.appendChild(span);
21630
21924
  var browserMsg = this.i10n.getConstant('browse');
21631
- var button = new Button({ content: browserMsg, enableRtl: this.parent.enableRtl });
21632
- button.isStringTemplate = true;
21633
- button.createElement = this.parent.createElement;
21634
- button.appendTo(btnEle);
21925
+ this.browseButton = new Button({ content: browserMsg, enableRtl: this.parent.enableRtl });
21926
+ this.browseButton.isStringTemplate = true;
21927
+ this.browseButton.createElement = this.parent.createElement;
21928
+ this.browseButton.appendTo(btnEle);
21635
21929
  var btnClick = (Browser.isDevice) ? span : btnEle;
21636
21930
  EventHandler.add(btnClick, 'click', this.fileSelect, this);
21637
21931
  var uploadEle = this.parent.createElement('input', {
@@ -21645,7 +21939,7 @@ var Image = /** @__PURE__ @class */ (function () {
21645
21939
  var beforeUploadArgs;
21646
21940
  this.uploadObj = new Uploader({
21647
21941
  asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, removeUrl: this.parent.insertImageSettings.removeUrl },
21648
- dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
21942
+ dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass,
21649
21943
  allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
21650
21944
  selected: function (e) {
21651
21945
  proxy.isImgUploaded = true;
@@ -22025,6 +22319,9 @@ var Image = /** @__PURE__ @class */ (function () {
22025
22319
  this.popupObj.element.style.display = 'none';
22026
22320
  addClass([this.popupObj.element], CLS_POPUP_OPEN);
22027
22321
  addClass([this.popupObj.element], CLS_RTE_UPLOAD_POPUP);
22322
+ if (!isNullOrUndefined(this.parent.cssClass)) {
22323
+ addClass([this.popupObj.element], this.parent.cssClass);
22324
+ }
22028
22325
  var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
22029
22326
  var timeOut = dragEvent.dataTransfer.files[0].size > 1000000 ? 300 : 100;
22030
22327
  setTimeout(function () {
@@ -22037,7 +22334,7 @@ var Image = /** @__PURE__ @class */ (function () {
22037
22334
  saveUrl: this.parent.insertImageSettings.saveUrl,
22038
22335
  removeUrl: this.parent.insertImageSettings.removeUrl
22039
22336
  },
22040
- cssClass: CLS_RTE_DIALOG_UPLOAD,
22337
+ cssClass: CLS_RTE_DIALOG_UPLOAD + ' ' + this.parent.cssClass,
22041
22338
  dropArea: this.parent.element,
22042
22339
  allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
22043
22340
  removing: function () {
@@ -22577,6 +22874,7 @@ var Table = /** @__PURE__ @class */ (function () {
22577
22874
  this.parent.on(dropDownSelect, this.dropdownSelect, this);
22578
22875
  this.parent.on(keyDown, this.keyDown, this);
22579
22876
  this.parent.on(mouseUp, this.selectionTable, this);
22877
+ this.parent.on(bindCssClass, this.setCssClass, this);
22580
22878
  this.parent.on(destroy, this.destroy, this);
22581
22879
  };
22582
22880
  Table.prototype.removeEventListener = function () {
@@ -22597,8 +22895,38 @@ var Table = /** @__PURE__ @class */ (function () {
22597
22895
  this.parent.off(tableColorPickerChanged, this.setBGColor);
22598
22896
  this.parent.off(keyDown, this.keyDown);
22599
22897
  this.parent.off(mouseUp, this.selectionTable);
22898
+ this.parent.off(bindCssClass, this.setCssClass);
22600
22899
  this.parent.off(destroy, this.destroy);
22601
22900
  };
22901
+ Table.prototype.updateCss = function (currentObj, e) {
22902
+ if (currentObj && e.cssClass) {
22903
+ if (isNullOrUndefined(e.oldCssClass)) {
22904
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
22905
+ }
22906
+ else {
22907
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
22908
+ }
22909
+ }
22910
+ };
22911
+ Table.prototype.setCssClass = function (e) {
22912
+ if (this.popupObj && e.cssClass) {
22913
+ if (isNullOrUndefined(e.oldCssClass)) {
22914
+ addClass([this.popupObj.element], e.cssClass);
22915
+ }
22916
+ else {
22917
+ removeClass([this.popupObj.element], e.oldCssClass);
22918
+ addClass([this.popupObj.element], e.cssClass);
22919
+ }
22920
+ }
22921
+ this.updateCss(this.createTableButton, e);
22922
+ this.updateCss(this.editdlgObj, e);
22923
+ var numericTextBoxObj = [
22924
+ this.columnTextBox, this.rowTextBox, this.tableWidthNum, this.tableCellPadding, this.tableCellSpacing
22925
+ ];
22926
+ for (var i = 0; i < numericTextBoxObj.length; i++) {
22927
+ this.updateCss(numericTextBoxObj[i], e);
22928
+ }
22929
+ };
22602
22930
  Table.prototype.selectionTable = function (e) {
22603
22931
  var target = e.args.target;
22604
22932
  if (Browser.info.name === 'mozilla' && !isNullOrUndefined(closest(target, 'table')) && closest(target, 'table').tagName === 'TABLE') {
@@ -22731,6 +23059,7 @@ var Table = /** @__PURE__ @class */ (function () {
22731
23059
  };
22732
23060
  Table.prototype.showDialog = function () {
22733
23061
  this.openDialog(false);
23062
+ this.setCssClass({ cssClass: this.parent.cssClass });
22734
23063
  };
22735
23064
  Table.prototype.closeDialog = function () {
22736
23065
  if (this.editdlgObj) {
@@ -23452,12 +23781,12 @@ var Table = /** @__PURE__ @class */ (function () {
23452
23781
  this.parent.getToolbarElement().querySelector('.e-expended-nav').setAttribute('tabindex', '1');
23453
23782
  }
23454
23783
  this.dlgDiv.appendChild(btnEle);
23455
- var button = new Button({
23456
- iconCss: 'e-icons e-create-table', content: insertbtn, cssClass: 'e-flat',
23784
+ this.createTableButton = new Button({
23785
+ iconCss: 'e-icons e-create-table', content: insertbtn, cssClass: 'e-flat' + ' ' + this.parent.cssClass,
23457
23786
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
23458
23787
  });
23459
- button.isStringTemplate = true;
23460
- button.appendTo(btnEle);
23788
+ this.createTableButton.isStringTemplate = true;
23789
+ this.createTableButton.appendTo(btnEle);
23461
23790
  EventHandler.add(btnEle, 'click', this.insertTableDialog, { self: this, args: args.args, selection: args.selection });
23462
23791
  this.parent.getToolbar().appendChild(this.dlgDiv);
23463
23792
  var target = args.args.originalEvent.target;
@@ -23480,6 +23809,9 @@ var Table = /** @__PURE__ @class */ (function () {
23480
23809
  }
23481
23810
  });
23482
23811
  addClass([this.popupObj.element], 'e-popup-open');
23812
+ if (!isNullOrUndefined(this.parent.cssClass)) {
23813
+ addClass([this.popupObj.element], this.parent.cssClass);
23814
+ }
23483
23815
  this.popupObj.refreshPosition(target);
23484
23816
  };
23485
23817
  Table.prototype.docClick = function (e) {
@@ -23552,7 +23884,8 @@ var Table = /** @__PURE__ @class */ (function () {
23552
23884
  _this.cancelDialog(e);
23553
23885
  },
23554
23886
  buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
23555
- }]
23887
+ }],
23888
+ cssClass: this.parent.cssClass
23556
23889
  });
23557
23890
  this.editdlgObj.element.style.maxHeight = 'none';
23558
23891
  this.editdlgObj.content.querySelector('input').focus();
@@ -23583,6 +23916,9 @@ var Table = /** @__PURE__ @class */ (function () {
23583
23916
  buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
23584
23917
  }]
23585
23918
  });
23919
+ if (!isNullOrUndefined(proxy.parent.cssClass)) {
23920
+ proxy.editdlgObj.setProperties({ cssClass: proxy.parent.cssClass });
23921
+ }
23586
23922
  proxy.editdlgObj.element.style.maxHeight = 'none';
23587
23923
  proxy.editdlgObj.content.querySelector('input').focus();
23588
23924
  };
@@ -23602,7 +23938,8 @@ var Table = /** @__PURE__ @class */ (function () {
23602
23938
  placeholder: tableColumn,
23603
23939
  floatLabelType: 'Auto',
23604
23940
  max: 50,
23605
- enableRtl: this.parent.enableRtl, locale: this.parent.locale
23941
+ enableRtl: this.parent.enableRtl, locale: this.parent.locale,
23942
+ cssClass: this.parent.cssClass
23606
23943
  });
23607
23944
  this.columnTextBox.isStringTemplate = true;
23608
23945
  this.columnTextBox.appendTo(tableWrap.querySelector('#tableColumn'));
@@ -23613,7 +23950,8 @@ var Table = /** @__PURE__ @class */ (function () {
23613
23950
  placeholder: tableRow,
23614
23951
  floatLabelType: 'Auto',
23615
23952
  max: 50,
23616
- enableRtl: this.parent.enableRtl, locale: this.parent.locale
23953
+ enableRtl: this.parent.enableRtl, locale: this.parent.locale,
23954
+ cssClass: this.parent.cssClass
23617
23955
  });
23618
23956
  this.rowTextBox.isStringTemplate = true;
23619
23957
  this.rowTextBox.appendTo(tableWrap.querySelector('#tableRow'));
@@ -23642,7 +23980,7 @@ var Table = /** @__PURE__ @class */ (function () {
23642
23980
  var header = this.l10n.getConstant('tabledialogHeader');
23643
23981
  var dialogModel = {
23644
23982
  header: header,
23645
- cssClass: CLS_RTE_ELEMENTS,
23983
+ cssClass: CLS_RTE_ELEMENTS + ' ' + this.parent.cssClass,
23646
23984
  enableRtl: this.parent.enableRtl,
23647
23985
  locale: this.parent.locale,
23648
23986
  showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px', height: 'initial',
@@ -23732,7 +24070,7 @@ var Table = /** @__PURE__ @class */ (function () {
23732
24070
  + ' </div><div class="e-rte-field"><input type="text" data-role ="none" id="cellSpacing" class="e-cell-spacing" /></div>';
23733
24071
  var contentElem = parseHtml(content);
23734
24072
  tableWrap.appendChild(contentElem);
23735
- var widthNum = new NumericTextBox({
24073
+ this.tableWidthNum = new NumericTextBox({
23736
24074
  format: 'n0',
23737
24075
  min: 0,
23738
24076
  value: widthVal,
@@ -23740,9 +24078,9 @@ var Table = /** @__PURE__ @class */ (function () {
23740
24078
  floatLabelType: 'Auto',
23741
24079
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
23742
24080
  });
23743
- widthNum.isStringTemplate = true;
23744
- widthNum.appendTo(tableWrap.querySelector('#tableWidth'));
23745
- var padding = new NumericTextBox({
24081
+ this.tableWidthNum.isStringTemplate = true;
24082
+ this.tableWidthNum.appendTo(tableWrap.querySelector('#tableWidth'));
24083
+ this.tableCellPadding = new NumericTextBox({
23746
24084
  format: 'n0',
23747
24085
  min: 0,
23748
24086
  // eslint-disable-next-line
@@ -23751,9 +24089,9 @@ var Table = /** @__PURE__ @class */ (function () {
23751
24089
  floatLabelType: 'Auto',
23752
24090
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
23753
24091
  });
23754
- padding.isStringTemplate = true;
23755
- padding.appendTo(tableWrap.querySelector('#cellPadding'));
23756
- var spacing = new NumericTextBox({
24092
+ this.tableCellPadding.isStringTemplate = true;
24093
+ this.tableCellPadding.appendTo(tableWrap.querySelector('#cellPadding'));
24094
+ this.tableCellSpacing = new NumericTextBox({
23757
24095
  format: 'n0',
23758
24096
  min: 0,
23759
24097
  // eslint-disable-next-line
@@ -23762,8 +24100,8 @@ var Table = /** @__PURE__ @class */ (function () {
23762
24100
  floatLabelType: 'Auto',
23763
24101
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
23764
24102
  });
23765
- spacing.isStringTemplate = true;
23766
- spacing.appendTo(tableWrap.querySelector('#cellSpacing'));
24103
+ this.tableCellSpacing.isStringTemplate = true;
24104
+ this.tableCellSpacing.appendTo(tableWrap.querySelector('#cellSpacing'));
23767
24105
  return tableWrap;
23768
24106
  };
23769
24107
  /**
@@ -25143,6 +25481,35 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25143
25481
  this.formatter.saveData();
25144
25482
  }
25145
25483
  }
25484
+ if (this.maxLength !== -1 && !isNullOrUndefined(tool.command)) {
25485
+ var currentInsertContentLength = 0;
25486
+ if (tool.command === 'Links') {
25487
+ currentInsertContentLength = value.text.length === 0 ?
25488
+ value.url.length : value.text.length;
25489
+ }
25490
+ if (tool.command === 'Images' || tool.command === 'Table' || tool.command === 'Files') {
25491
+ currentInsertContentLength = 1;
25492
+ }
25493
+ if (tool.command === 'InsertHTML') {
25494
+ if (!isNullOrUndefined(value)) {
25495
+ var tempElem = this.createElement('div');
25496
+ tempElem.innerHTML = value;
25497
+ currentInsertContentLength = tempElem.textContent.length;
25498
+ }
25499
+ else if (!isNullOrUndefined(tool.value) && (tool.value === '<hr/>' || tool.value === '<br/>')) {
25500
+ currentInsertContentLength = 1;
25501
+ }
25502
+ }
25503
+ if (tool.command === 'InsertText') {
25504
+ currentInsertContentLength = value.length;
25505
+ }
25506
+ var currentLength = this.getText().trim().length;
25507
+ var selectionLength = this.getSelection().length;
25508
+ var totalLength = (currentLength - selectionLength) + currentInsertContentLength;
25509
+ if (!(this.maxLength === -1 || totalLength <= this.maxLength)) {
25510
+ return;
25511
+ }
25512
+ }
25146
25513
  this.formatter.editorManager.execCommand(tool.command, tool.subCommand ? tool.subCommand : (value ? value : tool.value), null, null, (value ? value : tool.value), (value ? value : tool.value));
25147
25514
  if (option && option.undo) {
25148
25515
  this.formatter.saveData();
@@ -25254,6 +25621,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25254
25621
  }
25255
25622
  // eslint-disable-next-line
25256
25623
  (!this.enabled) ? this.unWireEvents() : this.eventInitializer();
25624
+ this.notify(bindCssClass, { cssClass: this.cssClass });
25257
25625
  this.renderComplete();
25258
25626
  };
25259
25627
  /**
@@ -25374,6 +25742,17 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25374
25742
  this.autoResize();
25375
25743
  };
25376
25744
  RichTextEditor.prototype.keyUp = function (e) {
25745
+ if (this.editorMode === "HTML") {
25746
+ var range = this.getRange();
25747
+ if (Browser.userAgent.indexOf('Firefox') != -1 && range.startContainer.nodeName === '#text' &&
25748
+ range.startContainer.parentElement === this.inputElement && this.enterKey !== 'BR') {
25749
+ var range_1 = this.getRange();
25750
+ var tempElem = this.createElement(this.enterKey);
25751
+ range_1.startContainer.parentElement.insertBefore(tempElem, range_1.startContainer);
25752
+ tempElem.appendChild(range_1.startContainer);
25753
+ this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(), tempElem.childNodes[0], tempElem.childNodes[0], tempElem.childNodes[0].textContent.length, tempElem.childNodes[0].textContent.length);
25754
+ }
25755
+ }
25377
25756
  this.notify(keyUp, { member: 'keyup', args: e });
25378
25757
  if (e.code === 'KeyX' && e.which === 88 && e.keyCode === 88 && e.ctrlKey && (this.inputElement.innerHTML === '' ||
25379
25758
  this.inputElement.innerHTML === '<br>')) {
@@ -25526,7 +25905,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25526
25905
  requestType: 'Paste'
25527
25906
  };
25528
25907
  this.trigger(actionBegin, evenArgs, function (pasteArgs) {
25529
- var currentLength = _this.getText().trim().length;
25908
+ var currentLength = _this.inputElement.textContent.length;
25530
25909
  var selectionLength = _this.getSelection().length;
25531
25910
  var pastedContentLength = (isNullOrUndefined(e) || isNullOrUndefined(e.clipboardData))
25532
25911
  ? 0 : e.clipboardData.getData('text/plain').length;
@@ -25836,6 +26215,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25836
26215
  case 'cssClass':
25837
26216
  this.element.classList.remove(oldProp[prop]);
25838
26217
  this.setCssClass(newProp[prop]);
26218
+ this.notify(bindCssClass, { cssClass: newProp[prop], oldCssClass: oldProp[prop] });
25839
26219
  break;
25840
26220
  case 'enabled':
25841
26221
  this.setEnable();
@@ -27217,5 +27597,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
27217
27597
  * Rich Text Editor component exported items
27218
27598
  */
27219
27599
 
27220
- export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, imageCaption, imageSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, afterImageDelete, drop, xhtmlValidation, beforeImageUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, closeImageDialog, showTableDialog, closeTableDialog, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_IMAGE_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION };
27600
+ export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, imageCaption, imageSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, afterImageDelete, drop, xhtmlValidation, beforeImageUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, closeImageDialog, showTableDialog, closeTableDialog, bindCssClass, blockInlineEmptyNodes, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_IMAGE_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION };
27221
27601
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map