@syncfusion/ej2-richtexteditor 20.1.59 → 20.2.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +36 -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 +429 -173
  5. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es5.js +417 -164
  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 +12 -4
  18. package/src/editor-manager/plugin/ms-word-clean-up.js +1 -1
  19. package/src/markdown-parser/base/constant.d.ts +6 -0
  20. package/src/markdown-parser/base/constant.js +6 -0
  21. package/src/markdown-parser/base/markdown-parser.d.ts +2 -0
  22. package/src/markdown-parser/base/markdown-parser.js +6 -0
  23. package/src/markdown-parser/base/types.d.ts +1 -1
  24. package/src/markdown-parser/plugin/insert-text.d.ts +22 -0
  25. package/src/markdown-parser/plugin/insert-text.js +51 -0
  26. package/src/rich-text-editor/actions/color-picker.js +20 -4
  27. package/src/rich-text-editor/actions/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 +40 -0
  32. package/src/rich-text-editor/base/constant.js +41 -1
  33. package/src/rich-text-editor/base/interface.d.ts +3 -0
  34. package/src/rich-text-editor/base/rich-text-editor.d.ts +6 -0
  35. package/src/rich-text-editor/base/rich-text-editor.js +27 -23
  36. package/src/rich-text-editor/base/util.js +3 -3
  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.js +42 -38
  40. package/src/rich-text-editor/renderer/link-module.js +16 -14
  41. package/src/rich-text-editor/renderer/markdown-renderer.js +2 -1
  42. package/src/rich-text-editor/renderer/table-module.d.ts +3 -0
  43. package/src/rich-text-editor/renderer/table-module.js +132 -55
  44. package/src/rich-text-editor/renderer/toolbar-renderer.js +11 -1
  45. package/src/rich-text-editor/renderer/view-source.js +1 -1
  46. package/styles/fluent-dark.css +1 -0
  47. package/styles/fluent.css +1 -0
  48. package/styles/rich-text-editor/_fluent-definition.scss +1 -0
  49. package/styles/rich-text-editor/_fusionnew-definition.scss +189 -0
  50. package/styles/rich-text-editor/_layout.scss +3 -0
  51. package/styles/rich-text-editor/_material3-definition.scss +189 -0
  52. package/styles/rich-text-editor/fluent-dark.css +1 -0
  53. package/styles/rich-text-editor/fluent.css +1 -0
  54. package/styles/rich-text-editor/icons/_fusionnew.scss +303 -0
  55. package/styles/rich-text-editor/icons/_material3.scss +303 -0
@@ -524,11 +524,41 @@ var imageUploadFailed = 'imageUploadFailed';
524
524
  * @deprecated
525
525
  */
526
526
  var imageRemoving = 'imageRemoving';
527
+ /**
528
+ * @hidden
529
+ * @deprecated
530
+ */
531
+ var mediaSelected = 'mediaSelected';
532
+ /**
533
+ * @hidden
534
+ * @deprecated
535
+ */
536
+ var mediaUploading = 'mediaUploading';
537
+ /**
538
+ * @hidden
539
+ * @deprecated
540
+ */
541
+ var mediaUploadSuccess = 'mediaUploadSuccess';
542
+ /**
543
+ * @hidden
544
+ * @deprecated
545
+ */
546
+ var mediaUploadFailed = 'mediaUploadFailed';
547
+ /**
548
+ * @hidden
549
+ * @deprecated
550
+ */
551
+ var mediaRemoving = 'mediaRemoving';
527
552
  /**
528
553
  * @hidden
529
554
  * @deprecated
530
555
  */
531
556
  var afterImageDelete = 'afterImageDelete';
557
+ /**
558
+ * @hidden
559
+ * @deprecated
560
+ */
561
+ var afterMediaDelete = 'afterMediaaDelete';
532
562
  /**
533
563
  * @hidden
534
564
  * @deprecated
@@ -544,6 +574,11 @@ var xhtmlValidation = 'xhtmlValidation';
544
574
  * @deprecated
545
575
  */
546
576
  var beforeImageUpload = 'beforeImageUpload';
577
+ /**
578
+ * @hidden
579
+ * @deprecated
580
+ */
581
+ var beforeMediaUpload = 'beforeMediaUpload';
547
582
  /**
548
583
  * @hidden
549
584
  * @deprecated
@@ -599,6 +634,11 @@ var showImageDialog = 'showImageDialog';
599
634
  * @deprecated
600
635
  */
601
636
  var closeImageDialog = 'closeImageDialog';
637
+ /**
638
+ * @hidden
639
+ * @deprecated
640
+ */
641
+ var closeAudioDialog = 'closeAudioDialog';
602
642
  /**
603
643
  * @hidden
604
644
  * @deprecated
@@ -618,7 +658,7 @@ var bindCssClass = 'closeTableDialog';
618
658
  * @hidden
619
659
  * @deprecated
620
660
  */
621
- var blockInlineEmptyNodes = "address:empty, article:empty, aside:empty, blockquote:empty,\ndetails:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,\nh2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, hr:empty, li:empty, main:empty, nav:empty,\nnoscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty,\na:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,\ncanvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,\nins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,\nq:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,\ntemplate:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty";
661
+ var blockInlineEmptyNodes = "address:empty, article:empty, aside:empty, blockquote:empty,\n details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,\n h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, hr:empty, li:empty, main:empty, nav:empty,\n noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty,\n a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,\n canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,\n ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,\n q:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,\n template:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty";
622
662
 
623
663
  /**
624
664
  * Rich Text Editor classes defined here.
@@ -1163,6 +1203,11 @@ var CLS_RTE_FIXED_TB_EXPAND = 'e-rte-fixed-tb-expand';
1163
1203
  * @deprecated
1164
1204
  */
1165
1205
  var CLS_RTE_TB_ENABLED = 'e-rte-toolbar-enabled';
1206
+ /**
1207
+ * @hidden
1208
+ * @deprecated
1209
+ */
1210
+ var CLS_RTE_RES_WEST = 'e-south-west';
1166
1211
 
1167
1212
  /**
1168
1213
  * Defines types of Render
@@ -2308,7 +2353,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2308
2353
  result = getDropDownValue(formatItems$$1, value, 'subCommand', 'text');
2309
2354
  dropDown.formatDropDown.content = ('<span style="display: inline-flex;' +
2310
2355
  'width:' + e.parent.format.width + '" >' +
2311
- '<span class="e-rte-dropdown-btn-text">'
2356
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2312
2357
  + (isNullOrUndefined(result) ? formatContent : result) +
2313
2358
  '</span></span>');
2314
2359
  dropDown.formatDropDown.dataBind();
@@ -2338,7 +2383,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2338
2383
  e.tbElements[j].title = name_1;
2339
2384
  dropDown.fontNameDropDown.content = ('<span style="display: inline-flex;' +
2340
2385
  'width:' + e.parent.fontFamily.width + '" >' +
2341
- '<span class="e-rte-dropdown-btn-text">'
2386
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2342
2387
  + name_1 + '</span></span>');
2343
2388
  dropDown.fontNameDropDown.dataBind();
2344
2389
  break;
@@ -2354,7 +2399,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
2354
2399
  result = getDropDownValue(fontSizeItems, (value === '' ? fontSizeContent.replace(/\s/g, '') : value), 'value', 'text');
2355
2400
  dropDown.fontSizeDropDown.content = ('<span style="display: inline-flex;' +
2356
2401
  'width:' + e.parent.fontSize.width + '" >' +
2357
- '<span class="e-rte-dropdown-btn-text">'
2402
+ '<span class="e-rte-dropdown-btn-text' + ' ' + e.parent.cssClass + '">'
2358
2403
  + getFormattedFontSize(result) + '</span></span>');
2359
2404
  dropDown.fontSizeDropDown.dataBind();
2360
2405
  break;
@@ -2994,6 +3039,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
2994
3039
  var proxy = this;
2995
3040
  var css = CLS_RTE_ELEMENTS + ' ' + CLS_TB_BTN + ((this.parent.inlineMode) ? (' ' + CLS_INLINE_DROPDOWN) : '');
2996
3041
  css += (' ' + ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_DROPDOWN : CLS_FONT_COLOR_DROPDOWN));
3042
+ css += ' ' + this.parent.cssClass;
2997
3043
  var content = proxy.parent.createElement('span', { className: CLS_COLOR_CONTENT });
2998
3044
  var inlineEle = proxy.parent.createElement('span', { className: args.cssClass });
2999
3045
  var range;
@@ -3164,6 +3210,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3164
3210
  * @deprecated
3165
3211
  */
