@syncfusion/ej2-richtexteditor 20.1.61 → 20.2.39

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 +32 -0
  2. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  3. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-richtexteditor.es2015.js +468 -191
  5. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es5.js +460 -181
  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/markdown-parser/base/constant.d.ts +6 -0
  19. package/src/markdown-parser/base/constant.js +6 -0
  20. package/src/markdown-parser/base/markdown-parser.d.ts +2 -0
  21. package/src/markdown-parser/base/markdown-parser.js +6 -0
  22. package/src/markdown-parser/base/types.d.ts +1 -1
  23. package/src/markdown-parser/plugin/insert-text.d.ts +22 -0
  24. package/src/markdown-parser/plugin/insert-text.js +51 -0
  25. package/src/rich-text-editor/actions/color-picker.js +20 -4
  26. package/src/rich-text-editor/actions/full-screen.js +4 -2
  27. package/src/rich-text-editor/actions/resize.js +4 -3
  28. package/src/rich-text-editor/actions/toolbar.js +4 -2
  29. package/src/rich-text-editor/base/classes.d.ts +5 -0
  30. package/src/rich-text-editor/base/classes.js +5 -0
  31. package/src/rich-text-editor/base/constant.d.ts +46 -1
  32. package/src/rich-text-editor/base/constant.js +46 -1
  33. package/src/rich-text-editor/base/interface.d.ts +2 -0
  34. package/src/rich-text-editor/base/rich-text-editor.d.ts +1 -0
  35. package/src/rich-text-editor/base/rich-text-editor.js +34 -27
  36. package/src/rich-text-editor/base/util.js +10 -6
  37. package/src/rich-text-editor/formatter/formatter.js +1 -1
  38. package/src/rich-text-editor/renderer/iframe-content-renderer.js +1 -1
  39. package/src/rich-text-editor/renderer/image-module.d.ts +1 -0
  40. package/src/rich-text-editor/renderer/image-module.js +58 -44
  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 +13 -2
  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 +53 -3
  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 +53 -3
  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,12 @@ 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 blockEmptyNodes = "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, li:empty, main:empty, nav:empty,\n noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty";
662
+ /**
663
+ * @hidden
664
+ * @deprecated
665
+ */
666
+ var inlineEmptyNodes = "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
667
 
623
668
  /**
624
669
  * Rich Text Editor classes defined here.
@@ -1163,6 +1208,11 @@ var CLS_RTE_FIXED_TB_EXPAND = 'e-rte-fixed-tb-expand';
1163
1208
  * @deprecated
1164
1209
  */
1165
1210
  var CLS_RTE_TB_ENABLED = 'e-rte-toolbar-enabled';
1211
+ /**
1212
+ * @hidden
1213
+ * @deprecated
1214
+ */
1215
+ var CLS_RTE_RES_WEST = 'e-south-west';
1166
1216
 
1167
1217
  /**
1168
1218
  * Defines types of Render
@@ -2308,7 +2358,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2308
2358
  result = getDropDownValue(formatItems$$1, value, 'subCommand', 'text');
2309
2359
  dropDown.formatDropDown.content = ('<span style="display: inline-flex;' +
2310
2360
  'width:' + e.parent.format.width + '" >' +
2311
- '<span class="e-rte-dropdown-btn-text">'
2361
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2312
2362
  + (isNullOrUndefined(result) ? formatContent : result) +
2313
2363
  '</span></span>');
2314
2364
  dropDown.formatDropDown.dataBind();
@@ -2338,7 +2388,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2338
2388
  e.tbElements[j].title = name_1;
2339
2389
  dropDown.fontNameDropDown.content = ('<span style="display: inline-flex;' +
2340
2390
  'width:' + e.parent.fontFamily.width + '" >' +
2341
- '<span class="e-rte-dropdown-btn-text">'
2391
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2342
2392
  + name_1 + '</span></span>');
2343
2393
  dropDown.fontNameDropDown.dataBind();
2344
2394
  break;
@@ -2354,7 +2404,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2354
2404
  result = getDropDownValue(fontSizeItems, (value === '' ? fontSizeContent.replace(/\s/g, '') : value), 'value', 'text');
2355
2405
  dropDown.fontSizeDropDown.content = ('<span style="display: inline-flex;' +
2356
2406
  'width:' + e.parent.fontSize.width + '" >' +
2357
- '<span class="e-rte-dropdown-btn-text">'
2407
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2358
2408
  + getFormattedFontSize(result) + '</span></span>');
2359
2409
  dropDown.fontSizeDropDown.dataBind();
2360
2410
  break;
@@ -2545,9 +2595,13 @@ function updateTextNode(value, rteObj) {
2545
2595
  var previousParent = void 0;
2546
2596
  var insertElem = void 0;
2547
2597
  while (tempNode.firstChild) {
2548
- var emptyElem = tempNode.querySelectorAll(blockInlineEmptyNodes);
2549
- for (var i = 0; i < emptyElem.length; i++) {
2550
- emptyElem[i].innerHTML = '<br>';
2598
+ var emptyBlockElem = tempNode.querySelectorAll(blockEmptyNodes);
2599
+ for (var i = 0; i < emptyBlockElem.length; i++) {
2600
+ emptyBlockElem[i].innerHTML = '<br>';
2601
+ }
2602
+ var emptyInlineElem = tempNode.querySelectorAll(inlineEmptyNodes);
2603
+ for (var i = 0; i < emptyInlineElem.length; i++) {
2604
+ emptyInlineElem[i].innerHTML = '&ZeroWidthSpace;';
2551
2605
  }
2552
2606
  if (rteObj.enterKey !== 'BR' && ((tempNode.firstChild.nodeName === '#text' &&
2553
2607
  (tempNode.firstChild.textContent.indexOf('\n') < 0 || tempNode.firstChild.textContent.trim() !== '')) ||
@@ -2994,6 +3048,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
2994
3048
  var proxy = this;
2995
3049
  var css = CLS_RTE_ELEMENTS + ' ' + CLS_TB_BTN + ((this.parent.inlineMode) ? (' ' + CLS_INLINE_DROPDOWN) : '');
2996
3050
  css += (' ' + ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_DROPDOWN : CLS_FONT_COLOR_DROPDOWN));
3051
+ css += ' ' + this.parent.cssClass;
2997
3052
  var content = proxy.parent.createElement('span', { className: CLS_COLOR_CONTENT });
2998
3053
  var inlineEle = proxy.parent.createElement('span', { className: args.cssClass });
2999
3054
  var range;
@@ -3164,6 +3219,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3164
3219
  * @deprecated
3165
3220
  */
3166
3221
  ToolbarRenderer.prototype.renderColorPicker = function (args, item) {
3222
+ var _this = this;
3167
3223
  // eslint-disable-next-line
3168
3224
  var proxy = this;
3169
3225
  var value;
@@ -3181,6 +3237,14 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3181
3237
  beforeTileRender: function (args) {
3182
3238
  args.element.classList.add(CLS_COLOR_PALETTE);
3183
3239
  args.element.classList.add(CLS_CUSTOM_TILE);
3240
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
3241
+ var allClassName = _this.parent.cssClass.split(' ');
3242
+ for (var i = 0; i < allClassName.length; i++) {
3243
+ if (allClassName[i].trim() !== '') {
3244
+ args.element.classList.add(allClassName[i]);
3245
+ }
3246
+ }
3247
+ }
3184
3248
  if (args.value === '') {
3185
3249
  args.element.classList.add(CLS_NOCOLOR_ITEM);
3186
3250
  }
@@ -3195,8 +3259,9 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3195
3259
  proxy.parent.notify(selectionRestore, {});
3196
3260
  proxy.currentElement.querySelector('.' + CLS_RTE_ELEMENTS).style.borderBottomColor = colorpickerValue;
3197
3261
  var range = proxy.parent.formatter.editorManager.nodeSelection.getRange(proxy.parent.contentModule.getDocument());
3262
+ var closestElement = closest(range.startContainer.parentNode, 'table');
3198
3263
  if ((range.startContainer.nodeName === 'TD' || range.startContainer.nodeName === 'TH' || range.startContainer.nodeName === 'BODY' ||
3199
- closest(range.startContainer.parentNode, 'td,th')) && range.collapsed && args.subCommand === 'BackgroundColor') {
3264
+ closest(range.startContainer.parentNode, 'td,th')) && range.collapsed && args.subCommand === 'BackgroundColor' && closest(closestElement, '.' + CLS_RTE)) {
3200
3265
  proxy.parent.notify(tableColorPickerChanged, colorPickerArgs);
3201
3266
  }
3202
3267
  else {
@@ -3216,7 +3281,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3216
3281
  colorPicker.columns = (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns;
3217
3282
  colorPicker.presetColors = (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode :
3218
3283
  this.parent.fontColor.colorCode;
3219
- colorPicker.cssClass = (item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER;
3284
+ colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
3220
3285
  colorPicker.createElement = this.parent.createElement;
3221
3286
  colorPicker.appendTo(document.getElementById(args.target));
3222
3287
  return colorPicker;
@@ -4216,7 +4281,8 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4216
4281
  container: ((this.parent.inlineMode.enable) ? 'quick' : 'toolbar'),
4217
4282
  items: this.parent.toolbarSettings.items,
4218
4283
  mode: tBarMode,
4219
- target: ele
4284
+ target: ele,
4285
+ cssClass: this.parent.cssClass
4220
4286
  });
4221
4287
  if (this.parent.toolbarSettings.type === ToolbarType.Expand) {
4222
4288
  addClass([ele], ['e-rte-tb-mobile']);
@@ -4333,7 +4399,8 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4333
4399
  container: 'toolbar',
4334
4400
  items: this.parent.toolbarSettings.items,
4335
4401
  mode: this.getToolbarMode(),
4336
- target: this.tbElement
4402
+ target: this.tbElement,
4403
+ cssClass: this.parent.cssClass
4337
4404
  });
4338
4405
  if (!this.parent.inlineMode.enable) {
4339
4406
  if (this.parent.toolbarSettings.enableFloating) {
@@ -5073,10 +5140,18 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5073
5140
  var fontNode = _this.parent.createElement('input');
5074
5141
  fontNode.id = targetID;
5075
5142
  fontNode.classList.add(CLS_FONT_COLOR_TARGET);
5143
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
5144
+ var allClassName = _this.parent.cssClass.split(' ');
5145
+ for (var i = 0; i < allClassName.length; i++) {
5146
+ if (allClassName[i].trim() !== '') {
5147
+ fontNode.classList.add(allClassName[i]);
5148
+ }
5149
+ }
5150
+ }
5076
5151
  document.body.appendChild(fontNode);
5077
5152
  options = {
5078
5153
  cssClass: _this.tools[item.toLocaleLowerCase()].icon
5079
- + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS,
5154
+ + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS + ' ' + _this.parent.cssClass,
5080
5155
  value: _this.tools[item.toLocaleLowerCase()].value,
5081
5156
  command: _this.tools[item.toLocaleLowerCase()].command,
5082
5157
  subCommand: _this.tools[item.toLocaleLowerCase()].subCommand,
@@ -5092,10 +5167,18 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5092
5167
  var backNode = _this.parent.createElement('input');
5093
5168
  backNode.id = targetID;
5094
5169
  backNode.classList.add(CLS_BACKGROUND_COLOR_TARGET);
5170
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
5171
+ var allClassName = _this.parent.cssClass.split(' ');
5172
+ for (var i = 0; i < allClassName.length; i++) {
5173
+ if (allClassName[i].trim() !== '') {
5174
+ backNode.classList.add(allClassName[i]);
5175
+ }
5176
+ }
5177
+ }
5095
5178
  document.body.appendChild(backNode);
5096
5179
  options = {
5097
5180
  cssClass: _this.tools[item.toLocaleLowerCase()].icon
5098
- + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS,
5181
+ + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS + ' ' + _this.parent.cssClass,
5099
5182
  value: _this.tools[item.toLocaleLowerCase()].value,
5100
5183
  command: _this.tools[item.toLocaleLowerCase()].command,
5101
5184
  subCommand: _this.tools[item.toLocaleLowerCase()].subCommand,
@@ -5168,8 +5251,8 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5168
5251
  dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass + ' ' + e.cssClass).trim() });
