@syncfusion/ej2-richtexteditor 20.1.60 → 20.2.38

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 (93) hide show
  1. package/CHANGELOG.md +30 -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 +439 -181
  5. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es5.js +431 -172
  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/helpers/e2e/index.js +8 -6
  12. package/helpers/e2e/rte-helper.js +80 -64
  13. package/package.json +12 -12
  14. package/src/common/util.js +7 -8
  15. package/src/editor-manager/plugin/inserthtml.d.ts +1 -0
  16. package/src/editor-manager/plugin/inserthtml.js +25 -3
  17. package/src/editor-manager/plugin/lists.js +14 -4
  18. package/src/editor-manager/plugin/ms-word-clean-up.js +1 -1
  19. package/src/markdown-parser/base/constant.d.ts +6 -0
  20. package/src/markdown-parser/base/constant.js +6 -0
  21. package/src/markdown-parser/base/markdown-parser.d.ts +2 -0
  22. package/src/markdown-parser/base/markdown-parser.js +6 -0
  23. package/src/markdown-parser/base/types.d.ts +1 -1
  24. package/src/markdown-parser/plugin/insert-text.d.ts +22 -0
  25. package/src/markdown-parser/plugin/insert-text.js +51 -0
  26. package/src/rich-text-editor/actions/color-picker.js +20 -4
  27. package/src/rich-text-editor/actions/full-screen.js +4 -2
  28. package/src/rich-text-editor/actions/resize.js +4 -3
  29. package/src/rich-text-editor/actions/toolbar.js +4 -2
  30. package/src/rich-text-editor/base/classes.d.ts +5 -0
  31. package/src/rich-text-editor/base/classes.js +5 -0
  32. package/src/rich-text-editor/base/constant.d.ts +40 -0
  33. package/src/rich-text-editor/base/constant.js +41 -1
  34. package/src/rich-text-editor/base/interface.d.ts +2 -0
  35. package/src/rich-text-editor/base/rich-text-editor.d.ts +1 -0
  36. package/src/rich-text-editor/base/rich-text-editor.js +32 -25
  37. package/src/rich-text-editor/base/util.js +3 -3
  38. package/src/rich-text-editor/formatter/formatter.js +1 -1
  39. package/src/rich-text-editor/renderer/iframe-content-renderer.js +1 -1
  40. package/src/rich-text-editor/renderer/image-module.js +44 -40
  41. package/src/rich-text-editor/renderer/link-module.js +16 -14
  42. package/src/rich-text-editor/renderer/markdown-renderer.js +2 -1
  43. package/src/rich-text-editor/renderer/table-module.d.ts +3 -0
  44. package/src/rich-text-editor/renderer/table-module.js +133 -56
  45. package/src/rich-text-editor/renderer/toolbar-renderer.js +11 -1
  46. package/src/rich-text-editor/renderer/view-source.js +1 -1
  47. package/styles/bootstrap-dark.css +49 -0
  48. package/styles/bootstrap.css +49 -0
  49. package/styles/bootstrap4.css +49 -0
  50. package/styles/bootstrap5-dark.css +49 -0
  51. package/styles/bootstrap5.css +49 -0
  52. package/styles/fabric-dark.css +49 -0
  53. package/styles/fabric.css +49 -0
  54. package/styles/fluent-dark.css +50 -0
  55. package/styles/fluent.css +50 -0
  56. package/styles/highcontrast-light.css +49 -0
  57. package/styles/highcontrast.css +49 -0
  58. package/styles/material-dark.css +49 -0
  59. package/styles/material.css +49 -0
  60. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +17 -16
  61. package/styles/rich-text-editor/_bootstrap-definition.scss +17 -16
  62. package/styles/rich-text-editor/_bootstrap4-definition.scss +17 -16
  63. package/styles/rich-text-editor/_bootstrap5-definition.scss +17 -16
  64. package/styles/rich-text-editor/_fabric-dark-definition.scss +17 -16
  65. package/styles/rich-text-editor/_fabric-definition.scss +17 -16
  66. package/styles/rich-text-editor/_fluent-definition.scss +18 -16
  67. package/styles/rich-text-editor/_fusionnew-definition.scss +190 -0
  68. package/styles/rich-text-editor/_highcontrast-definition.scss +17 -16
  69. package/styles/rich-text-editor/_highcontrast-light-definition.scss +17 -16
  70. package/styles/rich-text-editor/_layout.scss +59 -0
  71. package/styles/rich-text-editor/_material-dark-definition.scss +17 -16
  72. package/styles/rich-text-editor/_material-definition.scss +17 -16
  73. package/styles/rich-text-editor/_material3-definition.scss +190 -0
  74. package/styles/rich-text-editor/_tailwind-definition.scss +17 -16
  75. package/styles/rich-text-editor/bootstrap-dark.css +49 -0
  76. package/styles/rich-text-editor/bootstrap.css +49 -0
  77. package/styles/rich-text-editor/bootstrap4.css +49 -0
  78. package/styles/rich-text-editor/bootstrap5-dark.css +49 -0
  79. package/styles/rich-text-editor/bootstrap5.css +49 -0
  80. package/styles/rich-text-editor/fabric-dark.css +49 -0
  81. package/styles/rich-text-editor/fabric.css +49 -0
  82. package/styles/rich-text-editor/fluent-dark.css +50 -0
  83. package/styles/rich-text-editor/fluent.css +50 -0
  84. package/styles/rich-text-editor/highcontrast-light.css +49 -0
  85. package/styles/rich-text-editor/highcontrast.css +49 -0
  86. package/styles/rich-text-editor/icons/_fusionnew.scss +303 -0
  87. package/styles/rich-text-editor/icons/_material3.scss +303 -0
  88. package/styles/rich-text-editor/material-dark.css +49 -0
  89. package/styles/rich-text-editor/material.css +49 -0
  90. package/styles/rich-text-editor/tailwind-dark.css +49 -0
  91. package/styles/rich-text-editor/tailwind.css +49 -0
  92. package/styles/tailwind-dark.css +49 -0
  93. package/styles/tailwind.css +49 -0
@@ -524,11 +524,41 @@ var imageUploadFailed = 'imageUploadFailed';
524
524
  * @deprecated
525
525
  */
526
526
  var imageRemoving = 'imageRemoving';
527
+ /**
528
+ * @hidden
529
+ * @deprecated
530
+ */
531
+ var mediaSelected = 'mediaSelected';
532
+ /**
533
+ * @hidden
534
+ * @deprecated
535
+ */
536
+ var mediaUploading = 'mediaUploading';
537
+ /**
538
+ * @hidden
539
+ * @deprecated
540
+ */
541
+ var mediaUploadSuccess = 'mediaUploadSuccess';
542
+ /**
543
+ * @hidden
544
+ * @deprecated
545
+ */
546
+ var mediaUploadFailed = 'mediaUploadFailed';
547
+ /**
548
+ * @hidden
549
+ * @deprecated
550
+ */
551
+ var mediaRemoving = 'mediaRemoving';
527
552
  /**
528
553
  * @hidden
529
554
  * @deprecated
530
555
  */
531
556
  var afterImageDelete = 'afterImageDelete';
557
+ /**
558
+ * @hidden
559
+ * @deprecated
560
+ */
561
+ var afterMediaDelete = 'afterMediaaDelete';
532
562
  /**
533
563
  * @hidden
534
564
  * @deprecated
@@ -544,6 +574,11 @@ var xhtmlValidation = 'xhtmlValidation';
544
574
  * @deprecated
545
575
  */
546
576
  var beforeImageUpload = 'beforeImageUpload';
577
+ /**
578
+ * @hidden
579
+ * @deprecated
580
+ */
581
+ var beforeMediaUpload = 'beforeMediaUpload';
547
582
  /**
548
583
  * @hidden
549
584
  * @deprecated
@@ -599,6 +634,11 @@ var showImageDialog = 'showImageDialog';
599
634
  * @deprecated
600
635
  */
601
636
  var closeImageDialog = 'closeImageDialog';
637
+ /**
638
+ * @hidden
639
+ * @deprecated
640
+ */
641
+ var closeAudioDialog = 'closeAudioDialog';
602
642
  /**
603
643
  * @hidden
604
644
  * @deprecated
@@ -618,7 +658,7 @@ var bindCssClass = 'closeTableDialog';
618
658
  * @hidden
619
659
  * @deprecated
620
660
  */
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";
661
+ var blockInlineEmptyNodes = "address:empty, article:empty, aside:empty, blockquote:empty,\n details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,\n h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, hr:empty, li:empty, main:empty, nav:empty,\n noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty,\n a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,\n canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,\n ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,\n q: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,\n template:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty";
622
662
 
623
663
  /**
624
664
  * Rich Text Editor classes defined here.
@@ -1163,6 +1203,11 @@ var CLS_RTE_FIXED_TB_EXPAND = 'e-rte-fixed-tb-expand';
1163
1203
  * @deprecated
1164
1204
  */
1165
1205
  var CLS_RTE_TB_ENABLED = 'e-rte-toolbar-enabled';
1206
+ /**
1207
+ * @hidden
1208
+ * @deprecated
1209
+ */
1210
+ var CLS_RTE_RES_WEST = 'e-south-west';
1166
1211
 
1167
1212
  /**
1168
1213
  * Defines types of Render
@@ -2308,7 +2353,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2308
2353
  result = getDropDownValue(formatItems$$1, value, 'subCommand', 'text');
2309
2354
  dropDown.formatDropDown.content = ('<span style="display: inline-flex;' +
2310
2355
  'width:' + e.parent.format.width + '" >' +
2311
- '<span class="e-rte-dropdown-btn-text">'
2356
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2312
2357
  + (isNullOrUndefined(result) ? formatContent : result) +
2313
2358
  '</span></span>');
2314
2359
  dropDown.formatDropDown.dataBind();
@@ -2338,7 +2383,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2338
2383
  e.tbElements[j].title = name_1;
2339
2384
  dropDown.fontNameDropDown.content = ('<span style="display: inline-flex;' +
2340
2385
  'width:' + e.parent.fontFamily.width + '" >' +
2341
- '<span class="e-rte-dropdown-btn-text">'
2386
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2342
2387
  + name_1 + '</span></span>');
2343
2388
  dropDown.fontNameDropDown.dataBind();
2344
2389
  break;
@@ -2354,7 +2399,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2354
2399
  result = getDropDownValue(fontSizeItems, (value === '' ? fontSizeContent.replace(/\s/g, '') : value), 'value', 'text');
2355
2400
  dropDown.fontSizeDropDown.content = ('<span style="display: inline-flex;' +
2356
2401
  'width:' + e.parent.fontSize.width + '" >' +
2357
- '<span class="e-rte-dropdown-btn-text">'
2402
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2358
2403
  + getFormattedFontSize(result) + '</span></span>');
2359
2404
  dropDown.fontSizeDropDown.dataBind();
2360
2405
  break;
@@ -2994,6 +3039,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
2994
3039
  var proxy = this;
2995
3040
  var css = CLS_RTE_ELEMENTS + ' ' + CLS_TB_BTN + ((this.parent.inlineMode) ? (' ' + CLS_INLINE_DROPDOWN) : '');
2996
3041
  css += (' ' + ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_DROPDOWN : CLS_FONT_COLOR_DROPDOWN));
3042
+ css += ' ' + this.parent.cssClass;
2997
3043
  var content = proxy.parent.createElement('span', { className: CLS_COLOR_CONTENT });
2998
3044
  var inlineEle = proxy.parent.createElement('span', { className: args.cssClass });
2999
3045
  var range;
@@ -3164,6 +3210,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3164
3210
  * @deprecated
3165
3211
  */