3166
3212
  ToolbarRenderer.prototype.renderColorPicker = function (args, item) {
3213
+ var _this = this;
3167
3214
  // eslint-disable-next-line
3168
3215
  var proxy = this;
3169
3216
  var value;
@@ -3181,6 +3228,14 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3181
3228
  beforeTileRender: function (args) {
3182
3229
  args.element.classList.add(CLS_COLOR_PALETTE);
3183
3230
  args.element.classList.add(CLS_CUSTOM_TILE);
3231
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
3232
+ var allClassName = _this.parent.cssClass.split(' ');
3233
+ for (var i = 0; i < allClassName.length; i++) {
3234
+ if (allClassName[i].trim() !== '') {
3235
+ args.element.classList.add(allClassName[i]);
3236
+ }
3237
+ }
3238
+ }
3184
3239
  if (args.value === '') {
3185
3240
  args.element.classList.add(CLS_NOCOLOR_ITEM);
3186
3241
  }
@@ -3216,7 +3271,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
3216
3271
  colorPicker.columns = (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns;
3217
3272
  colorPicker.presetColors = (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode :
3218
3273
  this.parent.fontColor.colorCode;
3219
- colorPicker.cssClass = (item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER;
3274
+ colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
3220
3275
  colorPicker.createElement = this.parent.createElement;
3221
3276
  colorPicker.appendTo(document.getElementById(args.target));
3222
3277
  return colorPicker;
@@ -4216,7 +4271,8 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4216
4271
  container: ((this.parent.inlineMode.enable) ? 'quick' : 'toolbar'),
4217
4272
  items: this.parent.toolbarSettings.items,
4218
4273
  mode: tBarMode,
4219
- target: ele
4274
+ target: ele,
4275
+ cssClass: this.parent.cssClass
4220
4276
  });
4221
4277
  if (this.parent.toolbarSettings.type === ToolbarType.Expand) {
4222
4278
  addClass([ele], ['e-rte-tb-mobile']);
@@ -4333,7 +4389,8 @@ var Toolbar$2 = /** @__PURE__ @class */ (function () {
4333
4389
  container: 'toolbar',
4334
4390
  items: this.parent.toolbarSettings.items,
4335
4391
  mode: this.getToolbarMode(),
4336
- target: this.tbElement
4392
+ target: this.tbElement,
4393
+ cssClass: this.parent.cssClass
4337
4394
  });
4338
4395
  if (!this.parent.inlineMode.enable) {
4339
4396
  if (this.parent.toolbarSettings.enableFloating) {
@@ -5073,10 +5130,18 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5073
5130
  var fontNode = _this.parent.createElement('input');
5074
5131
  fontNode.id = targetID;
5075
5132
  fontNode.classList.add(CLS_FONT_COLOR_TARGET);
5133
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
5134
+ var allClassName = _this.parent.cssClass.split(' ');
5135
+ for (var i = 0; i < allClassName.length; i++) {
5136
+ if (allClassName[i].trim() !== '') {
5137
+ fontNode.classList.add(allClassName[i]);
5138
+ }
5139
+ }
5140
+ }
5076
5141
  document.body.appendChild(fontNode);
5077
5142
  options = {
5078
5143
  cssClass: _this.tools[item.toLocaleLowerCase()].icon
5079
- + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS,
5144
+ + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS + ' ' + _this.parent.cssClass,
5080
5145
  value: _this.tools[item.toLocaleLowerCase()].value,
5081
5146
  command: _this.tools[item.toLocaleLowerCase()].command,
5082
5147
  subCommand: _this.tools[item.toLocaleLowerCase()].subCommand,
@@ -5092,10 +5157,18 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5092
5157
  var backNode = _this.parent.createElement('input');
5093
5158
  backNode.id = targetID;
5094
5159
  backNode.classList.add(CLS_BACKGROUND_COLOR_TARGET);
5160
+ if (!isNullOrUndefined(_this.parent.cssClass)) {
5161
+ var allClassName = _this.parent.cssClass.split(' ');
5162
+ for (var i = 0; i < allClassName.length; i++) {
5163
+ if (allClassName[i].trim() !== '') {
5164
+ backNode.classList.add(allClassName[i]);
5165
+ }
5166
+ }
5167
+ }
5095
5168
  document.body.appendChild(backNode);
5096
5169
  options = {
5097
5170
  cssClass: _this.tools[item.toLocaleLowerCase()].icon
5098
- + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS,
5171
+ + ' ' + CLS_RTE_ELEMENTS + ' ' + CLS_ICONS + ' ' + _this.parent.cssClass,
5099
5172
  value: _this.tools[item.toLocaleLowerCase()].value,
5100
5173
  command: _this.tools[item.toLocaleLowerCase()].command,
5101
5174
  subCommand: _this.tools[item.toLocaleLowerCase()].subCommand,
@@ -5168,8 +5241,8 @@ var ColorPickerInput = /** @__PURE__ @class */ (function () {
5168
5241
  dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass + ' ' + e.cssClass).trim() });
5169
5242
  }
5170
5243
  else {
5171
- colorPickerObj.setProperties({ cssClass: (colorPickerObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
5172
- dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass.replace(e.oldCssClass, '').trim() + ' ' + e.cssClass).trim() });
5244
+ colorPickerObj.setProperties({ cssClass: (colorPickerObj.cssClass.replace(e.oldCssClass, '').replace(' ', ' ').trim() + ' ' + e.cssClass).trim() });
5245
+ dropDownObj.setProperties({ cssClass: (dropDownObj.cssClass.replace(e.oldCssClass, '').replace(' ', ' ').trim() + ' ' + e.cssClass).trim() });
5173
5246
  }
5174
5247
  }
5175
5248
  };
@@ -6637,18 +6710,18 @@ function updateTextNode$1(value) {
6637
6710
  tdElm[j].style.removeProperty('border');
6638
6711
  }
6639
6712
  }
6640
- if (!tableElm[i].classList.contains(CLS_TABLE)) {
6641
- tableElm[i].classList.add(CLS_TABLE);
6713
+ if (!tableElm[i].classList.contains('e-rte-table')) {
6714
+ tableElm[i].classList.add('e-rte-table');
6642
6715
  }
6643
6716
  }
6644
6717
  var imageElm = resultElm.querySelectorAll('img');
6645
6718
  for (var i = 0; i < imageElm.length; i++) {
6646
- if (!imageElm[i].classList.contains(CLS_RTE_IMAGE)) {
6647
- imageElm[i].classList.add(CLS_RTE_IMAGE);
6719
+ if (!imageElm[i].classList.contains('e-rte-image')) {
6720
+ imageElm[i].classList.add('e-rte-image');
6648
6721
  }
6649
- if (!(imageElm[i].classList.contains(CLS_IMGINLINE) ||
6650
- imageElm[i].classList.contains(CLS_IMGBREAK))) {
6651
- imageElm[i].classList.add(CLS_IMGINLINE);
6722
+ if (!(imageElm[i].classList.contains('e-imginline') ||
6723
+ imageElm[i].classList.contains('e-imgbreak'))) {
6724
+ imageElm[i].classList.add('e-imginline');
6652
6725
  }
6653
6726
  }
6654
6727
  }
@@ -7110,7 +7183,7 @@ var Formatter = /** @__PURE__ @class */ (function () {
7110
7183
  }
7111
7184
  self.trigger(actionComplete, events, function (callbackArgs) {
7112
7185
  self.setPlaceHolder();
7113
- if (callbackArgs.requestType === 'Images' || callbackArgs.requestType === 'Links' && self.editorMode === 'HTML') {
7186
+ if ((callbackArgs.requestType === 'Images' || callbackArgs.requestType === 'Links') && self.editorMode === 'HTML') {
7114
7187
  var args = callbackArgs;
7115
7188
  if (callbackArgs.requestType === 'Links' && callbackArgs.event &&
7116
7189
  callbackArgs.event.type === 'keydown' &&
@@ -7214,6 +7287,12 @@ var CLEAR_COMMAND = 'clear-commands';
7214
7287
  * @hidden
7215
7288
  */
7216
7289
  var MD_TABLE = 'insert-table';
7290
+ /**
7291
+ * insertText plugin events
7292
+ *
7293
+ * @hidden
7294
+ */
7295
+ var INSERT_TEXT_COMMAND = 'insert-text';
7217
7296
 
7218
7297
  /**
7219
7298
  * Lists internal component
@@ -8950,6 +9029,56 @@ var ClearFormat = /** @__PURE__ @class */ (function () {
8950
9029
  return ClearFormat;
8951
9030
  }());
8952
9031
 
9032
+ /**
9033
+ * Link internal component
9034
+ *
9035
+ * @hidden
9036
+ * @deprecated
9037
+ */
9038
+ var MDInsertText = /** @__PURE__ @class */ (function () {
9039
+ /**
9040
+ * Constructor for creating the insert text plugin
9041
+ *
9042
+ * @param {MarkdownParser} parent - specifies the parent element
9043
+ * @hidden
9044
+ * @deprecated
9045
+ */
9046
+ function MDInsertText(parent) {
9047
+ this.parent = parent;
9048
+ this.selection = this.parent.markdownSelection;
9049
+ this.addEventListener();
9050
+ }
9051
+ MDInsertText.prototype.addEventListener = function () {
9052
+ this.parent.observer.on(INSERT_TEXT_COMMAND, this.InsertTextExec, this);
9053
+ };
9054
+ MDInsertText.prototype.InsertTextExec = function (e) {
9055
+ var textArea = this.parent.element;
9056
+ textArea.focus();
9057
+ var start = textArea.selectionStart;
9058
+ var end = textArea.selectionEnd;
9059
+ var text = e.value.text;
9060
+ var startOffset = start + text.length;
9061
+ var endOffset = end + text.length;
9062
+ textArea.value = textArea.value.substr(0, start)
9063
+ + text + textArea.value.substr(end, textArea.value.length);
9064
+ this.parent.markdownSelection.setSelection(textArea, startOffset, endOffset);
9065
+ this.restore(textArea, startOffset, endOffset, e);
9066
+ };
9067
+ MDInsertText.prototype.restore = function (textArea, start, end, event) {
9068
+ this.selection.save(start, end);
9069
+ this.selection.restore(textArea);
9070
+ if (event && event.callBack) {
9071
+ event.callBack({
9072
+ requestType: event.subCommand,
9073
+ selectedText: this.selection.getSelectedText(textArea),
9074
+ editorMode: 'Markdown',
9075
+ event: event.event
9076
+ });
9077
+ }
9078
+ };
9079
+ return MDInsertText;
9080
+ }());
9081
+
8953
9082
  /**
8954
9083
  * MarkdownParser internal component
8955
9084
  *
@@ -8976,6 +9105,7 @@ var MarkdownParser = /** @__PURE__ @class */ (function () {
8976
9105
  this.linkObj = new MDLink(this);
8977
9106
  this.tableObj = new MDTable({ parent: this, syntaxTag: ({ Formats: this.formatTags, List: this.listTags }) });
8978
9107
  this.clearObj = new ClearFormat(this);
9108
+ this.insertTextObj = new MDInsertText(this);
8979
9109
  this.wireEvents();
8980
9110
  }
8981
9111
  MarkdownParser.prototype.initialize = function () {
@@ -9042,6 +9172,10 @@ var MarkdownParser = /** @__PURE__ @class */ (function () {
9042
9172
  case 'clear':
9043
9173
  this.observer.notify(CLEAR_COMMAND, { subCommand: value, event: event, callBack: callBack });
9044
9174
  break;
9175
+ case 'inserttext':
9176
+ this.observer.notify(INSERT_TEXT_COMMAND, { subCommand: value, event: event, callBack: callBack,
9177
+ value: { text: exeValue } });
9178
+ break;
9045
9179
  }
9046
9180
  };
9047
9181
  return MarkdownParser;
@@ -9134,7 +9268,8 @@ var MarkdownRender = /** @__PURE__ @class */ (function () {
9134
9268
  var div = this.parent.createElement('div', { id: this.parent.getID() + '_view', className: 'e-rte-content' });
9135
9269
  this.editableElement = this.parent.createElement('textarea', {
9136
9270
  className: 'e-content',
9137
- id: this.parent.getID() + '_editable-content'
9271
+ id: this.parent.getID() + '_editable-content',
9272
+ attrs: { 'aria-labelledby': this.parent.getID() + '_view' }
9138
9273
  });
9139
9274
  div.appendChild(this.editableElement);
9140
9275
  this.setPanel(div);
@@ -11224,7 +11359,7 @@ var Lists = /** @__PURE__ @class */ (function () {
11224
11359
  }
11225
11360
  };
11226
11361
  Lists.prototype.applyLists = function (elements, type, selector, item, e) {
11227
- if (this.isRevert(elements, type) && isNullOrUndefined(item)) {
11362
+ if (this.isRevert(elements, type, item) && isNullOrUndefined(item)) {
11228
11363
  this.revertList(elements, e);
11229
11364
  this.removeEmptyListElements();
11230
11365
  }
@@ -11287,13 +11422,14 @@ var Lists = /** @__PURE__ @class */ (function () {
11287
11422
  }
11288
11423
  }
11289
11424
  };
11290
- Lists.prototype.isRevert = function (nodes, tagName) {
11425
+ Lists.prototype.isRevert = function (nodes, tagName, item) {
11291
11426
  var isRevert = true;
11292
11427
  for (var i = 0; i < nodes.length; i++) {
11293
11428
  if (nodes[i].tagName !== 'LI') {
11294
11429
  return false;
11295
11430
  }
11296
- if (nodes[i].parentNode.tagName !== tagName) {
11431
+ if (nodes[i].parentNode.tagName !== tagName ||
11432
+ isNullOrUndefined(item) && nodes[i].parentNode.style.listStyleType !== '') {
11297
11433
  isRevert = false;
11298
11434
  }
11299
11435
  }
@@ -11316,6 +11452,12 @@ var Lists = /** @__PURE__ @class */ (function () {
11316
11452
  (nodes[i].tagName === 'LI' && node.tagName === tagName && nodesTemp.indexOf(node) < 0 && item !== null)) {
11317
11453
  nodesTemp.push(node);
11318
11454
  }
11455
+ if (isNullOrUndefined(item) && (node.tagName === tagName ||
11456
+ ((node.tagName === 'UL' || node.tagName === 'OL') && node.hasAttribute('style')))) {
11457
+ if (node.hasAttribute('style')) {
11458
+ node.removeAttribute('style');
11459
+ }
11460
+ }
11319
11461
  }
11320
11462
  for (var j = nodesTemp.length - 1; j >= 0; j--) {
11321
11463
  var h = nodesTemp[j];
@@ -11417,7 +11559,8 @@ var Lists = /** @__PURE__ @class */ (function () {
11417
11559
  }
11418
11560
  }
11419
11561
  }
11420
- if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName) {
11562
+ if (element.parentNode.insertBefore(this.closeTag(parentNode.tagName), element), 'LI' === parentNode.parentNode.tagName || 'OL' === parentNode.parentNode.tagName ||
11563
+ 'UL' === parentNode.parentNode.tagName) {
11421
11564
  element.parentNode.insertBefore(this.closeTag('LI'), element);
11422
11565
  }
11423
11566
  else {
@@ -12383,7 +12526,9 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12383
12526
  var isPreviousInlineElem = void 0;
12384
12527
  var paraElm = void 0;
12385
12528
  var previousParent = void 0;
12386
- range.deleteContents();
12529
+ if (!this.contentsDeleted) {
12530
+ range.deleteContents();
12531
+ }
12387
12532
  while (node.firstChild) {
12388
12533
  if (node.firstChild.nodeName === '#text' && node.firstChild.textContent.trim() === '') {
12389
12534
  detach(node.firstChild);
@@ -12511,9 +12656,28 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12511
12656
  var nodeSelection = new NodeSelection();
12512
12657
  var currentNode = this.getNodeCollection(range, nodeSelection, node)[this.getNodeCollection(range, nodeSelection, node).length - 1];
12513
12658
  var splitedElm = void 0;
12514
- if ((currentNode.nodeName === 'BR' || currentNode.nodeName === 'HR') && !isNullOrUndefined(currentNode.parentElement) &&
12515
- currentNode.parentElement.textContent.trim().length === 0) {
12659
+ if ((currentNode.nodeName === 'BR' || currentNode.nodeName === 'HR' ||
12660
+ (currentNode.nodeName === '#text' && !isNullOrUndefined(currentNode.parentElement) && currentNode.parentElement.nodeName === 'LI')) &&
12661
+ (!isNullOrUndefined(currentNode.parentElement) && currentNode.parentElement.textContent.trim().length === 0)) {
12516
12662
  splitedElm = currentNode;
12663
+ if (currentNode.parentElement.nodeName === 'LI' && !isNullOrUndefined(currentNode.nextSibling) &&
12664
+ currentNode.nextSibling.nodeName === 'BR') {
12665
+ detach(currentNode.nextSibling);
12666
+ }
12667
+ }
12668
+ else if (currentNode.nodeName === '#text' && !isNullOrUndefined(currentNode.parentElement) &&
12669
+ currentNode.parentElement.nodeName === 'LI' && currentNode.parentElement.textContent.trim().length > 0) {
12670
+ splitedElm = currentNode;
12671
+ if (currentNode.parentElement.nodeName === 'LI' && !isNullOrUndefined(currentNode.nextSibling) &&
12672
+ currentNode.nextSibling.nodeName === 'BR') {
12673
+ detach(currentNode.nextSibling);
12674
+ }
12675
+ if (!range.collapsed) {
12676
+ range.deleteContents();
12677
+ }
12678
+ range.insertNode(node);
12679
+ this.contentsDeleted = true;
12680
+ return;
12517
12681
  }
12518
12682
  else {
12519
12683
  splitedElm = nodeCutter.GetSpliceNode(range, blockNode);
@@ -12600,6 +12764,7 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
12600
12764
  'ins', 'kbd', 'label', 'map', 'mark', 'meter', 'noscript', 'object', 'output', 'picture', 'progress',
12601
12765
  'q', 'ruby', 's', 'samp', 'script', 'select', 'slot', 'small', 'span', 'strong', 'sub', 'sup', 'svg',
12602
12766
  'template', 'textarea', 'time', 'u', 'tt', 'var', 'video', 'wbr'];
12767
+ InsertHtml.contentsDeleted = false;
12603
12768
  return InsertHtml;
12604
12769
  }());
12605
12770
 
@@ -15864,7 +16029,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
15864
16029
  this.checkVShape(elm);
15865
16030
  var imgElem = elm.querySelectorAll('img');
15866
16031
  for (var i = 0; i < imgElem.length; i++) {
15867
- if (!isNullOrUndefined(imgElem[i].getAttribute('v:shapes')) && imgElem[i].getAttribute('v:shapes').indexOf('Picture') < 0) {
16032
+ if (!isNullOrUndefined(imgElem[i].getAttribute('v:shapes')) && imgElem[i].getAttribute('v:shapes').indexOf('Picture') < 0 && imgElem[i].getAttribute('v:shapes').indexOf('Image') < 0) {
15868
16033
  detach(imgElem[i]);
15869
16034
  }
15870
16035
  }
@@ -17204,7 +17369,7 @@ var __extends$3 = (undefined && undefined.__extends) || (function () {
17204
17369
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17205
17370
  };
17206
17371
  })();
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-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>";
17372
+ 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
17373
  /**
17209
17374
  * Content module is used to render Rich Text Editor content
17210
17375
  *
@@ -19106,9 +19271,10 @@ var Resize = /** @__PURE__ @class */ (function () {
19106
19271
  this.parent.on(destroy, this.destroy, this);
19107
19272
  };
19108
19273
  Resize.prototype.renderResizable = function () {
19274
+ var enableRtlClass = (this.parent.enableRtl) ? CLS_RTE_RES_WEST : CLS_RTE_RES_EAST;
19109
19275
  this.resizer = this.parent.createElement('div', {
19110
19276
  id: this.parent.getID() + '-resizable', className: 'e-icons'
19111
- + ' ' + CLS_RTE_RES_HANDLE + ' ' + CLS_RTE_RES_EAST
19277
+ + ' ' + CLS_RTE_RES_HANDLE + ' ' + enableRtlClass
19112
19278
  });
19113
19279
  this.parent.element.classList.add(CLS_RTE_RES_CNT);
19114
19280
  this.parent.element.appendChild(this.resizer);
@@ -19141,12 +19307,12 @@ var Resize = /** @__PURE__ @class */ (function () {
19141
19307
  var boundRect = this.parent.element.getBoundingClientRect();
19142
19308
  if (this.isMouseEvent(e)) {
19143
19309
  this.parent.element.style.height = e.clientY - boundRect.top + 'px';
19144
- this.parent.element.style.width = e.clientX - boundRect.left + 'px';
19310
+ this.parent.element.style.width = (!this.parent.enableRtl) ? e.clientX - boundRect.left + 'px' : boundRect.right - e.clientX + 'px';
19145
19311
  }
19146
19312
  else {
19147
19313
  var eventType = Browser.info.name !== 'msie' ? e.touches[0] : e;
19148
19314
  this.parent.element.style.height = eventType.clientY - boundRect.top + 'px';
19149
- this.parent.element.style.width = eventType.clientX - boundRect.left + 'px';
19315
+ this.parent.element.style.width = (!this.parent.enableRtl) ? e.clientX - boundRect.left + 'px' : boundRect.right - e.clientX + 'px';
19150
19316
  }
19151
19317
  if (!this.parent.toolbarSettings.enable) {
19152
19318
  this.parent.setContentHeight('', false);
@@ -20023,22 +20189,22 @@ var Link = /** @__PURE__ @class */ (function () {
20023
20189
  var textPlace = this.i10n.getConstant('textPlaceholder');
20024
20190
  var title = this.i10n.getConstant('linkTitle');
20025
20191
  var linkDialogEle = this.parent.createElement('div', {
20026
- className: 'e-rte-link-dialog', id: this.rteID + '_rtelink'
20192
+ className: 'e-rte-link-dialog' + ' ' + this.parent.cssClass, id: this.rteID + '_rtelink'
20027
20193
  });
20028
20194
  this.parent.element.appendChild(linkDialogEle);
20029
20195
  var linkContent = this.parent.createElement('div', {
20030
- className: 'e-rte-linkcontent', id: this.rteID + '_linkContent'
20196
+ className: 'e-rte-linkcontent' + ' ' + this.parent.cssClass, id: this.rteID + '_linkContent'
20031
20197
  });
20032
20198
  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;
20199
+ '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20200
+ '<input type="text" data-role ="none" spellcheck="false" placeholder = "' + title + '" class="e-input e-rte-linkTitle' + ' ' + this.parent.cssClass + '"></div>' +
20201
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20202
+ '<input type="checkbox" class="e-rte-linkTarget' + ' ' + this.parent.cssClass + '" data-role ="none"></div>' : '';
20203
+ var content = '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"><label>' + linkWebAddress + '</label></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
20204
+ '<input type="text" data-role ="none" spellcheck="false" placeholder="' + urlPlace + '" class="e-input e-rte-linkurl' + ' ' + this.parent.cssClass + '"/></div>' +
20205
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + '<label>' + linkDisplayText + '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"> ' +
20206
+ '<input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText' + ' ' + this.parent.cssClass + '" placeholder="' + textPlace + '">' +
20207
+ '</div><div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + htmlTextbox;
20042
20208
  var contentElem = parseHtml(content);
20043
20209
  linkContent.appendChild(contentElem);
20044
20210
  var linkTarget = linkContent.querySelector('.e-rte-linkTarget');
@@ -20066,9 +20232,9 @@ var Link = /** @__PURE__ @class */ (function () {
20066
20232
  isModal: Browser.isDevice,
20067
20233
  buttons: [{
20068
20234
  click: this.insertlink.bind(selectObj),
20069
- buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink', isPrimary: true }
20235
+ buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink' + ' ' + this.parent.cssClass, isPrimary: true }
20070
20236
  },
20071
- { click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat', content: linkCancel } }],
20237
+ { click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat' + ' ' + this.parent.cssClass, content: linkCancel } }],
20072
20238
  target: (Browser.isDevice) ? document.body : this.parent.element,
20073
20239
  animationSettings: { effect: 'None' },
20074
20240
  close: function (event) {
@@ -20212,8 +20378,10 @@ var Link = /** @__PURE__ @class */ (function () {
20212
20378
  if (this.parent.formatter.getUndoRedoStack().length === 0) {
20213
20379
  this.parent.formatter.saveData();
20214
20380
  }
20381
+ var selectParentEle = this.getAnchorNode(e.selectParent[0]);
20215
20382
  this.parent.formatter.process(this.parent, e.args, e.args, {
20216
20383
  selectNode: e.selectNode, selectParent: e.selectParent, selection: e.selection,
20384
+ text: selectParentEle.innerText,
20217
20385
  subCommand: e.args.item.subCommand
20218
20386
  });
20219
20387
  if (isIDevice$1() && this.parent.iframeSettings.enable) {
@@ -20228,7 +20396,7 @@ var Link = /** @__PURE__ @class */ (function () {
20228
20396
  var selectParentEle = this.getAnchorNode(e.selectParent[0]);
20229
20397
  if (selectParentEle.classList.contains('e-rte-anchor') || selectParentEle.tagName === 'A') {
20230
20398
  this.parent.formatter.process(this.parent, e.args, e.args, {
20231
- url: selectParentEle.href,
20399
+ url: selectParentEle.href, text: selectParentEle.innerText,
20232
20400
  target: selectParentEle.target === '' ? '_self' : '_blank', selectNode: e.selectNode,
20233
20401
  subCommand: e.args.item.subCommand
20234
20402
  });
@@ -20548,18 +20716,18 @@ var Image = /** @__PURE__ @class */ (function () {
20548
20716
  this.resizeBtnInit();
20549
20717
  this.imgEle = e;
20550
20718
  addClass([this.imgEle], 'e-resize');
20551
- this.imgResizeDiv = this.parent.createElement('span', { className: 'e-img-resize', id: this.rteID + '_imgResize' });
20719
+ this.imgResizeDiv = this.parent.createElement('span', { className: 'e-img-resize' + ' ' + this.parent.cssClass, id: this.rteID + '_imgResize' });
20552
20720
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20553
- className: 'e-rte-imageboxmark e-rte-topLeft', styles: 'cursor: nwse-resize'
20721
+ className: 'e-rte-imageboxmark e-rte-topLeft' + ' ' + this.parent.cssClass, styles: 'cursor: nwse-resize'
20554
20722
  }));
20555
20723
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20556
- className: 'e-rte-imageboxmark e-rte-topRight', styles: 'cursor: nesw-resize'
20724
+ className: 'e-rte-imageboxmark e-rte-topRight' + ' ' + this.parent.cssClass, styles: 'cursor: nesw-resize'
20557
20725
  }));
20558
20726
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20559
- className: 'e-rte-imageboxmark e-rte-botLeft', styles: 'cursor: nesw-resize'
20727
+ className: 'e-rte-imageboxmark e-rte-botLeft' + ' ' + this.parent.cssClass, styles: 'cursor: nesw-resize'
20560
20728
  }));
20561
20729
  this.imgResizeDiv.appendChild(this.parent.createElement('span', {
20562
- className: 'e-rte-imageboxmark e-rte-botRight', styles: 'cursor: nwse-resize'
20730
+ className: 'e-rte-imageboxmark e-rte-botRight' + ' ' + this.parent.cssClass, styles: 'cursor: nwse-resize'
20563
20731
  }));
20564
20732
  if (Browser.isDevice) {
20565
20733
  addClass([this.imgResizeDiv], 'e-mob-rte');
@@ -21224,12 +21392,12 @@ var Image = /** @__PURE__ @class */ (function () {
21224
21392
  }
21225
21393
  this.imagDialog(e);
21226
21394
  if (!isNullOrUndefined(this.dialogObj)) {
21227
- var linkWrap = this.parent.createElement('div', { className: 'e-img-linkwrap' });
21395
+ var linkWrap = this.parent.createElement('div', { className: 'e-img-linkwrap' + ' ' + this.parent.cssClass });
21228
21396
  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>' +
21397
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
21398
+ '<input type="text" data-role ="none" class="e-input e-img-link' + ' ' + this.parent.cssClass + '" spellcheck="false" placeholder="' + linkUrl + '"/></div>' +
21231
21399
  '<div class="e-rte-label"></div>' + '<div class="e-rte-field">' +
21232
- '<input type="checkbox" class="e-rte-linkTarget" data-role ="none"></div>';
21400
+ '<input type="checkbox" class="e-rte-linkTarget' + ' ' + this.parent.cssClass + '" data-role ="none"></div>';
21233
21401
  var contentElem = parseHtml(content);
21234
21402
  linkWrap.appendChild(contentElem);
21235
21403
  var linkTarget = linkWrap.querySelector('.e-rte-linkTarget');
@@ -21268,7 +21436,7 @@ var Image = /** @__PURE__ @class */ (function () {
21268
21436
  _this.insertlink(linkargs_1);
21269
21437
  },
21270
21438
  buttonModel: {
21271
- content: linkUpdate, cssClass: 'e-flat e-update-link', isPrimary: true
21439
+ content: linkUpdate, cssClass: 'e-flat e-update-link' + ' ' + this.parent.cssClass, isPrimary: true
21272
21440
  }
21273
21441
  }]
21274
21442
  });
@@ -21293,13 +21461,13 @@ var Image = /** @__PURE__ @class */ (function () {
21293
21461
  this.imagDialog(e);
21294
21462
  var altText = this.i10n.getConstant('altText');
21295
21463
  if (!isNullOrUndefined(this.dialogObj)) {
21296
- var altWrap = this.parent.createElement('div', { className: 'e-img-altwrap' });
21464
+ var altWrap = this.parent.createElement('div', { className: 'e-img-altwrap' + ' ' + this.parent.cssClass });
21297
21465
  var altHeader = this.i10n.getConstant('alternateHeader');
21298
21466
  var linkUpdate = this.i10n.getConstant('dialogUpdate');
21299
21467
  var getAlt = (e.selectNode[0].getAttribute('alt') === null) ? '' :
21300
21468
  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 + '"/>' +
21469
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '">' +
21470
+ '<input type="text" spellcheck="false" value="' + getAlt + '" class="e-input e-img-alt' + ' ' + this.parent.cssClass + '" placeholder="' + altText + '"/>' +
21303
21471
  '</div>';
21304
21472
  var contentElem = parseHtml(content);
21305
21473
  altWrap.appendChild(contentElem);
@@ -21316,7 +21484,7 @@ var Image = /** @__PURE__ @class */ (function () {
21316
21484
  _this.insertAlt(altArgs_1);
21317
21485
  },
21318
21486
  buttonModel: {
21319
- content: linkUpdate, cssClass: 'e-flat e-update-alt', isPrimary: true
21487
+ content: linkUpdate, cssClass: 'e-flat e-update-alt' + ' ' + this.parent.cssClass, isPrimary: true
21320
21488
  }
21321
21489
  }]
21322
21490
  });
@@ -21482,11 +21650,11 @@ var Image = /** @__PURE__ @class */ (function () {
21482
21650
  }
21483
21651
  else {
21484
21652
  this.captionEle = this.parent.createElement('span', {
21485
- className: CLS_CAPTION + ' ' + CLS_RTE_CAPTION,
21653
+ className: CLS_CAPTION + ' ' + CLS_RTE_CAPTION + ' ' + this.parent.cssClass,
21486
21654
  attrs: { contenteditable: 'false', draggable: 'false', style: 'width:' + this.parent.insertImageSettings.width }
21487
21655
  });
21488
- var imgWrap = this.parent.createElement('span', { className: 'e-img-wrap' });
21489
- var imgInner = this.parent.createElement('span', { className: 'e-img-inner',
21656
+ var imgWrap = this.parent.createElement('span', { className: 'e-img-wrap' + ' ' + this.parent.cssClass });
21657
+ var imgInner = this.parent.createElement('span', { className: 'e-img-inner' + ' ' + this.parent.cssClass,
21490
21658
  attrs: { contenteditable: 'true' } });
21491
21659
  var parent_1 = e.selectNode[0].parentElement;
21492
21660
  if (parent_1.tagName === 'A') {
@@ -21539,7 +21707,7 @@ var Image = /** @__PURE__ @class */ (function () {
21539
21707
  _this.insertSize(selectObj_1);
21540
21708
  },
21541
21709
  buttonModel: {
21542
- content: linkUpdate, cssClass: 'e-flat e-update-size', isPrimary: true
21710
+ content: linkUpdate, cssClass: 'e-flat e-update-size' + ' ' + this.parent.cssClass, isPrimary: true
21543
21711
  }
21544
21712
  }]
21545
21713
  });
@@ -21584,7 +21752,7 @@ var Image = /** @__PURE__ @class */ (function () {
21584
21752
  this.dialogObj.hide({ returnValue: true });
21585
21753
  return;
21586
21754
  }
21587
- var imgDialog = this.parent.createElement('div', { className: 'e-rte-img-dialog', id: this.rteID + '_image' });
21755
+ var imgDialog = this.parent.createElement('div', { className: 'e-rte-img-dialog' + ' ' + this.parent.cssClass, id: this.rteID + '_image' });
21588
21756
  this.parent.element.appendChild(imgDialog);
21589
21757
  var imgInsert = this.i10n.getConstant('dialogInsert');
21590
21758
  var imglinkCancel = this.i10n.getConstant('dialogCancel');
@@ -21593,7 +21761,7 @@ var Image = /** @__PURE__ @class */ (function () {
21593
21761
  var selectObj = { selfImage: this, selection: e.selection, args: e.args, selectParent: e.selectParent };
21594
21762
  var dialogModel = {
21595
21763
  header: imgHeader,
21596
- cssClass: CLS_RTE_ELEMENTS,
21764
+ cssClass: CLS_RTE_ELEMENTS + ' ' + this.parent.cssClass,
21597
21765
  enableRtl: this.parent.enableRtl,
21598
21766
  locale: this.parent.locale,
21599
21767
  showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px', height: 'inherit',
@@ -21601,13 +21769,13 @@ var Image = /** @__PURE__ @class */ (function () {
21601
21769
  isModal: Browser.isDevice,
21602
21770
  buttons: [{
21603
21771
  click: this.insertImageUrl.bind(selectObj),
21604
- buttonModel: { content: imgInsert, cssClass: 'e-flat e-insertImage', isPrimary: true, disabled: true }
21772
+ buttonModel: { content: imgInsert, cssClass: 'e-flat e-insertImage' + ' ' + this.parent.cssClass, isPrimary: true, disabled: true }
21605
21773
  },
21606
21774
  {
21607
21775
  click: function (e) {
21608
21776
  _this.cancelDialog(e);
21609
21777
  },
21610
- buttonModel: { cssClass: 'e-flat e-cancel', content: imglinkCancel }
21778
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: imglinkCancel }
21611
21779
  }],
21612
21780
  target: (Browser.isDevice) ? document.body : this.parent.element,
21613
21781
  animationSettings: { effect: 'None' },
@@ -21630,12 +21798,12 @@ var Image = /** @__PURE__ @class */ (function () {
21630
21798
  _this.dialogObj = null;
21631
21799
  }
21632
21800
  };
21633
- var dialogContent = this.parent.createElement('div', { className: 'e-img-content' });
21801
+ var dialogContent = this.parent.createElement('div', { className: 'e-img-content' + ' ' + this.parent.cssClass });
21634
21802
  if ((!isNullOrUndefined(this.parent.insertImageSettings.path) && this.parent.editorMode === 'Markdown')
21635
21803
  || this.parent.editorMode === 'HTML') {
21636
21804
  dialogContent.appendChild(this.imgUpload(e));
21637
21805
  }
21638
- var linkHeader = this.parent.createElement('div', { className: 'e-linkheader' });
21806
+ var linkHeader = this.parent.createElement('div', { className: 'e-linkheader' + ' ' + this.parent.cssClass });
21639
21807
  var linkHeaderText = this.i10n.getConstant('imageLinkHeader');
21640
21808
  if (this.parent.editorMode === 'HTML') {
21641
21809
  linkHeader.innerHTML = linkHeaderText;
@@ -21687,6 +21855,9 @@ var Image = /** @__PURE__ @class */ (function () {
21687
21855
  if (target.nodeName === 'IMG') {
21688
21856
  this.imgEle = target;
21689
21857
  }
21858
+ if (target.nodeName !== '#document') {
21859
+ this.parent.currentTarget = e.target;
21860
+ }
21690
21861
  if (!isNullOrUndefined(this.dialogObj) && ((
21691
21862
  // eslint-disable-next-line
21692
21863
  !closest(target, '[id=' + "'" + this.dialogObj.element.id + "'" + ']') && this.parent.toolbarSettings.enable && this.parent.getToolbarElement() &&
@@ -21704,12 +21875,13 @@ var Image = /** @__PURE__ @class */ (function () {
21704
21875
  }
21705
21876
  /* eslint-enable */
21706
21877
  }
21707
- if (e.target.tagName !== 'IMG' && this.imgResizeDiv && !(this.quickToolObj &&
21878
+ if (!(this.parent.iframeSettings.enable && !isNullOrUndefined(this.parent.currentTarget) && this.parent.currentTarget.nodeName === 'IMG') &&
21879
+ e.target.tagName !== 'IMG' && this.imgResizeDiv && !(this.quickToolObj &&
21708
21880
  this.quickToolObj.imageQTBar && this.quickToolObj.imageQTBar.element.contains(e.target)) &&
21709
21881
  this.contentModule.getEditPanel().contains(this.imgResizeDiv)) {
21710
21882
  this.cancelResizeAction();
21711
21883
  }
21712
- if (this.contentModule.getEditPanel().querySelector('.e-img-resize')) {
21884
+ if (this.contentModule.getEditPanel().querySelector('.e-img-resize') && !(this.parent.iframeSettings.enable && this.parent.currentTarget.nodeName === 'IMG')) {
21713
21885
  if (target.tagName !== 'IMG') {
21714
21886
  this.removeResizeEle();
21715
21887
  }
@@ -21734,10 +21906,10 @@ var Image = /** @__PURE__ @class */ (function () {
21734
21906
  // eslint-disable-next-line
21735
21907
  Image.prototype.imageUrlPopup = function (e) {
21736
21908
  var _this = this;
21737
- var imgUrl = this.parent.createElement('div', { className: 'imgUrl' });
21909
+ var imgUrl = this.parent.createElement('div', { className: 'imgUrl' + ' ' + this.parent.cssClass });
21738
21910
  var placeUrl = this.i10n.getConstant('imageUrl');
21739
21911
  this.inputUrl = this.parent.createElement('input', {
21740
- className: 'e-input e-img-url',
21912
+ className: 'e-input e-img-url' + ' ' + this.parent.cssClass,
21741
21913
  attrs: { placeholder: placeUrl, spellcheck: 'false' }
21742
21914
  });
21743
21915
  this.inputUrl.addEventListener('input', function () {
@@ -21804,7 +21976,7 @@ var Image = /** @__PURE__ @class */ (function () {
21804
21976
  var selectNode = e.selectNode[0];
21805
21977
  var imgHeight = this.i10n.getConstant('imageHeight');
21806
21978
  var imgWidth = this.i10n.getConstant('imageWidth');
21807
- var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' });
21979
+ var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' + ' ' + this.parent.cssClass });
21808
21980
  var widthVal = isNullOrUndefined(this.changedWidthValue) && (selectNode.style.width.toString() === 'auto' ||
21809
21981
  selectNode.style.width !== '') ? selectNode.style.width : !isNullOrUndefined(this.changedWidthValue) ?
21810
21982
  this.changedWidthValue : (parseInt(selectNode.getClientRects()[0].width.toString(), 10)).toString();
@@ -21813,12 +21985,12 @@ var Image = /** @__PURE__ @class */ (function () {
21813
21985
  this.changedHeightValue : (parseInt(selectNode.getClientRects()[0].height.toString(), 10)).toString();
21814
21986
  this.changedWidthValue = null;
21815
21987
  this.changedHeightValue = null;
21816
- var content = '<div class="e-rte-label"><label>' + imgWidth +
21817
- '</label></div><div class="e-rte-field"><input type="text" id="imgwidth" class="e-img-width" value=' +
21988
+ var content = '<div class="e-rte-label' + ' ' + this.parent.cssClass + '"><label>' + imgWidth +
21989
+ '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" id="imgwidth" class="e-img-width' + ' ' + this.parent.cssClass + '" value=' +
21818
21990
  widthVal
21819
21991
  + ' /></div>' +
21820
- '<div class="e-rte-label">' + '<label>' + imgHeight + '</label></div><div class="e-rte-field"> ' +
21821
- '<input type="text" id="imgheight" class="e-img-height" value=' +
21992
+ '<div class="e-rte-label' + ' ' + this.parent.cssClass + '">' + '<label>' + imgHeight + '</label></div><div class="e-rte-field' + ' ' + this.parent.cssClass + '"> ' +
21993
+ '<input type="text" id="imgheight" class="e-img-height' + ' ' + this.parent.cssClass + '" value=' +
21822
21994
  heightVal
21823
21995
  + ' /></div>';
21824
21996
  var contentElem = parseHtml(content);
@@ -21908,16 +22080,16 @@ var Image = /** @__PURE__ @class */ (function () {
21908
22080
  save = e.selection;
21909
22081
  selectParent = e.selectParent;
21910
22082
  }
21911
- var uploadParentEle = this.parent.createElement('div', { className: 'e-img-uploadwrap e-droparea' });
22083
+ var uploadParentEle = this.parent.createElement('div', { className: 'e-img-uploadwrap e-droparea' + ' ' + this.parent.cssClass });
21912
22084
  var deviceImgUpMsg = this.i10n.getConstant('imageDeviceUploadMessage');
21913
22085
  var imgUpMsg = this.i10n.getConstant('imageUploadMessage');
21914
- var span = this.parent.createElement('span', { className: 'e-droptext' });
22086
+ var span = this.parent.createElement('span', { className: 'e-droptext' + ' ' + this.parent.cssClass });
21915
22087
  var spanMsg = this.parent.createElement('span', {
21916
- className: 'e-rte-upload-text', innerHTML: ((Browser.isDevice) ? deviceImgUpMsg : imgUpMsg)
22088
+ className: 'e-rte-upload-text' + ' ' + this.parent.cssClass, innerHTML: ((Browser.isDevice) ? deviceImgUpMsg : imgUpMsg)
21917
22089
  });
21918
22090
  span.appendChild(spanMsg);
21919
22091
  var btnEle = this.parent.createElement('button', {
21920
- className: 'e-browsebtn', id: this.rteID + '_insertImage', attrs: { autofocus: 'true', type: 'button' }
22092
+ className: 'e-browsebtn' + ' ' + this.parent.cssClass, id: this.rteID + '_insertImage', attrs: { autofocus: 'true', type: 'button' }
21921
22093
  });
21922
22094
  span.appendChild(btnEle);
21923
22095
  uploadParentEle.appendChild(span);
@@ -21929,7 +22101,7 @@ var Image = /** @__PURE__ @class */ (function () {
21929
22101
  var btnClick = (Browser.isDevice) ? span : btnEle;
21930
22102
  EventHandler.add(btnClick, 'click', this.fileSelect, this);
21931
22103
  var uploadEle = this.parent.createElement('input', {
21932
- id: this.rteID + '_upload', attrs: { type: 'File', name: 'UploadFiles' }
22104
+ id: this.rteID + '_upload', attrs: { type: 'File', name: 'UploadFiles' }, className: this.parent.cssClass
21933
22105
  });
21934
22106
  uploadParentEle.appendChild(uploadEle);
21935
22107
  var altText;
@@ -22619,7 +22791,7 @@ var ViewSource = /** @__PURE__ @class */ (function () {
22619
22791
  this.parent.formatter.editorManager.observer.off(KEY_DOWN_HANDLER, this.onKeyDown);
22620
22792
  };
22621
22793
  ViewSource.prototype.getSourceCode = function () {
22622
- return this.parent.createElement('textarea', { className: 'e-rte-srctextarea' });
22794
+ return this.parent.createElement('textarea', { className: 'e-rte-srctextarea' + ' ' + this.parent.cssClass });
22623
22795
  };
22624
22796
  ViewSource.prototype.wireEvent = function (element) {
22625
22797
  this.keyboardModule = new KeyboardEvents$1(element, {
@@ -22851,6 +23023,8 @@ var Table = /** @__PURE__ @class */ (function () {
22851
23023
  this.pageX = null;
22852
23024
  this.pageY = null;
22853
23025
  this.moveEle = null;
23026
+ this.currentColumnResize = '';
23027
+ this.currentMarginLeft = 0;
22854
23028
  this.parent = parent;
22855
23029
  this.rteID = parent.element.id;
22856
23030
  this.l10n = serviceLocator.getService('rteLocale');
@@ -23018,6 +23192,7 @@ var Table = /** @__PURE__ @class */ (function () {
23018
23192
  }
23019
23193
  else if (ele && ele.querySelectorAll('table').length > 0) {
23020
23194
  this.removeResizeElement();
23195
+ this.hideTableQuickToolbar();
23021
23196
  }
23022
23197
  }
23023
23198
  if (ele && ele.tagName !== 'TD' && ele.tagName !== 'TH') {
@@ -23394,7 +23569,7 @@ var Table = /** @__PURE__ @class */ (function () {
23394
23569
  };
23395
23570
  Table.prototype.tableResizeEleCreation = function (table, e) {
23396
23571
  this.parent.preventDefaultResize(e);
23397
- var columns = Array.prototype.slice.call(table.rows[this.calMaxCol(table)].cells, 1);
23572
+ var columns = table.rows[this.calMaxCol(table)].cells;
23398
23573
  var rows = [];
23399
23574
  for (var i = 0; i < table.rows.length; i++) {
23400
23575
  rows.push(Array.prototype.slice.call(table.rows[i].cells, 0, 1)[0]);
@@ -23402,15 +23577,21 @@ var Table = /** @__PURE__ @class */ (function () {
23402
23577
  var height = parseInt(getComputedStyle(table).height, 10);
23403
23578
  var width = parseInt(getComputedStyle(table).width, 10);
23404
23579
  var pos = this.calcPos(table);
23405
- for (var i = 0; columns.length > i; i++) {
23580
+ for (var i = 0; columns.length >= i; i++) {
23406
23581
  var colReEle = this.parent.createElement('span', {
23407
23582
  attrs: {
23408
- 'data-col': (i + 1).toString(), 'unselectable': 'on', 'contenteditable': 'false'
23583
+ 'data-col': (i).toString(), 'unselectable': 'on', 'contenteditable': 'false'
23409
23584
  }
23410
23585
  });
23411
23586
  colReEle.classList.add(CLS_RTE_TABLE_RESIZE, CLS_TB_COL_RES);
23412
- colReEle.style.cssText = 'height: ' + height + 'px; width: 4px; top: ' + pos.top +
23413
- 'px; left:' + (pos.left + this.calcPos(columns[i]).left) + 'px;';
23587
+ if (columns.length === i) {
23588
+ colReEle.style.cssText = 'height: ' + height + 'px; width: 4px; top: ' + pos.top +
23589
+ 'px; left:' + (pos.left + this.calcPos(columns[i - 1]).left + columns[i - 1].offsetWidth) + 'px;';
23590
+ }
23591
+ else {
23592
+ colReEle.style.cssText = 'height: ' + height + 'px; width: 4px; top: ' + pos.top +
23593
+ 'px; left:' + (pos.left + this.calcPos(columns[i]).left) + 'px;';
23594
+ }
23414
23595
  this.contentModule.getEditPanel().appendChild(colReEle);
23415
23596
  }
23416
23597
  for (var i = 0; rows.length > i; i++) {
@@ -23428,7 +23609,7 @@ var Table = /** @__PURE__ @class */ (function () {
23428
23609
  this.contentModule.getEditPanel().appendChild(rowReEle);
23429
23610
  }
23430
23611
  var tableReBox = this.parent.createElement('span', {
23431
- className: CLS_TB_BOX_RES, attrs: {
23612
+ className: CLS_TB_BOX_RES + ' ' + this.parent.cssClass, attrs: {
23432
23613
  'data-col': columns.length.toString(), 'unselectable': 'on', 'contenteditable': 'false'
23433
23614
  }
23434
23615
  });
@@ -23527,7 +23708,19 @@ var Table = /** @__PURE__ @class */ (function () {
23527
23708
  this.hideTableQuickToolbar();
23528
23709
  if (target.classList.contains(CLS_TB_COL_RES)) {
23529
23710
  this.resizeBtnStat.column = true;
23530
- this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10)];
23711
+ if (parseInt(target.getAttribute('data-col'), 10) === this.curTable.rows[this.calMaxCol(this.curTable)].cells.length) {
23712
+ this.currentColumnResize = 'last';
23713
+ this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10) - 1];
23714
+ }
23715
+ else {
23716
+ if (parseInt(target.getAttribute('data-col'), 10) === 0) {
23717
+ this.currentColumnResize = 'first';
23718
+ }
23719
+ else {
23720
+ this.currentColumnResize = 'middle';
23721
+ }
23722
+ this.columnEle = this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(target.getAttribute('data-col'), 10)];
23723
+ }
23531
23724
  this.colIndex = this.columnEle.cellIndex;
23532
23725
  this.moveEle = e.target;
23533
23726
  this.appendHelper();
@@ -23571,7 +23764,7 @@ var Table = /** @__PURE__ @class */ (function () {
23571
23764
  };
23572
23765
  Table.prototype.appendHelper = function () {
23573
23766
  this.helper = this.parent.createElement('div', {
23574
- className: 'e-table-rhelper'
23767
+ className: 'e-table-rhelper' + ' ' + this.parent.cssClass
23575
23768
  });
23576
23769
  if (Browser.isDevice) {
23577
23770
  this.helper.classList.add('e-reicon');
@@ -23584,7 +23777,8 @@ var Table = /** @__PURE__ @class */ (function () {
23584
23777
  if (this.resizeBtnStat.column) {
23585
23778
  this.helper.classList.add('e-column-helper');
23586
23779
  this.helper.style.cssText = 'height: ' + getComputedStyle(this.curTable).height + '; top: ' +
23587
- pos.top + 'px; left:' + (pos.left + this.calcPos(this.columnEle).left - 1) + 'px;';
23780
+ pos.top + 'px; left:' + ((pos.left + this.calcPos(this.columnEle).left) +
23781
+ (this.currentColumnResize === 'last' ? this.columnEle.offsetWidth + 2 : 0) - 1) + 'px;';
23588
23782
  }
23589
23783
  else {
23590
23784
  this.helper.classList.add('e-row-helper');
@@ -23596,7 +23790,8 @@ var Table = /** @__PURE__ @class */ (function () {
23596
23790
  Table.prototype.updateHelper = function () {
23597
23791
  var pos = this.calcPos(this.curTable);
23598
23792
  if (this.resizeBtnStat.column) {
23599
- var left = pos.left + this.calcPos(this.columnEle).left - 1;
23793
+ var left = (pos.left + this.calcPos(this.columnEle).left) +
23794
+ (this.currentColumnResize === 'last' ? this.columnEle.offsetWidth + 2 : 0) - 1;
23600
23795
  this.helper.style.left = left + 'px';
23601
23796
  }
23602
23797
  else {
@@ -23635,23 +23830,66 @@ var Table = /** @__PURE__ @class */ (function () {
23635
23830
  var paddingSize = +getComputedStyle(_this.contentModule.getEditPanel()).paddingRight.match(/\d/g).join('');
23636
23831
  var rteWidth = _this.contentModule.getEditPanel().offsetWidth - (_this.contentModule.getEditPanel().offsetWidth -
23637
23832
  _this.contentModule.getEditPanel().clientWidth) - paddingSize * 2;
23833
+ var widthCompare = void 0;
23834
+ if (!isNullOrUndefined(_this.curTable.parentElement.closest('table'))) {
23835
+ var currentTd = _this.curTable.closest('td');
23836
+ var currentTDPad = +getComputedStyle(currentTd).paddingRight.match(/\d/g).join('');
23837
+ // Padding of the current table with the parent element multiply with 2.
23838
+ widthCompare = currentTd.offsetWidth - (currentTd.offsetWidth - currentTd.clientWidth) - currentTDPad * 2;
23839
+ }
23840
+ else {
23841
+ widthCompare = rteWidth;
23842
+ }
23638
23843
  if (_this.resizeBtnStat.column) {
23639
- var cellColl = _this.curTable.rows[_this.calMaxCol(_this.curTable)].cells;
23640
23844
  var width = parseFloat(_this.columnEle.offsetWidth.toString());
23641
- var actualwid = width - mouseX;
23642
- var totalwid = parseFloat(_this.columnEle.offsetWidth.toString()) +
23643
- parseFloat(cellColl[_this.colIndex - 1].offsetWidth.toString());
23644
- for (var i = 0; i < _this.curTable.rows.length; i++) {
23645
- if ((totalwid - actualwid) > 20 && actualwid > 20) {
23646
- var leftColumnWidth = totalwid - actualwid;
23647
- var rightColWidth = actualwid;
23648
- if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex - 1])) {
23649
- _this.curTable.rows[i].cells[_this.colIndex - 1].style.width =
23650
- _this.convertPixelToPercentage(leftColumnWidth, tableWidth) + '%';
23845
+ var cellRow = _this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
23846
+ var currentTableWidth = parseFloat(_this.curTable.style.width.split('%')[0]);
23847
+ var currentColumnCellWidth = parseFloat(_this.curTable.rows[cellRow].cells[_this.colIndex].style.width.split('%')[0]);
23848
+ if (_this.currentColumnResize === 'first') {
23849
+ mouseX = mouseX - 0.75; //This was done for to make the gripper and the table first/last column will be close.
23850
+ _this.removeResizeElement();
23851
+ // Below the value '100' is the 100% width of the parent element.
23852
+ if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX < 0) && currentTableWidth <= 100 && _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) <= 100) {
23853
+ var firstColumnsCell = _this.findFirstLastColCells(_this.curTable, true);
23854
+ _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) > 100 ? (100 + '%') : (_this.convertPixelToPercentage(tableWidth - mouseX, widthCompare) + '%');
23855
+ var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth - mouseX, widthCompare);
23856
+ _this.currentMarginLeft = _this.currentMarginLeft + differenceWidth;
23857
+ _this.curTable.style.marginLeft = 'calc(' + (_this.curTable.style.width === '100%' ? 0 : _this.currentMarginLeft) + '%)';
23858
+ for (var i = 0; i < firstColumnsCell.length; i++) {
23859
+ _this.curTable.rows[i].cells[_this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
23651
23860
  }
23652
- if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex])) {
23653
- _this.curTable.rows[i].cells[_this.colIndex].style.width =
23654
- _this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
23861
+ }
23862
+ }
23863
+ else if (_this.currentColumnResize === 'last') {
23864
+ mouseX = mouseX + 0.75; //This was done for to make the gripper and the table first/last column will be close.
23865
+ _this.removeResizeElement();
23866
+ // Below the value '100' is the 100% width of the parent element.
23867
+ if (((mouseX !== 0 && 5 < currentColumnCellWidth) || mouseX > 0) && currentTableWidth <= 100 && _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) <= 100) {
23868
+ var lastColumnsCell = _this.findFirstLastColCells(_this.curTable, false);
23869
+ _this.curTable.style.width = _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) > 100 ? (100 + '%') : (_this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%');
23870
+ var differenceWidth = currentTableWidth - _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare);
23871
+ for (var i = 0; i < lastColumnsCell.length; i++) {
23872
+ _this.curTable.rows[i].cells[_this.colIndex].style.width = (currentColumnCellWidth - differenceWidth) + '%';
23873
+ }
23874
+ }
23875
+ }
23876
+ else {
23877
+ var cellColl = _this.curTable.rows[_this.calMaxCol(_this.curTable)].cells;
23878
+ var actualwid = width - mouseX;
23879
+ var totalwid = parseFloat(_this.columnEle.offsetWidth.toString()) +
23880
+ parseFloat(cellColl[_this.colIndex - 1].offsetWidth.toString());
23881
+ for (var i = 0; i < _this.curTable.rows.length; i++) {
23882
+ if ((totalwid - actualwid) > 20 && actualwid > 20) {
23883
+ var leftColumnWidth = totalwid - actualwid;
23884
+ var rightColWidth = actualwid;
23885
+ if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex - 1])) {
23886
+ _this.curTable.rows[i].cells[_this.colIndex - 1].style.width =
23887
+ _this.convertPixelToPercentage(leftColumnWidth, tableWidth) + '%';
23888
+ }
23889
+ if (!isNullOrUndefined(_this.curTable.rows[i].cells[_this.colIndex])) {
23890
+ _this.curTable.rows[i].cells[_this.colIndex].style.width =
23891
+ _this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
23892
+ }
23655
23893
  }
23656
23894
  }
23657
23895
  }
@@ -23675,7 +23913,7 @@ var Table = /** @__PURE__ @class */ (function () {
23675
23913
  EventHandler.remove(_this.contentModule.getEditPanel(), 'mouseover', _this.resizeHelper);
23676
23914
  }
23677
23915
  var widthType = _this.curTable.style.width.indexOf('%') > -1;
23678
- _this.curTable.style.width = widthType ? _this.convertPixelToPercentage(tableWidth + mouseX, rteWidth) + '%'
23916
+ _this.curTable.style.width = widthType ? _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%'
23679
23917
  : tableWidth + mouseX + 'px';
23680
23918
  _this.curTable.style.height = tableHeight + mouseY + 'px';
23681
23919
  tableReBox.classList.add('e-rbox-select');
@@ -23685,6 +23923,17 @@ var Table = /** @__PURE__ @class */ (function () {
23685
23923
  }
23686
23924
  });
23687
23925
  };
23926
+ Table.prototype.findFirstLastColCells = function (table, isFirst) {
23927
+ var resultColumns = [];
23928
+ var rows = table.querySelectorAll('tr');
23929
+ for (var i = 0; i < rows.length; i++) {
23930
+ if (rows[i].closest('table') === table) {
23931
+ var columns = rows[i].querySelectorAll('th, td');
23932
+ resultColumns.push(isFirst ? columns[0] : columns[columns.length - 1]);
23933
+ }
23934
+ }
23935
+ return resultColumns;
23936
+ };
23688
23937
  Table.prototype.convertPixelToPercentage = function (value, offsetValue) {
23689
23938
  return (value / offsetValue) * 100;
23690
23939
  };
@@ -23703,14 +23952,14 @@ var Table = /** @__PURE__ @class */ (function () {
23703
23952
  EventHandler.add(this.contentModule.getEditPanel(), 'mouseover', this.resizeHelper, this);
23704
23953
  }
23705
23954
  this.removeResizeElement();
23706
- if (this.helper && this.contentModule.getEditPanel().contains(this.helper)) {
23707
- detach(this.helper);
23708
- this.helper = null;
23709
- }
23710
- this.pageX = null;
23711
- this.pageY = null;
23712
- this.moveEle = null;
23713
23955
  }
23956
+ if (this.helper && this.contentModule.getEditPanel().contains(this.helper)) {
23957
+ detach(this.helper);
23958
+ this.helper = null;
23959
+ }
23960
+ this.pageX = null;
23961
+ this.pageY = null;
23962
+ this.moveEle = null;
23714
23963
  var args = { event: e, requestType: 'table' };
23715
23964
  this.parent.trigger(resizeStop, args);
23716
23965
  this.parent.formatter.saveData();
@@ -23765,16 +24014,16 @@ var Table = /** @__PURE__ @class */ (function () {
23765
24014
  this.hideTableQuickToolbar();
23766
24015
  var header = '1X1';
23767
24016
  var insertbtn = this.l10n.getConstant('inserttablebtn');
23768
- this.dlgDiv = this.parent.createElement('div', { className: 'e-rte-table-popup', id: this.rteID + '_table' });
23769
- this.tblHeader = this.parent.createElement('div', { className: 'e-rte-popup-header' });
24017
+ this.dlgDiv = this.parent.createElement('div', { className: 'e-rte-table-popup' + ' ' + this.parent.cssClass, id: this.rteID + '_table' });
24018
+ this.tblHeader = this.parent.createElement('div', { className: 'e-rte-popup-header' + ' ' + this.parent.cssClass });
23770
24019
  this.tblHeader.innerHTML = header;
23771
24020
  this.dlgDiv.appendChild(this.tblHeader);
23772
- var tableDiv = this.parent.createElement('div', { className: 'e-rte-table-span' });
24021
+ var tableDiv = this.parent.createElement('div', { className: 'e-rte-table-span' + ' ' + this.parent.cssClass });
23773
24022
  this.drawTable(tableDiv, args);
23774
24023
  this.dlgDiv.appendChild(tableDiv);
23775
- this.dlgDiv.appendChild(this.parent.createElement('span', { className: 'e-span-border' }));
24024
+ this.dlgDiv.appendChild(this.parent.createElement('span', { className: 'e-span-border' + ' ' + this.parent.cssClass }));
23776
24025
  var btnEle = this.parent.createElement('button', {
23777
- className: 'e-insert-table-btn', id: this.rteID + '_insertTable',
24026
+ className: 'e-insert-table-btn' + ' ' + this.parent.cssClass, id: this.rteID + '_insertTable',
23778
24027
  attrs: { type: 'button', tabindex: '0' }
23779
24028
  });
23780
24029
  if (!isNullOrUndefined(this.parent.getToolbarElement().querySelector('.e-expended-nav'))) {
@@ -23836,7 +24085,7 @@ var Table = /** @__PURE__ @class */ (function () {
23836
24085
  !target.offsetParent.classList.contains('e-quick-dropdown') &&
23837
24086
  !target.offsetParent.classList.contains('e-rte-backgroundcolor-dropdown') && !closest(target, '.e-rte-dropdown-popup')
23838
24087
  && !closest(target, '.e-rte-elements')) {
23839
- removeClass(this.parent.element.querySelectorAll('table td'), CLS_TABLE_SEL);
24088
+ removeClass(this.parent.inputElement.querySelectorAll('table td'), CLS_TABLE_SEL);
23840
24089
  if (!Browser.isIE) {
23841
24090
  this.hideTableQuickToolbar();
23842
24091
  }
@@ -23850,10 +24099,10 @@ var Table = /** @__PURE__ @class */ (function () {
23850
24099
  var rowDiv;
23851
24100
  var tableCell;
23852
24101
  for (var row = 0; row < 3; row++) {
23853
- rowDiv = this.parent.createElement('div', { className: 'e-rte-table-row', attrs: { 'data-column': '' + row } });
24102
+ rowDiv = this.parent.createElement('div', { className: 'e-rte-table-row' + ' ' + this.parent.cssClass, attrs: { 'data-column': '' + row } });
23854
24103
  for (var col = 0; col < 10; col++) {
23855
24104
  var display = (row > 2) ? 'none' : 'inline-block';
23856
- tableCell = this.parent.createElement('div', { className: 'e-rte-tablecell e-default', attrs: { 'data-cell': '' + col } });
24105
+ tableCell = this.parent.createElement('div', { className: 'e-rte-tablecell e-default' + ' ' + this.parent.cssClass, attrs: { 'data-cell': '' + col } });
23857
24106
  rowDiv.appendChild(tableCell);
23858
24107
  tableCell.style.display = display;
23859
24108
  if (col === 0 && row === 0) {
@@ -23877,13 +24126,13 @@ var Table = /** @__PURE__ @class */ (function () {
23877
24126
  height: 'initial', width: '290px', content: editContent, header: editHeader,
23878
24127
  buttons: [{
23879
24128
  click: this.applyProperties.bind(this, args),
23880
- buttonModel: { content: update, cssClass: 'e-flat e-size-update', isPrimary: true }
24129
+ buttonModel: { content: update, cssClass: 'e-flat e-size-update' + ' ' + this.parent.cssClass, isPrimary: true }
23881
24130
  },
23882
24131
  {
23883
24132
  click: function (e) {
23884
24133
  _this.cancelDialog(e);
23885
24134
  },
23886
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24135
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: cancel }
23887
24136
  }],
23888
24137
  cssClass: this.parent.cssClass
23889
24138
  });
@@ -23907,13 +24156,13 @@ var Table = /** @__PURE__ @class */ (function () {
23907
24156
  height: 'initial', width: '290px', content: dlgContent,
23908
24157
  buttons: [{
23909
24158
  click: proxy.customTable.bind(this, args),
23910
- buttonModel: { content: insert, cssClass: 'e-flat e-insert-table', isPrimary: true }
24159
+ buttonModel: { content: insert, cssClass: 'e-flat e-insert-table' + ' ' + proxy.parent.cssClass, isPrimary: true }
23911
24160
  },
23912
24161
  {
23913
24162
  click: function (e) {
23914
24163
  proxy.cancelDialog(e);
23915
24164
  },
23916
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24165
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + proxy.parent.cssClass, content: cancel }
23917
24166
  }]
23918
24167
  });
23919
24168
  if (!isNullOrUndefined(proxy.parent.cssClass)) {
@@ -23925,10 +24174,10 @@ var Table = /** @__PURE__ @class */ (function () {
23925
24174
  Table.prototype.tableCellDlgContent = function () {
23926
24175
  var tableColumn = this.l10n.getConstant('columns');
23927
24176
  var tableRow = this.l10n.getConstant('rows');
23928
- var tableWrap = this.parent.createElement('div', { className: 'e-cell-wrap' });
23929
- var content = '<div class="e-rte-field"><input type="text" '
23930
- + ' data-role ="none" id="tableColumn" class="e-table-column"/></div>'
23931
- + '<div class="e-rte-field"><input type="text" data-role ="none" id="tableRow" class="e-table-row" /></div>';
24177
+ var tableWrap = this.parent.createElement('div', { className: 'e-cell-wrap' + ' ' + this.parent.cssClass });
24178
+ var content = '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" '
24179
+ + ' data-role ="none" id="tableColumn" class="e-table-column' + ' ' + this.parent.cssClass + '"/></div>'
24180
+ + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" data-role ="none" id="tableRow" class="e-table-row' + ' ' + this.parent.cssClass + '" /></div>';
23932
24181
  var contentElem = parseHtml(content);
23933
24182
  tableWrap.appendChild(contentElem);
23934
24183
  this.columnTextBox = new NumericTextBox({
@@ -23972,7 +24221,7 @@ var Table = /** @__PURE__ @class */ (function () {
23972
24221
  return;
23973
24222
  }
23974
24223
  var tableDialog = this.parent.createElement('div', {
23975
- className: 'e-rte-edit-table', id: this.rteID + '_tabledialog'
24224
+ className: 'e-rte-edit-table' + ' ' + this.parent.cssClass, id: this.rteID + '_tabledialog'
23976
24225
  });
23977
24226
  this.parent.element.appendChild(tableDialog);
23978
24227
  var insert = this.l10n.getConstant('dialogInsert');
@@ -23987,13 +24236,13 @@ var Table = /** @__PURE__ @class */ (function () {
23987
24236
  position: { X: 'center', Y: (Browser.isDevice) ? 'center' : 'top' },
23988
24237
  isModal: Browser.isDevice,
23989
24238
  buttons: [{
23990
- buttonModel: { content: insert, cssClass: 'e-flat e-insert-table', isPrimary: true }
24239
+ buttonModel: { content: insert, cssClass: 'e-flat e-insert-table' + ' ' + this.parent.cssClass, isPrimary: true }
23991
24240
  },
23992
24241
  {
23993
24242
  click: function (e) {
23994
24243
  _this.cancelDialog(e);
23995
24244
  },
23996
- buttonModel: { cssClass: 'e-flat e-cancel', content: cancel }
24245
+ buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: cancel }
23997
24246
  }],
23998
24247
  target: (Browser.isDevice) ? document.body : this.parent.element,
23999
24248
  animationSettings: { effect: 'None' },
@@ -24061,13 +24310,13 @@ var Table = /** @__PURE__ @class */ (function () {
24061
24310
  var tableWidth = this.l10n.getConstant('tableWidth');
24062
24311
  var cellPadding = this.l10n.getConstant('cellpadding');
24063
24312
  var cellSpacing = this.l10n.getConstant('cellspacing');
24064
- var tableWrap = this.parent.createElement('div', { className: 'e-table-sizewrap' });
24313
+ var tableWrap = this.parent.createElement('div', { className: 'e-table-sizewrap' + ' ' + this.parent.cssClass });
24065
24314
  var widthVal = closest(selectNode, 'table').getClientRects()[0].width;
24066
24315
  var padVal = closest(selectNode, 'td').style.padding;
24067
24316
  var brdSpcVal = closest(selectNode, 'table').getAttribute('cellspacing');
24068
- var content = '<div class="e-rte-field"><input type="text" data-role ="none" id="tableWidth" class="e-table-width" '
24069
- + ' /></div>' + '<div class="e-rte-field"><input type="text" data-role ="none" id="cellPadding" class="e-cell-padding" />'
24070
- + ' </div><div class="e-rte-field"><input type="text" data-role ="none" id="cellSpacing" class="e-cell-spacing" /></div>';
24317
+ 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 + '" '
24318
+ + ' /></div>' + '<div class="e-rte-field' + ' ' + this.parent.cssClass + '"><input type="text" data-role ="none" id="cellPadding" class="e-cell-padding' + ' ' + this.parent.cssClass + '" />'
24319
+ + ' </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>';
24071
24320
  var contentElem = parseHtml(content);
24072
24321
  tableWrap.appendChild(contentElem);
24073
24322
  this.tableWidthNum = new NumericTextBox({
@@ -25212,26 +25461,7 @@ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators,
25212
25461
  var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25213
25462
  __extends$4(RichTextEditor, _super);
25214
25463
  function RichTextEditor(options, element) {
25215
- var _this = _super.call(this, options, element) || this;
25216
- _this.defaultResetValue = null;
25217
- _this.isResizeInitialized = false;
25218
- /**
25219
- * @hidden
25220
- * @deprecated
25221
- */
25222
- _this.isFocusOut = false;
25223
- /**
25224
- * @hidden
25225
- * @deprecated
25226
- */
25227
- _this.isRTE = false;
25228
- /**
25229
- * @hidden
25230
- * @deprecated
25231
- */
25232
- _this.isBlur = true;
25233
- _this.needsID = true;
25234
- return _this;
25464
+ return _super.call(this, options, element) || this;
25235
25465
  }
25236
25466
  /**
25237
25467
  * To provide the array of modules needed for component rendering
@@ -25312,6 +25542,14 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25312
25542
  // eslint-disable-next-line
25313
25543
  (this.enabled) ? this.eventInitializer() : this.unWireEvents();
25314
25544
  };
25545
+ RichTextEditor.prototype.initializeValue = function () {
25546
+ this.isFocusOut = false;
25547
+ this.isRTE = false;
25548
+ this.isBlur = true;
25549
+ this.needsID = true;
25550
+ this.defaultResetValue = null;
25551
+ this.isResizeInitialized = false;
25552
+ };
25315
25553
  /**
25316
25554
  * For internal use only - Initialize the event handler;
25317
25555
  *
@@ -25320,6 +25558,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25320
25558
  * @private
25321
25559
  */
25322
25560
  RichTextEditor.prototype.preRender = function () {
25561
+ this.initializeValue();
25323
25562
  this.onBlurHandler = this.blurHandler.bind(this);
25324
25563
  this.onFocusHandler = this.focusHandler.bind(this);
25325
25564
  this.onResizeHandler = this.resizeHandler.bind(this);
@@ -25376,11 +25615,18 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
25376
25615
  }
25377
25616
  else {
25378
25617
  this.valueContainer = this.createElement('textarea', {
25379
- id: this.getID() + '-value'
25618
+ id: this.getID() + '-value',
25619
+ attrs: { 'aria-labelledby': this.getID() }
25380
25620
  });
25381
25621
  }
25382
25622
  this.valueContainer.name = this.getID();
25383
25623
  addClass([this.valueContainer], CLS_RTE_HIDDEN);
25624
+ if (!isNullOrUndefined(this.cssClass)) {
25625
+ var currentClassList = this.cssClass.split(' ');
25626
+ for (var i = 0; i < currentClassList.length; i++) {
25627
+ addClass([this.valueContainer], currentClassList[i]);
25628
+ }
25629
+ }
25384
25630
  this.element.appendChild(this.valueContainer);
25385
25631
  };
25386
25632
  /**
@@ -26019,6 +26265,12 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26019
26265
  for (var i = 0; i < this.originalElement.classList.length; i++) {
26020
26266
  addClass([this.element], this.originalElement.classList[i]);
26021
26267
  }
26268
+ if (!isNullOrUndefined(this.cssClass)) {
26269
+ var currentClassList = this.cssClass.split(' ');
26270
+ for (var i = 0; i < currentClassList.length; i++) {
26271
+ addClass([this.element], currentClassList[i]);
26272
+ }
26273
+ }
26022
26274
  removeClass([this.element], CLS_RTE_HIDDEN);
26023
26275
  }
26024
26276
  else {
@@ -26394,7 +26646,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26394
26646
  if (this.inputElement && this.placeholder && this.iframeSettings.enable !== true) {
26395
26647
  if (this.editorMode !== 'Markdown') {
26396
26648
  if (!this.placeHolderWrapper) {
26397
- this.placeHolderWrapper = this.createElement('span', { className: 'rte-placeholder e-rte-placeholder' });
26649
+ this.placeHolderWrapper = this.createElement('span', { className: 'rte-placeholder e-rte-placeholder' + ' ' + this.cssClass });
26398
26650
  if (this.inputElement) {
26399
26651
  this.inputElement.parentElement.insertBefore(this.placeHolderWrapper, this.inputElement);
26400
26652
  }
@@ -26644,7 +26896,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
26644
26896
  this.setProperties({ value: this.valueTemplate });
26645
26897
  }
26646
26898
  else {
26647
- var compiledTemplate = compile(this.valueTemplate)("", this, 'valueTemplate');
26899
+ var compiledTemplate = compile(this.valueTemplate)('', this, 'valueTemplate');
26648
26900
  for (var i = 0; i < compiledTemplate.length; i++) {
26649
26901
  var item = compiledTemplate[i];
26650
26902
  append([item], this.element);
@@ -27270,6 +27522,7 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
27270
27522
  };
27271
27523
  RichTextEditor.prototype.onIframeMouseDown = function (e) {
27272
27524
  this.isBlur = false;
27525
+ this.currentTarget = e.target;
27273
27526
  this.notify(iframeMouseDown, e);
27274
27527
  };
27275
27528
  RichTextEditor.prototype.editorKeyDown = function (e) {
@@ -27597,5 +27850,5 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
27597
27850
  * Rich Text Editor component exported items
27598
27851
  */
27599
27852
 
27600
- export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, imageCaption, imageSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, afterImageDelete, drop, xhtmlValidation, beforeImageUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, closeImageDialog, showTableDialog, closeTableDialog, bindCssClass, blockInlineEmptyNodes, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_IMAGE_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION };
27853
+ export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, imageCaption, imageSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, mediaSelected, mediaUploading, mediaUploadSuccess, mediaUploadFailed, mediaRemoving, afterImageDelete, afterMediaDelete, drop, xhtmlValidation, beforeImageUpload, beforeMediaUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, closeImageDialog, closeAudioDialog, showTableDialog, closeTableDialog, bindCssClass, blockInlineEmptyNodes, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, CLS_RTE_RES_WEST, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_IMAGE_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, INSERT_TEXT_COMMAND, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION };
27601
27854
  //# sourceMappingURL=ej2-richtexteditor.es5.js.map