5169
5252
  }
5170
5253
  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() });
5254
+ colorPickerObj.setProperties({ cssClass: (colorPickerObj.cssClass.replace(e.oldCssClass, '').replace(' ', ' ').trim() + ' ' + e.cssClass).trim() });
5255
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass.replace(e.oldCssClass, '').replace(' ', ' ').trim() + ' ' + e.cssClass).trim() });
5173
5256
  }
5174
5257
  }
5175
5258
  };
@@ -6637,18 +6720,18 @@ function updateTextNode$1(value) {
6637
6720
  tdElm[j].style.removeProperty('border');
6638
6721
  }
6639
6722
  }
6640
- if (!tableElm[i].classList.contains(CLS_TABLE)) {
6641
- tableElm[i].classList.add(CLS_TABLE);
6723
+ if (!tableElm[i].classList.contains('e-rte-table')) {
6724
+ tableElm[i].classList.add('e-rte-table');
6642
6725
  }
6643
6726
  }
6644
6727
  var imageElm = resultElm.querySelectorAll('img');
6645
6728
  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);
6729
+ if (!imageElm[i].classList.contains('e-rte-image')) {
6730
+ imageElm[i].classList.add('e-rte-image');
6648
6731
  }
6649
- if (!(imageElm[i].classList.contains(CLS_IMGINLINE) ||
6650
- imageElm[i].classList.contains(CLS_IMGBREAK))) {
6651
- imageElm[i].classList.add(CLS_IMGINLINE);
6732
+ if (!(imageElm[i].classList.contains('e-imginline') ||
6733
+ imageElm[i].classList.contains('e-imgbreak'))) {
6734
+ imageElm[i].classList.add('e-imginline');
6652
6735
  }
6653
6736
  }
6654
6737
  }
