@syncfusion/ej2-richtexteditor 20.1.51 → 20.1.56

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 (72) hide show
  1. package/CHANGELOG.md +32 -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 +356 -94
  5. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es5.js +356 -94
  7. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  8. package/dist/global/ej2-richtexteditor.min.js +2 -2
  9. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +12 -12
  12. package/src/editor-manager/plugin/dom-node.js +7 -1
  13. package/src/editor-manager/plugin/inserthtml.js +2 -1
  14. package/src/editor-manager/plugin/nodecutter.js +1 -1
  15. package/src/rich-text-editor/actions/base-quick-toolbar.js +8 -3
  16. package/src/rich-text-editor/actions/base-toolbar.d.ts +1 -0
  17. package/src/rich-text-editor/actions/base-toolbar.js +14 -1
  18. package/src/rich-text-editor/actions/color-picker.d.ts +2 -0
  19. package/src/rich-text-editor/actions/color-picker.js +22 -1
  20. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -0
  21. package/src/rich-text-editor/actions/dropdown-buttons.js +25 -0
  22. package/src/rich-text-editor/actions/enter-key.js +3 -2
  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/paste-clean-up.d.ts +6 -0
  26. package/src/rich-text-editor/actions/paste-clean-up.js +79 -47
  27. package/src/rich-text-editor/actions/quick-toolbar.d.ts +2 -0
  28. package/src/rich-text-editor/actions/quick-toolbar.js +23 -2
  29. package/src/rich-text-editor/actions/toolbar.d.ts +1 -0
  30. package/src/rich-text-editor/actions/toolbar.js +13 -1
  31. package/src/rich-text-editor/base/constant.d.ts +5 -0
  32. package/src/rich-text-editor/base/constant.js +5 -0
  33. package/src/rich-text-editor/base/interface.d.ts +11 -0
  34. package/src/rich-text-editor/base/rich-text-editor.js +2 -0
  35. package/src/rich-text-editor/renderer/content-renderer.js +2 -1
  36. package/src/rich-text-editor/renderer/image-module.d.ts +5 -0
  37. package/src/rich-text-editor/renderer/image-module.js +57 -13
  38. package/src/rich-text-editor/renderer/link-module.d.ts +2 -0
  39. package/src/rich-text-editor/renderer/link-module.js +19 -2
  40. package/src/rich-text-editor/renderer/table-module.d.ts +6 -0
  41. package/src/rich-text-editor/renderer/table-module.js +60 -18
  42. package/src/rich-text-editor/renderer/toolbar-renderer.js +2 -1
  43. package/styles/bootstrap-dark.css +135 -519
  44. package/styles/bootstrap.css +136 -525
  45. package/styles/bootstrap4.css +145 -572
  46. package/styles/bootstrap5-dark.css +135 -539
  47. package/styles/bootstrap5.css +135 -539
  48. package/styles/fabric-dark.css +134 -518
  49. package/styles/fabric.css +135 -519
  50. package/styles/fluent-dark.css +134 -521
  51. package/styles/fluent.css +134 -521
  52. package/styles/highcontrast-light.css +135 -519
  53. package/styles/highcontrast.css +135 -517
  54. package/styles/material-dark.css +134 -518
  55. package/styles/material.css +135 -519
  56. package/styles/rich-text-editor/bootstrap-dark.css +135 -519
  57. package/styles/rich-text-editor/bootstrap.css +136 -525
  58. package/styles/rich-text-editor/bootstrap4.css +145 -572
  59. package/styles/rich-text-editor/bootstrap5-dark.css +135 -539
  60. package/styles/rich-text-editor/bootstrap5.css +135 -539
  61. package/styles/rich-text-editor/fabric-dark.css +134 -518
  62. package/styles/rich-text-editor/fabric.css +135 -519
  63. package/styles/rich-text-editor/fluent-dark.css +134 -521
  64. package/styles/rich-text-editor/fluent.css +134 -521
  65. package/styles/rich-text-editor/highcontrast-light.css +135 -519
  66. package/styles/rich-text-editor/highcontrast.css +135 -517
  67. package/styles/rich-text-editor/material-dark.css +134 -518
  68. package/styles/rich-text-editor/material.css +135 -519
  69. package/styles/rich-text-editor/tailwind-dark.css +135 -524
  70. package/styles/rich-text-editor/tailwind.css +135 -524
  71. package/styles/tailwind-dark.css +135 -524
  72. package/styles/tailwind.css +135 -524
@@ -609,6 +609,11 @@ const showTableDialog = 'showTableDialog';
609
609
  * @deprecated
610
610
  */
611
611
  const closeTableDialog = 'closeTableDialog';
612
+ /**
613
+ * @hidden
614
+ * @deprecated
615
+ */
616
+ const bindCssClass = 'closeTableDialog';
612
617
 