3166
3212
  ToolbarRenderer.prototype.renderColorPicker = function (args, item) {
3213
+ var _this = this;
3167
3214
  // eslint-disable-next-line
3168
3215
  var proxy = this;
3169
3216
  var value;
@@ -3181,6 +3228,14 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3181
3228
  beforeTileRender: function (args) {
3182
3229
  args.element.classList.add(CLS_COLOR_PALETTE);
3183
3230
  args.element.classList.add(CLS_CUSTOM_TILE);
3231
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
3232
+ var allClassName = _this.parent.cssClass.split(' ');
3233
+ for (var i = 0; i < allClassName.length; i++) {
3234
+ if (allClassName[i].trim() !== '') {
3235
+ args.element.classList.add(allClassName[i]);
3236
+ }
3237
+ }
3238
+ }
3184
3239
  if (args.value === '') {
3185
3240
  args.element.classList.add(CLS_NOCOLOR_ITEM);
3186
3241
  }
@@ -3216,7 +3271,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3216
3271
  colorPicker.columns = (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns;
3217
3272
  colorPicker.presetColors = (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode :
3218
3273
  this.parent.fontColor.colorCode;
3219
- colorPicker.cssClass = (item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER;
3274
+ colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
3220
3275
  colorPicker.createElement = this.parent.createElement;
3221
3276
  colorPicker.appendTo(document.getElementById(args.target));
3222
3277
  return colorPicker;
@@ -4216,7 +4271,8 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4216
4271
  container: ((this.parent.inlineMode.enable) ? 'quick' : 'toolbar'),
4217
4272
  items: this.parent.toolbarSettings.items,
4218
4273
  mode: tBarMode,
4219
- target: ele
4274
+ target: ele,
4275
+ cssClass: this.parent.cssClass
4220
4276
  });
4221
4277
  if (this.parent.toolbarSettings.type === ToolbarType.Expand) {
4222
4278
  addClass([ele], ['e-rte-tb-mobile']);
@@ -4333,7 +4389,8 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4333
4389
  container: 'toolbar',
4334
4390
  items: this.parent.toolbarSettings.items,
4335
4391
  mode: this.getToolbarMode(),
4336
- target: this.tbElement
4392
+ target: this.tbElement,
4393
+ cssClass: this.parent.cssClass
4337
4394
  });
4338
4395
  if (!this.parent.inlineMode.enable) {
4339
4396
  if (this.parent.toolbarSettings.enableFloating) {
@@ -5073,10 +5130,18 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5073
5130
  var fontNode = _this.parent.createElement('input');
5074
5131
  fontNode.id = targetID;
5075
5132
  fontNode.classList.add(CLS_FONT_COLOR_TARGET);
5133
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
5134
+ var allClassName = _this.parent.cssClass.split(' ');
5135
+ for (var i = 0; i < allClassName.length; i++) {
5136
+ if (allClassName[i].trim() !== '') {
5137
+ fontNode.classList.add(allClassName[i]);
5138
+ }
5139
+ }
5140
+ }
5076
5141
  document.body.appendChild(fontNode);
5077
5142
  options = {
5078
5143
  cssClass: _this.tools[item.toLocaleLowerCase()].icon
5079
- + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS,
5144
+ + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS + ' ' + _this.parent.cssClass,
5080
5145
  value: _this.tools[item.toLocaleLowerCase()].value,
5081
5146
  command: _this.tools[item.toLocaleLowerCase()].command,
5082
5147
  subCommand: _this.tools[item.toLocaleLowerCase()].subCommand,
@@ -5092,10 +5157,18 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5092
5157
  var backNode = _this.parent.createElement('input');
5093
5158
  backNode.id = targetID;
5094
5159
  backNode.classList.add(CLS_BACKGROUND_COLOR_TARGET);
5160
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
5161
+ var allClassName = _this.parent.cssClass.split(' ');
5162
+ for (var i = 0; i < allClassName.length; i++) {
5163
+ if (allClassName[i].trim() !== '') {
5164
+ backNode.classList.add(allClassName[i]);
5165
+ }
5166
+ }
5167
+ }
5095
5168
  document.body.appendChild(backNode);
5096
5169
  options = {
5097
5170
  cssClass: _this.tools[item.toLocaleLowerCase()].icon
5098
- + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS,
5171
+ + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS + ' ' + _this.parent.cssClass,
5099
5172
  value: _this.tools[item.toLocaleLowerCase()].value,
5100
5173
  command: _this.tools[item.toLocaleLowerCase()].command,
5101
5174
  subCommand: _this.tools[item.toLocaleLowerCase()].subCommand,
@@ -5168,8 +5241,8 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5168
5241
  dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass + ' ' + e.cssClass).trim() });
5169
5242
  }
5170
5243
  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() });
5244
+ colorPickerObj.setProperties({ cssClass: (colorPickerObj.cssClass.replace(e.oldCssClass, '').replace(' ', ' ').trim() + ' ' + e.cssClass).trim() });
5245
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass.replace(e.oldCssClass, '').replace(' ', ' ').trim() + ' ' + e.cssClass).trim() });
5173
5246
  }
5174
5247
  }
5175
5248
  };
@@ -6637,18 +6710,18 @@ function updateTextNode$1(value) {
6637
6710
  tdElm[j].style.removeProperty('border');
6638
6711
  }
6639
6712
  }
6640
- if (!tableElm[i].classList.contains(CLS_TABLE)) {
6641
- tableElm[i].classList.add(CLS_TABLE);
6713
+ if (!tableElm[i].classList.contains('e-rte-table')) {
6714
+ tableElm[i].classList.add('e-rte-table');
6642
6715
  }
6643
6716
  }
6644
6717
  var imageElm = resultElm.querySelectorAll('img');