@@ -7110,7 +7193,7 @@ var Formatter = /** @__PURE__ @class */ (function () {
7110
7193
  }
7111
7194
  self.trigger(actionComplete, events, function (callbackArgs) {
7112
7195
  self.setPlaceHolder();
7113
- if (callbackArgs.requestType === 'Images' || callbackArgs.requestType === 'Links' && self.editorMode === 'HTML') {
7196
+ if ((callbackArgs.requestType === 'Images' || callbackArgs.requestType === 'Links') && self.editorMode === 'HTML') {
7114
7197
  var args = callbackArgs;
7115
7198
  if (callbackArgs.requestType === 'Links' && callbackArgs.event &&
7116
7199
  callbackArgs.event.type === 'keydown' &&
@@ -7214,6 +7297,12 @@ var CLEAR_COMMAND = 'clear-commands';
7214
7297
  * @hidden
7215
7298
  */
7216
7299
  var MD_TABLE = 'insert-table';
7300
+ /**
7301
+ * insertText plugin events
7302
+ *
7303
+ * @hidden
7304
+ */
7305
+ var INSERT_TEXT_COMMAND = 'insert-text';
7217
7306
 
7218
7307
  /**
7219
7308
  * Lists internal component
@@ -8950,6 +9039,56 @@ var ClearFormat = /** @__PURE__ @class */ (function () {
8950
9039
  return ClearFormat;
8951
9040
  }());
8952
9041
 
9042
+ /**
9043
+ * Link internal component
9044
+ *
9045
+ * @hidden
9046
+ * @deprecated
9047
+ */
9048
+ var MDInsertText = /** @__PURE__ @class */ (function () {
9049
+ /**
9050
+ * Constructor for creating the insert text plugin
9051
+ *
9052
+ * @param {MarkdownParser} parent - specifies the parent element
9053
+ * @hidden
9054
+ * @deprecated
9055
+ */
9056
+ function MDInsertText(parent) {
9057
+ this.parent = parent;
9058
+ this.selection = this.parent.markdownSelection;
9059
+ this.addEventListener();
9060
+ }
9061
+ MDInsertText.prototype.addEventListener = function () {
9062
+ this.parent.observer.on(INSERT_TEXT_COMMAND, this.InsertTextExec, this);
9063
+ };
9064
+ MDInsertText.prototype.InsertTextExec = function (e) {
9065
+ var textArea = this.parent.element;
9066
+ textArea.focus();
9067
+ var start = textArea.selectionStart;
9068
+ var end = textArea.selectionEnd;
9069
+ var text = e.value.text;
9070
+ var startOffset = start + text.length;
9071
+ var endOffset = end + text.length;
9072
+ textArea.value = textArea.value.substr(0, start)
9073
+ + text + textArea.value.substr(end, textArea.value.length);
9074
+ this.parent.markdownSelection.setSelection(textArea, startOffset, endOffset);
9075
+ this.restore(textArea, startOffset, endOffset, e);
9076
+ };
9077
+ MDInsertText.prototype.restore = function (textArea, start, end, event) {
9078
+ this.selection.save(start, end);
9079
+ this.selection.restore(textArea);
9080
+ if (event && event.callBack) {
9081
+ event.callBack({
9082
+ requestType: event.subCommand,
9083
+ selectedText: this.selection.getSelectedText(textArea),
9084
+ editorMode: 'Markdown',
9085
+ event: event.event
9086
+ });
9087
+ }
9088
+ };
9089
+ return MDInsertText;
9090
+ }());
9091
+
8953
9092
  /**
8954
9093
  * MarkdownParser internal component
8955
9094
  *
@@ -8976,6 +9115,7 @@ var MarkdownParser = /** @__PURE__ @class */ (function () {
8976
9115
  this.linkObj = new MDLink(this);
8977
9116
  this.tableObj = new MDTable({ parent: this, syntaxTag: ({ Formats: this.formatTags, List: this.listTags }) });
8978
9117
  this.clearObj = new ClearFormat(this);
9118
+ this.insertTextObj = new MDInsertText(this);
8979
9119
  this.wireEvents();
8980
9120
  }
8981
9121
  MarkdownParser.prototype.initialize = function () {
@@ -9042,6 +9182,10 @@ var MarkdownParser = /** @__PURE__ @class */ (function () {
9042
9182
  case 'clear':
9043
9183
  this.observer.notify(CLEAR_COMMAND, { subCommand: value, event: event, callBack: callBack });
9044
9184
  break;
9185
+ case 'inserttext':
9186
+ this.observer.notify(INSERT_TEXT_COMMAND, { subCommand: value, event: event, callBack: callBack,
9187
+ value: { text: exeValue } });
9188
+ break;
9045
9189
  }
9046
9190
  };
9047
9191
  return MarkdownParser;
@@ -9134,7 +9278,8 @@ var MarkdownRender = /** @__PURE__ @class */ (function () {
9134
9278
  var div = this.parent.createElement('div', { id: this.parent.getID() + '_view', className: 'e-rte-content' });
9135
9279
  this.editableElement = this.parent.createElement('textarea', {
9136
9280
  className: 'e-content',
9137
- id: this.parent.getID() + '_editable-content'
9281
+ id: this.parent.getID() + '_editable-content',
9282
+ attrs: { 'aria-labelledby': this.parent.getID() + '_view' }
9138
9283
  });
9139
9284
  div.appendChild(this.editableElement);
9140
9285
  this.setPanel(div);
@@ -10851,6 +10996,8 @@ var Lists = /** @__PURE__ @class */ (function () {
10851
10996
  var endNode = this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
10852
10997
  startNode = startNode.nodeName === 'BR' ? startNode.parentElement : startNode;
10853
10998
  endNode = endNode.nodeName === 'BR' ? endNode.parentElement : endNode;
10999
+ startNode = startNode.nodeName !== 'LI' && !isNullOrUndefined(startNode.closest('LI')) ? startNode.closest('LI') : startNode;
11000
+ endNode = endNode.nodeName !== 'LI' && !isNullOrUndefined(endNode.closest('LI')) ? endNode.closest('LI') : endNode;
10854
11001
  if (((range.commonAncestorContainer.nodeName === 'OL' || range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'LI') &&
10855
11002
  isNullOrUndefined(endNode.nextElementSibling) && endNode.textContent.length === range.endOffset &&
10856
11003
  isNullOrUndefined(startNode.previousElementSibling) && range.startOffset === 0) ||
@@ -11224,7 +11371,7 @@ var Lists = /** @__PURE__ @class */ (function () {
11224
11371
  }
11225
11372
  };
11226
11373
  Lists.prototype.applyLists = function (elements, type, selector, item, e) {
11227
- if (this.isRevert(elements, type) && isNullOrUndefined(item)) {
11374
+ if (this.isRevert(elements, type, item) && isNullOrUndefined(item)) {
11228
11375
  this.revertList(elements, e);
11229
11376
  this.removeEmptyListElements();
11230
11377
  }
@@ -11287,13 +11434,14 @@ var Lists = /** @__PURE__ @class */ (function () {
11287
11434
  }
11288
11435
  }
11289
11436
  };
11290
- Lists.prototype.isRevert = function (nodes, tagName) {
11437
+ Lists.prototype.isRevert = function (nodes, tagName, item) {
11291
11438
  var isRevert = true;
11292
11439
  for (var i = 0; i < nodes.length; i++) {
11293
11440
  if (nodes[i].tagName !== 'LI') {
11294
11441
  return false;
11295
11442
  }
11296
- if (nodes[i].parentNode.tagName !== tagName) {
11443
+ if (nodes[i].parentNode.tagName !== tagName ||
11444
+ isNullOrUndefined(item) && nodes[i].parentNode.style.listStyleType !== '') {
11297
11445
  isRevert = false;
11298
11446
  }
11299
11447
  }
@@ -11316,6 +11464,12 @@ var Lists = /** @__PURE__ @class */ (function () {
11316
11464
  (nodes[i].tagName === 'LI' && node.tagName === tagName && nodesTemp.indexOf(node) < 0 && item !== null)) {
11317
11465
  nodesTemp.push(node);
11318
11466
  }
11467
+ if (isNullOrUndefined(item) && (node.tagName === tagName ||
11468
+ ((node.tagName === 'UL' || node.tagName === 'OL') && node.hasAttribute('style')))) {
11469
+ if (node.hasAttribute('style')) {
11470
+ node.removeAttribute('style');
11471
+ }
11472
+ }
11319
11473
  }
11320
11474
  for (var j = nodesTemp.length - 1; j >= 0; j--) {
11321
11475
  var h = nodesTemp[j];
@@ -11417,7 +11571,8 @@ var Lists = /** @__PURE__ @class */ (function () {
11417
11571
  }
11418
11572
  }
11419
11573
  }
11420
- if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName) {
11574
+ if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName || 'OL' === parentNode.parentNode.tagName ||
11575
+ 'UL' === parentNode.parentNode.tagName) {
11421
11576
  element.parentNode.insertBefore(this.closeTag('LI'), element);
11422
11577
  }
11423
11578
  else {
@@ -12383,7 +12538,9 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12383
12538
  var isPreviousInlineElem = void 0;
12384
12539
  var paraElm = void 0;
12385
12540
  var previousParent = void 0;
12386
- range.deleteContents();
12541
+ if (!this.contentsDeleted) {
12542
+ range.deleteContents();
12543
+ }
12387
12544
  while (node.firstChild) {
12388
12545
  if (node.firstChild.nodeName === '#text' && node.firstChild.textContent.trim() === '') {
12389
12546
  detach(node.firstChild);
@@ -12511,9 +12668,28 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12511
12668
  var nodeSelection = new NodeSelection();
12512
12669
  var currentNode = this.getNodeCollection(range, nodeSelection, node)[this.getNodeCollection(range, nodeSelection, node).length - 1];
12513
12670
  var splitedElm = void 0;
12514
- if ((currentNode.nodeName === 'BR' || currentNode.nodeName === 'HR') && !isNullOrUndefined(currentNode.parentElement) &&
12515
- currentNode.parentElement.textContent.trim().length === 0) {
12671
+ if ((currentNode.nodeName === 'BR' || currentNode.nodeName === 'HR' ||
12672
+ (currentNode.nodeName === '#text' && !isNullOrUndefined(currentNode.parentElement) && currentNode.parentElement.nodeName === 'LI')) &&
12673
+ (!isNullOrUndefined(currentNode.parentElement) && currentNode.parentElement.textContent.trim().length === 0)) {
12516
12674
  splitedElm = currentNode;
12675
+ if (currentNode.parentElement.nodeName === 'LI' && !isNullOrUndefined(currentNode.nextSibling) &&
12676
+ currentNode.nextSibling.nodeName === 'BR') {
12677
+ detach(currentNode.nextSibling);
12678
+ }
12679
+ }
12680
+ else if (currentNode.nodeName === '#text' && !isNullOrUndefined(currentNode.parentElement) &&
12681
+ currentNode.parentElement.nodeName === 'LI' && currentNode.parentElement.textContent.trim().length > 0) {
12682
+ splitedElm = currentNode;
12683
+ if (currentNode.parentElement.nodeName === 'LI' && !isNullOrUndefined(currentNode.nextSibling) &&
12684
+ currentNode.nextSibling.nodeName === 'BR') {
12685
+ detach(currentNode.nextSibling);
12686
+ }
12687
+ if (!range.collapsed) {
12688
+ range.deleteContents();
12689
+ }
12690
+ range.insertNode(node);
12691
+ this.contentsDeleted = true;
12692
+ return;
12517
12693
  }
12518
12694
  else {
12519
12695
  splitedElm = nodeCutter.GetSpliceNode(range, blockNode);
@@ -12600,6 +12776,7 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12600
12776
  'ins', 'kbd', 'label', 'map', 'mark', 'meter', 'noscript', 'object', 'output', 'picture', 'progress',
12601
12777
  'q', 'ruby', 's', 'samp', 'script', 'select', 'slot', 'small', 'span', 'strong', 'sub', 'sup', 'svg',
12602
12778
  'template', 'textarea', 'time', 'u', 'tt', 'var', 'video', 'wbr'];
12779
+ InsertHtml.contentsDeleted = false;
12603
12780
  return InsertHtml;
12604
12781
  }());
12605
12782
 
@@ -17204,7 +17381,7 @@ var __extends$3 = (undefined && undefined.__extends) || (function () {
17204
17381
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17205
17382
  };
17206
17383
  })();
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>";
17384
+ 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
17385
  /**
17209
17386
  * Content module is used to render Rich Text Editor content
17210
17387
  *
@@ -19106,9 +19283,10 @@ var Resize = /** @__PURE__ @class */ (function () {
19106
19283
  this.parent.on(destroy, this.destroy, this);
19107
19284
  };
19108
19285
  Resize.prototype.renderResizable = function () {
19286
+ var enableRtlClass = (this.parent.enableRtl) ? CLS_RTE_RES_WEST : CLS_RTE_RES_EAST;
19109
19287
  this.resizer = this.parent.createElement('div', {
19110
19288
  id: this.parent.getID() + '-resizable', className: 'e-icons'
19111
- + ' ' + CLS_RTE_RES_HANDLE + ' ' + CLS_RTE_RES_EAST
19289
+ + ' ' + CLS_RTE_RES_HANDLE + ' ' + enableRtlClass
19112
19290
  });
19113
19291
  this.parent.element.classList.add(CLS_RTE_RES_CNT);
19114
19292
  this.parent.element.appendChild(this.resizer);
@@ -19141,12 +19319,12 @@ var Resize = /** @__PURE__ @class */ (function () {
19141
19319
  var boundRect = this.parent.element.getBoundingClientRect();
19142
19320
  if (this.isMouseEvent(e)) {
19143
19321
  this.parent.element.style.height = e.clientY - boundRect.top + 'px';
19144
- this.parent.element.style.width = e.clientX - boundRect.left + 'px';
19322
+ this.parent.element.style.width = (!this.parent.enableRtl) ? e.clientX - boundRect.left + 'px' : boundRect.right - e.clientX + 'px';
19145
19323
  }
19146
19324
  else {
19147
19325
  var eventType = Browser.info.name !== 'msie' ? e.touches[0] : e;
19148
19326
  this.parent.element.style.height = eventType.clientY - boundRect.top + 'px';
19149
- this.parent.element.style.width = eventType.clientX - boundRect.left + 'px';
19327
+ this.parent.element.style.width = (!this.parent.enableRtl) ? e.clientX - boundRect.left + 'px' : boundRect.right - e.clientX + 'px';
19150
19328
  }
19151
19329
  if (!this.parent.toolbarSettings.enable) {
19152
19330
  this.parent.setContentHeight('', false);
@@ -19499,7 +19677,8 @@ var FullScreen = /** @__PURE__ @class */ (function () {
19499
19677
  }
19500
19678
  _this.parent.element.classList.add(CLS_FULL_SCREEN);
19501
19679
  _this.toggleParentOverflow(true);
19502
- _this.parent.setContentHeight();
19680
+ var isExpand = _this.parent.element.querySelectorAll('.e-toolbar-extended.e-popup-open').length > 0 ? true : false;
19681
+ _this.parent.setContentHeight(null, isExpand);
19503
19682
  if (_this.parent.toolbarModule) {
19504
19683
  if (!_this.parent.getBaseToolbarObject().toolbarObj.items[0].properties) {
19505
19684
  _this.parent.getBaseToolbarObject().toolbarObj.removeItems(0);
@@ -19546,7 +19725,8 @@ var FullScreen = /** @__PURE__ @class */ (function () {
19546
19725
  for (var i = 0; i < elem.length; i++) {
19547
19726
  removeClass([elem[i]], ['e-rte-overflow']);
19548
19727
  }
19549
- _this.parent.setContentHeight();
19728
+ var isExpand = _this.parent.element.querySelectorAll('.e-toolbar-extended.e-popup-open').length > 0 ? true : false;
19729
+ _this.parent.setContentHeight(null, isExpand);
19550
19730
  if (_this.parent.toolbarModule) {
19551
19731
  if (!_this.parent.getBaseToolbarObject().toolbarObj.items[0].properties) {
19552
19732
  _this.parent.getBaseToolbarObject().toolbarObj.removeItems(0);
@@ -20023,22 +20203,22 @@ var Link = /** @__PURE__ @class */ (function () {
20023
20203
  var textPlace = this.i10n.getConstant('textPlaceholder');
20024
20204
  var title = this.i10n.getConstant('linkTitle');
20025
20205
  var linkDialogEle = this.parent.createElement('div', {
20026
- className: 'e-rte-link-dialog', id: this.rteID + '_rtelink'
20206
+ className: 'e-rte-link-dialog' + ' ' + this.parent.cssClass, id: this.rteID + '_rtelink'
20027
20207
  });
20028
20208
  this.parent.element.appendChild(linkDialogEle);
20029
20209
  var linkContent = this.parent.createElement('div', {
20030
- className: 'e-rte-linkcontent', id: this.rteID + '_linkContent'
20210
+ className: 'e-rte-linkcontent' + ' ' + this.parent.cssClass, id: this.rteID + '_linkContent'
20031
20211
  });
20032
20212
  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;
20213
+ '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20214
+ '<input type="text" data-role ="none" spellcheck="false" placeholder = "' + title + '" class="e-input e-rte-linkTitle' + ' ' + this.parent.cssClass + '"></div>' +
20215
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20216
+ '<input type="checkbox" class="e-rte-linkTarget' + ' ' + this.parent.cssClass + '" data-role ="none"></div>' : '';
20217
+ var content = '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"><label>' + linkWebAddress + '</label></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20218
+ '<input type="text" data-role ="none" spellcheck="false" placeholder="' + urlPlace + '" class="e-input e-rte-linkurl' + ' ' + this.parent.cssClass + '"/></div>' +
20219
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + '<label>' + linkDisplayText + '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"> ' +
20220
+ '<input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText' + ' ' + this.parent.cssClass + '" placeholder="' + textPlace + '">' +
20221
+ '</div><div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + htmlTextbox;
20042
20222
  var contentElem = parseHtml(content);
20043
20223
  linkContent.appendChild(contentElem);
20044
20224
  var linkTarget = linkContent.querySelector('.e-rte-linkTarget');
@@ -20066,9 +20246,9 @@ var Link = /** @__PURE__ @class */ (function () {
20066
20246
  isModal: Browser.isDevice,
20067
20247
  buttons: [{
20068
20248
  click: this.insertlink.bind(selectObj),
20069
- buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink', isPrimary: true }
20249
+ buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink' + ' ' + this.parent.cssClass, isPrimary: true }
20070
20250
  },
20071
- { click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat', content: linkCancel } }],
20251
+ { click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat' + ' ' + this.parent.cssClass, content: linkCancel } }],
20072
20252
  target: (Browser.isDevice) ? document.body : this.parent.element,
20073
20253
  animationSettings: { effect: 'None' },
20074
20254
  close: function (event) {
@@ -20212,8 +20392,10 @@ var Link = /** @__PURE__ @class */ (function () {
20212
20392
  if (this.parent.formatter.getUndoRedoStack().length === 0) {
20213
20393
  this.parent.formatter.saveData();
20214
20394
  }
20395
+ var selectParentEle = this.getAnchorNode(e.selectParent[0]);
20215
20396
  this.parent.formatter.process(this.parent, e.args, e.args, {
20216
20397
  selectNode: e.selectNode, selectParent: e.selectParent, selection: e.selection,
20398
+ text: selectParentEle.innerText,
20217
20399
  subCommand: e.args.item.subCommand
20218
20400
  });
20219
20401
  if (isIDevice$1() && this.parent.iframeSettings.enable) {
@@ -20228,7 +20410,7 @@ var Link = /** @__PURE__ @class */ (function () {
20228
20410
  var selectParentEle = this.getAnchorNode(e.selectParent[0]);
20229
20411
  if (selectParentEle.classList.contains('e-rte-anchor') || selectParentEle.tagName === 'A') {
20230
20412
  this.parent.formatter.process(this.parent, e.args, e.args, {
20231
- url: selectParentEle.href,
20413
+ url: selectParentEle.href, text: selectParentEle.innerText,
20232
20414
  target: selectParentEle.target === '' ? '_self' : '_blank', selectNode: e.selectNode,
20233
20415
  subCommand: e.args.item.subCommand
20234
20416
  });
@@ -20310,6 +20492,7 @@ var Image = /** @__PURE__ @class */ (function () {
20310
20492
  this.isAllowedTypes = true;
20311
20493
  this.pageX = null;
20312
20494
  this.pageY = null;
20495
+ this.mousex = null;
20313
20496
  this.deletedImg = [];
20314
20497
  this.parent = parent;
20315
20498
  this.rteID = parent.element.id;
@@ -20548,18 +20731,18 @@ var Image = /** @__PURE__ @class */ (function () {
20548
20731
  this.resizeBtnInit();
20549
20732
  this.imgEle = e;
20550
20733
  addClass([this.imgEle], 'e-resize');
20551
- this.imgResizeDiv = this.parent.createElement('span', { className: 'e-img-resize', id: this.rteID + '_imgResize' });
20734
+ this.imgResizeDiv = this.parent.createElement('span', { className: 'e-img-resize' + ' ' + this.parent.cssClass, id: this.rteID + '_imgResize' });
20552
20735
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20553
- className: 'e-rte-imageboxmark e-rte-topLeft', styles: 'cursor: nwse-resize'
20736
+ className: 'e-rte-imageboxmark e-rte-topLeft' + ' ' + this.parent.cssClass, styles: 'cursor: nwse-resize'
20554
20737
  }));
20555
20738
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20556
- className: 'e-rte-imageboxmark e-rte-topRight', styles: 'cursor: nesw-resize'
20739
+ className: 'e-rte-imageboxmark e-rte-topRight' + ' ' + this.parent.cssClass, styles: 'cursor: nesw-resize'
20557
20740
  }));
20558
20741
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20559
- className: 'e-rte-imageboxmark e-rte-botLeft', styles: 'cursor: nesw-resize'
20742
+ className: 'e-rte-imageboxmark e-rte-botLeft' + ' ' + this.parent.cssClass, styles: 'cursor: nesw-resize'
20560
20743
  }));
20561
20744
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20562
- className: 'e-rte-imageboxmark e-rte-botRight', styles: 'cursor: nwse-resize'
20745
+ className: 'e-rte-imageboxmark e-rte-botRight' + ' ' + this.parent.cssClass, styles: 'cursor: nwse-resize'
20563
20746
  }));
20564
20747
  if (Browser.isDevice) {
20565
20748
  addClass([this.imgResizeDiv], 'e-mob-rte');
@@ -20646,8 +20829,9 @@ var Image = /** @__PURE__ @class */ (function () {
20646
20829
  img.style.minWidth = this.parent.insertImageSettings.minWidth === 0 ? '20px' : formatUnit(this.parent.insertImageSettings.minWidth);
20647
20830
  if (this.parent.insertImageSettings.resizeByPercent) {
20648
20831
  if (parseInt('' + img.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
20649
- var percentageValue = this.pixToPerc((width / height * expectedY), (img.previousElementSibling || img.parentElement));
20650
- img.style.width = Math.min(Math.round((percentageValue / img.getBoundingClientRect().width) * expectedX * 100) / 100, 100) + '%';
20832
+ var original = img.offsetWidth + this.mousex;
20833
+ var finalWidthByPerc = (original / img.offsetWidth) * (parseFloat(img.style.width).toString() == 'NaN' ? (img.offsetWidth / (parseFloat(getComputedStyle(this.parent.element).width)) * 100) : parseFloat(img.style.width));
20834
+ img.style.width = ((finalWidthByPerc > 3) ? finalWidthByPerc : 3) + '%';
20651
20835
  }
20652
20836
  else {
20653
20837
  img.style.width = this.pixToPerc((width / height * expectedY), (img.previousElementSibling || img.parentElement)) + '%';
@@ -20670,13 +20854,20 @@ var Image = /** @__PURE__ @class */ (function () {
20670
20854
  img.style.height = expectedY + 'px';
20671
20855
  }
20672
20856
  else {
20673
- img.setAttribute('width', ((width / height * expectedY) + width / height).toString());
20857
+ if (this.parent.iframeSettings.enable) {
20858
+ img.setAttribute('width', (img.width + this.mousex).toString());
20859
+ }
20860
+ else {
20861
+ img.setAttribute('width', (img.offsetWidth + this.mousex).toString());
20862
+ }
20674
20863
  }
20675
20864
  }
20676
20865
  else if (height > width) {
20677
20866
  if (this.parent.insertImageSettings.resizeByPercent) {
20678
20867
  if (parseInt('' + img.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
20679
- img.style.width = Math.min(Math.round((width / img.getBoundingClientRect().width) * expectedX * 100) / 100, 100) + '%';
20868
+ var original = img.offsetWidth + this.mousex;
20869
+ var finalWidthByPerc = (original / img.offsetWidth) * (parseFloat(img.style.width).toString() == 'NaN' ? (img.offsetWidth / (parseFloat(getComputedStyle(this.parent.element).width)) * 100) : parseFloat(img.style.width));
20870
+ img.style.width = ((finalWidthByPerc > 3) ? finalWidthByPerc : 3) + '%';
20680
20871
  }
20681
20872
  else {
20682
20873
  img.style.width = this.pixToPerc((expectedX / height * expectedY), (img.previousElementSibling || img.parentElement)) + '%';
@@ -20743,6 +20934,7 @@ var Image = /** @__PURE__ @class */ (function () {
20743
20934
  var mouseY = (this.resizeBtnStat.topLeft || this.resizeBtnStat.topRight) ? -(pageY - this.pageY) : (pageY - this.pageY);
20744
20935
  var width = parseInt(this.imgDupPos.width, 10) + mouseX;
20745
20936
  var height = parseInt(this.imgDupPos.height, 10) + mouseY;
20937
+ this.mousex = mouseX;
20746
20938
  this.pageX = pageX;
20747
20939
  this.pageY = pageY;
20748
20940
  if (this.resizeBtnStat.botRight) {
@@ -21224,12 +21416,12 @@ var Image = /** @__PURE__ @class */ (function () {
21224
21416
  }
21225
21417
  this.imagDialog(e);
21226
21418
  if (!isNullOrUndefined(this.dialogObj)) {
21227
- var linkWrap = this.parent.createElement('div', { className: 'e-img-linkwrap' });
21419
+ var linkWrap = this.parent.createElement('div', { className: 'e-img-linkwrap' + ' ' + this.parent.cssClass });
21228
21420
  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>' +
21421
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
21422
+ '<input type="text" data-role ="none" class="e-input e-img-link' + ' ' + this.parent.cssClass + '" spellcheck="false" placeholder="' + linkUrl + '"/></div>' +
21231
21423
  '<div class="e-rte-label"></div>' + '<div class="e-rte-field">' +
21232
- '<input type="checkbox" class="e-rte-linkTarget" data-role ="none"></div>';
21424
+ '<input type="checkbox" class="e-rte-linkTarget' + ' ' + this.parent.cssClass + '" data-role ="none"></div>';
21233
21425
  var contentElem = parseHtml(content);
21234
21426
  linkWrap.appendChild(contentElem);
21235
21427
  var linkTarget = linkWrap.querySelector('.e-rte-linkTarget');
@@ -21268,9 +21460,10 @@ var Image = /** @__PURE__ @class */ (function () {
21268
21460
  _this.insertlink(linkargs_1);
21269
21461
  },
21270
21462
  buttonModel: {
21271
- content: linkUpdate, cssClass: 'e-flat e-update-link', isPrimary: true
21463
+ content: linkUpdate, cssClass: 'e-flat e-update-link' + ' ' + this.parent.cssClass, isPrimary: true
21272
21464
  }
21273
- }]
21465
+ }],
21466
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-link-dialog'
21274
21467
  });
21275
21468
  if (!isNullOrUndefined(this.parent.cssClass)) {
21276
21469
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -21293,13 +21486,13 @@ var Image = /** @__PURE__ @class */ (function () {
21293
21486
  this.imagDialog(e);
21294
21487
  var altText = this.i10n.getConstant('altText');
21295
21488
  if (!isNullOrUndefined(this.dialogObj)) {
21296
- var altWrap = this.parent.createElement('div', { className: 'e-img-altwrap' });
21489
+ var altWrap = this.parent.createElement('div', { className: 'e-img-altwrap' + ' ' + this.parent.cssClass });
21297
21490
  var altHeader = this.i10n.getConstant('alternateHeader');
21298
21491
  var linkUpdate = this.i10n.getConstant('dialogUpdate');
21299
21492
  var getAlt = (e.selectNode[0].getAttribute('alt') === null) ? '' :
21300
21493
  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 + '"/>' +
21494
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
21495
+ '<input type="text" spellcheck="false" value="' + getAlt + '" class="e-input e-img-alt' + ' ' + this.parent.cssClass + '" placeholder="' + altText + '"/>' +
21303
21496
  '</div>';
21304
21497
  var contentElem = parseHtml(content);
21305
21498
  altWrap.appendChild(contentElem);
@@ -21316,9 +21509,10 @@ var Image = /** @__PURE__ @class */ (function () {
21316
21509
  _this.insertAlt(altArgs_1);
21317
21510
  },
21318
21511
  buttonModel: {
21319
- content: linkUpdate, cssClass: 'e-flat e-update-alt', isPrimary: true
21512
+ content: linkUpdate, cssClass: 'e-flat e-update-alt' + ' ' + this.parent.cssClass, isPrimary: true
21320
21513
  }
21321
- }]
21514
+ }],
21515
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-alt-dialog'
21322
21516
  });
21323
21517
  if (!isNullOrUndefined(this.parent.cssClass)) {
21324
21518
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -21482,11 +21676,11 @@ var Image = /** @__PURE__ @class */ (function () {
21482
21676
  }
21483
21677
  else {
21484
21678
  this.captionEle = this.parent.createElement('span', {
21485
- className: CLS_CAPTION + ' ' + CLS_RTE_CAPTION,
21679
+ className: CLS_CAPTION + ' ' + CLS_RTE_CAPTION + ' ' + this.parent.cssClass,
21486
21680
  attrs: { contenteditable: 'false', draggable: 'false', style: 'width:' + this.parent.insertImageSettings.width }
21487
21681
  });
21488
- var imgWrap = this.parent.createElement('span', { className: 'e-img-wrap' });
21489
- var imgInner = this.parent.createElement('span', { className: 'e-img-inner',
21682
+ var imgWrap = this.parent.createElement('span', { className: 'e-img-wrap' + ' ' + this.parent.cssClass });
21683
+ var imgInner = this.parent.createElement('span', { className: 'e-img-inner' + ' ' + this.parent.cssClass,
21490
21684
  attrs: { contenteditable: 'true' } });
21491
21685
  var parent_1 = e.selectNode[0].parentElement;
21492
21686
  if (parent_1.tagName === 'A') {
@@ -21539,9 +21733,10 @@ var Image = /** @__PURE__ @class */ (function () {
21539
21733
  _this.insertSize(selectObj_1);
21540
21734
  },
21541
21735
  buttonModel: {
21542
- content: linkUpdate, cssClass: 'e-flat e-update-size', isPrimary: true
21736
+ content: linkUpdate, cssClass: 'e-flat e-update-size' + ' ' + this.parent.cssClass, isPrimary: true
21543
21737
  }
21544
- }]
21738
+ }],
21739
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-size-dialog'
21545
21740
  });
21546
21741
  if (!isNullOrUndefined(this.parent.cssClass)) {
21547
21742
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -21584,7 +21779,7 @@ var Image = /** @__PURE__ @class */ (function () {
21584
21779
  this.dialogObj.hide({ returnValue: true });
21585
21780
  return;
21586
21781
  }
21587
- var imgDialog = this.parent.createElement('div', { className: 'e-rte-img-dialog', id: this.rteID + '_image' });
21782
+ var imgDialog = this.parent.createElement('div', { className: 'e-rte-img-dialog' + ' ' + this.parent.cssClass, id: this.rteID + '_image' });
21588
21783
  this.parent.element.appendChild(imgDialog);
21589
21784
  var imgInsert = this.i10n.getConstant('dialogInsert');
21590
21785
  var imglinkCancel = this.i10n.getConstant('dialogCancel');
@@ -21593,7 +21788,7 @@ var Image = /** @__PURE__ @class */ (function () {
21593
21788
  var selectObj = { selfImage: this, selection: e.selection, args: e.args, selectParent: e.selectParent };
21594
21789
  var dialogModel = {
21595
21790
  header: imgHeader,
21596
- cssClass: CLS_RTE_ELEMENTS,
21791
+ cssClass: CLS_RTE_ELEMENTS + ' ' + this.parent.cssClass,
21597
21792
  enableRtl: this.parent.enableRtl,
21598
21793
  locale: this.parent.locale,
21599
21794
  showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px', height: 'inherit',
@@ -21601,13 +21796,13 @@ var Image = /** @__PURE__ @class */ (function () {
21601
21796
  isModal: Browser.isDevice,
21602
21797
  buttons: [{
21603
21798
  click: this.insertImageUrl.bind(selectObj),
21604
- buttonModel: { content: imgInsert, cssClass: 'e-flat e-insertImage', isPrimary: true, disabled: true }
21799
+ buttonModel: { content: imgInsert, cssClass: 'e-flat e-insertImage' + ' ' + this.parent.cssClass, isPrimary: true, disabled: true }
21605
21800
  },
21606
21801
  {
21607
21802
  click: function (e) {
21608
21803
  _this.cancelDialog(e);
21609
21804
  },
21610
- buttonModel: { cssClass: 'e-flat e-cancel', content: imglinkCancel }
21805
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: imglinkCancel }
21611
21806
  }],
21612
21807
  target: (Browser.isDevice) ? document.body : this.parent.element,
21613
21808
  animationSettings: { effect: 'None' },
@@ -21630,12 +21825,12 @@ var Image = /** @__PURE__ @class */ (function () {
21630
21825
  _this.dialogObj = null;
21631
21826
  }
21632
21827
  };
21633
- var dialogContent = this.parent.createElement('div', { className: 'e-img-content' });
21828
+ var dialogContent = this.parent.createElement('div', { className: 'e-img-content' + ' ' + this.parent.cssClass });
21634
21829
  if ((!isNullOrUndefined(this.parent.insertImageSettings.path) && this.parent.editorMode === 'Markdown')
21635
21830
  || this.parent.editorMode === 'HTML') {
21636
21831
  dialogContent.appendChild(this.imgUpload(e));
21637
21832
  }
21638
- var linkHeader = this.parent.createElement('div', { className: 'e-linkheader' });
21833
+ var linkHeader = this.parent.createElement('div', { className: 'e-linkheader' + ' ' + this.parent.cssClass });
21639
21834
  var linkHeaderText = this.i10n.getConstant('imageLinkHeader');
21640
21835
  if (this.parent.editorMode === 'HTML') {
21641
21836
  linkHeader.innerHTML = linkHeaderText;
@@ -21707,7 +21902,8 @@ var Image = /** @__PURE__ @class */ (function () {
21707
21902
  }
21708
21903
  /* eslint-enable */
21709
21904
  }
21710
- if (!(this.parent.iframeSettings.enable && this.parent.currentTarget.nodeName === 'IMG') && e.target.tagName !== 'IMG' && this.imgResizeDiv && !(this.quickToolObj &&
21905
+ if (!(this.parent.iframeSettings.enable && !isNullOrUndefined(this.parent.currentTarget) && this.parent.currentTarget.nodeName === 'IMG') &&
21906
+ e.target.tagName !== 'IMG' && this.imgResizeDiv && !(this.quickToolObj &&
21711
21907
  this.quickToolObj.imageQTBar && this.quickToolObj.imageQTBar.element.contains(e.target)) &&
21712
21908
  this.contentModule.getEditPanel().contains(this.imgResizeDiv)) {
21713
21909
  this.cancelResizeAction();
@@ -21737,10 +21933,10 @@ var Image = /** @__PURE__ @class */ (function () {
21737
21933
  // eslint-disable-next-line
21738
21934
  Image.prototype.imageUrlPopup = function (e) {
21739
21935
  var _this = this;
21740
- var imgUrl = this.parent.createElement('div', { className: 'imgUrl' });
21936
+ var imgUrl = this.parent.createElement('div', { className: 'imgUrl' + ' ' + this.parent.cssClass });
21741
21937
  var placeUrl = this.i10n.getConstant('imageUrl');
21742
21938
  this.inputUrl = this.parent.createElement('input', {
21743
- className: 'e-input e-img-url',
21939
+ className: 'e-input e-img-url' + ' ' + this.parent.cssClass,
21744
21940
  attrs: { placeholder: placeUrl, spellcheck: 'false' }
21745
21941
  });
21746
21942
  this.inputUrl.addEventListener('input', function () {
@@ -21807,7 +22003,7 @@ var Image = /** @__PURE__ @class */ (function () {
21807
22003
  var selectNode = e.selectNode[0];
21808
22004
  var imgHeight = this.i10n.getConstant('imageHeight');
21809
22005
  var imgWidth = this.i10n.getConstant('imageWidth');
21810
- var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' });
22006
+ var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' + ' ' + this.parent.cssClass });
21811
22007
  var widthVal = isNullOrUndefined(this.changedWidthValue) && (selectNode.style.width.toString() === 'auto' ||
21812
22008
  selectNode.style.width !== '') ? selectNode.style.width : !isNullOrUndefined(this.changedWidthValue) ?
21813
22009
  this.changedWidthValue : (parseInt(selectNode.getClientRects()[0].width.toString(), 10)).toString();
@@ -21816,12 +22012,12 @@ var Image = /** @__PURE__ @class */ (function () {
21816
22012
  this.changedHeightValue : (parseInt(selectNode.getClientRects()[0].height.toString(), 10)).toString();
21817
22013
  this.changedWidthValue = null;
21818
22014
  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=' +
22015
+ var content = '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"><label>' + imgWidth +
22016
+ '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" id="imgwidth" class="e-img-width' + ' ' + this.parent.cssClass + '" value=' +
21821
22017
  widthVal
21822
22018
  + ' /></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=' +
22019
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + '<label>' + imgHeight + '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"> ' +
22020
+ '<input type="text" id="imgheight" class="e-img-height' + ' ' + this.parent.cssClass + '" value=' +
21825
22021
  heightVal
21826
22022
  + ' /></div>';
21827
22023
  var contentElem = parseHtml(content);
@@ -21911,16 +22107,16 @@ var Image = /** @__PURE__ @class */ (function () {
21911
22107
  save = e.selection;
21912
22108
  selectParent = e.selectParent;
21913
22109
  }
21914
- var uploadParentEle = this.parent.createElement('div', { className: 'e-img-uploadwrap e-droparea' });
22110
+ var uploadParentEle = this.parent.createElement('div', { className: 'e-img-uploadwrap e-droparea' + ' ' + this.parent.cssClass });
21915
22111
  var deviceImgUpMsg = this.i10n.getConstant('imageDeviceUploadMessage');
21916
22112
  var imgUpMsg = this.i10n.getConstant('imageUploadMessage');
21917
- var span = this.parent.createElement('span', { className: 'e-droptext' });
22113
+ var span = this.parent.createElement('span', { className: 'e-droptext' + ' ' + this.parent.cssClass });
21918
22114
  var spanMsg = this.parent.createElement('span', {
21919
- className: 'e-rte-upload-text', innerHTML: ((Browser.isDevice) ? deviceImgUpMsg : imgUpMsg)
22115
+ className: 'e-rte-upload-text' + ' ' + this.parent.cssClass, innerHTML: ((Browser.isDevice) ? deviceImgUpMsg : imgUpMsg)
21920
22116
  });
21921
22117
  span.appendChild(spanMsg);
21922
22118
  var btnEle = this.parent.createElement('button', {
21923
- className: 'e-browsebtn', id: this.rteID + '_insertImage', attrs: { autofocus: 'true', type: 'button' }
22119
+ className: 'e-browsebtn' + ' ' + this.parent.cssClass, id: this.rteID + '_insertImage', attrs: { autofocus: 'true', type: 'button' }
21924
22120
  });
21925
22121
  span.appendChild(btnEle);
21926
22122
  uploadParentEle.appendChild(span);
@@ -21932,7 +22128,7 @@ var Image = /** @__PURE__ @class */ (function () {
21932
22128
  var btnClick = (Browser.isDevice) ? span : btnEle;
21933
22129
  EventHandler.add(btnClick, 'click', this.fileSelect, this);
21934
22130
  var uploadEle = this.parent.createElement('input', {
21935
- id: this.rteID + '_upload', attrs: { type: 'File', name: 'UploadFiles' }
22131
+ id: this.rteID + '_upload', attrs: { type: 'File', name: 'UploadFiles' }, className: this.parent.cssClass
21936
22132
  });
21937
22133
  uploadParentEle.appendChild(uploadEle);
21938
22134
  var altText;
@@ -22622,7 +22818,7 @@ var ViewSource = /** @__PURE__ @class */ (function () {
22622
22818
  this.parent.formatter.editorManager.observer.off(KEY_DOWN_HANDLER, this.onKeyDown);
22623
22819
  };
22624
22820
  ViewSource.prototype.getSourceCode = function () {
22625
- return this.parent.createElement('textarea', { className: 'e-rte-srctextarea' });
22821
+ return this.parent.createElement('textarea', { className: 'e-rte-srctextarea' + ' ' + this.parent.cssClass });
22626
22822
  };
22627
22823
  ViewSource.prototype.wireEvent = function (element) {
22628
22824
  this.keyboardModule = new KeyboardEvents$1(element, {
@@ -22854,6 +23050,8 @@ var Table = /** @__PURE__ @class */ (function () {
22854
23050
  this.pageX = null;
22855
23051
  this.pageY = null;
22856
23052
  this.moveEle = null;
23053
+ this.currentColumnResize = '';
23054
+ this.currentMarginLeft = 0;
22857
23055
  this.parent = parent;
22858
23056
  this.rteID = parent.element.id;
22859
23057
  this.l10n = serviceLocator.getService('rteLocale');
@@ -23021,6 +23219,7 @@ var Table = /** @__PURE__ @class */ (function () {
23021
23219
  }
23022
23220
  else if (ele && ele.querySelectorAll('table').length > 0) {
23023
23221
  this.removeResizeElement();
23222
+ this.hideTableQuickToolbar();
23024
23223
  }
23025
23224
  }
23026
23225
  if (ele && ele.tagName !== 'TD' && ele.tagName !== 'TH') {
@@ -23397,7 +23596,7 @@ var Table = /** @__PURE__ @class */ (function () {
23397
23596
  };
23398
23597
  Table.prototype.tableResizeEleCreation = function (table, e) {
23399
23598
  this.parent.preventDefaultResize(e);
23400
- var columns = Array.prototype.slice.call(table.rows[this.calMaxCol(table)].cells, 1);
23599
+ var columns = table.rows[this.calMaxCol(table)].cells;
23401
23600
  var rows = [];
23402
23601
  for (var i = 0; i < table.rows.length; i++) {
23403
23602
  rows.push(Array.prototype.slice.call(table.rows[i].cells, 0, 1)[0]);
@@ -23405,15 +23604,21 @@ var Table = /** @__PURE__ @class */ (function () {
23405
23604
  var height = parseInt(getComputedStyle(table).height, 10);
23406
23605
  var width = parseInt(getComputedStyle(table).width, 10);
23407
23606
  var pos = this.calcPos(table);
23408
- for (var i = 0; columns.length > i; i++) {
23607
+ for (var i = 0; columns.length >= i; i++) {
23409
23608
  var colReEle = this.parent.createElement('span', {
23410
23609
  attrs: {
23411
- 'data-col': (i + 1).toString(), 'unselectable': 'on', 'contenteditable': 'false'
23610
+ 'data-col': (i).toString(), 'unselectable': 'on', 'contenteditable': 'false'
23412
23611
  }
23413
23612
  });
23414
23613
  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;';
23614
+ if (columns.length === i) {
23615
+ colReEle.style.cssText = 'height: ' + height + 'px; width: 4px; top: ' + pos.top +
23616
+ 'px; left:' + (pos.left + this.calcPos(columns[i - 1]).left + columns[i - 1].offsetWidth) + 'px;';
23617
+ }
23618
+ else {
23619
+ colReEle.style.cssText = 'height: ' + height + 'px; width: 4px; top: ' + pos.top +
23620
+ 'px; left:' + (pos.left + this.calcPos(columns[i]).left) + 'px;';
23621
+ }
23417
23622
  this.contentModule.getEditPanel().appendChild(colReEle);
23418
23623
  }
23419
23624
  for (var i = 0; rows.length > i; i++) {
@@ -23431,7 +23636,7 @@ var Table = /** @__PURE__ @class */ (function () {
23431
23636
  this.contentModule.getEditPanel().appendChild(rowReEle);
23432
23637
  }
23433
23638
  var tableReBox = this.parent.createElement('span', {
23434
- className: CLS_TB_BOX_RES, attrs: {
23639
+ className: CLS_TB_BOX_RES + ' ' + this.parent.cssClass, attrs: {
23435
23640
  'data-col': columns.length.toString(), 'unselectable': 'on', 'contenteditable': 'false'
23436
23641
  }
23437
23642
  });
@@ -23530,7 +23735,19 @@ var Table = /** @__PURE__ @class */ (function () {
23530
23735
  this.hideTableQuickToolbar();
23531
23736
  if (target.classList.contains(CLS_TB_COL_RES)) {
23532
23737
  this.resizeBtnStat.column = true;
23533
- this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10)];
23738
+ if (parseInt(target.getAttribute('data-col'), 10) === this.curTable.rows[this.calMaxCol(this.curTable)].cells.length) {
23739
+ this.currentColumnResize = 'last';
23740
+ this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10) - 1];
23741
+ }
23742
+ else {
23743
+ if (parseInt(target.getAttribute('data-col'), 10) === 0) {
23744
+ this.currentColumnResize = 'first';
23745
+ }
23746
+ else {
23747
+ this.currentColumnResize = 'middle';
23748
+ }
23749
+ this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10)];
23750
+ }
23534
23751
  this.colIndex = this.columnEle.cellIndex;
23535
23752
  this.moveEle = e.target;
23536
23753
  this.appendHelper();
@@ -23574,7 +23791,7 @@ var Table = /** @__PURE__ @class */ (function () {
23574
23791
  };
23575
23792
  Table.prototype.appendHelper = function () {
23576
23793
  this.helper = this.parent.createElement('div', {
23577
- className: 'e-table-rhelper'
23794
+ className: 'e-table-rhelper' + ' ' + this.parent.cssClass
23578
23795
  });
23579
23796
  if (Browser.isDevice) {
23580
23797
  this.helper.classList.add('e-reicon');
@@ -23587,7 +23804,8 @@ var Table = /** @__PURE__ @class */ (function () {
23587
23804
  if (this.resizeBtnStat.column) {
23588
23805
  this.helper.classList.add('e-column-helper');
23589
23806
  this.helper.style.cssText = 'height: ' + getComputedStyle(this.curTable).height + '; top: ' +
23590
- pos.top + 'px; left:' + (pos.left + this.calcPos(this.columnEle).left - 1) + 'px;';
23807
+ pos.top + 'px; left:' + ((pos.left + this.calcPos(this.columnEle).left) +
23808
+ (this.currentColumnResize === 'last' ? this.columnEle.offsetWidth + 2 : 0) - 1) + 'px;';
23591
23809
  }
23592
23810
  else {
23593
23811
  this.helper.classList.add('e-row-helper');
@@ -23599,7 +23817,8 @@ var Table = /** @__PURE__ @class */ (function () {
23599
23817
  Table.prototype.updateHelper = function () {
23600
23818
  var pos = this.calcPos(this.curTable);
23601
23819
  if (this.resizeBtnStat.column) {
23602
- var left = pos.left + this.calcPos(this.columnEle).left - 1;
23820
+ var left = (pos.left + this.calcPos(this.columnEle).left) +
23821
+ (this.currentColumnResize === 'last' ? this.columnEle.offsetWidth + 2 : 0) - 1;
23603
23822
  this.helper.style.left = left + 'px';
23604
23823
  }
23605
23824
  else {
@@ -23638,23 +23857,66 @@ var Table = /** @__PURE__ @class */ (function () {
23638
23857
  var paddingSize = +getComputedStyle(_this.contentModule.getEditPanel()).paddingRight.match(/\d/g).join('');
23639
23858
  var rteWidth = _this.contentModule.getEditPanel().offsetWidth - (_this.contentModule.getEditPanel().offsetWidth -
23640
23859
  _this.contentModule.getEditPanel().clientWidth) - paddingSize * 2;
23860
+ var widthCompare = void 0;
23861
+ if (!isNullOrUndefined(_this.curTable.parentElement.closest('table'))) {
23862
+ var currentTd = _this.curTable.closest('td');
23863
+ var currentTDPad = +getComputedStyle(currentTd).paddingRight.match(/\d/g).join('');
23864
+ // Padding of the current table with the parent element multiply with 2.
23865
+ widthCompare = currentTd.offsetWidth - (currentTd.offsetWidth - currentTd.clientWidth) - currentTDPad * 2;
23866
+ }
23867
+ else {
23868
+ widthCompare = rteWidth;
23869
+ }
23641
23870
  if (_this.resizeBtnStat.column) {
23642
- var cellColl = _this.curTable.rows[_this.calMaxCol(_this.curTable)].cells;
23643
23871
  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) + '%';
23872
+ var cellRow = _this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
23873
+ var currentTableWidth = parseFloat(_this.curTable.style.width.split('%')[0]);
23874
+ var currentColumnCellWidth = parseFloat(_this.curTable.rows[cellRow].cells[_this.colIndex].style.width.split('%')[0]);
23875
+ if (_this.currentColumnResize === 'first') {
23876
+ mouseX = mouseX - 0.75; //This was done for to make the gripper and the table first/last column will be close.
23877
+ _this.removeResizeElement();
23878
+ // Below the value '100' is the 100% width of the parent element.
23879
+ if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX < 0) && currentTableWidth <= 100 && _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) <= 100) {
23880
+ var firstColumnsCell = _this.findFirstLastColCells(_this.curTable, true);
23881
+ _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) > 100 ? (100 + '%') : (_this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) + '%');
23882
+ var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare);
23883
+ _this.currentMarginLeft = _this.currentMarginLeft + differenceWidth;
23884
+ _this.curTable.style.marginLeft = 'calc(' + (_this.curTable.style.width === '100%' ? 0 : _this.currentMarginLeft) + '%)';
23885
+ for (var i = 0; i < firstColumnsCell.length; i++) {
23886
+ _this.curTable.rows[i].cells[_this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
23654
23887
  }
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) + '%';
23888
+ }
23889
+ }
23890
+ else if (_this.currentColumnResize === 'last') {
23891
+ mouseX = mouseX + 0.75; //This was done for to make the gripper and the table first/last column will be close.
23892
+ _this.removeResizeElement();
23893
+ // Below the value '100' is the 100% width of the parent element.
23894
+ if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX > 0) && currentTableWidth <= 100 && _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) <= 100) {
23895
+ var lastColumnsCell = _this.findFirstLastColCells(_this.curTable, false);
23896
+ _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) > 100 ? (100 + '%') : (_this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%');
23897
+ var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare);
23898
+ for (var i = 0; i < lastColumnsCell.length; i++) {
23899
+ _this.curTable.rows[i].cells[_this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
23900
+ }
23901
+ }
23902
+ }
23903
+ else {
23904
+ var cellColl = _this.curTable.rows[_this.calMaxCol(_this.curTable)].cells;
23905
+ var actualwid = width - mouseX;
23906
+ var totalwid = parseFloat(_this.columnEle.offsetWidth.toString()) +
23907
+ parseFloat(cellColl[_this.colIndex - 1].offsetWidth.toString());
23908
+ for (var i = 0; i < _this.curTable.rows.length; i++) {
23909
+ if ((totalwid - actualwid) > 20 && actualwid > 20) {
23910
+ var leftColumnWidth = totalwid - actualwid;
23911
+ var rightColWidth = actualwid;
23912
+ if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex - 1])) {
23913
+ _this.curTable.rows[i].cells[_this.colIndex - 1].style.width =
23914
+ _this.convertPixelToPercentage(leftColumnWidth, tableWidth) + '%';
23915
+ }
23916
+ if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex])) {
23917
+ _this.curTable.rows[i].cells[_this.colIndex].style.width =
23918
+ _this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
23919
+ }
23658
23920
  }
23659
23921
  }
23660
23922
  }
@@ -23678,7 +23940,7 @@ var Table = /** @__PURE__ @class */ (function () {
23678
23940
  EventHandler.remove(_this.contentModule.getEditPanel(), 'mouseover', _this.resizeHelper);
23679
23941
  }
23680
23942
  var widthType = _this.curTable.style.width.indexOf('%') > -1;
23681
- _this.curTable.style.width = widthType ? _this.convertPixelToPercentage(tableWidth + mouseX, rteWidth) + '%'
23943
+ _this.curTable.style.width = widthType ? _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%'
23682
23944
  : tableWidth + mouseX + 'px';
23683
23945
  _this.curTable.style.height = tableHeight + mouseY + 'px';
23684
23946
  tableReBox.classList.add('e-rbox-select');
@@ -23688,6 +23950,17 @@ var Table = /** @__PURE__ @class */ (function () {
23688
23950
  }
23689
23951
  });
23690
23952
  };
23953
+ Table.prototype.findFirstLastColCells = function (table, isFirst) {
23954
+ var resultColumns = [];
23955
+ var rows = table.querySelectorAll('tr');
23956
+ for (var i = 0; i < rows.length; i++) {
23957
+ if (rows[i].closest('table') === table) {
23958
+ var columns = rows[i].querySelectorAll('th, td');
23959
+ resultColumns.push(isFirst ? columns[0] : columns[columns.length - 1]);
23960
+ }
23961
+ }
23962
+ return resultColumns;
23963
+ };
23691
23964
  Table.prototype.convertPixelToPercentage = function (value, offsetValue) {
23692
23965
  return (value / offsetValue) * 100;
23693
23966
  };
@@ -23706,14 +23979,14 @@ var Table = /** @__PURE__ @class */ (function () {
23706
23979
  EventHandler.add(this.contentModule.getEditPanel(), 'mouseover', this.resizeHelper, this);
23707
23980
  }
23708
23981
  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
23982
  }
23983
+ if (this.helper && this.contentModule.getEditPanel().contains(this.helper)) {
23984
+ detach(this.helper);
23985
+ this.helper = null;
23986
+ }
23987
+ this.pageX = null;
23988
+ this.pageY = null;
23989
+ this.moveEle = null;
23717
23990
  var args = { event: e, requestType: 'table' };
23718
23991
  this.parent.trigger(resizeStop, args);
23719
23992
  this.parent.formatter.saveData();
@@ -23768,16 +24041,16 @@ var Table = /** @__PURE__ @class */ (function () {
23768
24041
  this.hideTableQuickToolbar();
23769
24042
  var header = '1X1';
23770
24043
  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' });
24044
+ this.dlgDiv = this.parent.createElement('div', { className: 'e-rte-table-popup' + ' ' + this.parent.cssClass, id: this.rteID + '_table' });
24045
+ this.tblHeader = this.parent.createElement('div', { className: 'e-rte-popup-header' + ' ' + this.parent.cssClass });
23773
24046
  this.tblHeader.innerHTML = header;
23774
24047
  this.dlgDiv.appendChild(this.tblHeader);
23775
- var tableDiv = this.parent.createElement('div', { className: 'e-rte-table-span' });
24048
+ var tableDiv = this.parent.createElement('div', { className: 'e-rte-table-span' + ' ' + this.parent.cssClass });
23776
24049
  this.drawTable(tableDiv, args);
23777
24050
  this.dlgDiv.appendChild(tableDiv);
23778
- this.dlgDiv.appendChild(this.parent.createElement('span', { className: 'e-span-border' }));
24051
+ this.dlgDiv.appendChild(this.parent.createElement('span', { className: 'e-span-border' + ' ' + this.parent.cssClass }));
23779
24052
  var btnEle = this.parent.createElement('button', {
23780
- className: 'e-insert-table-btn', id: this.rteID + '_insertTable',
24053
+ className: 'e-insert-table-btn' + ' ' + this.parent.cssClass, id: this.rteID + '_insertTable',
23781
24054
  attrs: { type: 'button', tabindex: '0' }
23782
24055
  });
23783
24056
  if (!isNullOrUndefined(this.parent.getToolbarElement().querySelector('.e-expended-nav'))) {
@@ -23839,7 +24112,7 @@ var Table = /** @__PURE__ @class */ (function () {
23839
24112
  !target.offsetParent.classList.contains('e-quick-dropdown') &&
23840
24113
  !target.offsetParent.classList.contains('e-rte-backgroundcolor-dropdown') && !closest(target, '.e-rte-dropdown-popup')
23841
24114
  && !closest(target, '.e-rte-elements')) {
23842
- removeClass(this.parent.element.querySelectorAll('table td'), CLS_TABLE_SEL);
24115
+ removeClass(this.parent.inputElement.querySelectorAll('table td'), CLS_TABLE_SEL);
23843
24116
  if (!Browser.isIE) {
23844
24117
  this.hideTableQuickToolbar();
23845
24118
  }
@@ -23853,10 +24126,10 @@ var Table = /** @__PURE__ @class */ (function () {
23853
24126
  var rowDiv;
23854
24127
  var tableCell;
23855
24128
  for (var row = 0; row < 3; row++) {
23856
- rowDiv = this.parent.createElement('div', { className: 'e-rte-table-row', attrs: { 'data-column': '' + row } });
24129
+ rowDiv = this.parent.createElement('div', { className: 'e-rte-table-row' + ' ' + this.parent.cssClass, attrs: { 'data-column': '' + row } });
23857
24130
  for (var col = 0; col < 10; col++) {
23858
24131
  var display = (row > 2) ? 'none' : 'inline-block';
23859
- tableCell = this.parent.createElement('div', { className: 'e-rte-tablecell e-default', attrs: { 'data-cell': '' + col } });
24132
+ tableCell = this.parent.createElement('div', { className: 'e-rte-tablecell e-default' + ' ' + this.parent.cssClass, attrs: { 'data-cell': '' + col } });
23860
24133
  rowDiv.appendChild(tableCell);
23861
24134
  tableCell.style.display = display;
23862
24135
  if (col === 0 && row === 0) {
@@ -23880,15 +24153,15 @@ var Table = /** @__PURE__ @class */ (function () {
23880
24153
  height: 'initial', width: '290px', content: editContent, header: editHeader,
23881
24154
  buttons: [{
23882
24155
  click: this.applyProperties.bind(this, args),
23883
- buttonModel: { content: update, cssClass: 'e-flat e-size-update', isPrimary: true }
24156
+ buttonModel: { content: update, cssClass: 'e-flat e-size-update' + ' ' + this.parent.cssClass, isPrimary: true }
23884
24157
  },
23885
24158
  {
23886
24159
  click: function (e) {
23887
24160
  _this.cancelDialog(e);
23888
24161
  },
23889
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24162
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: cancel }
23890
24163
  }],
23891
- cssClass: this.parent.cssClass
24164
+ cssClass: this.editdlgObj.cssClass + ' e-rte-edit-table-prop-dialog'
23892
24165
  });
23893
24166
  this.editdlgObj.element.style.maxHeight = 'none';
23894
24167
  this.editdlgObj.content.querySelector('input').focus();
@@ -23910,13 +24183,13 @@ var Table = /** @__PURE__ @class */ (function () {
23910
24183
  height: 'initial', width: '290px', content: dlgContent,
23911
24184
  buttons: [{
23912
24185
  click: proxy.customTable.bind(this, args),
23913
- buttonModel: { content: insert, cssClass: 'e-flat e-insert-table', isPrimary: true }
24186
+ buttonModel: { content: insert, cssClass: 'e-flat e-insert-table' + ' ' + proxy.parent.cssClass, isPrimary: true }
23914
24187
  },
23915
24188
  {
23916
24189
  click: function (e) {
23917
24190
  proxy.cancelDialog(e);
23918
24191
  },
23919
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24192
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + proxy.parent.cssClass, content: cancel }
23920
24193
  }]
23921
24194
  });
23922
24195
  if (!isNullOrUndefined(proxy.parent.cssClass)) {
@@ -23928,10 +24201,10 @@ var Table = /** @__PURE__ @class */ (function () {
23928
24201
  Table.prototype.tableCellDlgContent = function () {
23929
24202
  var tableColumn = this.l10n.getConstant('columns');
23930
24203
  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>';
24204
+ var tableWrap = this.parent.createElement('div', { className: 'e-cell-wrap' + ' ' + this.parent.cssClass });
24205
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" '
24206
+ + ' data-role ="none" id="tableColumn" class="e-table-column' + ' ' + this.parent.cssClass + '"/></div>'
24207
+ + '<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
24208
  var contentElem = parseHtml(content);
23936
24209
  tableWrap.appendChild(contentElem);
23937
24210
  this.columnTextBox = new NumericTextBox({
@@ -23975,7 +24248,7 @@ var Table = /** @__PURE__ @class */ (function () {
23975
24248
  return;
23976
24249
  }
23977
24250
  var tableDialog = this.parent.createElement('div', {
23978
- className: 'e-rte-edit-table', id: this.rteID + '_tabledialog'
24251
+ className: 'e-rte-edit-table' + ' ' + this.parent.cssClass, id: this.rteID + '_tabledialog'
23979
24252
  });
23980
24253
  this.parent.element.appendChild(tableDialog);
23981
24254
  var insert = this.l10n.getConstant('dialogInsert');
@@ -23990,13 +24263,13 @@ var Table = /** @__PURE__ @class */ (function () {
23990
24263
  position: { X: 'center', Y: (Browser.isDevice) ? 'center' : 'top' },
23991
24264
  isModal: Browser.isDevice,
23992
24265
  buttons: [{
23993
- buttonModel: { content: insert, cssClass: 'e-flat e-insert-table', isPrimary: true }
24266
+ buttonModel: { content: insert, cssClass: 'e-flat e-insert-table' + ' ' + this.parent.cssClass, isPrimary: true }
23994
24267
  },
23995
24268
  {
23996
24269
  click: function (e) {
23997
24270
  _this.cancelDialog(e);
23998
24271
  },
23999
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24272
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: cancel }
24000
24273
  }],
24001
24274
  target: (Browser.isDevice) ? document.body : this.parent.element,
24002
24275
  animationSettings: { effect: 'None' },
@@ -24064,13 +24337,13 @@ var Table = /** @__PURE__ @class */ (function () {
24064
24337
  var tableWidth = this.l10n.getConstant('tableWidth');
24065
24338
  var cellPadding = this.l10n.getConstant('cellpadding');
24066
24339
  var cellSpacing = this.l10n.getConstant('cellspacing');
24067
- var tableWrap = this.parent.createElement('div', { className: 'e-table-sizewrap' });
24340
+ var tableWrap = this.parent.createElement('div', { className: 'e-table-sizewrap' + ' ' + this.parent.cssClass });
24068
24341
  var widthVal = closest(selectNode, 'table').getClientRects()[0].width;
24069
24342
  var padVal = closest(selectNode, 'td').style.padding;
24070
24343
  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>';
24344
+ 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 + '" '
24345
+ + ' /></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" data-role ="none" id="cellPadding" class="e-cell-padding' + ' ' + this.parent.cssClass + '" />'
24346
+ + ' </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
24347
  var contentElem = parseHtml(content);
24075
24348
  tableWrap.appendChild(contentElem);
24076
24349
  this.tableWidthNum = new NumericTextBox({
@@ -25215,26 +25488,7 @@ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators,
25215
25488
  var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25216
25489
  __extends$4(RichTextEditor, _super);
25217
25490
  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;
25491
+ return _super.call(this, options, element) || this;
25238
25492
  }
25239
25493
  /**
25240
25494
  * To provide the array of modules needed for component rendering
@@ -25315,6 +25569,14 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25315
25569
  // eslint-disable-next-line
25316
25570
  (this.enabled) ? this.eventInitializer() : this.unWireEvents();
25317
25571
  };
25572
+ RichTextEditor.prototype.initializeValue = function () {
25573
+ this.isFocusOut = false;
25574
+ this.isRTE = false;
25575
+ this.isBlur = true;
25576
+ this.needsID = true;
25577
+ this.defaultResetValue = null;
25578
+ this.isResizeInitialized = false;
25579
+ };
25318
25580
  /**
25319
25581
  * For internal use only - Initialize the event handler;
25320
25582
  *
@@ -25323,6 +25585,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25323
25585
  * @private
25324
25586
  */
25325
25587
  RichTextEditor.prototype.preRender = function () {
25588
+ this.initializeValue();
25326
25589
  this.onBlurHandler = this.blurHandler.bind(this);
25327
25590
  this.onFocusHandler = this.focusHandler.bind(this);
25328
25591
  this.onResizeHandler = this.resizeHandler.bind(this);
@@ -25379,11 +25642,18 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25379
25642
  }
25380
25643
  else {
25381
25644
  this.valueContainer = this.createElement('textarea', {
25382
- id: this.getID() + '-value'
25645
+ id: this.getID() + '-value',
25646
+ attrs: { 'aria-labelledby': this.getID() }
25383
25647
  });
25384
25648
  }
25385
25649
  this.valueContainer.name = this.getID();
25386
25650
  addClass([this.valueContainer], CLS_RTE_HIDDEN);
25651
+ if (!isNullOrUndefined(this.cssClass)) {
25652
+ var currentClassList = this.cssClass.split(' ');
25653
+ for (var i = 0; i < currentClassList.length; i++) {
25654
+ addClass([this.valueContainer], currentClassList[i]);
25655
+ }
25656
+ }
25387
25657
  this.element.appendChild(this.valueContainer);
25388
25658
  };
25389
25659
  /**
@@ -25644,19 +25914,22 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25644
25914
  var currentEndContainer = range.endContainer;
25645
25915
  var currentStartOffset = range.startOffset;
25646
25916
  var isSameContainer = currentStartContainer === currentEndContainer ? true : false;
25647
- var currentEndOffset;
25648
25917
  var endNode = range.endContainer.nodeName === '#text' ? range.endContainer.parentElement :
25649
25918
  range.endContainer;
25650
25919
  var closestLI = closest(endNode, 'LI');
25651
25920
  if (!isNullOrUndefined(closestLI) && endNode.textContent.length === range.endOffset &&
25652
25921
  !range.collapsed && isNullOrUndefined(endNode.nextElementSibling)) {
25653
- closestLI.textContent = closestLI.textContent.trim();
25654
- currentEndOffset = closestLI.textContent.length - 1;
25922
+ for (var i = 0; i < closestLI.childNodes.length; i++) {
25923
+ if (closestLI.childNodes[i].nodeName === "#text" && closestLI.childNodes[i].textContent.trim().length === 0) {
25924
+ detach(closestLI.childNodes[i]);
25925
+ i--;
25926
+ }
25927
+ }
25655
25928
  var currentLastElem = closestLI;
25656
- while (currentLastElem.nodeName !== '#text') {
25929
+ while (currentLastElem.lastChild !== null && currentLastElem.nodeName !== '#text') {
25657
25930
  currentLastElem = currentLastElem.lastChild;
25658
25931
  }
25659
- this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(), isSameContainer ? currentLastElem : currentStartContainer, currentLastElem, currentStartOffset, currentLastElem.textContent.length);
25932
+ this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(), isSameContainer ? (currentLastElem.nodeName === 'BR' && !isNullOrUndefined(currentLastElem.previousSibling) ? currentLastElem.previousSibling : currentLastElem) : currentStartContainer, currentLastElem, currentStartOffset, (currentLastElem.nodeName === 'BR' ? 0 : currentLastElem.textContent.length));
25660
25933
  }
25661
25934
  };
25662
25935
  /**
@@ -26022,6 +26295,12 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26022
26295
  for (var i = 0; i < this.originalElement.classList.length; i++) {
26023
26296
  addClass([this.element], this.originalElement.classList[i]);
26024
26297
  }
26298
+ if (!isNullOrUndefined(this.cssClass)) {
26299
+ var currentClassList = this.cssClass.split(' ');
26300
+ for (var i = 0; i < currentClassList.length; i++) {
26301
+ addClass([this.element], currentClassList[i]);
26302
+ }
26303
+ }
26025
26304
  removeClass([this.element], CLS_RTE_HIDDEN);
26026
26305
  }
26027
26306
  else {
@@ -26397,7 +26676,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26397
26676
  if (this.inputElement && this.placeholder && this.iframeSettings.enable !== true) {
26398
26677
  if (this.editorMode !== 'Markdown') {
26399
26678
  if (!this.placeHolderWrapper) {
26400
- this.placeHolderWrapper = this.createElement('span', { className: 'rte-placeholder e-rte-placeholder' });
26679
+ this.placeHolderWrapper = this.createElement('span', { className: 'rte-placeholder e-rte-placeholder' + ' ' + this.cssClass });
26401
26680
  if (this.inputElement) {
26402
26681
  this.inputElement.parentElement.insertBefore(this.placeHolderWrapper, this.inputElement);
26403
26682
  }
@@ -26647,7 +26926,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26647
26926
  this.setProperties({ value: this.valueTemplate });
26648
26927
  }
26649
26928
  else {
26650
- var compiledTemplate = compile(this.valueTemplate)("", this, 'valueTemplate');
26929
+ var compiledTemplate = compile(this.valueTemplate)('', this, 'valueTemplate');
26651
26930
  for (var i = 0; i < compiledTemplate.length; i++) {
26652
26931
  var item = compiledTemplate[i];
26653
26932
  append([item], this.element);
@@ -27601,5 +27880,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
27601
27880
  * Rich Text Editor component exported items
27602
27881
  */
27603
27882
 
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 };
27883
+ 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, blockEmptyNodes, inlineEmptyNodes, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_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
27884
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map