613
618
  /**
614
619
  * Rich Text Editor classes defined here.
@@ -2797,7 +2802,8 @@ class ToolbarRenderer {
2797
2802
  created: this.toolbarCreated.bind(this),
2798
2803
  clicked: this.toolbarClicked.bind(this),
2799
2804
  enablePersistence: args.enablePersistence,
2800
- enableRtl: args.enableRtl
2805
+ enableRtl: args.enableRtl,
2806
+ cssClass: args.cssClass
2801
2807
  });
2802
2808
  args.rteToolbarObj.toolbarObj.isStringTemplate = true;
2803
2809
  args.rteToolbarObj.toolbarObj.createElement = this.parent.createElement;
@@ -3254,12 +3260,24 @@ class BaseToolbar {
3254
3260
  }
3255
3261
  addEventListener() {
3256
3262
  this.parent.on(rtlMode, this.setRtl, this);
3263
+ this.parent.on(bindCssClass, this.setCssClass, this);
3257
3264
  this.parent.on(destroy, this.removeEventListener, this);
3258
3265
  }
3259
3266
  removeEventListener() {
3260
3267
  this.parent.off(rtlMode, this.setRtl);
3268
+ this.parent.off(bindCssClass, this.setCssClass);
3261
3269
  this.parent.off(destroy, this.removeEventListener);
3262
3270
  }
3271
+ setCssClass(e) {
3272
+ if (!isNullOrUndefined(this.toolbarObj)) {
3273
+ if (isNullOrUndefined(e.oldCssClass)) {
3274
+ this.toolbarObj.setProperties({ cssClass: (this.toolbarObj.cssClass + ' ' + e.cssClass).trim() });
3275
+ }
3276
+ else {
3277
+ this.toolbarObj.setProperties({ cssClass: (this.toolbarObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
3278
+ }
3279
+ }
3280
+ }
3263
3281
  setRtl(args) {
3264
3282
  if (!isNullOrUndefined(this.toolbarObj)) {
3265
3283
  this.toolbarObj.setProperties({ enableRtl: args.enableRtl });
@@ -3383,7 +3401,8 @@ class BaseToolbar {
3383
3401
  items: this.getItems(args.items, args.container),
3384
3402
  overflowMode: args.mode,
3385
3403
  enablePersistence: this.parent.enablePersistence,
3386
- enableRtl: this.parent.enableRtl
3404
+ enableRtl: this.parent.enableRtl,
3405
+ cssClass: args.cssClass,
3387
3406
  };
3388
3407
  }
3389
3408
  /**
@@ -3580,6 +3599,9 @@ class DropDownButtons {
3580
3599
  }
3581
3600
  }
3582
3601
  });
3602
+ if (this.parent.inlineMode.enable) {
3603
+ this.setCssClass({ cssClass: this.parent.cssClass });
3604
+ }
3583
3605
  }
3584
3606
  getUpdateItems(items, value) {
3585
3607
  const dropDownItems = items.slice();
@@ -3863,6 +3885,26 @@ class DropDownButtons {
3863
3885
  this.bulletFormatListDropDown.setProperties({ enableRtl: args.enableRtl });
3864
3886
  }
3865
3887
  }
3888
+ updateCss(dropDownObj, e) {
3889
+ if (dropDownObj && e.cssClass) {
3890
+ if (isNullOrUndefined(e.oldCssClass)) {
3891
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass + ' ' + e.cssClass).trim() });
3892
+ }
3893
+ else {
3894
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
3895
+ }
3896
+ }
3897
+ }
3898
+ setCssClass(e) {
3899
+ const dropDownObj = [
3900
+ this.formatDropDown, this.fontNameDropDown, this.fontSizeDropDown, this.alignDropDown, this.imageAlignDropDown,
3901
+ this.displayDropDown, this.numberFormatListDropDown, this.bulletFormatListDropDown, this.tableRowsDropDown,
3902
+ this.tableColumnsDropDown, this.tableCellVerticalAlignDropDown
3903
+ ];
3904
+ for (let i = 0; i < dropDownObj.length; i++) {
3905
+ this.updateCss(dropDownObj[i], e);
3906
+ }
3907
+ }
3866
3908
  addEventListener() {
3867
3909
  if (this.parent.isDestroyed) {
3868
3910
  return;
@@ -3872,6 +3914,7 @@ class DropDownButtons {
3872
3914
  this.parent.on(rtlMode, this.setRtl, this);
3873
3915
  this.parent.on(destroy, this.removeEventListener, this);
3874
3916
  this.parent.on(modelChanged, this.onPropertyChanged, this);
3917
+ this.parent.on(bindCssClass, this.setCssClass, this);
3875
3918
  }
3876
3919
  onIframeMouseDown() {
3877
3920
  dispatchEvent(document, 'mousedown');
@@ -3885,6 +3928,7 @@ class DropDownButtons {
3885
3928
  this.parent.off(beforeDropDownItemRender, this.beforeRender);
3886
3929
  this.parent.off(destroy, this.removeEventListener);
3887
3930
  this.parent.off(modelChanged, this.onPropertyChanged);
3931
+ this.parent.off(bindCssClass, this.setCssClass);
3888
3932
  }
3889
3933
  }
3890
3934
 
@@ -4232,7 +4276,7 @@ class Toolbar$2 {
4232
4276
  if ((parent.bottom < (floatOffset + tbHeight + topValue)) || parent.bottom < 0 || parent.top > floatOffset + topValue) {
4233
4277
  isFloat = false;
4234
4278
  }
4235
- else if (parent.top < floatOffset) {
4279
+ else if (parent.top < floatOffset || parent.top < floatOffset + topValue) {
4236
4280
  isFloat = true;
4237
4281
  }
4238
4282
  }
@@ -4630,6 +4674,7 @@ class Toolbar$2 {
4630
4674
  this.parent.on(focusChange, this.focusChangeHandler, this);
4631
4675
  this.parent.on(mouseDown, this.mouseDownHandler, this);
4632
4676
  this.parent.on(sourceCodeMouseDown, this.mouseDownHandler, this);
4677
+ this.parent.on(bindCssClass, this.setCssClass, this);
4633
4678
  if (!this.parent.inlineMode.enable && !isIDevice()) {
4634
4679
  this.parent.on(toolbarClick, this.toolbarClickHandler, this);
4635
4680
  }
@@ -4653,10 +4698,21 @@ class Toolbar$2 {
4653
4698
  this.parent.off(focusChange, this.focusChangeHandler);
4654
4699
  this.parent.off(mouseDown, this.mouseDownHandler);
4655
4700
  this.parent.off(sourceCodeMouseDown, this.mouseDownHandler);
4701
+ this.parent.off(bindCssClass, this.setCssClass);
4656
4702
  if (!this.parent.inlineMode.enable && !isIDevice()) {
4657
4703
  this.parent.off(toolbarClick, this.toolbarClickHandler);
4658
4704
  }
4659
4705
  }
4706
+ setCssClass(e) {
4707
+ if (this.toolbarObj && e.cssClass) {
4708
+ if (isNullOrUndefined(e.oldCssClass)) {
4709
+ this.toolbarObj.setProperties({ cssClass: (this.toolbarObj.cssClass + ' ' + e.cssClass).trim() });
4710
+ }
4711
+ else {
4712
+ this.toolbarObj.setProperties({ cssClass: (this.toolbarObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
4713
+ }
4714
+ }
4715
+ }
4660
4716
  onRefresh() {
4661
4717
  this.refreshToolbarOverflow();
4662
4718
  this.parent.setContentHeight('', true);
@@ -4999,6 +5055,9 @@ class ColorPickerInput {
4999
5055
  }
5000
5056
  }
5001
5057
  });
5058
+ if (this.parent.inlineMode.enable) {
5059
+ this.setCssClass({ cssClass: this.parent.cssClass });
5060
+ }
5002
5061
  }
5003
5062
  destroy() {
5004
5063
  this.removeEventListener();
@@ -5044,12 +5103,29 @@ class ColorPickerInput {
5044
5103
  this.backgroundColorDropDown.setProperties({ enableRtl: args.enableRtl });
5045
5104
  }
5046
5105
  }
5106
+ setCssClass(e) {
5107
+ this.updateCss(this.fontColorPicker, this.fontColorDropDown, e);
5108
+ this.updateCss(this.backgroundColorPicker, this.backgroundColorDropDown, e);
5109
+ }
5110
+ updateCss(colorPickerObj, dropDownObj, e) {
5111
+ if (colorPickerObj && e.cssClass) {
5112
+ if (isNullOrUndefined(e.oldCssClass)) {
5113
+ colorPickerObj.setProperties({ cssClass: (colorPickerObj.cssClass + ' ' + e.cssClass).trim() });
5114
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass + ' ' + e.cssClass).trim() });
5115
+ }
5116
+ else {
5117
+ colorPickerObj.setProperties({ cssClass: (colorPickerObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
5118
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
5119
+ }
5120
+ }
5121
+ }
5047
5122
  addEventListener() {
5048
5123
  this.parent.on(toolbarRenderComplete, this.renderColorPickerInput, this);
5049
5124
  this.parent.on(rtlMode, this.setRtl, this);
5050
5125
  this.parent.on(destroy, this.destroy, this);
5051
5126
  this.parent.on(destroyColorPicker, this.destroyColorPicker, this);
5052
5127
  this.parent.on(modelChanged, this.onPropertyChanged, this);
5128
+ this.parent.on(bindCssClass, this.setCssClass, this);
5053
5129
  }
5054
5130
  onPropertyChanged(model) {
5055
5131
  const newProp = model.newProp;
@@ -5119,6 +5195,7 @@ class ColorPickerInput {
5119
5195
  this.parent.off(rtlMode, this.setRtl);
5120
5196
  this.parent.off(destroyColorPicker, this.destroyColorPicker);
5121
5197
  this.parent.off(modelChanged, this.onPropertyChanged);
5198
+ this.parent.off(bindCssClass, this.setCssClass);
5122
5199
  }
5123
5200
  }
5124
5201
 
@@ -5164,17 +5241,18 @@ class BaseQuickToolbar {
5164
5241
  this.element = this.parent.createElement('div', { id: popupId, className: className + ' ' + CLS_RTE_ELEMENTS });
5165
5242
  this.element.setAttribute('aria-owns', this.parent.getID());
5166
5243
  this.appendPopupContent();
5167
- this.createToolbar(args.toolbarItems, args.mode);
5244
+ this.createToolbar(args.toolbarItems, args.mode, args.cssClass);
5168
5245
  this.popupRenderer.renderPopup(this);
5169
5246
  this.addEventListener();
5170
5247
  }
5171
- createToolbar(items, mode) {
5248
+ createToolbar(items, mode, cssClass) {
5172
5249
  this.quickTBarObj = new BaseToolbar(this.parent, this.locator);
5173
5250
  this.quickTBarObj.render({
5174
5251
  container: 'quick',
5175
5252
  target: this.toolbarElement,
5176
5253
  items: items,
5177
- mode: mode
5254
+ mode: mode,
5255
+ cssClass: cssClass
5178
5256
  });
5179
5257
  this.quickTBarObj.toolbarObj.refresh();
5180
5258
  }
@@ -5365,6 +5443,10 @@ class BaseQuickToolbar {
5365
5443
  this.popupObj.element.classList.remove('e-popup-open');
5366
5444
  removeClass([this.element], [CLS_HIDE]);
5367
5445
  this.popupObj.show({ name: 'ZoomIn', duration: (Browser.isIE ? 250 : 400) });
5446
+ if (this.popupObj && this.parent.cssClass) {
5447
+ removeClass([this.popupObj.element], this.parent.cssClass);
5448
+ addClass([this.popupObj.element], this.parent.cssClass);
5449
+ }
5368
5450
  setStyleAttribute(this.element, {
5369
5451
  maxWidth: window.outerWidth + 'px'
5370
5452
  });
@@ -5623,7 +5705,8 @@ class QuickToolbar {
5623
5705
  popupType: popType,
5624
5706
  toolbarItems: items,
5625
5707
  mode: mode,
5626
- renderType: type
5708
+ renderType: type,
5709
+ cssClass: this.parent.cssClass
5627
5710
  };
5628
5711
  }
5629
5712
  /**
@@ -5932,6 +6015,7 @@ class QuickToolbar {
5932
6015
  this.parent.on(destroy, this.destroy, this);
5933
6016
  this.parent.on(keyDown, this.onKeyDown, this);
5934
6017
  this.parent.on(rtlMode, this.setRtl, this);
6018
+ this.parent.on(bindCssClass, this.setCssClass, this);
5935
6019
  }
5936
6020
  onKeyDown(e) {
5937
6021
  const args = e.args;
@@ -5945,6 +6029,24 @@ class QuickToolbar {
5945
6029
  this.hideQuickToolbars();
5946
6030
  this.hideInlineQTBar();
5947
6031
  }
6032
+ updateCss(baseQTObj, e) {
6033
+ if (baseQTObj && e.cssClass) {
6034
+ if (isNullOrUndefined(e.oldCssClass && baseQTObj.quickTBarObj.toolbarObj.cssClass !== e.cssClass)) {
6035
+ baseQTObj.quickTBarObj.toolbarObj.setProperties({ cssClass: (baseQTObj.quickTBarObj.toolbarObj.cssClass + ' ' + e.cssClass).trim() });
6036
+ }
6037
+ else {
6038
+ baseQTObj.quickTBarObj.toolbarObj.setProperties({ cssClass: (baseQTObj.quickTBarObj.toolbarObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
6039
+ }
6040
+ }
6041
+ }
6042
+ setCssClass(e) {
6043
+ const baseQuickToolbarObj = [
6044
+ this.inlineQTBar, this.imageQTBar, this.linkQTBar, this.textQTBar, this.tableQTBar
6045
+ ];
6046
+ for (let i = 0; i < baseQuickToolbarObj.length; i++) {
6047
+ this.updateCss(baseQuickToolbarObj[i], e);
6048
+ }
6049
+ }
5948
6050
  setRtl(args) {
5949
6051
  if (this.inlineQTBar) {
5950
6052
  this.inlineQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
@@ -5953,7 +6055,7 @@ class QuickToolbar {
5953
6055
  this.imageQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
5954
6056
  }
5955
6057
  if (this.linkQTBar) {
5956
- this.imageQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
6058
+ this.linkQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
5957
6059
  }
5958
6060
  }
5959
6061
  /**
@@ -5982,6 +6084,7 @@ class QuickToolbar {
5982
6084
  this.parent.off(iframeMouseDown, this.onIframeMouseDown);
5983
6085
  this.parent.off(keyDown, this.onKeyDown);
5984
6086
  this.parent.off(rtlMode, this.setRtl);
6087
+ this.parent.off(bindCssClass, this.setCssClass);
5985
6088
  }
5986
6089
  /**
5987
6090
  * Called internally if any of the property value changed.
@@ -10209,7 +10312,13 @@ class DOMNode {
10209
10312
  markerStart.appendChild(start);
10210
10313
  }
10211
10314
  else {
10212
- this.replaceWith(start, this.marker(markerClassName.startSelection, this.encode(start.textContent)));
10315
+ if (start.nodeType != 3 && start.nodeName != '#text') {
10316
+ const marker = this.marker(markerClassName.startSelection, '');
10317
+ append([this.parseHTMLFragment(marker)], start);
10318
+ }
10319
+ else {
10320
+ this.replaceWith(start, this.marker(markerClassName.startSelection, this.encode(start.textContent)));
10321
+ }
10213
10322
  }
10214
10323
  if (end.nodeType !== Node.TEXT_NODE && end.tagName === 'BR' &&
10215
10324
  IGNORE_BLOCK_TAGS.indexOf(end.parentNode.tagName.toLocaleLowerCase()) >= 0) {
@@ -11411,7 +11520,7 @@ class NodeCutter {
11411
11520
  else if (len > -1) {
11412
11521
  this.spliceEmptyNode(fragment.childNodes[0], isStart);
11413
11522
  }
11414
- else if (fragment.nodeType !== 3 && fragment.nodeType !== 11) {
11523
+ else if (fragment.nodeType !== 3 && fragment.nodeType !== 11 && fragment.nodeName !== 'IMG') {
11415
11524
  fragment.parentNode.removeChild(fragment);
11416
11525
  }
11417
11526
  return fragment;
@@ -12233,7 +12342,8 @@ class InsertHtml {
12233
12342
  tempSpan.parentNode.replaceChild(node, tempSpan);
12234
12343
  }
12235
12344
  else {
12236
- let currentNode = nodes[nodes.length - 1];
12345
+ const nodeSelection = new NodeSelection();
12346
+ let currentNode = this.getNodeCollection(range, nodeSelection, node)[this.getNodeCollection(range, nodeSelection, node).length - 1];
12237
12347
  let splitedElm;
12238
12348
  if ((currentNode.nodeName === 'BR' || currentNode.nodeName === 'HR') && !isNullOrUndefined(currentNode.parentElement) &&
12239
12349
  currentNode.parentElement.textContent.trim().length === 0) {
@@ -16833,7 +16943,8 @@ class ContentRender {
16833
16943
  * @returns {string} - specifies the string element.
16834
16944
  */