6645
6718
  for (var i = 0; i < imageElm.length; i++) {
6646
- if (!imageElm[i].classList.contains(CLS_RTE_IMAGE)) {
6647
- imageElm[i].classList.add(CLS_RTE_IMAGE);
6719
+ if (!imageElm[i].classList.contains('e-rte-image')) {
6720
+ imageElm[i].classList.add('e-rte-image');
6648
6721
  }
6649
- if (!(imageElm[i].classList.contains(CLS_IMGINLINE) ||
6650
- imageElm[i].classList.contains(CLS_IMGBREAK))) {
6651
- imageElm[i].classList.add(CLS_IMGINLINE);
6722
+ if (!(imageElm[i].classList.contains('e-imginline') ||
6723
+ imageElm[i].classList.contains('e-imgbreak'))) {
6724
+ imageElm[i].classList.add('e-imginline');
6652
6725
  }
6653
6726
  }
6654
6727
  }
@@ -7110,7 +7183,7 @@ var Formatter = /** @__PURE__ @class */ (function () {
7110
7183
  }
7111
7184
  self.trigger(actionComplete, events, function (callbackArgs) {
7112
7185
  self.setPlaceHolder();
7113
- if (callbackArgs.requestType === 'Images' || callbackArgs.requestType === 'Links' && self.editorMode === 'HTML') {
7186
+ if ((callbackArgs.requestType === 'Images' || callbackArgs.requestType === 'Links') && self.editorMode === 'HTML') {
7114
7187
  var args = callbackArgs;
7115
7188
  if (callbackArgs.requestType === 'Links' && callbackArgs.event &&
7116
7189
  callbackArgs.event.type === 'keydown' &&
@@ -7214,6 +7287,12 @@ var CLEAR_COMMAND = 'clear-commands';
7214
7287
  * @hidden
7215
7288
  */
7216
7289
  var MD_TABLE = 'insert-table';
7290
+ /**
7291
+ * insertText plugin events
7292
+ *
7293
+ * @hidden
7294
+ */
7295
+ var INSERT_TEXT_COMMAND = 'insert-text';
7217
7296
 
7218
7297
  /**
7219
7298
  * Lists internal component
@@ -8950,6 +9029,56 @@ var ClearFormat = /** @__PURE__ @class */ (function () {
8950
9029
  return ClearFormat;
8951
9030
  }());
8952
9031
 
9032
+ /**
9033
+ * Link internal component
9034
+ *
9035
+ * @hidden
9036
+ * @deprecated
9037
+ */
9038
+ var MDInsertText = /** @__PURE__ @class */ (function () {
9039
+ /**
9040
+ * Constructor for creating the insert text plugin
9041
+ *
9042
+ * @param {MarkdownParser} parent - specifies the parent element
9043
+ * @hidden
9044
+ * @deprecated
9045
+ */
9046
+ function MDInsertText(parent) {
9047
+ this.parent = parent;
9048
+ this.selection = this.parent.markdownSelection;
9049
+ this.addEventListener();
9050
+ }
9051
+ MDInsertText.prototype.addEventListener = function () {
9052
+ this.parent.observer.on(INSERT_TEXT_COMMAND, this.InsertTextExec, this);
9053
+ };
9054
+ MDInsertText.prototype.InsertTextExec = function (e) {
9055
+ var textArea = this.parent.element;
9056
+ textArea.focus();
9057
+ var start = textArea.selectionStart;
9058
+ var end = textArea.selectionEnd;
9059
+ var text = e.value.text;
9060
+ var startOffset = start + text.length;
9061
+ var endOffset = end + text.length;
9062
+ textArea.value = textArea.value.substr(0, start)
9063
+ + text + textArea.value.substr(end, textArea.value.length);
9064
+ this.parent.markdownSelection.setSelection(textArea, startOffset, endOffset);
9065
+ this.restore(textArea, startOffset, endOffset, e);
9066
+ };
9067
+ MDInsertText.prototype.restore = function (textArea, start, end, event) {
9068
+ this.selection.save(start, end);
9069
+ this.selection.restore(textArea);
9070
+ if (event && event.callBack) {
9071
+ event.callBack({
9072
+ requestType: event.subCommand,
9073
+ selectedText: this.selection.getSelectedText(textArea),
9074
+ editorMode: 'Markdown',
9075
+ event: event.event
9076
+ });
9077
+ }
9078
+ };
9079
+ return MDInsertText;
9080
+ }());
9081
+
8953
9082
  /**
8954
9083
  * MarkdownParser internal component
8955
9084
  *
@@ -8976,6 +9105,7 @@ var MarkdownParser = /** @__PURE__ @class */ (function () {
8976
9105
  this.linkObj = new MDLink(this);
8977
9106
  this.tableObj = new MDTable({ parent: this, syntaxTag: ({ Formats: this.formatTags, List: this.listTags }) });
8978
9107
  this.clearObj = new ClearFormat(this);
9108
+ this.insertTextObj = new MDInsertText(this);
8979
9109
  this.wireEvents();
8980
9110
  }
8981
9111
  MarkdownParser.prototype.initialize = function () {
@@ -9042,6 +9172,10 @@ var MarkdownParser = /** @__PURE__ @class */ (function () {
9042
9172
  case 'clear':
9043
9173
  this.observer.notify(CLEAR_COMMAND, { subCommand: value, event: event, callBack: callBack });
9044
9174
  break;
9175
+ case 'inserttext':
9176
+ this.observer.notify(INSERT_TEXT_COMMAND, { subCommand: value, event: event, callBack: callBack,
9177
+ value: { text: exeValue } });
9178
+ break;
9045
9179
  }
9046
9180
  };
9047
9181
  return MarkdownParser;
@@ -9134,7 +9268,8 @@ var MarkdownRender = /** @__PURE__ @class */ (function () {
9134
9268
  var div = this.parent.createElement('div', { id: this.parent.getID() + '_view', className: 'e-rte-content' });
9135
9269
  this.editableElement = this.parent.createElement('textarea', {
9136
9270
  className: 'e-content',
9137
- id: this.parent.getID() + '_editable-content'
9271
+ id: this.parent.getID() + '_editable-content',
9272
+ attrs: { 'aria-labelledby': this.parent.getID() + '_view' }
9138
9273
  });
9139
9274
  div.appendChild(this.editableElement);
9140
9275
  this.setPanel(div);
@@ -10851,6 +10986,8 @@ var Lists = /** @__PURE__ @class */ (function () {
10851
10986
  var endNode = this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
10852
10987
  startNode = startNode.nodeName === 'BR' ? startNode.parentElement : startNode;
10853
10988
  endNode = endNode.nodeName === 'BR' ? endNode.parentElement : endNode;
10989
+ startNode = startNode.nodeName !== 'LI' && !isNullOrUndefined(startNode.closest('LI')) ? startNode.closest('LI') : startNode;
10990
+ endNode = endNode.nodeName !== 'LI' && !isNullOrUndefined(endNode.closest('LI')) ? endNode.closest('LI') : endNode;
10854
10991
  if (((range.commonAncestorContainer.nodeName === 'OL' || range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'LI') &&
10855
10992
  isNullOrUndefined(endNode.nextElementSibling) && endNode.textContent.length === range.endOffset &&
10856
10993
  isNullOrUndefined(startNode.previousElementSibling) && range.startOffset === 0) ||
@@ -11224,7 +11361,7 @@ var Lists = /** @__PURE__ @class */ (function () {
11224
11361
  }
11225
11362
  };
11226
11363
  Lists.prototype.applyLists = function (elements, type, selector, item, e) {
11227
- if (this.isRevert(elements, type) && isNullOrUndefined(item)) {
11364
+ if (this.isRevert(elements, type, item) && isNullOrUndefined(item)) {
11228
11365
  this.revertList(elements, e);
11229
11366
  this.removeEmptyListElements();
11230
11367
  }
@@ -11287,13 +11424,14 @@ var Lists = /** @__PURE__ @class */ (function () {
11287
11424
  }
11288
11425
  }
11289
11426
  };
11290
- Lists.prototype.isRevert = function (nodes, tagName) {
11427
+ Lists.prototype.isRevert = function (nodes, tagName, item) {
11291
11428
  var isRevert = true;
11292
11429
  for (var i = 0; i < nodes.length; i++) {
11293
11430
  if (nodes[i].tagName !== 'LI') {
11294
11431
  return false;
11295
11432
  }
11296
- if (nodes[i].parentNode.tagName !== tagName) {
11433
+ if (nodes[i].parentNode.tagName !== tagName ||
11434
+ isNullOrUndefined(item) && nodes[i].parentNode.style.listStyleType !== '') {
11297
11435
  isRevert = false;
11298
11436
  }
11299
11437
  }
@@ -11316,6 +11454,12 @@ var Lists = /** @__PURE__ @class */ (function () {
11316
11454
  (nodes[i].tagName === 'LI' && node.tagName === tagName && nodesTemp.indexOf(node) < 0 && item !== null)) {
11317
11455
  nodesTemp.push(node);
11318
11456
  }
11457
+ if (isNullOrUndefined(item) && (node.tagName === tagName ||
11458
+ ((node.tagName === 'UL' || node.tagName === 'OL') && node.hasAttribute('style')))) {
11459
+ if (node.hasAttribute('style')) {
11460
+ node.removeAttribute('style');
11461
+ }
11462
+ }
11319
11463
  }
11320
11464
  for (var j = nodesTemp.length - 1; j >= 0; j--) {
11321
11465
  var h = nodesTemp[j];
@@ -11417,7 +11561,8 @@ var Lists = /** @__PURE__ @class */ (function () {
11417
11561
  }
11418
11562
  }
11419
11563
  }
11420
- if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName) {
11564
+ if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName || 'OL' === parentNode.parentNode.tagName ||
11565
+ 'UL' === parentNode.parentNode.tagName) {
11421
11566
  element.parentNode.insertBefore(this.closeTag('LI'), element);
11422
11567
  }
11423
11568
  else {
@@ -12383,7 +12528,9 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12383
12528
  var isPreviousInlineElem = void 0;
12384
12529
  var paraElm = void 0;
12385
12530
  var previousParent = void 0;
12386
- range.deleteContents();
12531
+ if (!this.contentsDeleted) {
12532
+ range.deleteContents();
12533
+ }
12387
12534
  while (node.firstChild) {
12388
12535
  if (node.firstChild.nodeName === '#text' && node.firstChild.textContent.trim() === '') {
12389
12536
  detach(node.firstChild);
@@ -12511,9 +12658,28 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12511
12658
  var nodeSelection = new NodeSelection();
12512
12659
  var currentNode = this.getNodeCollection(range, nodeSelection, node)[this.getNodeCollection(range, nodeSelection, node).length - 1];
12513
12660
  var splitedElm = void 0;
12514
- if ((currentNode.nodeName === 'BR' || currentNode.nodeName === 'HR') && !isNullOrUndefined(currentNode.parentElement) &&
12515
- currentNode.parentElement.textContent.trim().length === 0) {
12661
+ if ((currentNode.nodeName === 'BR' || currentNode.nodeName === 'HR' ||
12662
+ (currentNode.nodeName === '#text' && !isNullOrUndefined(currentNode.parentElement) && currentNode.parentElement.nodeName === 'LI')) &&
12663
+ (!isNullOrUndefined(currentNode.parentElement) && currentNode.parentElement.textContent.trim().length === 0)) {
12516
12664
  splitedElm = currentNode;
12665
+ if (currentNode.parentElement.nodeName === 'LI' && !isNullOrUndefined(currentNode.nextSibling) &&
12666
+ currentNode.nextSibling.nodeName === 'BR') {
12667
+ detach(currentNode.nextSibling);
12668
+ }
12669
+ }
12670
+ else if (currentNode.nodeName === '#text' && !isNullOrUndefined(currentNode.parentElement) &&
12671
+ currentNode.parentElement.nodeName === 'LI' && currentNode.parentElement.textContent.trim().length > 0) {
12672
+ splitedElm = currentNode;
12673
+ if (currentNode.parentElement.nodeName === 'LI' && !isNullOrUndefined(currentNode.nextSibling) &&
12674
+ currentNode.nextSibling.nodeName === 'BR') {
12675
+ detach(currentNode.nextSibling);
12676
+ }
12677
+ if (!range.collapsed) {
12678
+ range.deleteContents();
12679
+ }
12680
+ range.insertNode(node);
12681
+ this.contentsDeleted = true;
12682
+ return;
12517
12683
  }
12518
12684
  else {
12519
12685
  splitedElm = nodeCutter.GetSpliceNode(range, blockNode);
@@ -12600,6 +12766,7 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12600
12766
  'ins', 'kbd', 'label', 'map', 'mark', 'meter', 'noscript', 'object', 'output', 'picture', 'progress',
12601
12767
  'q', 'ruby', 's', 'samp', 'script', 'select', 'slot', 'small', 'span', 'strong', 'sub', 'sup', 'svg',
12602
12768
  'template', 'textarea', 'time', 'u', 'tt', 'var', 'video', 'wbr'];
12769
+ InsertHtml.contentsDeleted = false;
12603
12770
  return InsertHtml;
12604
12771
  }());
12605
12772
 
@@ -15864,7 +16031,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
15864
16031
  this.checkVShape(elm);
15865
16032
  var imgElem = elm.querySelectorAll('img');
15866
16033
  for (var i = 0; i < imgElem.length; i++) {
15867
- if (!isNullOrUndefined(imgElem[i].getAttribute('v:shapes')) && imgElem[i].getAttribute('v:shapes').indexOf('Picture') < 0) {
16034
+ if (!isNullOrUndefined(imgElem[i].getAttribute('v:shapes')) && imgElem[i].getAttribute('v:shapes').indexOf('Picture') < 0 && imgElem[i].getAttribute('v:shapes').indexOf('Image') < 0) {
15868
16035
  detach(imgElem[i]);
15869
16036
  }
15870
16037
  }
@@ -17204,7 +17371,7 @@ var __extends$3 = (undefined && undefined.__extends) || (function () {
17204
17371
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17205
17372
  };
17206
17373
  })();
17207
- var IFRAMEHEADER = "\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline {display: inline-block;float: none;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize { z-index: 1000; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n li{margin-bottom: 10px;}\n h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}\n h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}\n h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}\n h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}\n h5{font-size: 00.8em;font-weight: 400;margin: 0;}\n h6{font-size: 00.65em;font-weight: 400;margin: 0;}\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n </style>\n </head>";
17374
+ var IFRAMEHEADER = "\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline {display: inline-block;float: none;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize { z-index: 1000; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n li{margin-bottom: 10px;}\n h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}\n h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}\n h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}\n h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}\n h5{font-size: 00.8em;font-weight: 400;margin: 0;}\n h6{font-size: 00.65em;font-weight: 400;margin: 0;}\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n </style>\n </head>";
17208
17375
  /**
17209
17376
  * Content module is used to render Rich Text Editor content
17210
17377
  *
@@ -19106,9 +19273,10 @@ var Resize = /** @__PURE__ @class */ (function () {
19106
19273
  this.parent.on(destroy, this.destroy, this);
19107
19274
  };
19108
19275
  Resize.prototype.renderResizable = function () {
19276
+ var enableRtlClass = (this.parent.enableRtl) ? CLS_RTE_RES_WEST : CLS_RTE_RES_EAST;
19109
19277
  this.resizer = this.parent.createElement('div', {
19110
19278
  id: this.parent.getID() + '-resizable', className: 'e-icons'
19111
- + ' ' + CLS_RTE_RES_HANDLE + ' ' + CLS_RTE_RES_EAST
19279
+ + ' ' + CLS_RTE_RES_HANDLE + ' ' + enableRtlClass
19112
19280
  });
19113
19281
  this.parent.element.classList.add(CLS_RTE_RES_CNT);
19114
19282
  this.parent.element.appendChild(this.resizer);
@@ -19141,12 +19309,12 @@ var Resize = /** @__PURE__ @class */ (function () {
19141
19309
  var boundRect = this.parent.element.getBoundingClientRect();
19142
19310
  if (this.isMouseEvent(e)) {
19143
19311
  this.parent.element.style.height = e.clientY - boundRect.top + 'px';
19144
- this.parent.element.style.width = e.clientX - boundRect.left + 'px';
19312
+ this.parent.element.style.width = (!this.parent.enableRtl) ? e.clientX - boundRect.left + 'px' : boundRect.right - e.clientX + 'px';
19145
19313
  }
19146
19314
  else {
19147
19315
  var eventType = Browser.info.name !== 'msie' ? e.touches[0] : e;
19148
19316
  this.parent.element.style.height = eventType.clientY - boundRect.top + 'px';
19149
- this.parent.element.style.width = eventType.clientX - boundRect.left + 'px';
19317
+ this.parent.element.style.width = (!this.parent.enableRtl) ? e.clientX - boundRect.left + 'px' : boundRect.right - e.clientX + 'px';
19150
19318
  }
19151
19319
  if (!this.parent.toolbarSettings.enable) {
19152
19320
  this.parent.setContentHeight('', false);
@@ -19499,7 +19667,8 @@ var FullScreen = /** @__PURE__ @class */ (function () {
19499
19667
  }
19500
19668
  _this.parent.element.classList.add(CLS_FULL_SCREEN);
19501
19669
  _this.toggleParentOverflow(true);
19502
- _this.parent.setContentHeight();
19670
+ var isExpand = _this.parent.element.querySelectorAll('.e-toolbar-extended.e-popup-open').length > 0 ? true : false;
19671
+ _this.parent.setContentHeight(null, isExpand);
19503
19672
  if (_this.parent.toolbarModule) {
19504
19673
  if (!_this.parent.getBaseToolbarObject().toolbarObj.items[0].properties) {
19505
19674
  _this.parent.getBaseToolbarObject().toolbarObj.removeItems(0);
@@ -19546,7 +19715,8 @@ var FullScreen = /** @__PURE__ @class */ (function () {
19546
19715
  for (var i = 0; i < elem.length; i++) {
19547
19716
  removeClass([elem[i]], ['e-rte-overflow']);
19548
19717
  }
19549
- _this.parent.setContentHeight();
19718
+ var isExpand = _this.parent.element.querySelectorAll('.e-toolbar-extended.e-popup-open').length > 0 ? true : false;
19719
+ _this.parent.setContentHeight(null, isExpand);
19550
19720
  if (_this.parent.toolbarModule) {
19551
19721
  if (!_this.parent.getBaseToolbarObject().toolbarObj.items[0].properties) {
19552
19722
  _this.parent.getBaseToolbarObject().toolbarObj.removeItems(0);
@@ -20023,22 +20193,22 @@ var Link = /** @__PURE__ @class */ (function () {
20023
20193
  var textPlace = this.i10n.getConstant('textPlaceholder');
20024
20194
  var title = this.i10n.getConstant('linkTitle');
20025
20195
  var linkDialogEle = this.parent.createElement('div', {
20026
- className: 'e-rte-link-dialog', id: this.rteID + '_rtelink'
20196
+ className: 'e-rte-link-dialog' + ' ' + this.parent.cssClass, id: this.rteID + '_rtelink'
20027
20197
  });
20028
20198
  this.parent.element.appendChild(linkDialogEle);
20029
20199
  var linkContent = this.parent.createElement('div', {
20030
- className: 'e-rte-linkcontent', id: this.rteID + '_linkContent'
20200
+ className: 'e-rte-linkcontent' + ' ' + this.parent.cssClass, id: this.rteID + '_linkContent'
20031
20201
  });
20032
20202
  var htmlTextbox = (this.parent.editorMode === 'HTML') ? '<label>' + linkTooltip +
20033
- '</label></div><div class="e-rte-field">' +
20034
- '<input type="text" data-role ="none" spellcheck="false" placeholder = "' + title + '" class="e-input e-rte-linkTitle"></div>' +
20035
- '<div class="e-rte-label"></div>' + '<div class="e-rte-field">' +
20036
- '<input type="checkbox" class="e-rte-linkTarget" data-role ="none"></div>' : '';
20037
- var content = '<div class="e-rte-label"><label>' + linkWebAddress + '</label></div>' + '<div class="e-rte-field">' +
20038
- '<input type="text" data-role ="none" spellcheck="false" placeholder="' + urlPlace + '" class="e-input e-rte-linkurl"/></div>' +
20039
- '<div class="e-rte-label">' + '<label>' + linkDisplayText + '</label></div><div class="e-rte-field"> ' +
20040
- '<input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText" placeholder="' + textPlace + '">' +
20041
- '</div><div class="e-rte-label">' + htmlTextbox;
20203
+ '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20204
+ '<input type="text" data-role ="none" spellcheck="false" placeholder = "' + title + '" class="e-input e-rte-linkTitle' + ' ' + this.parent.cssClass + '"></div>' +
20205
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20206
+ '<input type="checkbox" class="e-rte-linkTarget' + ' ' + this.parent.cssClass + '" data-role ="none"></div>' : '';
20207
+ var content = '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"><label>' + linkWebAddress + '</label></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20208
+ '<input type="text" data-role ="none" spellcheck="false" placeholder="' + urlPlace + '" class="e-input e-rte-linkurl' + ' ' + this.parent.cssClass + '"/></div>' +
20209
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + '<label>' + linkDisplayText + '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"> ' +
20210
+ '<input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText' + ' ' + this.parent.cssClass + '" placeholder="' + textPlace + '">' +
20211
+ '</div><div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + htmlTextbox;
20042
20212
  var contentElem = parseHtml(content);
20043
20213
  linkContent.appendChild(contentElem);
20044
20214
  var linkTarget = linkContent.querySelector('.e-rte-linkTarget');
@@ -20066,9 +20236,9 @@ var Link = /** @__PURE__ @class */ (function () {
20066
20236
  isModal: Browser.isDevice,
20067
20237
  buttons: [{
20068
20238
  click: this.insertlink.bind(selectObj),
20069
- buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink', isPrimary: true }
20239
+ buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink' + ' ' + this.parent.cssClass, isPrimary: true }
20070
20240
  },
20071
- { click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat', content: linkCancel } }],
20241
+ { click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat' + ' ' + this.parent.cssClass, content: linkCancel } }],
20072
20242
  target: (Browser.isDevice) ? document.body : this.parent.element,
20073
20243
  animationSettings: { effect: 'None' },
20074
20244
  close: function (event) {
@@ -20212,8 +20382,10 @@ var Link = /** @__PURE__ @class */ (function () {
20212
20382
  if (this.parent.formatter.getUndoRedoStack().length === 0) {
20213
20383
  this.parent.formatter.saveData();
20214
20384
  }
20385
+ var selectParentEle = this.getAnchorNode(e.selectParent[0]);
20215
20386
  this.parent.formatter.process(this.parent, e.args, e.args, {
20216
20387
  selectNode: e.selectNode, selectParent: e.selectParent, selection: e.selection,
20388
+ text: selectParentEle.innerText,
20217
20389
  subCommand: e.args.item.subCommand
20218
20390
  });
20219
20391
  if (isIDevice$1() && this.parent.iframeSettings.enable) {
@@ -20228,7 +20400,7 @@ var Link = /** @__PURE__ @class */ (function () {
20228
20400
  var selectParentEle = this.getAnchorNode(e.selectParent[0]);
20229
20401
  if (selectParentEle.classList.contains('e-rte-anchor') || selectParentEle.tagName === 'A') {
20230
20402
  this.parent.formatter.process(this.parent, e.args, e.args, {
20231
- url: selectParentEle.href,
20403
+ url: selectParentEle.href, text: selectParentEle.innerText,
20232
20404
  target: selectParentEle.target === '' ? '_self' : '_blank', selectNode: e.selectNode,
20233
20405
  subCommand: e.args.item.subCommand
20234
20406
  });
@@ -20548,18 +20720,18 @@ var Image = /** @__PURE__ @class */ (function () {
20548
20720
  this.resizeBtnInit();
20549
20721
  this.imgEle = e;
20550
20722
  addClass([this.imgEle], 'e-resize');
20551
- this.imgResizeDiv = this.parent.createElement('span', { className: 'e-img-resize', id: this.rteID + '_imgResize' });
20723
+ this.imgResizeDiv = this.parent.createElement('span', { className: 'e-img-resize' + ' ' + this.parent.cssClass, id: this.rteID + '_imgResize' });
20552
20724
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20553
- className: 'e-rte-imageboxmark e-rte-topLeft', styles: 'cursor: nwse-resize'
20725
+ className: 'e-rte-imageboxmark e-rte-topLeft' + ' ' + this.parent.cssClass, styles: 'cursor: nwse-resize'
20554
20726
  }));
20555
20727
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20556
- className: 'e-rte-imageboxmark e-rte-topRight', styles: 'cursor: nesw-resize'
20728
+ className: 'e-rte-imageboxmark e-rte-topRight' + ' ' + this.parent.cssClass, styles: 'cursor: nesw-resize'
20557
20729
  }));
20558
20730
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20559
- className: 'e-rte-imageboxmark e-rte-botLeft', styles: 'cursor: nesw-resize'
20731
+ className: 'e-rte-imageboxmark e-rte-botLeft' + ' ' + this.parent.cssClass, styles: 'cursor: nesw-resize'
20560
20732
  }));
20561
20733
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20562
- className: 'e-rte-imageboxmark e-rte-botRight', styles: 'cursor: nwse-resize'
20734
+ className: 'e-rte-imageboxmark e-rte-botRight' + ' ' + this.parent.cssClass, styles: 'cursor: nwse-resize'
20563
20735
  }));
20564
20736
  if (Browser.isDevice) {
20565
20737
  addClass([this.imgResizeDiv], 'e-mob-rte');
@@ -21224,12 +21396,12 @@ var Image = /** @__PURE__ @class */ (function () {
21224
21396
  }
21225
21397
  this.imagDialog(e);
21226
21398
  if (!isNullOrUndefined(this.dialogObj)) {
21227
- var linkWrap = this.parent.createElement('div', { className: 'e-img-linkwrap' });
21399
+ var linkWrap = this.parent.createElement('div', { className: 'e-img-linkwrap' + ' ' + this.parent.cssClass });
21228
21400
  var linkUrl = this.i10n.getConstant('linkurl');
21229
- var content = '<div class="e-rte-field">' +
21230
- '<input type="text" data-role ="none" class="e-input e-img-link" spellcheck="false" placeholder="' + linkUrl + '"/></div>' +
21401
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
21402
+ '<input type="text" data-role ="none" class="e-input e-img-link' + ' ' + this.parent.cssClass + '" spellcheck="false" placeholder="' + linkUrl + '"/></div>' +
21231
21403
  '<div class="e-rte-label"></div>' + '<div class="e-rte-field">' +
21232
- '<input type="checkbox" class="e-rte-linkTarget" data-role ="none"></div>';
21404
+ '<input type="checkbox" class="e-rte-linkTarget' + ' ' + this.parent.cssClass + '" data-role ="none"></div>';
21233
21405
  var contentElem = parseHtml(content);
21234
21406
  linkWrap.appendChild(contentElem);
21235
21407
  var linkTarget = linkWrap.querySelector('.e-rte-linkTarget');
@@ -21268,9 +21440,10 @@ var Image = /** @__PURE__ @class */ (function () {
21268
21440
  _this.insertlink(linkargs_1);
21269
21441
  },
21270
21442
  buttonModel: {
21271
- content: linkUpdate, cssClass: 'e-flat e-update-link', isPrimary: true
21443
+ content: linkUpdate, cssClass: 'e-flat e-update-link' + ' ' + this.parent.cssClass, isPrimary: true
21272
21444
  }
21273
- }]
21445
+ }],
21446
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-link-dialog'
21274
21447
  });
21275
21448
  if (!isNullOrUndefined(this.parent.cssClass)) {
21276
21449
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -21293,13 +21466,13 @@ var Image = /** @__PURE__ @class */ (function () {
21293
21466
  this.imagDialog(e);
21294
21467
  var altText = this.i10n.getConstant('altText');
21295
21468
  if (!isNullOrUndefined(this.dialogObj)) {
21296
- var altWrap = this.parent.createElement('div', { className: 'e-img-altwrap' });
21469
+ var altWrap = this.parent.createElement('div', { className: 'e-img-altwrap' + ' ' + this.parent.cssClass });
21297
21470
  var altHeader = this.i10n.getConstant('alternateHeader');
21298
21471
  var linkUpdate = this.i10n.getConstant('dialogUpdate');
21299
21472
  var getAlt = (e.selectNode[0].getAttribute('alt') === null) ? '' :
21300
21473
  e.selectNode[0].getAttribute('alt');
21301
- var content = '<div class="e-rte-field">' +
21302
- '<input type="text" spellcheck="false" value="' + getAlt + '" class="e-input e-img-alt" placeholder="' + altText + '"/>' +
21474
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
21475
+ '<input type="text" spellcheck="false" value="' + getAlt + '" class="e-input e-img-alt' + ' ' + this.parent.cssClass + '" placeholder="' + altText + '"/>' +
21303
21476
  '</div>';
21304
21477
  var contentElem = parseHtml(content);
21305
21478
  altWrap.appendChild(contentElem);
@@ -21316,9 +21489,10 @@ var Image = /** @__PURE__ @class */ (function () {
21316
21489
  _this.insertAlt(altArgs_1);
21317
21490
  },
21318
21491
  buttonModel: {
21319
- content: linkUpdate, cssClass: 'e-flat e-update-alt', isPrimary: true
21492
+ content: linkUpdate, cssClass: 'e-flat e-update-alt' + ' ' + this.parent.cssClass, isPrimary: true
21320
21493
  }
21321
- }]
21494
+ }],
21495
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-alt-dialog'
21322
21496
  });
21323
21497
  if (!isNullOrUndefined(this.parent.cssClass)) {
21324
21498
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -21482,11 +21656,11 @@ var Image = /** @__PURE__ @class */ (function () {
21482
21656
  }
21483
21657
  else {
21484
21658
  this.captionEle = this.parent.createElement('span', {
21485
- className: CLS_CAPTION + ' ' + CLS_RTE_CAPTION,
21659
+ className: CLS_CAPTION + ' ' + CLS_RTE_CAPTION + ' ' + this.parent.cssClass,
21486
21660
  attrs: { contenteditable: 'false', draggable: 'false', style: 'width:' + this.parent.insertImageSettings.width }
21487
21661
  });
21488
- var imgWrap = this.parent.createElement('span', { className: 'e-img-wrap' });
21489
- var imgInner = this.parent.createElement('span', { className: 'e-img-inner',
21662
+ var imgWrap = this.parent.createElement('span', { className: 'e-img-wrap' + ' ' + this.parent.cssClass });
21663
+ var imgInner = this.parent.createElement('span', { className: 'e-img-inner' + ' ' + this.parent.cssClass,
21490
21664
  attrs: { contenteditable: 'true' } });
21491
21665
  var parent_1 = e.selectNode[0].parentElement;
21492
21666
  if (parent_1.tagName === 'A') {
@@ -21539,9 +21713,10 @@ var Image = /** @__PURE__ @class */ (function () {
21539
21713
  _this.insertSize(selectObj_1);
21540
21714
  },
21541
21715
  buttonModel: {
21542
- content: linkUpdate, cssClass: 'e-flat e-update-size', isPrimary: true
21716
+ content: linkUpdate, cssClass: 'e-flat e-update-size' + ' ' + this.parent.cssClass, isPrimary: true
21543
21717
  }
21544
- }]
21718
+ }],
21719
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-size-dialog'
21545
21720
  });
21546
21721
  if (!isNullOrUndefined(this.parent.cssClass)) {
21547
21722
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -21584,7 +21759,7 @@ var Image = /** @__PURE__ @class */ (function () {
21584
21759
  this.dialogObj.hide({ returnValue: true });
21585
21760
  return;
21586
21761
  }
21587
- var imgDialog = this.parent.createElement('div', { className: 'e-rte-img-dialog', id: this.rteID + '_image' });
21762
+ var imgDialog = this.parent.createElement('div', { className: 'e-rte-img-dialog' + ' ' + this.parent.cssClass, id: this.rteID + '_image' });
21588
21763
  this.parent.element.appendChild(imgDialog);
21589
21764
  var imgInsert = this.i10n.getConstant('dialogInsert');
21590
21765
  var imglinkCancel = this.i10n.getConstant('dialogCancel');
@@ -21593,7 +21768,7 @@ var Image = /** @__PURE__ @class */ (function () {
21593
21768
  var selectObj = { selfImage: this, selection: e.selection, args: e.args, selectParent: e.selectParent };
21594
21769
  var dialogModel = {
21595
21770
  header: imgHeader,
21596
- cssClass: CLS_RTE_ELEMENTS,
21771
+ cssClass: CLS_RTE_ELEMENTS + ' ' + this.parent.cssClass,
21597
21772
  enableRtl: this.parent.enableRtl,
21598
21773
  locale: this.parent.locale,
21599
21774
  showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px', height: 'inherit',
@@ -21601,13 +21776,13 @@ var Image = /** @__PURE__ @class */ (function () {
21601
21776
  isModal: Browser.isDevice,
21602
21777
  buttons: [{
21603
21778
  click: this.insertImageUrl.bind(selectObj),
21604
- buttonModel: { content: imgInsert, cssClass: 'e-flat e-insertImage', isPrimary: true, disabled: true }
21779
+ buttonModel: { content: imgInsert, cssClass: 'e-flat e-insertImage' + ' ' + this.parent.cssClass, isPrimary: true, disabled: true }
21605
21780
  },
21606
21781
  {
21607
21782
  click: function (e) {
21608
21783
  _this.cancelDialog(e);
21609
21784
  },
21610
- buttonModel: { cssClass: 'e-flat e-cancel', content: imglinkCancel }
21785
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: imglinkCancel }
21611
21786
  }],
21612
21787
  target: (Browser.isDevice) ? document.body : this.parent.element,
21613
21788
  animationSettings: { effect: 'None' },
@@ -21630,12 +21805,12 @@ var Image = /** @__PURE__ @class */ (function () {
21630
21805
  _this.dialogObj = null;
21631
21806
  }
21632
21807
  };
21633
- var dialogContent = this.parent.createElement('div', { className: 'e-img-content' });
21808
+ var dialogContent = this.parent.createElement('div', { className: 'e-img-content' + ' ' + this.parent.cssClass });
21634
21809
  if ((!isNullOrUndefined(this.parent.insertImageSettings.path) && this.parent.editorMode === 'Markdown')
21635
21810
  || this.parent.editorMode === 'HTML') {
21636
21811
  dialogContent.appendChild(this.imgUpload(e));
21637
21812
  }
21638
- var linkHeader = this.parent.createElement('div', { className: 'e-linkheader' });
21813
+ var linkHeader = this.parent.createElement('div', { className: 'e-linkheader' + ' ' + this.parent.cssClass });
21639
21814
  var linkHeaderText = this.i10n.getConstant('imageLinkHeader');
21640
21815
  if (this.parent.editorMode === 'HTML') {
21641
21816
  linkHeader.innerHTML = linkHeaderText;
@@ -21707,7 +21882,8 @@ var Image = /** @__PURE__ @class */ (function () {
21707
21882
  }
21708
21883
  /* eslint-enable */
21709
21884
  }
21710
- if (!(this.parent.iframeSettings.enable && this.parent.currentTarget.nodeName === 'IMG') && e.target.tagName !== 'IMG' && this.imgResizeDiv && !(this.quickToolObj &&
21885
+ if (!(this.parent.iframeSettings.enable && !isNullOrUndefined(this.parent.currentTarget) && this.parent.currentTarget.nodeName === 'IMG') &&
21886
+ e.target.tagName !== 'IMG' && this.imgResizeDiv && !(this.quickToolObj &&
21711
21887
  this.quickToolObj.imageQTBar && this.quickToolObj.imageQTBar.element.contains(e.target)) &&
21712
21888
  this.contentModule.getEditPanel().contains(this.imgResizeDiv)) {
21713
21889
  this.cancelResizeAction();
@@ -21737,10 +21913,10 @@ var Image = /** @__PURE__ @class */ (function () {
21737
21913
  // eslint-disable-next-line
21738
21914
  Image.prototype.imageUrlPopup = function (e) {
21739
21915
  var _this = this;
21740
- var imgUrl = this.parent.createElement('div', { className: 'imgUrl' });
21916
+ var imgUrl = this.parent.createElement('div', { className: 'imgUrl' + ' ' + this.parent.cssClass });
21741
21917
  var placeUrl = this.i10n.getConstant('imageUrl');
21742
21918
  this.inputUrl = this.parent.createElement('input', {
21743
- className: 'e-input e-img-url',
21919
+ className: 'e-input e-img-url' + ' ' + this.parent.cssClass,
21744
21920
  attrs: { placeholder: placeUrl, spellcheck: 'false' }
21745
21921
  });
21746
21922
  this.inputUrl.addEventListener('input', function () {
@@ -21807,7 +21983,7 @@ var Image = /** @__PURE__ @class */ (function () {
21807
21983
  var selectNode = e.selectNode[0];
21808
21984
  var imgHeight = this.i10n.getConstant('imageHeight');
21809
21985
  var imgWidth = this.i10n.getConstant('imageWidth');
21810
- var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' });
21986
+ var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' + ' ' + this.parent.cssClass });
21811
21987
  var widthVal = isNullOrUndefined(this.changedWidthValue) && (selectNode.style.width.toString() === 'auto' ||
21812
21988
  selectNode.style.width !== '') ? selectNode.style.width : !isNullOrUndefined(this.changedWidthValue) ?
21813
21989
  this.changedWidthValue : (parseInt(selectNode.getClientRects()[0].width.toString(), 10)).toString();
@@ -21816,12 +21992,12 @@ var Image = /** @__PURE__ @class */ (function () {
21816
21992
  this.changedHeightValue : (parseInt(selectNode.getClientRects()[0].height.toString(), 10)).toString();
21817
21993
  this.changedWidthValue = null;
21818
21994
  this.changedHeightValue = null;
21819
- var content = '<div class="e-rte-label"><label>' + imgWidth +
21820
- '</label></div><div class="e-rte-field"><input type="text" id="imgwidth" class="e-img-width" value=' +
21995
+ var content = '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"><label>' + imgWidth +
21996
+ '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" id="imgwidth" class="e-img-width' + ' ' + this.parent.cssClass + '" value=' +
21821
21997
  widthVal
21822
21998
  + ' /></div>' +
21823
- '<div class="e-rte-label">' + '<label>' + imgHeight + '</label></div><div class="e-rte-field"> ' +
21824
- '<input type="text" id="imgheight" class="e-img-height" value=' +
21999
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + '<label>' + imgHeight + '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"> ' +
22000
+ '<input type="text" id="imgheight" class="e-img-height' + ' ' + this.parent.cssClass + '" value=' +
21825
22001
  heightVal
21826
22002
  + ' /></div>';
21827
22003
  var contentElem = parseHtml(content);
@@ -21911,16 +22087,16 @@ var Image = /** @__PURE__ @class */ (function () {
21911
22087
  save = e.selection;
21912
22088
  selectParent = e.selectParent;
21913
22089
  }
21914
- var uploadParentEle = this.parent.createElement('div', { className: 'e-img-uploadwrap e-droparea' });
22090
+ var uploadParentEle = this.parent.createElement('div', { className: 'e-img-uploadwrap e-droparea' + ' ' + this.parent.cssClass });
21915
22091
  var deviceImgUpMsg = this.i10n.getConstant('imageDeviceUploadMessage');
21916
22092
  var imgUpMsg = this.i10n.getConstant('imageUploadMessage');
21917
- var span = this.parent.createElement('span', { className: 'e-droptext' });
22093
+ var span = this.parent.createElement('span', { className: 'e-droptext' + ' ' + this.parent.cssClass });
21918
22094
  var spanMsg = this.parent.createElement('span', {
21919
- className: 'e-rte-upload-text', innerHTML: ((Browser.isDevice) ? deviceImgUpMsg : imgUpMsg)
22095
+ className: 'e-rte-upload-text' + ' ' + this.parent.cssClass, innerHTML: ((Browser.isDevice) ? deviceImgUpMsg : imgUpMsg)
21920
22096
  });
21921
22097
  span.appendChild(spanMsg);
21922
22098
  var btnEle = this.parent.createElement('button', {
21923
- className: 'e-browsebtn', id: this.rteID + '_insertImage', attrs: { autofocus: 'true', type: 'button' }
22099
+ className: 'e-browsebtn' + ' ' + this.parent.cssClass, id: this.rteID + '_insertImage', attrs: { autofocus: 'true', type: 'button' }
21924
22100
  });
21925
22101
  span.appendChild(btnEle);
21926
22102
  uploadParentEle.appendChild(span);
@@ -21932,7 +22108,7 @@ var Image = /** @__PURE__ @class */ (function () {
21932
22108
  var btnClick = (Browser.isDevice) ? span : btnEle;
21933
22109
  EventHandler.add(btnClick, 'click', this.fileSelect, this);
21934
22110
  var uploadEle = this.parent.createElement('input', {
21935
- id: this.rteID + '_upload', attrs: { type: 'File', name: 'UploadFiles' }
22111
+ id: this.rteID + '_upload', attrs: { type: 'File', name: 'UploadFiles' }, className: this.parent.cssClass
21936
22112
  });
21937
22113
  uploadParentEle.appendChild(uploadEle);
21938
22114
  var altText;
@@ -22622,7 +22798,7 @@ var ViewSource = /** @__PURE__ @class */ (function () {
22622
22798
  this.parent.formatter.editorManager.observer.off(KEY_DOWN_HANDLER, this.onKeyDown);
22623
22799
  };
22624
22800
  ViewSource.prototype.getSourceCode = function () {
22625
- return this.parent.createElement('textarea', { className: 'e-rte-srctextarea' });
22801
+ return this.parent.createElement('textarea', { className: 'e-rte-srctextarea' + ' ' + this.parent.cssClass });
22626
22802
  };
22627
22803
  ViewSource.prototype.wireEvent = function (element) {
22628
22804
  this.keyboardModule = new KeyboardEvents$1(element, {
@@ -22854,6 +23030,8 @@ var Table = /** @__PURE__ @class */ (function () {
22854
23030
  this.pageX = null;
22855
23031
  this.pageY = null;
22856
23032
  this.moveEle = null;
23033
+ this.currentColumnResize = '';
23034
+ this.currentMarginLeft = 0;
22857
23035
  this.parent = parent;
22858
23036
  this.rteID = parent.element.id;
22859
23037
  this.l10n = serviceLocator.getService('rteLocale');
@@ -23021,6 +23199,7 @@ var Table = /** @__PURE__ @class */ (function () {
23021
23199
  }
23022
23200
  else if (ele && ele.querySelectorAll('table').length > 0) {
23023
23201
  this.removeResizeElement();
23202
+ this.hideTableQuickToolbar();
23024
23203
  }
23025
23204
  }
23026
23205
  if (ele && ele.tagName !== 'TD' && ele.tagName !== 'TH') {
@@ -23397,7 +23576,7 @@ var Table = /** @__PURE__ @class */ (function () {
23397
23576
  };
23398
23577
  Table.prototype.tableResizeEleCreation = function (table, e) {
23399
23578
  this.parent.preventDefaultResize(e);
23400
- var columns = Array.prototype.slice.call(table.rows[this.calMaxCol(table)].cells, 1);
23579
+ var columns = table.rows[this.calMaxCol(table)].cells;
23401
23580
  var rows = [];
23402
23581
  for (var i = 0; i < table.rows.length; i++) {
23403
23582
  rows.push(Array.prototype.slice.call(table.rows[i].cells, 0, 1)[0]);
@@ -23405,15 +23584,21 @@ var Table = /** @__PURE__ @class */ (function () {
23405
23584
  var height = parseInt(getComputedStyle(table).height, 10);
23406
23585
  var width = parseInt(getComputedStyle(table).width, 10);
23407
23586
  var pos = this.calcPos(table);
23408
- for (var i = 0; columns.length > i; i++) {
23587
+ for (var i = 0; columns.length >= i; i++) {
23409
23588
  var colReEle = this.parent.createElement('span', {
23410
23589
  attrs: {
23411
- 'data-col': (i + 1).toString(), 'unselectable': 'on', 'contenteditable': 'false'
23590
+ 'data-col': (i).toString(), 'unselectable': 'on', 'contenteditable': 'false'
23412
23591
  }
23413
23592
  });
23414
23593
  colReEle.classList.add(CLS_RTE_TABLE_RESIZE, CLS_TB_COL_RES);
23415
- colReEle.style.cssText = 'height: ' + height + 'px; width: 4px; top: ' + pos.top +
23416
- 'px; left:' + (pos.left + this.calcPos(columns[i]).left) + 'px;';
23594
+ if (columns.length === i) {
23595
+ colReEle.style.cssText = 'height: ' + height + 'px; width: 4px; top: ' + pos.top +
23596
+ 'px; left:' + (pos.left + this.calcPos(columns[i - 1]).left + columns[i - 1].offsetWidth) + 'px;';
23597
+ }
23598
+ else {
23599
+ colReEle.style.cssText = 'height: ' + height + 'px; width: 4px; top: ' + pos.top +
23600
+ 'px; left:' + (pos.left + this.calcPos(columns[i]).left) + 'px;';
23601
+ }
23417
23602
  this.contentModule.getEditPanel().appendChild(colReEle);
23418
23603
  }
23419
23604
  for (var i = 0; rows.length > i; i++) {
@@ -23431,7 +23616,7 @@ var Table = /** @__PURE__ @class */ (function () {
23431
23616
  this.contentModule.getEditPanel().appendChild(rowReEle);
23432
23617
  }
23433
23618
  var tableReBox = this.parent.createElement('span', {
23434
- className: CLS_TB_BOX_RES, attrs: {
23619
+ className: CLS_TB_BOX_RES + ' ' + this.parent.cssClass, attrs: {
23435
23620
  'data-col': columns.length.toString(), 'unselectable': 'on', 'contenteditable': 'false'
23436
23621
  }
23437
23622
  });
@@ -23530,7 +23715,19 @@ var Table = /** @__PURE__ @class */ (function () {
23530
23715
  this.hideTableQuickToolbar();
23531
23716
  if (target.classList.contains(CLS_TB_COL_RES)) {
23532
23717
  this.resizeBtnStat.column = true;
23533
- this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10)];
23718
+ if (parseInt(target.getAttribute('data-col'), 10) === this.curTable.rows[this.calMaxCol(this.curTable)].cells.length) {
23719
+ this.currentColumnResize = 'last';
23720
+ this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10) - 1];
23721
+ }
23722
+ else {
23723
+ if (parseInt(target.getAttribute('data-col'), 10) === 0) {
23724
+ this.currentColumnResize = 'first';
23725
+ }
23726
+ else {
23727
+ this.currentColumnResize = 'middle';
23728
+ }
23729
+ this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10)];
23730
+ }
23534
23731
  this.colIndex = this.columnEle.cellIndex;
23535
23732
  this.moveEle = e.target;
23536
23733
  this.appendHelper();
@@ -23574,7 +23771,7 @@ var Table = /** @__PURE__ @class */ (function () {
23574
23771
  };
23575
23772
  Table.prototype.appendHelper = function () {
23576
23773
  this.helper = this.parent.createElement('div', {
23577
- className: 'e-table-rhelper'
23774
+ className: 'e-table-rhelper' + ' ' + this.parent.cssClass
23578
23775
  });
23579
23776
  if (Browser.isDevice) {
23580
23777
  this.helper.classList.add('e-reicon');
@@ -23587,7 +23784,8 @@ var Table = /** @__PURE__ @class */ (function () {
23587
23784
  if (this.resizeBtnStat.column) {
23588
23785
  this.helper.classList.add('e-column-helper');
23589
23786
  this.helper.style.cssText = 'height: ' + getComputedStyle(this.curTable).height + '; top: ' +
23590
- pos.top + 'px; left:' + (pos.left + this.calcPos(this.columnEle).left - 1) + 'px;';
23787
+ pos.top + 'px; left:' + ((pos.left + this.calcPos(this.columnEle).left) +
23788
+ (this.currentColumnResize === 'last' ? this.columnEle.offsetWidth + 2 : 0) - 1) + 'px;';
23591
23789
  }
23592
23790
  else {
23593
23791
  this.helper.classList.add('e-row-helper');
@@ -23599,7 +23797,8 @@ var Table = /** @__PURE__ @class */ (function () {
23599
23797
  Table.prototype.updateHelper = function () {
23600
23798
  var pos = this.calcPos(this.curTable);
23601
23799
  if (this.resizeBtnStat.column) {
23602
- var left = pos.left + this.calcPos(this.columnEle).left - 1;
23800
+ var left = (pos.left + this.calcPos(this.columnEle).left) +
23801
+ (this.currentColumnResize === 'last' ? this.columnEle.offsetWidth + 2 : 0) - 1;
23603
23802
  this.helper.style.left = left + 'px';
23604
23803
  }
23605
23804
  else {
@@ -23638,23 +23837,66 @@ var Table = /** @__PURE__ @class */ (function () {
23638
23837
  var paddingSize = +getComputedStyle(_this.contentModule.getEditPanel()).paddingRight.match(/\d/g).join('');
23639
23838
  var rteWidth = _this.contentModule.getEditPanel().offsetWidth - (_this.contentModule.getEditPanel().offsetWidth -
23640
23839
  _this.contentModule.getEditPanel().clientWidth) - paddingSize * 2;
23840
+ var widthCompare = void 0;
23841
+ if (!isNullOrUndefined(_this.curTable.parentElement.closest('table'))) {
23842
+ var currentTd = _this.curTable.closest('td');
23843
+ var currentTDPad = +getComputedStyle(currentTd).paddingRight.match(/\d/g).join('');
23844
+ // Padding of the current table with the parent element multiply with 2.
23845
+ widthCompare = currentTd.offsetWidth - (currentTd.offsetWidth - currentTd.clientWidth) - currentTDPad * 2;
23846
+ }
23847
+ else {
23848
+ widthCompare = rteWidth;
23849
+ }
23641
23850
  if (_this.resizeBtnStat.column) {
23642
- var cellColl = _this.curTable.rows[_this.calMaxCol(_this.curTable)].cells;
23643
23851
  var width = parseFloat(_this.columnEle.offsetWidth.toString());
23644
- var actualwid = width - mouseX;
23645
- var totalwid = parseFloat(_this.columnEle.offsetWidth.toString()) +
23646
- parseFloat(cellColl[_this.colIndex - 1].offsetWidth.toString());
23647
- for (var i = 0; i < _this.curTable.rows.length; i++) {
23648
- if ((totalwid - actualwid) > 20 && actualwid > 20) {
23649
- var leftColumnWidth = totalwid - actualwid;
23650
- var rightColWidth = actualwid;
23651
- if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex - 1])) {
23652
- _this.curTable.rows[i].cells[_this.colIndex - 1].style.width =
23653
- _this.convertPixelToPercentage(leftColumnWidth, tableWidth) + '%';
23852
+ var cellRow = _this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
23853
+ var currentTableWidth = parseFloat(_this.curTable.style.width.split('%')[0]);
23854
+ var currentColumnCellWidth = parseFloat(_this.curTable.rows[cellRow].cells[_this.colIndex].style.width.split('%')[0]);
23855
+ if (_this.currentColumnResize === 'first') {
23856
+ mouseX = mouseX - 0.75; //This was done for to make the gripper and the table first/last column will be close.
23857
+ _this.removeResizeElement();
23858
+ // Below the value '100' is the 100% width of the parent element.
23859
+ if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX < 0) && currentTableWidth <= 100 && _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) <= 100) {
23860
+ var firstColumnsCell = _this.findFirstLastColCells(_this.curTable, true);
23861
+ _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) > 100 ? (100 + '%') : (_this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) + '%');
23862
+ var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare);
23863
+ _this.currentMarginLeft = _this.currentMarginLeft + differenceWidth;
23864
+ _this.curTable.style.marginLeft = 'calc(' + (_this.curTable.style.width === '100%' ? 0 : _this.currentMarginLeft) + '%)';
23865
+ for (var i = 0; i < firstColumnsCell.length; i++) {
23866
+ _this.curTable.rows[i].cells[_this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
23867
+ }
23868
+ }
23869
+ }
23870
+ else if (_this.currentColumnResize === 'last') {
23871
+ mouseX = mouseX + 0.75; //This was done for to make the gripper and the table first/last column will be close.
23872
+ _this.removeResizeElement();
23873
+ // Below the value '100' is the 100% width of the parent element.
23874
+ if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX > 0) && currentTableWidth <= 100 && _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) <= 100) {
23875
+ var lastColumnsCell = _this.findFirstLastColCells(_this.curTable, false);
23876
+ _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) > 100 ? (100 + '%') : (_this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%');
23877
+ var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare);
23878
+ for (var i = 0; i < lastColumnsCell.length; i++) {
23879
+ _this.curTable.rows[i].cells[_this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
23654
23880
  }
23655
- if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex])) {
23656
- _this.curTable.rows[i].cells[_this.colIndex].style.width =
23657
- _this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
23881
+ }
23882
+ }
23883
+ else {
23884
+ var cellColl = _this.curTable.rows[_this.calMaxCol(_this.curTable)].cells;
23885
+ var actualwid = width - mouseX;
23886
+ var totalwid = parseFloat(_this.columnEle.offsetWidth.toString()) +
23887
+ parseFloat(cellColl[_this.colIndex - 1].offsetWidth.toString());
23888
+ for (var i = 0; i < _this.curTable.rows.length; i++) {
23889
+ if ((totalwid - actualwid) > 20 && actualwid > 20) {
23890
+ var leftColumnWidth = totalwid - actualwid;
23891
+ var rightColWidth = actualwid;
23892
+ if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex - 1])) {
23893
+ _this.curTable.rows[i].cells[_this.colIndex - 1].style.width =
23894
+ _this.convertPixelToPercentage(leftColumnWidth, tableWidth) + '%';
23895
+ }
23896
+ if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex])) {
23897
+ _this.curTable.rows[i].cells[_this.colIndex].style.width =
23898
+ _this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
23899
+ }
23658
23900
  }
23659
23901
  }
23660
23902
  }
@@ -23678,7 +23920,7 @@ var Table = /** @__PURE__ @class */ (function () {
23678
23920
  EventHandler.remove(_this.contentModule.getEditPanel(), 'mouseover', _this.resizeHelper);
23679
23921
  }
23680
23922
  var widthType = _this.curTable.style.width.indexOf('%') > -1;
23681
- _this.curTable.style.width = widthType ? _this.convertPixelToPercentage(tableWidth + mouseX, rteWidth) + '%'
23923
+ _this.curTable.style.width = widthType ? _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%'
23682
23924
  : tableWidth + mouseX + 'px';
23683
23925
  _this.curTable.style.height = tableHeight + mouseY + 'px';
23684
23926
  tableReBox.classList.add('e-rbox-select');
@@ -23688,6 +23930,17 @@ var Table = /** @__PURE__ @class */ (function () {
23688
23930
  }
23689
23931
  });
23690
23932
  };
23933
+ Table.prototype.findFirstLastColCells = function (table, isFirst) {
23934
+ var resultColumns = [];
23935
+ var rows = table.querySelectorAll('tr');
23936
+ for (var i = 0; i < rows.length; i++) {
23937
+ if (rows[i].closest('table') === table) {
23938
+ var columns = rows[i].querySelectorAll('th, td');
23939
+ resultColumns.push(isFirst ? columns[0] : columns[columns.length - 1]);
23940
+ }
23941
+ }
23942
+ return resultColumns;
23943
+ };
23691
23944
  Table.prototype.convertPixelToPercentage = function (value, offsetValue) {
23692
23945
  return (value / offsetValue) * 100;
23693
23946
  };
@@ -23706,14 +23959,14 @@ var Table = /** @__PURE__ @class */ (function () {
23706
23959
  EventHandler.add(this.contentModule.getEditPanel(), 'mouseover', this.resizeHelper, this);
23707
23960
  }
23708
23961
  this.removeResizeElement();
23709
- if (this.helper && this.contentModule.getEditPanel().contains(this.helper)) {
23710
- detach(this.helper);
23711
- this.helper = null;
23712
- }
23713
- this.pageX = null;
23714
- this.pageY = null;
23715
- this.moveEle = null;
23716
23962
  }
23963
+ if (this.helper && this.contentModule.getEditPanel().contains(this.helper)) {
23964
+ detach(this.helper);
23965
+ this.helper = null;
23966
+ }
23967
+ this.pageX = null;
23968
+ this.pageY = null;
23969
+ this.moveEle = null;
23717
23970
  var args = { event: e, requestType: 'table' };
23718
23971
  this.parent.trigger(resizeStop, args);
23719
23972
  this.parent.formatter.saveData();
@@ -23768,16 +24021,16 @@ var Table = /** @__PURE__ @class */ (function () {
23768
24021
  this.hideTableQuickToolbar();
23769
24022
  var header = '1X1';
23770
24023
  var insertbtn = this.l10n.getConstant('inserttablebtn');
23771
- this.dlgDiv = this.parent.createElement('div', { className: 'e-rte-table-popup', id: this.rteID + '_table' });
23772
- this.tblHeader = this.parent.createElement('div', { className: 'e-rte-popup-header' });
24024
+ this.dlgDiv = this.parent.createElement('div', { className: 'e-rte-table-popup' + ' ' + this.parent.cssClass, id: this.rteID + '_table' });
24025
+ this.tblHeader = this.parent.createElement('div', { className: 'e-rte-popup-header' + ' ' + this.parent.cssClass });
23773
24026
  this.tblHeader.innerHTML = header;
23774
24027
  this.dlgDiv.appendChild(this.tblHeader);
23775
- var tableDiv = this.parent.createElement('div', { className: 'e-rte-table-span' });
24028
+ var tableDiv = this.parent.createElement('div', { className: 'e-rte-table-span' + ' ' + this.parent.cssClass });
23776
24029
  this.drawTable(tableDiv, args);
23777
24030
  this.dlgDiv.appendChild(tableDiv);
23778
- this.dlgDiv.appendChild(this.parent.createElement('span', { className: 'e-span-border' }));
24031
+ this.dlgDiv.appendChild(this.parent.createElement('span', { className: 'e-span-border' + ' ' + this.parent.cssClass }));
23779
24032
  var btnEle = this.parent.createElement('button', {
23780
- className: 'e-insert-table-btn', id: this.rteID + '_insertTable',
24033
+ className: 'e-insert-table-btn' + ' ' + this.parent.cssClass, id: this.rteID + '_insertTable',
23781
24034
  attrs: { type: 'button', tabindex: '0' }
23782
24035
  });
23783
24036
  if (!isNullOrUndefined(this.parent.getToolbarElement().querySelector('.e-expended-nav'))) {
@@ -23839,7 +24092,7 @@ var Table = /** @__PURE__ @class */ (function () {
23839
24092
  !target.offsetParent.classList.contains('e-quick-dropdown') &&
23840
24093
  !target.offsetParent.classList.contains('e-rte-backgroundcolor-dropdown') && !closest(target, '.e-rte-dropdown-popup')
23841
24094
  && !closest(target, '.e-rte-elements')) {
23842
- removeClass(this.parent.element.querySelectorAll('table td'), CLS_TABLE_SEL);
24095
+ removeClass(this.parent.inputElement.querySelectorAll('table td'), CLS_TABLE_SEL);
23843
24096
  if (!Browser.isIE) {
23844
24097
  this.hideTableQuickToolbar();
23845
24098
  }
@@ -23853,10 +24106,10 @@ var Table = /** @__PURE__ @class */ (function () {
23853
24106
  var rowDiv;
23854
24107
  var tableCell;
23855
24108
  for (var row = 0; row < 3; row++) {
23856
- rowDiv = this.parent.createElement('div', { className: 'e-rte-table-row', attrs: { 'data-column': '' + row } });
24109
+ rowDiv = this.parent.createElement('div', { className: 'e-rte-table-row' + ' ' + this.parent.cssClass, attrs: { 'data-column': '' + row } });
23857
24110
  for (var col = 0; col < 10; col++) {
23858
24111
  var display = (row > 2) ? 'none' : 'inline-block';
23859
- tableCell = this.parent.createElement('div', { className: 'e-rte-tablecell e-default', attrs: { 'data-cell': '' + col } });
24112
+ tableCell = this.parent.createElement('div', { className: 'e-rte-tablecell e-default' + ' ' + this.parent.cssClass, attrs: { 'data-cell': '' + col } });
23860
24113
  rowDiv.appendChild(tableCell);
23861
24114
  tableCell.style.display = display;
23862
24115
  if (col === 0 && row === 0) {
@@ -23880,15 +24133,15 @@ var Table = /** @__PURE__ @class */ (function () {
23880
24133
  height: 'initial', width: '290px', content: editContent, header: editHeader,
23881
24134
  buttons: [{
23882
24135
  click: this.applyProperties.bind(this, args),
23883
- buttonModel: { content: update, cssClass: 'e-flat e-size-update', isPrimary: true }
24136
+ buttonModel: { content: update, cssClass: 'e-flat e-size-update' + ' ' + this.parent.cssClass, isPrimary: true }
23884
24137
  },
23885
24138
  {
23886
24139
  click: function (e) {
23887
24140
  _this.cancelDialog(e);
23888
24141
  },
23889
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24142
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: cancel }
23890
24143
  }],
23891
- cssClass: this.parent.cssClass
24144
+ cssClass: this.editdlgObj.cssClass + ' e-rte-edit-table-prop-dialog'
23892
24145
  });
23893
24146
  this.editdlgObj.element.style.maxHeight = 'none';
23894
24147
  this.editdlgObj.content.querySelector('input').focus();
@@ -23910,13 +24163,13 @@ var Table = /** @__PURE__ @class */ (function () {
23910
24163
  height: 'initial', width: '290px', content: dlgContent,
23911
24164
  buttons: [{
23912
24165
  click: proxy.customTable.bind(this, args),
23913
- buttonModel: { content: insert, cssClass: 'e-flat e-insert-table', isPrimary: true }
24166
+ buttonModel: { content: insert, cssClass: 'e-flat e-insert-table' + ' ' + proxy.parent.cssClass, isPrimary: true }
23914
24167
  },
23915
24168
  {
23916
24169
  click: function (e) {
23917
24170
  proxy.cancelDialog(e);
23918
24171
  },
23919
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24172
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + proxy.parent.cssClass, content: cancel }
23920
24173
  }]
23921
24174
  });
23922
24175
  if (!isNullOrUndefined(proxy.parent.cssClass)) {
@@ -23928,10 +24181,10 @@ var Table = /** @__PURE__ @class */ (function () {
23928
24181
  Table.prototype.tableCellDlgContent = function () {
23929
24182
  var tableColumn = this.l10n.getConstant('columns');
23930
24183
  var tableRow = this.l10n.getConstant('rows');
23931
- var tableWrap = this.parent.createElement('div', { className: 'e-cell-wrap' });
23932
- var content = '<div class="e-rte-field"><input type="text" '
23933
- + ' data-role ="none" id="tableColumn" class="e-table-column"/></div>'
23934
- + '<div class="e-rte-field"><input type="text" data-role ="none" id="tableRow" class="e-table-row" /></div>';
24184
+ var tableWrap = this.parent.createElement('div', { className: 'e-cell-wrap' + ' ' + this.parent.cssClass });
24185
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" '
24186
+ + ' data-role ="none" id="tableColumn" class="e-table-column' + ' ' + this.parent.cssClass + '"/></div>'
24187
+ + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" data-role ="none" id="tableRow" class="e-table-row' + ' ' + this.parent.cssClass + '" /></div>';
23935
24188
  var contentElem = parseHtml(content);
23936
24189
  tableWrap.appendChild(contentElem);
23937
24190
  this.columnTextBox = new NumericTextBox({
@@ -23975,7 +24228,7 @@ var Table = /** @__PURE__ @class */ (function () {
23975
24228
  return;
23976
24229
  }
23977
24230
  var tableDialog = this.parent.createElement('div', {
23978
- className: 'e-rte-edit-table', id: this.rteID + '_tabledialog'
24231
+ className: 'e-rte-edit-table' + ' ' + this.parent.cssClass, id: this.rteID + '_tabledialog'
23979
24232
  });
23980
24233
  this.parent.element.appendChild(tableDialog);
23981
24234
  var insert = this.l10n.getConstant('dialogInsert');
@@ -23990,13 +24243,13 @@ var Table = /** @__PURE__ @class */ (function () {
23990
24243
  position: { X: 'center', Y: (Browser.isDevice) ? 'center' : 'top' },
23991
24244
  isModal: Browser.isDevice,
23992
24245
  buttons: [{
23993
- buttonModel: { content: insert, cssClass: 'e-flat e-insert-table', isPrimary: true }
24246
+ buttonModel: { content: insert, cssClass: 'e-flat e-insert-table' + ' ' + this.parent.cssClass, isPrimary: true }
23994
24247
  },
23995
24248
  {
23996
24249
  click: function (e) {
23997
24250
  _this.cancelDialog(e);
23998
24251
  },
23999
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24252
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: cancel }
24000
24253
  }],
24001
24254
  target: (Browser.isDevice) ? document.body : this.parent.element,
24002
24255
  animationSettings: { effect: 'None' },
@@ -24064,13 +24317,13 @@ var Table = /** @__PURE__ @class */ (function () {
24064
24317
  var tableWidth = this.l10n.getConstant('tableWidth');
24065
24318
  var cellPadding = this.l10n.getConstant('cellpadding');
24066
24319
  var cellSpacing = this.l10n.getConstant('cellspacing');
24067
- var tableWrap = this.parent.createElement('div', { className: 'e-table-sizewrap' });
24320
+ var tableWrap = this.parent.createElement('div', { className: 'e-table-sizewrap' + ' ' + this.parent.cssClass });
24068
24321
  var widthVal = closest(selectNode, 'table').getClientRects()[0].width;
24069
24322
  var padVal = closest(selectNode, 'td').style.padding;
24070
24323
  var brdSpcVal = closest(selectNode, 'table').getAttribute('cellspacing');
24071
- var content = '<div class="e-rte-field"><input type="text" data-role ="none" id="tableWidth" class="e-table-width" '
24072
- + ' /></div>' + '<div class="e-rte-field"><input type="text" data-role ="none" id="cellPadding" class="e-cell-padding" />'
24073
- + ' </div><div class="e-rte-field"><input type="text" data-role ="none" id="cellSpacing" class="e-cell-spacing" /></div>';
24324
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" data-role ="none" id="tableWidth" class="e-table-width' + ' ' + this.parent.cssClass + '" '
24325
+ + ' /></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" data-role ="none" id="cellPadding" class="e-cell-padding' + ' ' + this.parent.cssClass + '" />'
24326
+ + ' </div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" data-role ="none" id="cellSpacing" class="e-cell-spacing' + ' ' + this.parent.cssClass + '" /></div>';
24074
24327
  var contentElem = parseHtml(content);
24075
24328
  tableWrap.appendChild(contentElem);
24076
24329
  this.tableWidthNum = new NumericTextBox({
@@ -25215,26 +25468,7 @@ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators,
25215
25468
  var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25216
25469
  __extends$4(RichTextEditor, _super);
25217
25470
  function RichTextEditor(options, element) {
25218
- var _this = _super.call(this, options, element) || this;
25219
- _this.defaultResetValue = null;
25220
- _this.isResizeInitialized = false;
25221
- /**
25222
- * @hidden
25223
- * @deprecated
25224
- */
25225
- _this.isFocusOut = false;
25226
- /**
25227
- * @hidden
25228
- * @deprecated
25229
- */
25230
- _this.isRTE = false;
25231
- /**
25232
- * @hidden
25233
- * @deprecated
25234
- */
25235
- _this.isBlur = true;
25236
- _this.needsID = true;
25237
- return _this;
25471
+ return _super.call(this, options, element) || this;
25238
25472
  }
25239
25473
  /**
25240
25474
  * To provide the array of modules needed for component rendering
@@ -25315,6 +25549,14 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25315
25549
  // eslint-disable-next-line
25316
25550
  (this.enabled) ? this.eventInitializer() : this.unWireEvents();
25317
25551
  };
25552
+ RichTextEditor.prototype.initializeValue = function () {
25553
+ this.isFocusOut = false;
25554
+ this.isRTE = false;
25555
+ this.isBlur = true;
25556
+ this.needsID = true;
25557
+ this.defaultResetValue = null;
25558
+ this.isResizeInitialized = false;
25559
+ };
25318
25560
  /**
25319
25561
  * For internal use only - Initialize the event handler;
25320
25562
  *
@@ -25323,6 +25565,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25323
25565
  * @private
25324
25566
  */
25325
25567
  RichTextEditor.prototype.preRender = function () {
25568
+ this.initializeValue();
25326
25569
  this.onBlurHandler = this.blurHandler.bind(this);
25327
25570
  this.onFocusHandler = this.focusHandler.bind(this);
25328
25571
  this.onResizeHandler = this.resizeHandler.bind(this);
@@ -25379,11 +25622,18 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25379
25622
  }
25380
25623
  else {
25381
25624
  this.valueContainer = this.createElement('textarea', {
25382
- id: this.getID() + '-value'
25625
+ id: this.getID() + '-value',
25626
+ attrs: { 'aria-labelledby': this.getID() }
25383
25627
  });
25384
25628
  }
25385
25629
  this.valueContainer.name = this.getID();
25386
25630
  addClass([this.valueContainer], CLS_RTE_HIDDEN);
25631
+ if (!isNullOrUndefined(this.cssClass)) {
25632
+ var currentClassList = this.cssClass.split(' ');
25633
+ for (var i = 0; i < currentClassList.length; i++) {
25634
+ addClass([this.valueContainer], currentClassList[i]);
25635
+ }
25636
+ }
25387
25637
  this.element.appendChild(this.valueContainer);
25388
25638
  };
25389
25639
  /**
@@ -25644,14 +25894,17 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25644
25894
  var currentEndContainer = range.endContainer;
25645
25895
  var currentStartOffset = range.startOffset;
25646
25896
  var isSameContainer = currentStartContainer === currentEndContainer ? true : false;
25647
- var currentEndOffset;
25648
25897
  var endNode = range.endContainer.nodeName === '#text' ? range.endContainer.parentElement :
25649
25898
  range.endContainer;
25650
25899
  var closestLI = closest(endNode, 'LI');
25651
25900
  if (!isNullOrUndefined(closestLI) && endNode.textContent.length === range.endOffset &&
25652
25901
  !range.collapsed && isNullOrUndefined(endNode.nextElementSibling)) {
25653
- closestLI.textContent = closestLI.textContent.trim();
25654
- currentEndOffset = closestLI.textContent.length - 1;
25902
+ for (var i = 0; i < closestLI.childNodes.length; i++) {
25903
+ if (closestLI.childNodes[i].nodeName === "#text" && closestLI.childNodes[i].textContent.trim().length === 0) {
25904
+ detach(closestLI.childNodes[i]);
25905
+ i--;
25906
+ }
25907
+ }
25655
25908
  var currentLastElem = closestLI;
25656
25909
  while (currentLastElem.nodeName !== '#text') {
25657
25910
  currentLastElem = currentLastElem.lastChild;
@@ -26022,6 +26275,12 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26022
26275
  for (var i = 0; i < this.originalElement.classList.length; i++) {
26023
26276
  addClass([this.element], this.originalElement.classList[i]);
26024
26277
  }
26278
+ if (!isNullOrUndefined(this.cssClass)) {
26279
+ var currentClassList = this.cssClass.split(' ');
26280
+ for (var i = 0; i < currentClassList.length; i++) {
26281
+ addClass([this.element], currentClassList[i]);
26282
+ }
26283
+ }
26025
26284
  removeClass([this.element], CLS_RTE_HIDDEN);
26026
26285
  }
26027
26286
  else {
@@ -26397,7 +26656,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26397
26656
  if (this.inputElement && this.placeholder && this.iframeSettings.enable !== true) {
26398
26657
  if (this.editorMode !== 'Markdown') {
26399
26658
  if (!this.placeHolderWrapper) {
26400
- this.placeHolderWrapper = this.createElement('span', { className: 'rte-placeholder e-rte-placeholder' });
26659
+ this.placeHolderWrapper = this.createElement('span', { className: 'rte-placeholder e-rte-placeholder' + ' ' + this.cssClass });
26401
26660
  if (this.inputElement) {
26402
26661
  this.inputElement.parentElement.insertBefore(this.placeHolderWrapper, this.inputElement);
26403
26662
  }
@@ -26647,7 +26906,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26647
26906
  this.setProperties({ value: this.valueTemplate });
26648
26907
  }
26649
26908
  else {
26650
- var compiledTemplate = compile(this.valueTemplate)("", this, 'valueTemplate');
26909
+ var compiledTemplate = compile(this.valueTemplate)('', this, 'valueTemplate');
26651
26910
  for (var i = 0; i < compiledTemplate.length; i++) {
26652
26911
  var item = compiledTemplate[i];
26653
26912
  append([item], this.element);
@@ -27601,5 +27860,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
27601
27860
  * Rich Text Editor component exported items
27602
27861
  */
27603
27862
 
27604
- 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 };
27863
+ 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, mediaSelected, mediaUploading, mediaUploadSuccess, mediaUploadFailed, mediaRemoving, afterImageDelete, afterMediaDelete, drop, xhtmlValidation, beforeImageUpload, beforeMediaUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, closeImageDialog, closeAudioDialog, 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, CLS_RTE_RES_WEST, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, 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, INSERT_TEXT_COMMAND, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION };
27605
27864
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map