16835
16945
  getText() {
16836
- return this.getEditPanel().innerText;
16946
+ let textString = this.getEditPanel().innerText;
16947
+ return textString === '\n' ? '' : textString;
16837
16948
  }
16838
16949
  /**
16839
16950
  * Set the content div element of RichTextEditor
@@ -17927,6 +18038,7 @@ class PasteCleanup {
17927
18038
  return;
17928
18039
  }
17929
18040
  this.parent.on(pasteClean, this.pasteClean, this);
18041
+ this.parent.on(bindCssClass, this.setCssClass, this);
17930
18042
  this.parent.on(destroy, this.destroy, this);
17931
18043
  }
17932
18044
  destroy() {
@@ -17937,6 +18049,7 @@ class PasteCleanup {
17937
18049
  return;
17938
18050
  }
17939
18051
  this.parent.off(pasteClean, this.pasteClean);
18052
+ this.parent.off(bindCssClass, this.setCssClass);
17940
18053
  this.parent.off(destroy, this.destroy);
17941
18054
  }
17942
18055
  pasteClean(e) {
@@ -18114,7 +18227,7 @@ class PasteCleanup {
18114
18227
  id: this.parent.element.id + '_upload', attrs: { type: 'File', name: 'UploadFiles' }
18115
18228
  });
18116
18229
  const offsetY = this.parent.iframeSettings.enable ? -50 : -90;
18117
- const popupObj = new Popup(popupEle, {
18230
+ this.popupObj = new Popup(popupEle, {
18118
18231
  relateTo: imgElem,
18119
18232
  height: '85px',
18120
18233
  width: '300px',
@@ -18127,19 +18240,22 @@ class PasteCleanup {
18127
18240
  // eslint-disable-next-line
18128
18241
  close: (event) => {
18129
18242
  this.parent.isBlur = false;
18130
- popupObj.destroy();
18131
- detach(popupObj.element);
18243
+ this.popupObj.destroy();
18244
+ detach(this.popupObj.element);
18132
18245
  }
18133
18246
  });
18134
- popupObj.element.style.display = 'none';
18135
- addClass([popupObj.element], [CLS_POPUP_OPEN, CLS_RTE_UPLOAD_POPUP]);
18247
+ this.popupObj.element.style.display = 'none';
18248
+ addClass([this.popupObj.element], [CLS_POPUP_OPEN, CLS_RTE_UPLOAD_POPUP]);
18249
+ if (!isNullOrUndefined(this.parent.cssClass)) {
18250
+ addClass([this.popupObj.element], this.parent.cssClass);
18251
+ }
18136
18252
  const timeOut = fileList.size > 1000000 ? 300 : 100;
18137
18253
  setTimeout(() => {
18138
- this.refreshPopup(imgElem, popupObj);
18254
+ this.refreshPopup(imgElem, this.popupObj);
18139
18255
  }, timeOut);
18140
18256
  let rawFile;
18141
18257
  let beforeUploadArgs;
18142
- const uploadObj = new Uploader({
18258
+ this.uploadObj = new Uploader({
18143
18259
  asyncSettings: {
18144
18260
  saveUrl: this.parent.insertImageSettings.saveUrl,
18145
18261
  removeUrl: this.parent.insertImageSettings.removeUrl
@@ -18149,7 +18265,7 @@ class PasteCleanup {
18149
18265
  allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
18150
18266
  success: (e) => {
18151
18267
  setTimeout(() => {
18152
- this.popupClose(popupObj, uploadObj, imgElem, e);
18268
+ this.popupClose(this.popupObj, this.uploadObj, imgElem, e);
18153
18269
  }, 900);
18154
18270
  },
18155
18271
  uploading: (e) => {
@@ -18159,8 +18275,8 @@ class PasteCleanup {
18159
18275
  if (!isNullOrUndefined(imgElem)) {
18160
18276
  detach(imgElem);
18161
18277
  }
18162
- if (!isNullOrUndefined(popupObj.element)) {
18163
- detach(popupObj.element);
18278
+ if (!isNullOrUndefined(this.popupObj.element)) {
18279
+ detach(this.popupObj.element);
18164
18280
  }
18165
18281
  }
18166
18282
  else {
@@ -18180,11 +18296,11 @@ class PasteCleanup {
18180
18296
  }
18181
18297
  this.toolbarEnableDisable(true);
18182
18298
  /* eslint-disable */
18183
- uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
18184
- beforeUploadArgs.currentRequest : uploadObj.currentRequestHeader;
18185
- uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
18186
- beforeUploadArgs.customFormData : uploadObj.customFormDatas;
18187
- uploadObj.uploadFiles(rawFile, null);
18299
+ this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
18300
+ beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
18301
+ this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
18302
+ beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
18303
+ this.uploadObj.uploadFiles(rawFile, null);
18188
18304
  /* eslint-enable */
18189
18305
  });
18190
18306
  }
@@ -18196,7 +18312,7 @@ class PasteCleanup {
18196
18312
  // eslint-disable-next-line
18197
18313
  failure: (e) => {
18198
18314
  setTimeout(() => {
18199
- this.uploadFailure(imgElem, uploadObj, popupObj, e);
18315
+ this.uploadFailure(imgElem, this.uploadObj, this.popupObj, e);
18200
18316
  }, 900);
18201
18317
  },
18202
18318
  canceling: () => {
@@ -18205,7 +18321,7 @@ class PasteCleanup {
18205
18321
  detach(imgElem.nextSibling);
18206
18322
  }
18207
18323
  detach(imgElem);
18208
- popupObj.close();
18324
+ this.popupObj.close();
18209
18325
  },
18210
18326
  selected: (e) => {
18211
18327
  e.cancel = true;
@@ -18219,10 +18335,10 @@ class PasteCleanup {
18219
18335
  detach(imgElem.nextSibling);
18220
18336
  }
18221
18337
  detach(imgElem);
18222
- popupObj.close();
18338
+ this.popupObj.close();
18223
18339
  }
18224
18340
  });
18225
- uploadObj.appendTo(popupObj.element.childNodes[0]);
18341
+ this.uploadObj.appendTo(this.popupObj.element.childNodes[0]);
18226
18342
  /* eslint-disable */
18227
18343
  let fileData = [{
18228
18344
  name: fileList.name,
@@ -18232,13 +18348,13 @@ class PasteCleanup {
18232
18348
  validationMessages: { minSize: "", maxSize: "" },
18233
18349
  statusCode: '1'
18234
18350
  }];
18235
- uploadObj.createFileList(fileData);
18236
- uploadObj.filesData.push(fileData[0]);
18351
+ this.uploadObj.createFileList(fileData);
18352
+ this.uploadObj.filesData.push(fileData[0]);
18237
18353
  /* eslint-enable */
18238
18354
  rawFile = fileData;
18239
- uploadObj.upload(fileData);
18240
- popupObj.element.getElementsByClassName('e-file-select-wrap')[0].style.display = 'none';
18241
- detach(popupObj.element.querySelector('.e-rte-dialog-upload .e-file-select-wrap'));
18355
+ this.uploadObj.upload(fileData);
18356
+ this.popupObj.element.getElementsByClassName('e-file-select-wrap')[0].style.display = 'none';
18357
+ detach(this.popupObj.element.querySelector('.e-rte-dialog-upload .e-file-select-wrap'));
18242
18358
  }
18243
18359
  uploadFailure(imgElem, uploadObj, popupObj, e) {
18244
18360
  this.parent.inputElement.contentEditable = 'true';
@@ -18330,19 +18446,19 @@ class PasteCleanup {
18330
18446
  }
18331
18447
  }
18332
18448
  radioRender() {
18333
- const keepRadioButton = new RadioButton({ label: this.i10n.getConstant('keepFormat'),
18449
+ this.keepRadioButton = new RadioButton({ label: this.i10n.getConstant('keepFormat'),
18334
18450
  name: 'pasteOption', checked: true });
18335
- keepRadioButton.isStringTemplate = true;
18451
+ this.keepRadioButton.isStringTemplate = true;
18336
18452
  const keepFormatElement = this.parent.element.querySelector('#keepFormating');
18337
- keepRadioButton.appendTo(keepFormatElement);
18338
- const cleanRadioButton = new RadioButton({ label: this.i10n.getConstant('cleanFormat'), name: 'pasteOption' });
18339
- cleanRadioButton.isStringTemplate = true;
18453
+ this.keepRadioButton.appendTo(keepFormatElement);
18454
+ this.cleanRadioButton = new RadioButton({ label: this.i10n.getConstant('cleanFormat'), name: 'pasteOption' });
18455
+ this.cleanRadioButton.isStringTemplate = true;
18340
18456
  const cleanFormatElement = this.parent.element.querySelector('#cleanFormat');
18341
- cleanRadioButton.appendTo(cleanFormatElement);
18342
- const plainTextRadioButton = new RadioButton({ label: this.i10n.getConstant('plainText'), name: 'pasteOption' });
18343
- plainTextRadioButton.isStringTemplate = true;
18457
+ this.cleanRadioButton.appendTo(cleanFormatElement);
18458
+ this.plainTextRadioButton = new RadioButton({ label: this.i10n.getConstant('plainText'), name: 'pasteOption' });
18459
+ this.plainTextRadioButton.isStringTemplate = true;
18344
18460
  const plainTextElement = this.parent.element.querySelector('#plainTextFormat');
18345
- plainTextRadioButton.appendTo(plainTextElement);
18461
+ this.plainTextRadioButton.appendTo(plainTextElement);
18346
18462
  }
18347
18463
  selectFormatting(value, args, keepChecked, cleanChecked) {
18348
18464
  if (keepChecked) {
@@ -18362,15 +18478,15 @@ class PasteCleanup {
18362
18478
  buttons: [
18363
18479
  {
18364
18480
  click: () => {
18365
- if (!dialog.isDestroyed) {
18481
+ if (!this.dialogObj.isDestroyed) {
18366
18482
  const keepChecked = this.parent.element.querySelector('#keepFormating').checked;
18367
18483
  const cleanChecked = this.parent.element.querySelector('#cleanFormat').checked;
18368
- dialog.hide();
18484
+ this.dialogObj.hide();
18369
18485
  this.parent.height = isHeight ? preRTEHeight : this.parent.height;
18370
18486
  isHeight = false;
18371
- const argument = dialog;
18487
+ const argument = this.dialogObj;
18372
18488
  this.dialogRenderObj.close(argument);
18373
- dialog.destroy();
18489
+ this.dialogObj.destroy();
18374
18490
  this.selectFormatting(value, args, keepChecked, cleanChecked);
18375
18491
  }
18376
18492
  },
@@ -18382,13 +18498,13 @@ class PasteCleanup {
18382
18498
  },
18383
18499
  {
18384
18500
  click: () => {
18385
- if (!dialog.isDestroyed) {
18386
- dialog.hide();
18501
+ if (!this.dialogObj.isDestroyed) {
18502
+ this.dialogObj.hide();
18387
18503
  this.parent.height = isHeight ? preRTEHeight : this.parent.height;
18388
18504
  isHeight = false;
18389
- const args = dialog;
18505
+ const args = this.dialogObj;
18390
18506
  this.dialogRenderObj.close(args);
18391
- dialog.destroy();
18507
+ this.dialogObj.destroy();
18392
18508
  }
18393
18509
  },
18394
18510
  buttonModel: {
@@ -18411,7 +18527,7 @@ class PasteCleanup {
18411
18527
  isModal: true,
18412
18528
  visible: false
18413
18529
  };
18414
- const dialog = this.dialogRenderObj.render(dialogModel);
18530
+ this.dialogObj = this.dialogRenderObj.render(dialogModel);
18415
18531
  let rteDialogWrapper = this.parent.element.querySelector('#' + this.parent.getID()
18416
18532
  + '_pasteCleanupDialog');
18417
18533
  if (rteDialogWrapper !== null && rteDialogWrapper.innerHTML !== '') {
@@ -18423,15 +18539,42 @@ class PasteCleanup {
18423
18539
  });
18424
18540
  this.parent.element.appendChild(rteDialogWrapper);
18425
18541
  }
18426
- dialog.appendTo(rteDialogWrapper);
18542
+ this.dialogObj.appendTo(rteDialogWrapper);
18427
18543
  this.radioRender();
18428
18544
  /* eslint-disable */
18429
- if (this.parent.element.offsetHeight < parseInt(dialog.height.split('px')[0], null)) {
18430
- this.parent.height = parseInt(dialog.height.split('px')[0], null) + 40;
18545
+ if (this.parent.element.offsetHeight < parseInt(this.dialogObj.height.split('px')[0], null)) {
18546
+ this.parent.height = parseInt(this.dialogObj.height.split('px')[0], null) + 40;
18431
18547
  /* eslint-enable */
18432
18548
  isHeight = true;
18433
18549
  }
18434
- dialog.show();
18550
+ this.dialogObj.show();
18551
+ this.setCssClass({ cssClass: this.parent.cssClass });
18552
+ }
18553
+ updateCss(currentObj, e) {
18554
+ if (currentObj && e.cssClass) {
18555
+ if (isNullOrUndefined(e.oldCssClass)) {
18556
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
18557
+ }
18558
+ else {
18559
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
18560
+ }
18561
+ }
18562
+ }
18563
+ setCssClass(e) {
18564
+ if (this.popupObj && e.cssClass) {
18565
+ if (isNullOrUndefined(e.oldCssClass)) {
18566
+ addClass([this.popupObj.element], e.cssClass);
18567
+ }
18568
+ else {
18569
+ removeClass([this.popupObj.element], e.oldCssClass);
18570
+ addClass([this.popupObj.element], e.cssClass);
18571
+ }
18572
+ }
18573
+ this.updateCss(this.dialogObj, e);
18574
+ this.updateCss(this.uploadObj, e);
18575
+ this.updateCss(this.plainTextRadioButton, e);
18576
+ this.updateCss(this.cleanRadioButton, e);
18577
+ this.updateCss(this.keepRadioButton, e);
18435
18578
  }
18436
18579
  destroyDialog(rteDialogWrapper) {
18437
18580
  const rteDialogContainer = this.parent.element.querySelector('.e-dlg-container');
@@ -18973,6 +19116,17 @@ class FileManager$1 {
18973
19116
  this.dialogObj.createElement = this.parent.createElement;
18974
19117
  this.dialogObj.appendTo(dlgTarget);
18975
19118
  this.dialogObj.show(Browser.isDevice ? true : false);
19119
+ this.setCssClass({ cssClass: this.parent.cssClass });
19120
+ }
19121
+ setCssClass(e) {
19122
+ if (this.dialogObj && e.cssClass) {
19123
+ if (isNullOrUndefined(e.oldCssClass)) {
19124
+ this.dialogObj.setProperties({ cssClass: (this.dialogObj.cssClass + ' ' + e.cssClass).trim() });
19125
+ }
19126
+ else {
19127
+ this.dialogObj.setProperties({ cssClass: (this.dialogObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
19128
+ }
19129
+ }
18976
19130
  }
18977
19131
  renderFileManager() {
18978
19132
  // eslint-disable-next-line
@@ -19096,12 +19250,14 @@ class FileManager$1 {
19096
19250
  addEventListener() {
19097
19251
  this.parent.on(initialEnd, this.initialize, this);
19098
19252
  this.parent.on(renderFileManager, this.render, this);
19253
+ this.parent.on(bindCssClass, this.setCssClass, this);
19099
19254
  this.parent.on(destroy, this.destroy, this);
19100
19255
  }
19101
19256
  removeEventListener() {
19102
19257
  EventHandler.remove(this.parent.element.ownerDocument, 'mousedown', this.onDocumentClick);
19103
19258
  this.parent.off(initialEnd, this.initialize);
19104
19259
  this.parent.off(renderFileManager, this.render);
19260
+ this.parent.off(bindCssClass, this.setCssClass);
19105
19261
  this.parent.off(destroy, this.destroy);
19106
19262
  }
19107
19263
  destroyComponents() {
@@ -19474,6 +19630,7 @@ class Link {
19474
19630
  this.parent.on(editLink, this.editLink, this);
19475
19631
  this.parent.on(openLink, this.openLink, this);
19476
19632
  this.parent.on(editAreaClick, this.editAreaClickHandler, this);
19633
+ this.parent.on(bindCssClass, this.setCssClass, this);
19477
19634
  this.parent.on(destroy, this.destroy, this);
19478
19635
  }
19479
19636
  onToolbarAction(args) {
@@ -19506,6 +19663,7 @@ class Link {
19506
19663
  this.parent.off(editLink, this.editLink);
19507
19664
  this.parent.off(openLink, this.openLink);
19508
19665
  this.parent.off(editAreaClick, this.editAreaClickHandler);
19666
+ this.parent.off(bindCssClass, this.setCssClass);
19509
19667
  this.parent.off(destroy, this.destroy);
19510
19668
  }
19511
19669
  onIframeMouseDown() {
@@ -19513,6 +19671,20 @@ class Link {
19513
19671
  this.dialogObj.hide({ returnValue: true });
19514
19672
  }
19515
19673
  }
19674
+ updateCss(currentObj, e) {
19675
+ if (currentObj && e.cssClass) {
19676
+ if (isNullOrUndefined(e.oldCssClass)) {
19677
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
19678
+ }
19679
+ else {
19680
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
19681
+ }
19682
+ }
19683
+ }
19684
+ setCssClass(e) {
19685
+ this.updateCss(this.checkBoxObj, e);
19686
+ this.updateCss(this.dialogObj, e);
19687
+ }
19516
19688
  showLinkQuickToolbar(e) {
19517
19689
  if (!isNullOrUndefined(e.args) && e.args.action !== 'enter' &&
19518
19690
  e.args.action !== 'space') {
@@ -19641,6 +19813,7 @@ class Link {
19641
19813
  }
19642
19814
  showDialog() {
19643
19815
  this.openDialog(false);
19816
+ this.setCssClass({ cssClass: this.parent.cssClass });
19644
19817
  }
19645
19818
  closeDialog() {
19646
19819
  if (this.dialogObj) {
@@ -19695,7 +19868,7 @@ class Link {
19695
19868
  const linkText = linkContent.querySelector('.e-rte-linkText');
19696
19869
  const linkTitle = linkContent.querySelector('.e-rte-linkTitle');
19697
19870
  const linkOpenLabel = this.i10n.getConstant('linkOpenInNewWindow');
19698
- this.checkBoxObj = new CheckBox({ label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl });
19871
+ this.checkBoxObj = new CheckBox({ label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass });
19699
19872
  this.checkBoxObj.isStringTemplate = true;
19700
19873
  this.checkBoxObj.createElement = this.parent.createElement;
19701
19874
  this.checkBoxObj.appendTo(linkTarget);
@@ -19708,7 +19881,7 @@ class Link {
19708
19881
  const dialogModel = {
19709
19882
  header: this.i10n.getConstant('linkHeader'),
19710
19883
  content: linkContent,
19711
- cssClass: CLS_RTE_ELEMENTS,
19884
+ cssClass: CLS_RTE_ELEMENTS + ' ' + this.parent.cssClass,
19712
19885
  enableRtl: this.parent.enableRtl,
19713
19886
  locale: this.parent.locale,
19714
19887
  showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '310px', height: 'inherit',
@@ -19990,6 +20163,7 @@ class Image {
19990
20163
  this.parent.on(initialEnd, this.afterRender, this);
19991
20164
  this.parent.on(dynamicModule, this.afterRender, this);
19992
20165
  this.parent.on(paste, this.imagePaste, this);
20166
+ this.parent.on(bindCssClass, this.setCssClass, this);
19993
20167
  this.parent.on(destroy, this.removeEventListener, this);
19994
20168
  }
19995
20169
  removeEventListener() {
@@ -20016,6 +20190,7 @@ class Image {
20016
20190
  this.parent.off(initialEnd, this.afterRender);
20017
20191
  this.parent.off(dynamicModule, this.afterRender);
20018
20192
  this.parent.off(paste, this.imagePaste);
20193
+ this.parent.off(bindCssClass, this.setCssClass);
20019
20194
  this.parent.off(destroy, this.removeEventListener);
20020
20195
  const dropElement = this.parent.iframeSettings.enable ? this.parent.inputElement.ownerDocument
20021
20196
  : this.parent.inputElement;
@@ -20033,6 +20208,32 @@ class Image {
20033
20208
  }
20034
20209
  }
20035
20210
  }
20211
+ updateCss(currentObj, e) {
20212
+ if (currentObj && e.cssClass) {
20213
+ if (isNullOrUndefined(e.oldCssClass)) {
20214
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
20215
+ }
20216
+ else {
20217
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
20218
+ }
20219
+ }
20220
+ }
20221
+ setCssClass(e) {
20222
+ if (this.popupObj && e.cssClass) {
20223
+ if (isNullOrUndefined(e.oldCssClass)) {
20224
+ addClass([this.popupObj.element], e.cssClass);
20225
+ }
20226
+ else {
20227
+ removeClass([this.popupObj.element], e.oldCssClass);
20228
+ addClass([this.popupObj.element], e.cssClass);
20229
+ }
20230
+ }
20231
+ this.updateCss(this.checkBoxObj, e);
20232
+ this.updateCss(this.widthNum, e);
20233
+ this.updateCss(this.heightNum, e);
20234
+ this.updateCss(this.uploadObj, e);
20235
+ this.updateCss(this.dialogObj, e);
20236
+ }
20036
20237
  onIframeMouseDown() {
20037
20238
  if (this.dialogObj) {
20038
20239
  this.dialogObj.hide({ returnValue: true });
@@ -20634,6 +20835,7 @@ class Image {
20634
20835
  }
20635
20836
  showDialog() {
20636
20837
  this.openDialog(false);
20838
+ this.setCssClass({ cssClass: this.parent.cssClass });
20637
20839
  }
20638
20840
  closeDialog() {
20639
20841
  if (this.dialogObj) {
@@ -20851,7 +21053,8 @@ class Image {
20851
21053
  const inputLink = linkWrap.querySelector('.e-img-link');
20852
21054
  const linkOpenLabel = this.i10n.getConstant('linkOpenInNewWindow');
20853
21055
  this.checkBoxObj = new CheckBox({
20854
- label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl, change: (e) => {
21056
+ label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass,
21057
+ change: (e) => {
20855
21058
  if (e.checked) {
20856
21059
  target = '_blank';
20857
21060
  }
@@ -20886,6 +21089,9 @@ class Image {
20886
21089
  }
20887
21090
  }]
20888
21091
  });
21092
+ if (!isNullOrUndefined(this.parent.cssClass)) {
21093
+ this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
21094
+ }
20889
21095
  if (!isNullOrUndefined(inputDetails)) {
20890
21096
  inputLink.value = inputDetails.url;
20891
21097
  // eslint-disable-next-line
@@ -20930,6 +21136,9 @@ class Image {
20930
21136
  }
20931
21137
  }]
20932
21138
  });
21139
+ if (!isNullOrUndefined(this.parent.cssClass)) {
21140
+ this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
21141
+ }
20933
21142
  this.dialogObj.element.style.maxHeight = 'inherit';
20934
21143
  this.dialogObj.content.querySelector('input').focus();
20935
21144
  }
@@ -21149,6 +21358,9 @@ class Image {
21149
21358
  }
21150
21359
  }]
21151
21360
  });
21361
+ if (!isNullOrUndefined(this.parent.cssClass)) {
21362
+ this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
21363
+ }
21152
21364
  this.dialogObj.element.style.maxHeight = 'inherit';
21153
21365
  this.dialogObj.content.querySelector('input').focus();
21154
21366
  }
@@ -21423,24 +21635,26 @@ class Image {
21423
21635
  + ' /></div>';
21424
21636
  const contentElem = parseHtml(content);
21425
21637
  imgSizeWrap.appendChild(contentElem);
21426
- const widthNum = new TextBox({
21638
+ this.widthNum = new TextBox({
21427
21639
  value: formatUnit(widthVal),
21428
21640
  enableRtl: this.parent.enableRtl,
21641
+ cssClass: this.parent.cssClass,
21429
21642
  input: (e) => {
21430
21643
  this.inputWidthValue = formatUnit(this.inputValue(e.value));
21431
21644
  }
21432
21645
  });
21433
- widthNum.createElement = this.parent.createElement;
21434
- widthNum.appendTo(imgSizeWrap.querySelector('#imgwidth'));
21435
- const heightNum = new TextBox({
21646
+ this.widthNum.createElement = this.parent.createElement;
21647
+ this.widthNum.appendTo(imgSizeWrap.querySelector('#imgwidth'));
21648
+ this.heightNum = new TextBox({
21436
21649
  value: formatUnit(heightVal),
21437
21650
  enableRtl: this.parent.enableRtl,
21651
+ cssClass: this.parent.cssClass,
21438
21652
  input: (e) => {
21439
21653
  this.inputHeightValue = formatUnit(this.inputValue(e.value));
21440
21654
  }
21441
21655
  });
21442
- heightNum.createElement = this.parent.createElement;
21443
- heightNum.appendTo(imgSizeWrap.querySelector('#imgheight'));
21656
+ this.heightNum.createElement = this.parent.createElement;
21657
+ this.heightNum.appendTo(imgSizeWrap.querySelector('#imgheight'));
21444
21658
  return imgSizeWrap;
21445
21659
  }
21446
21660
  inputValue(value) {
@@ -21519,10 +21733,10 @@ class Image {
21519
21733
  span.appendChild(btnEle);
21520
21734
  uploadParentEle.appendChild(span);
21521
21735
  const browserMsg = this.i10n.getConstant('browse');
21522
- const button = new Button({ content: browserMsg, enableRtl: this.parent.enableRtl });
21523
- button.isStringTemplate = true;
21524
- button.createElement = this.parent.createElement;
21525
- button.appendTo(btnEle);
21736
+ this.browseButton = new Button({ content: browserMsg, enableRtl: this.parent.enableRtl });
21737
+ this.browseButton.isStringTemplate = true;
21738
+ this.browseButton.createElement = this.parent.createElement;
21739
+ this.browseButton.appendTo(btnEle);
21526
21740
  const btnClick = (Browser.isDevice) ? span : btnEle;
21527
21741
  EventHandler.add(btnClick, 'click', this.fileSelect, this);
21528
21742
  const uploadEle = this.parent.createElement('input', {
@@ -21536,7 +21750,7 @@ class Image {
21536
21750
  let beforeUploadArgs;
21537
21751
  this.uploadObj = new Uploader({
21538
21752
  asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, removeUrl: this.parent.insertImageSettings.removeUrl },
21539
- dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
21753
+ dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass,
21540
21754
  allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
21541
21755
  selected: (e) => {
21542
21756
  proxy.isImgUploaded = true;
@@ -21912,6 +22126,9 @@ class Image {
21912
22126
  this.popupObj.element.style.display = 'none';
21913
22127
  addClass([this.popupObj.element], CLS_POPUP_OPEN);
21914
22128
  addClass([this.popupObj.element], CLS_RTE_UPLOAD_POPUP);
22129
+ if (!isNullOrUndefined(this.parent.cssClass)) {
22130
+ addClass([this.popupObj.element], this.parent.cssClass);
22131
+ }
21915
22132
  const range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
21916
22133
  const timeOut = dragEvent.dataTransfer.files[0].size > 1000000 ? 300 : 100;
21917
22134
  setTimeout(() => {
@@ -21924,7 +22141,7 @@ class Image {
21924
22141
  saveUrl: this.parent.insertImageSettings.saveUrl,
21925
22142
  removeUrl: this.parent.insertImageSettings.removeUrl
21926
22143
  },
21927
- cssClass: CLS_RTE_DIALOG_UPLOAD,
22144
+ cssClass: CLS_RTE_DIALOG_UPLOAD + ' ' + this.parent.cssClass,
21928
22145
  dropArea: this.parent.element,
21929
22146
  allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
21930
22147
  removing: () => {
@@ -22459,6 +22676,7 @@ class Table {
22459
22676
  this.parent.on(dropDownSelect, this.dropdownSelect, this);
22460
22677
  this.parent.on(keyDown, this.keyDown, this);
22461
22678
  this.parent.on(mouseUp, this.selectionTable, this);
22679
+ this.parent.on(bindCssClass, this.setCssClass, this);
22462
22680
  this.parent.on(destroy, this.destroy, this);
22463
22681
  }
22464
22682
  removeEventListener() {
@@ -22479,8 +22697,38 @@ class Table {
22479
22697
  this.parent.off(tableColorPickerChanged, this.setBGColor);
22480
22698
  this.parent.off(keyDown, this.keyDown);
22481
22699
  this.parent.off(mouseUp, this.selectionTable);
22700
+ this.parent.off(bindCssClass, this.setCssClass);
22482
22701
  this.parent.off(destroy, this.destroy);
22483
22702
  }
22703
+ updateCss(currentObj, e) {
22704
+ if (currentObj && e.cssClass) {
22705
+ if (isNullOrUndefined(e.oldCssClass)) {
22706
+ currentObj.setProperties({ cssClass: (currentObj.cssClass + ' ' + e.cssClass).trim() });
22707
+ }
22708
+ else {
22709
+ currentObj.setProperties({ cssClass: (currentObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
22710
+ }
22711
+ }
22712
+ }
22713
+ setCssClass(e) {
22714
+ if (this.popupObj && e.cssClass) {
22715
+ if (isNullOrUndefined(e.oldCssClass)) {
22716
+ addClass([this.popupObj.element], e.cssClass);
22717
+ }
22718
+ else {
22719
+ removeClass([this.popupObj.element], e.oldCssClass);
22720
+ addClass([this.popupObj.element], e.cssClass);
22721
+ }
22722
+ }
22723
+ this.updateCss(this.createTableButton, e);
22724
+ this.updateCss(this.editdlgObj, e);
22725
+ const numericTextBoxObj = [
22726
+ this.columnTextBox, this.rowTextBox, this.tableWidthNum, this.tableCellPadding, this.tableCellSpacing
22727
+ ];
22728
+ for (let i = 0; i < numericTextBoxObj.length; i++) {
22729
+ this.updateCss(numericTextBoxObj[i], e);
22730
+ }
22731
+ }
22484
22732
  selectionTable(e) {
22485
22733
  const target = e.args.target;
22486
22734
  if (Browser.info.name === 'mozilla' && !isNullOrUndefined(closest(target, 'table')) && closest(target, 'table').tagName === 'TABLE') {
@@ -22613,6 +22861,7 @@ class Table {
22613
22861
  }
22614
22862
  showDialog() {
22615
22863
  this.openDialog(false);
22864
+ this.setCssClass({ cssClass: this.parent.cssClass });
22616
22865
  }
22617
22866
  closeDialog() {
22618
22867
  if (this.editdlgObj) {
@@ -23184,7 +23433,8 @@ class Table {
23184
23433
  const tableWidth = parseInt(getComputedStyle(this.curTable).width, 10);
23185
23434
  const tableHeight = parseInt(getComputedStyle(this.curTable).height, 10);
23186
23435
  const paddingSize = +getComputedStyle(this.contentModule.getEditPanel()).paddingRight.match(/\d/g).join('');
23187
- const rteWidth = this.contentModule.getEditPanel().offsetWidth - paddingSize * 2;
23436
+ const rteWidth = this.contentModule.getEditPanel().offsetWidth - (this.contentModule.getEditPanel().offsetWidth -
23437
+ this.contentModule.getEditPanel().clientWidth) - paddingSize * 2;
23188
23438
  if (this.resizeBtnStat.column) {
23189
23439
  const cellColl = this.curTable.rows[this.calMaxCol(this.curTable)].cells;
23190
23440
  const width = parseFloat(this.columnEle.offsetWidth.toString());
@@ -23330,12 +23580,12 @@ class Table {
23330
23580
  this.parent.getToolbarElement().querySelector('.e-expended-nav').setAttribute('tabindex', '1');
23331
23581
  }
23332
23582
  this.dlgDiv.appendChild(btnEle);
23333
- const button = new Button({
23334
- iconCss: 'e-icons e-create-table', content: insertbtn, cssClass: 'e-flat',
23583
+ this.createTableButton = new Button({
23584
+ iconCss: 'e-icons e-create-table', content: insertbtn, cssClass: 'e-flat' + ' ' + this.parent.cssClass,
23335
23585
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
23336
23586
  });
23337
- button.isStringTemplate = true;
23338
- button.appendTo(btnEle);
23587
+ this.createTableButton.isStringTemplate = true;
23588
+ this.createTableButton.appendTo(btnEle);
23339
23589
  EventHandler.add(btnEle, 'click', this.insertTableDialog, { self: this, args: args.args, selection: args.selection });
23340
23590
  this.parent.getToolbar().appendChild(this.dlgDiv);
23341
23591
  let target = args.args.originalEvent.target;
@@ -23358,6 +23608,9 @@ class Table {
23358
23608
  }
23359
23609
  });
23360
23610
  addClass([this.popupObj.element], 'e-popup-open');
23611
+ if (!isNullOrUndefined(this.parent.cssClass)) {
23612
+ addClass([this.popupObj.element], this.parent.cssClass);
23613
+ }
23361
23614
  this.popupObj.refreshPosition(target);
23362
23615
  }
23363
23616
  docClick(e) {
@@ -23429,7 +23682,8 @@ class Table {
23429
23682
  this.cancelDialog(e);
23430
23683
  },
23431
23684
  buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
23432
- }]
23685
+ }],
23686
+ cssClass: this.parent.cssClass
23433
23687
  });
23434
23688
  this.editdlgObj.element.style.maxHeight = 'none';
23435
23689
  this.editdlgObj.content.querySelector('input').focus();
@@ -23460,6 +23714,9 @@ class Table {
23460
23714
  buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
23461
23715
  }]
23462
23716
  });
23717
+ if (!isNullOrUndefined(proxy.parent.cssClass)) {
23718
+ proxy.editdlgObj.setProperties({ cssClass: proxy.parent.cssClass });
23719
+ }
23463
23720
  proxy.editdlgObj.element.style.maxHeight = 'none';
23464
23721
  proxy.editdlgObj.content.querySelector('input').focus();
23465
23722
  }
@@ -23479,7 +23736,8 @@ class Table {
23479
23736
  placeholder: tableColumn,
23480
23737
  floatLabelType: 'Auto',
23481
23738
  max: 50,
23482
- enableRtl: this.parent.enableRtl, locale: this.parent.locale
23739
+ enableRtl: this.parent.enableRtl, locale: this.parent.locale,
23740
+ cssClass: this.parent.cssClass
23483
23741
  });
23484
23742
  this.columnTextBox.isStringTemplate = true;
23485
23743
  this.columnTextBox.appendTo(tableWrap.querySelector('#tableColumn'));
@@ -23490,7 +23748,8 @@ class Table {
23490
23748
  placeholder: tableRow,
23491
23749
  floatLabelType: 'Auto',
23492
23750
  max: 50,
23493
- enableRtl: this.parent.enableRtl, locale: this.parent.locale
23751
+ enableRtl: this.parent.enableRtl, locale: this.parent.locale,
23752
+ cssClass: this.parent.cssClass
23494
23753
  });
23495
23754
  this.rowTextBox.isStringTemplate = true;
23496
23755
  this.rowTextBox.appendTo(tableWrap.querySelector('#tableRow'));
@@ -23518,7 +23777,7 @@ class Table {
23518
23777
  const header = this.l10n.getConstant('tabledialogHeader');
23519
23778
  const dialogModel = {
23520
23779
  header: header,
23521
- cssClass: CLS_RTE_ELEMENTS,
23780
+ cssClass: CLS_RTE_ELEMENTS + ' ' + this.parent.cssClass,
23522
23781
  enableRtl: this.parent.enableRtl,
23523
23782
  locale: this.parent.locale,
23524
23783
  showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px', height: 'initial',
@@ -23608,7 +23867,7 @@ class Table {
23608
23867
  + ' </div><div class="e-rte-field"><input type="text" data-role ="none" id="cellSpacing" class="e-cell-spacing" /></div>';
23609
23868
  const contentElem = parseHtml(content);
23610
23869
  tableWrap.appendChild(contentElem);
23611
- const widthNum = new NumericTextBox({
23870
+ this.tableWidthNum = new NumericTextBox({
23612
23871
  format: 'n0',
23613
23872
  min: 0,
23614
23873
  value: widthVal,
@@ -23616,9 +23875,9 @@ class Table {
23616
23875
  floatLabelType: 'Auto',
23617
23876
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
23618
23877
  });
23619
- widthNum.isStringTemplate = true;
23620
- widthNum.appendTo(tableWrap.querySelector('#tableWidth'));
23621
- const padding = new NumericTextBox({
23878
+ this.tableWidthNum.isStringTemplate = true;
23879
+ this.tableWidthNum.appendTo(tableWrap.querySelector('#tableWidth'));
23880
+ this.tableCellPadding = new NumericTextBox({
23622
23881
  format: 'n0',
23623
23882
  min: 0,
23624
23883
  // eslint-disable-next-line
@@ -23627,9 +23886,9 @@ class Table {
23627
23886
  floatLabelType: 'Auto',
23628
23887
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
23629
23888
  });
23630
- padding.isStringTemplate = true;
23631
- padding.appendTo(tableWrap.querySelector('#cellPadding'));
23632
- const spacing = new NumericTextBox({
23889
+ this.tableCellPadding.isStringTemplate = true;
23890
+ this.tableCellPadding.appendTo(tableWrap.querySelector('#cellPadding'));
23891
+ this.tableCellSpacing = new NumericTextBox({
23633
23892
  format: 'n0',
23634
23893
  min: 0,
23635
23894
  // eslint-disable-next-line
@@ -23638,8 +23897,8 @@ class Table {
23638
23897
  floatLabelType: 'Auto',
23639
23898
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
23640
23899
  });
23641
- spacing.isStringTemplate = true;
23642
- spacing.appendTo(tableWrap.querySelector('#cellSpacing'));
23900
+ this.tableCellSpacing.isStringTemplate = true;
23901
+ this.tableCellSpacing.appendTo(tableWrap.querySelector('#cellSpacing'));
23643
23902
  return tableWrap;
23644
23903
  }
23645
23904
  /**
@@ -24532,8 +24791,9 @@ class EnterKeyAction {
24532
24791
  }
24533
24792
  removeBRElement(currentElement) {
24534
24793
  if (Browser.userAgent.indexOf('Firefox') != -1 &&
24535
- this.range.endOffset === currentElement.textContent.length &&
24536
- currentElement.lastChild.nodeName === 'BR') {
24794
+ this.range.endOffset === currentElement.textContent.length && (currentElement.textContent.length !== 0 ||
24795
+ currentElement.querySelectorAll('BR').length > 1) &&
24796
+ !isNullOrUndefined(currentElement.lastChild) && currentElement.lastChild.nodeName === 'BR') {
24537
24797
  detach(currentElement.lastChild);
24538
24798
  }
24539
24799
  }
@@ -24980,6 +25240,7 @@ let RichTextEditor = class RichTextEditor extends Component {
24980
25240
  }
24981
25241
  // eslint-disable-next-line
24982
25242
  (!this.enabled) ? this.unWireEvents() : this.eventInitializer();
25243
+ this.notify(bindCssClass, { cssClass: this.cssClass });
24983
25244
  this.renderComplete();
24984
25245
  }
24985
25246
  /**
@@ -25560,6 +25821,7 @@ let RichTextEditor = class RichTextEditor extends Component {
25560
25821
  case 'cssClass':
25561
25822
  this.element.classList.remove(oldProp[prop]);
25562
25823
  this.setCssClass(newProp[prop]);
25824
+ this.notify(bindCssClass, { cssClass: newProp[prop], oldCssClass: oldProp[prop] });
25563
25825
  break;
25564
25826
  case 'enabled':
25565
25827
  this.setEnable();
@@ -26936,5 +27198,5 @@ RichTextEditor = __decorate$1([
26936
27198
  * Rich Text Editor component exported items
26937
27199
  */
26938
27200
 
26939
- 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 };
27201
+ 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, 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 };
26940
27202
  //# sourceMappingURL=ej2-richtexteditor.es2015.js.map