@syncfusion/ej2-richtexteditor 20.4.52 → 21.1.35

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 (140) hide show
  1. package/CHANGELOG.md +32 -2
  2. package/dist/ej2-richtexteditor.min.js +2 -2
  3. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  4. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es2015.js +1623 -639
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +1638 -646
  8. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  9. package/dist/global/ej2-richtexteditor.min.js +2 -2
  10. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +13 -13
  13. package/src/common/config.js +3 -1
  14. package/src/common/constant.d.ts +6 -0
  15. package/src/common/constant.js +6 -0
  16. package/src/common/util.d.ts +2 -1
  17. package/src/common/util.js +15 -6
  18. package/src/editor-manager/base/editor-manager.d.ts +2 -0
  19. package/src/editor-manager/base/editor-manager.js +6 -1
  20. package/src/editor-manager/base/enum.d.ts +14 -0
  21. package/src/editor-manager/base/interface.d.ts +34 -0
  22. package/src/editor-manager/plugin/clearformat.js +13 -4
  23. package/src/editor-manager/plugin/format-painter-actions.d.ts +63 -0
  24. package/src/editor-manager/plugin/format-painter-actions.js +474 -0
  25. package/src/editor-manager/plugin/image.js +0 -1
  26. package/src/editor-manager/plugin/inserthtml-exec.js +1 -1
  27. package/src/editor-manager/plugin/inserthtml.d.ts +1 -1
  28. package/src/editor-manager/plugin/inserthtml.js +18 -10
  29. package/src/editor-manager/plugin/isformatted.js +1 -0
  30. package/src/editor-manager/plugin/link.js +0 -1
  31. package/src/editor-manager/plugin/lists.js +1 -1
  32. package/src/editor-manager/plugin/ms-word-clean-up.js +57 -19
  33. package/src/editor-manager/plugin/selection-commands.d.ts +4 -1
  34. package/src/editor-manager/plugin/selection-commands.js +70 -9
  35. package/src/editor-manager/plugin/video.js +2 -0
  36. package/src/editor-manager/plugin.d.ts +1 -0
  37. package/src/editor-manager/plugin.js +1 -0
  38. package/src/global.js +1 -1
  39. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +1 -0
  40. package/src/rich-text-editor/actions/base-quick-toolbar.js +21 -1
  41. package/src/rich-text-editor/actions/base-toolbar.js +33 -10
  42. package/src/rich-text-editor/actions/enter-key.js +23 -16
  43. package/src/rich-text-editor/actions/format-painter.d.ts +24 -0
  44. package/src/rich-text-editor/actions/format-painter.js +142 -0
  45. package/src/rich-text-editor/actions/full-screen.js +0 -1
  46. package/src/rich-text-editor/actions/html-editor.d.ts +1 -0
  47. package/src/rich-text-editor/actions/html-editor.js +117 -97
  48. package/src/rich-text-editor/actions/paste-clean-up.js +2 -2
  49. package/src/rich-text-editor/actions/quick-toolbar.js +8 -1
  50. package/src/rich-text-editor/actions/toolbar.js +10 -0
  51. package/src/rich-text-editor/actions.d.ts +1 -0
  52. package/src/rich-text-editor/actions.js +1 -0
  53. package/src/rich-text-editor/base/constant.d.ts +10 -0
  54. package/src/rich-text-editor/base/constant.js +10 -0
  55. package/src/rich-text-editor/base/enum.d.ts +4 -0
  56. package/src/rich-text-editor/base/interface.d.ts +30 -3
  57. package/src/rich-text-editor/base/interface.js +12 -0
  58. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +30 -4
  59. package/src/rich-text-editor/base/rich-text-editor.d.ts +35 -5
  60. package/src/rich-text-editor/base/rich-text-editor.js +46 -10
  61. package/src/rich-text-editor/base/util.js +2 -0
  62. package/src/rich-text-editor/formatter/formatter.js +22 -13
  63. package/src/rich-text-editor/formatter/html-formatter.d.ts +5 -3
  64. package/src/rich-text-editor/formatter/html-formatter.js +7 -5
  65. package/src/rich-text-editor/models/default-locale.js +4 -2
  66. package/src/rich-text-editor/models/items.d.ts +3 -0
  67. package/src/rich-text-editor/models/items.js +32 -0
  68. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +29 -1
  69. package/src/rich-text-editor/models/toolbar-settings.d.ts +24 -1
  70. package/src/rich-text-editor/models/toolbar-settings.js +20 -0
  71. package/src/rich-text-editor/renderer/audio-module.js +6 -3
  72. package/src/rich-text-editor/renderer/image-module.js +11 -6
  73. package/src/rich-text-editor/renderer/link-module.js +2 -1
  74. package/src/rich-text-editor/renderer/table-module.js +18 -6
  75. package/src/rich-text-editor/renderer/toolbar-renderer.js +10 -1
  76. package/src/rich-text-editor/renderer/video-module.js +8 -5
  77. package/src/rich-text-editor/renderer/view-source.js +1 -1
  78. package/styles/bootstrap-dark.css +31 -1
  79. package/styles/bootstrap.css +31 -1
  80. package/styles/bootstrap4.css +31 -1
  81. package/styles/bootstrap5-dark.css +32 -2
  82. package/styles/bootstrap5.css +32 -2
  83. package/styles/fabric-dark.css +31 -1
  84. package/styles/fabric.css +31 -1
  85. package/styles/fluent-dark.css +34 -4
  86. package/styles/fluent.css +34 -4
  87. package/styles/highcontrast-light.css +31 -1
  88. package/styles/highcontrast.css +31 -1
  89. package/styles/material-dark.css +31 -1
  90. package/styles/material.css +31 -1
  91. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +25 -1
  92. package/styles/rich-text-editor/_bootstrap-definition.scss +25 -1
  93. package/styles/rich-text-editor/_bootstrap4-definition.scss +25 -1
  94. package/styles/rich-text-editor/_bootstrap5-definition.scss +28 -5
  95. package/styles/rich-text-editor/_fabric-dark-definition.scss +25 -1
  96. package/styles/rich-text-editor/_fabric-definition.scss +25 -1
  97. package/styles/rich-text-editor/_fluent-definition.scss +30 -7
  98. package/styles/rich-text-editor/_fusionnew-definition.scss +26 -3
  99. package/styles/rich-text-editor/_highcontrast-definition.scss +25 -1
  100. package/styles/rich-text-editor/_highcontrast-light-definition.scss +25 -1
  101. package/styles/rich-text-editor/_layout.scss +47 -15
  102. package/styles/rich-text-editor/_material-dark-definition.scss +26 -1
  103. package/styles/rich-text-editor/_material-definition.scss +25 -1
  104. package/styles/rich-text-editor/_tailwind-definition.scss +28 -5
  105. package/styles/rich-text-editor/_theme.scss +54 -6
  106. package/styles/rich-text-editor/bootstrap-dark.css +31 -1
  107. package/styles/rich-text-editor/bootstrap.css +31 -1
  108. package/styles/rich-text-editor/bootstrap4.css +31 -1
  109. package/styles/rich-text-editor/bootstrap5-dark.css +32 -2
  110. package/styles/rich-text-editor/bootstrap5.css +32 -2
  111. package/styles/rich-text-editor/fabric-dark.css +31 -1
  112. package/styles/rich-text-editor/fabric.css +31 -1
  113. package/styles/rich-text-editor/fluent-dark.css +34 -4
  114. package/styles/rich-text-editor/fluent.css +34 -4
  115. package/styles/rich-text-editor/highcontrast-light.css +31 -1
  116. package/styles/rich-text-editor/highcontrast.css +31 -1
  117. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +8 -0
  118. package/styles/rich-text-editor/icons/_bootstrap.scss +8 -0
  119. package/styles/rich-text-editor/icons/_bootstrap4.scss +8 -0
  120. package/styles/rich-text-editor/icons/_bootstrap5.scss +8 -0
  121. package/styles/rich-text-editor/icons/_fabric-dark.scss +8 -0
  122. package/styles/rich-text-editor/icons/_fabric.scss +8 -0
  123. package/styles/rich-text-editor/icons/_fluent.scss +8 -0
  124. package/styles/rich-text-editor/icons/_fusionnew.scss +8 -0
  125. package/styles/rich-text-editor/icons/_highcontrast-light.scss +8 -0
  126. package/styles/rich-text-editor/icons/_highcontrast.scss +8 -0
  127. package/styles/rich-text-editor/icons/_material-dark.scss +8 -0
  128. package/styles/rich-text-editor/icons/_material.scss +8 -0
  129. package/styles/rich-text-editor/icons/_material3.scss +8 -0
  130. package/styles/rich-text-editor/icons/_tailwind.scss +8 -0
  131. package/styles/rich-text-editor/material-dark.css +31 -1
  132. package/styles/rich-text-editor/material.css +31 -1
  133. package/styles/rich-text-editor/tailwind-dark.css +31 -1
  134. package/styles/rich-text-editor/tailwind.css +31 -1
  135. package/styles/tailwind-dark.css +31 -1
  136. package/styles/tailwind.css +31 -1
  137. package/GitLeaksReport.json +0 -1
  138. package/gitleaks-ci/gitleaks +0 -0
  139. package/gitleaks-ci.tar.gz +0 -0
  140. package/styles/rich-text-editor/_material3-definition.scss +0 -196
@@ -5,7 +5,7 @@ import { NavigationPaneSettingsModel, SearchSettingsModel, SortOrder } from '@sy
5
5
  import { ToolbarSettingsModel as FileToolbarSettingsModel } from '@syncfusion/ej2-filemanager';
6
6
  import { UploadSettingsModel, ViewType } from '@syncfusion/ej2-filemanager';
7
7
  import { SaveFormat, DisplayLayoutOptions } from '../../common';
8
- import { ToolbarType, ActionOnScroll, ToolbarItems } from '../base/enum';
8
+ import { ToolbarType, ActionOnScroll, ToolbarItems, FormatPainterContext } from '../base/enum';
9
9
  import { IToolbarItems, IDropDownItemModel, ColorModeType, IToolsItemConfigs, IListDropDownModel } from '../base/interface';
10
10
  /**
11
11
  * Configures the toolbar settings of the RichTextEditor.
@@ -497,6 +497,29 @@ export declare class QuickToolbarSettings extends ChildProperty<QuickToolbarSett
497
497
  */
498
498
  table: (string | IToolbarItems)[];
499
499
  }
500
+ /**
501
+ * Configure the format painter settings of the Rich Text Editor.
502
+ */
503
+ export declare class FormatPainterSettings extends ChildProperty<FormatPainterSettings> {
504
+ /**
505
+ * Defines the context or contexts in which styles will be copied.
506
+ *
507
+ * @default ['Text', 'List', 'Table']
508
+ */
509
+ allowedContext: FormatPainterContext[];
510
+ /**
511
+ * Defines the tag name selectors for obtaining the formats from the elements.
512
+ *
513
+ * @default 'b; em; font; sub; sup; kbd; i; s; u; code; strong; span; p; div; h1; h2; h3; h4; h5; h6; blockquote; table; thead; tbody; tr; td; th; ol; ul; li; pre;'
514
+ */
515
+ allowedFormats: string;
516
+ /**
517
+ * Defines selectors for the elements from which fetching formats is expressly prohibited.
518
+ *
519
+ * @default null
520
+ */
521
+ deniedFormats: string;
522
+ }
500
523
  /**
501
524
  * Configures the Paste Cleanup settings of the RichTextEditor.
502
525
  */
@@ -309,6 +309,26 @@ var QuickToolbarSettings = /** @class */ (function (_super) {
309
309
  return QuickToolbarSettings;
310
310
  }(ChildProperty));
311
311
  export { QuickToolbarSettings };
312
+ /**
313
+ * Configure the format painter settings of the Rich Text Editor.
314
+ */
315
+ var FormatPainterSettings = /** @class */ (function (_super) {
316
+ __extends(FormatPainterSettings, _super);
317
+ function FormatPainterSettings() {
318
+ return _super !== null && _super.apply(this, arguments) || this;
319
+ }
320
+ __decorate([
321
+ Property(['Text', 'List', 'Table'])
322
+ ], FormatPainterSettings.prototype, "allowedContext", void 0);
323
+ __decorate([
324
+ Property('b; em; font; sub; sup; kbd; i; s; u; code; strong; span; p; div; h1; h2; h3; h4; h5; h6; blockquote; table; thead; tbody; tr; td; th; ol; ul; li; pre;')
325
+ ], FormatPainterSettings.prototype, "allowedFormats", void 0);
326
+ __decorate([
327
+ Property(null)
328
+ ], FormatPainterSettings.prototype, "deniedFormats", void 0);
329
+ return FormatPainterSettings;
330
+ }(ChildProperty));
331
+ export { FormatPainterSettings };
312
332
  /**
313
333
  * Configures the Paste Cleanup settings of the RichTextEditor.
314
334
  */
@@ -181,8 +181,9 @@ var Audio = /** @class */ (function () {
181
181
  }
182
182
  if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
183
183
  if (selectNodeEle && this.isAudioElem(selectNodeEle[0]) && selectNodeEle.length < 1) {
184
- if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
184
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)) {
185
185
  save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
186
+ }
186
187
  originalEvent.preventDefault();
187
188
  var event_1 = {
188
189
  selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
@@ -231,8 +232,9 @@ var Audio = /** @class */ (function () {
231
232
  }
232
233
  break;
233
234
  case 'insert-audio':
234
- if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
235
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)) {
235
236
  save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
237
+ }
236
238
  this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
237
239
  originalEvent.preventDefault();
238
240
  break;
@@ -258,7 +260,8 @@ var Audio = /** @class */ (function () {
258
260
  this.insertAudio({
259
261
  args: {
260
262
  item: { command: 'Audios', subCommand: 'Audio' },
261
- originalEvent: event
263
+ originalEvent: event,
264
+ name: !isInternal ? 'showDialog' : null
262
265
  },
263
266
  selectNode: selectNodeEle,
264
267
  selection: save,
@@ -387,7 +387,8 @@ var Image = /** @class */ (function () {
387
387
  img.setAttribute('width', (img.width + this.mouseX).toString());
388
388
  }
389
389
  else {
390
- img.setAttribute('width', (img.offsetWidth + this.mouseX).toString());
390
+ var currentWidth = img.offsetWidth === 0 ? img.width + this.mouseX + parseInt(img.style.outlineWidth.split('p')[0]) : img.offsetWidth + this.mouseX;
391
+ img.setAttribute('width', (currentWidth).toString());
391
392
  }
392
393
  }
393
394
  }
@@ -470,7 +471,7 @@ var Image = /** @class */ (function () {
470
471
  var pageX = this.getPointX(e);
471
472
  var pageY = this.getPointY(e);
472
473
  var mouseX = (this.resizeBtnStat.botLeft || this.resizeBtnStat.topLeft) ? -(pageX - this.pageX) : (pageX - this.pageX);
473
- var mouseY = (this.resizeBtnStat.topLeft || this.resizeBtnStat.topRight) ? -(pageY - this.pageY) : (pageY - this.pageY);
474
+ var mouseY = (this.resizeBtnStat.botLeft || this.resizeBtnStat.topLeft) ? -(pageY - this.pageY) : (pageY - this.pageY);
474
475
  var width = parseInt(this.imgDupPos.width, 10) + mouseX;
475
476
  var height = parseInt(this.imgDupPos.height, 10) + mouseY;
476
477
  this.mouseX = mouseX;
@@ -641,8 +642,9 @@ var Image = /** @class */ (function () {
641
642
  }
642
643
  if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
643
644
  if (selectNodeEle && selectNodeEle[0].nodeName === 'IMG' && selectNodeEle.length < 1) {
644
- if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
645
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)) {
645
646
  save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
647
+ }
646
648
  originalEvent.preventDefault();
647
649
  var event_1 = {
648
650
  selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
@@ -701,8 +703,9 @@ var Image = /** @class */ (function () {
701
703
  }
702
704
  break;
703
705
  case 'insert-image':
704
- if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
706
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)) {
705
707
  save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
708
+ }
706
709
  this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
707
710
  originalEvent.preventDefault();
708
711
  break;
@@ -728,7 +731,8 @@ var Image = /** @class */ (function () {
728
731
  this.insertImage({
729
732
  args: {
730
733
  item: { command: 'Images', subCommand: 'Image' },
731
- originalEvent: event
734
+ originalEvent: event,
735
+ name: !isInternal ? 'showDialog' : null
732
736
  },
733
737
  selectNode: selectNodeEle,
734
738
  selection: save,
@@ -739,7 +743,8 @@ var Image = /** @class */ (function () {
739
743
  this.insertImage({
740
744
  args: {
741
745
  item: { command: 'Images', subCommand: 'Image' },
742
- originalEvent: event
746
+ originalEvent: event,
747
+ name: !isInternal ? 'showDialog' : null
743
748
  },
744
749
  member: 'image',
745
750
  text: this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()),
@@ -198,7 +198,8 @@ var Link = /** @class */ (function () {
198
198
  var eventArgs = {
199
199
  args: event ? event.args : {
200
200
  item: { command: 'Links', subCommand: 'CreateLink' },
201
- originalEvent: undefined
201
+ originalEvent: undefined,
202
+ name: !isInternal ? 'showDialog' : null
202
203
  },
203
204
  selectNode: selectNodeEle, selection: save, selectParent: selectParentEle
204
205
  };
@@ -184,8 +184,9 @@ var Table = /** @class */ (function () {
184
184
  if ((event.keyCode === 8 || event.keyCode === 46) ||
185
185
  (event.ctrlKey && event.keyCode === 88)) {
186
186
  if (ele && ele.tagName === 'TBODY') {
187
- if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule)
187
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule) {
188
188
  selection = this.parent.formatter.editorManager.nodeSelection.save(range, this.contentModule.getDocument());
189
+ }
189
190
  event.preventDefault();
190
191
  proxy.removeTable(selection, event, true);
191
192
  }
@@ -199,8 +200,9 @@ var Table = /** @class */ (function () {
199
200
  ele = !isNullOrUndefined(closestTd) && this.parent.inputElement.contains(closestTd) ? closestTd : ele;
200
201
  }
201
202
  if (ele && (ele.tagName === 'TD' || ele.tagName === 'TH')) {
202
- if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule)
203
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule) {
203
204
  selection = this.parent.formatter.editorManager.nodeSelection.save(range, this.contentModule.getDocument());
205
+ }
204
206
  switch (event.keyCode) {
205
207
  case 9:
206
208
  case 37:
@@ -243,7 +245,8 @@ var Table = /** @class */ (function () {
243
245
  item: {
244
246
  command: 'Table',
245
247
  subCommand: 'CreateTable'
246
- }
248
+ },
249
+ name: !isInternal ? 'showDialog' : null
247
250
  };
248
251
  this.insertTableDialog({ self: this, args: args, selection: selection });
249
252
  }
@@ -468,9 +471,18 @@ var Table = /** @class */ (function () {
468
471
  var range_1 = this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());
469
472
  this.parent.formatter.editorManager.nodeSelection.save(range_1, this.contentModule.getDocument());
470
473
  this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument());
471
- var pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset + this.parent.element.getBoundingClientRect().left + args.clientX : args.pageX;
472
- var pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset +
473
- this.parent.element.getBoundingClientRect().top + args.clientY : args.pageY;
474
+ var pageX = void 0;
475
+ var pageY = void 0;
476
+ if (Browser.isDevice && e.args.touches) {
477
+ pageX = e.args.changedTouches[0].pageX;
478
+ pageY = e.args.changedTouches[0].pageY;
479
+ }
480
+ else {
481
+ pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset
482
+ + this.parent.element.getBoundingClientRect().left + args.clientX : args.pageX;
483
+ pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset +
484
+ this.parent.element.getBoundingClientRect().top + args.clientY : args.pageY;
485
+ }
474
486
  this.quickToolObj.tableQTBar.showPopup(pageX, pageY, target);
475
487
  this.parent.formatter.editorManager.nodeSelection.restore();
476
488
  }
@@ -2,7 +2,7 @@ import { addClass, Browser, removeClass, EventHandler, formatUnit, isNullOrUndef
2
2
  import { getInstance, closest, selectAll, detach } from '@syncfusion/ej2-base';
3
3
  import { Toolbar } from '@syncfusion/ej2-navigations';
4
4
  import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
5
- import { Popup } from '@syncfusion/ej2-popups';
5
+ import { Popup, Tooltip } from '@syncfusion/ej2-popups';
6
6
  import * as classes from '../base/classes';
7
7
  import * as events from '../base/constant';
8
8
  import { CLS_TOOLBAR, CLS_DROPDOWN_BTN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_INLINE_DROPDOWN, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_BULLETFORMATLIST_TB_BTN, CLS_NUMBERFORMATLIST_TB_BTN, CLS_LIST_PRIMARY_CONTENT } from '../base/classes';
@@ -121,6 +121,14 @@ var ToolbarRenderer = /** @class */ (function () {
121
121
  args.rteToolbarObj.toolbarObj.isStringTemplate = true;
122
122
  args.rteToolbarObj.toolbarObj.createElement = this.parent.createElement;
123
123
  args.rteToolbarObj.toolbarObj.appendTo(args.target);
124
+ if (this.parent.showTooltip) {
125
+ var tooltip = new Tooltip({
126
+ target: '#' + this.parent.getID() + '_toolbar_wrapper [title]',
127
+ showTipPointer: true,
128
+ cssClass: this.parent.cssClass
129
+ });
130
+ tooltip.appendTo(args.target);
131
+ }
124
132
  };
125
133
  /**
126
134
  * renderDropDownButton method
@@ -227,6 +235,7 @@ var ToolbarRenderer = /** @class */ (function () {
227
235
  dropDown.createElement = proxy.parent.createElement;
228
236
  dropDown.appendTo(args.element);
229
237
  args.element.tabIndex = -1;
238
+ args.element.setAttribute('role', 'button');
230
239
  var popupElement = document.getElementById(dropDown.element.id + '-popup');
231
240
  popupElement.setAttribute('aria-owns', this.parent.getID());
232
241
  if (args.element.childElementCount === 1) {
@@ -412,7 +412,7 @@ var Video = /** @class */ (function () {
412
412
  var height = vidEleStyle.height !== '' ? parseInt(vidEleStyle.height, 10) : vid.style.height !== '' ? vid.style.height : vid.height;
413
413
  if (width > height) {
414
414
  vid.style.minWidth = this.parent.insertVideoSettings.minWidth === 0 ? '140px' : formatUnit(this.parent.insertVideoSettings.minWidth);
415
- vid.style.minHeight = this.parent.insertVideoSettings.minHeight === 0 ? '50px' : formatUnit(this.parent.insertVideoSettings.minHeight);
415
+ vid.style.minHeight = this.parent.insertVideoSettings.minHeight === 0 ? '60px' : formatUnit(this.parent.insertVideoSettings.minHeight);
416
416
  if (this.parent.insertVideoSettings.resizeByPercent) {
417
417
  if (parseInt('' + vid.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
418
418
  var percentageValue = this.pixToPerc((parseInt(width.toString(), 10) / parseInt(height.toString(), 10) * expectedY), (vid.previousElementSibling || vid.parentElement));
@@ -624,8 +624,9 @@ var Video = /** @class */ (function () {
624
624
  }
625
625
  if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
626
626
  if (selectNodeEle && (selectNodeEle[0].nodeName === 'VIDEO' || this.isEmbedVidElem(selectNodeEle[0])) && selectNodeEle.length < 1) {
627
- if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
627
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)) {
628
628
  save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
629
+ }
629
630
  originalEvent.preventDefault();
630
631
  var event_1 = {
631
632
  selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
@@ -678,8 +679,9 @@ var Video = /** @class */ (function () {
678
679
  }
679
680
  break;
680
681
  case 'insert-video':
681
- if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
682
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)) {
682
683
  save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
684
+ }
683
685
  this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
684
686
  originalEvent.preventDefault();
685
687
  break;
@@ -705,7 +707,8 @@ var Video = /** @class */ (function () {
705
707
  this.insertVideo({
706
708
  args: {
707
709
  item: { command: 'Videos', subCommand: 'Video' },
708
- originalEvent: event
710
+ originalEvent: event,
711
+ name: !isInternal ? 'showDialog' : null
709
712
  },
710
713
  selectNode: selectNodeEle,
711
714
  selection: save,
@@ -954,7 +957,7 @@ var Video = /** @class */ (function () {
954
957
  };
955
958
  Video.prototype.showVideoQuickToolbar = function (e) {
956
959
  var _this = this;
957
- if (e.type !== 'Videos' || e.args.detail === 2 || isNullOrUndefined(this.parent.quickToolbarModule)
960
+ if (e.type !== 'Videos' || (!isNullOrUndefined(e.args) && e.args.detail === 2) || isNullOrUndefined(this.parent.quickToolbarModule)
958
961
  || isNullOrUndefined(this.parent.quickToolbarModule.videoQTBar) || isNullOrUndefined(e.args)) {
959
962
  return;
960
963
  }
@@ -79,7 +79,7 @@ var ViewSource = /** @class */ (function () {
79
79
  break;
80
80
  case 'toolbar-focus':
81
81
  if (this.parent.toolbarSettings.enable) {
82
- var selector = '.e-toolbar-item[aria-disabled="false"][title] [tabindex]';
82
+ var selector = '.e-toolbar-item[title] [tabindex]';
83
83
  this.parent.toolbarModule.baseToolbar.toolbarObj.element.querySelector(selector).focus();
84
84
  }
85
85
  break;
@@ -305,6 +305,10 @@
305
305
  .e-rte-dropdown-popup .e-rte-file-manager::before {
306
306
  content: "\e42b";
307
307
  }
308
+ .e-rte-toolbar .e-rte-format-painter::before,
309
+ .e-rte-dropdown-popup .e-rte-format-painter::before {
310
+ content: "\e98b";
311
+ }
308
312
 
309
313
  .e-richtexteditor .e-south-east::before,
310
314
  .e-richtexteditor .e-south-west::before {
@@ -327,6 +331,10 @@
327
331
  content: "\e89c";
328
332
  }
329
333
 
334
+ .e-rte-cursor-brush {
335
+ cursor: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.0194 8H18.0175C19.6583 8 21 9.35001 21 11L20.9903 23H4L5.0932 10.91C5.0932 9.35001 6.42524 8 8.07573 8H10.0544V1H16.0194V8ZM8.06602 10C7.51845 10 7.07184 10.45 7.07184 11L6.89126 13H19.0019V11C19.0019 10.45 18.5553 10 18.0078 10H8.06602ZM14.0311 8V3H12.0427V8H14.0311ZM19.0019 15H6.71068L6.16699 21H7.83689L19.0019 15.6291V15ZM19.0019 17.8463L12.4466 21H19.0019V17.8463Z" fill="black"/><path d="M6.71068 15H19.0019V15.6291L7.83689 21H6.16699L6.71068 15Z" fill="white"/><path d="M8.06602 10C7.51845 10 7.07184 10.45 7.07184 11L6.89126 13H19.0019V11C19.0019 10.45 18.5553 10 18.0078 10H8.06602Z" fill="white"/><path d="M14.0311 8V3H12.0427V8H14.0311Z" fill="white"/><path d="M19.0019 17.8463L12.4466 21H19.0019V17.8463Z" fill="white"/></svg>'), text;
336
+ }
337
+
330
338
  /*! tab layout */
331
339
  .e-bigger .e-richtexteditor .e-rte-toolbar .e-toolbar-items:not(.e-tbar-pos) .e-toolbar-item:first-child,
332
340
  .e-richtexteditor.e-bigger .e-rte-toolbar .e-toolbar-items:not(.e-tbar-pos) .e-toolbar-item:first-child {
@@ -555,6 +563,7 @@
555
563
  margin-right: 0;
556
564
  }
557
565
  .e-richtexteditor .e-rte-toolbar.e-rte-tb-mobile .e-toolbar-multirow {
566
+ display: inline-block;
558
567
  margin-left: 0;
559
568
  margin-right: 0;
560
569
  overflow-x: auto;
@@ -1417,6 +1426,7 @@
1417
1426
  }
1418
1427
  .e-rte-quick-popup .e-rte-quick-toolbar .e-toolbar-items:not(.e-tbar-pos).e-toolbar-multirow {
1419
1428
  white-space: nowrap;
1429
+ display: inline-block;
1420
1430
  }
1421
1431
  .e-rte-quick-popup .e-rte-quick-toolbar.e-remove-white-space .e-toolbar-items:not(.e-tbar-pos).e-toolbar-multirow {
1422
1432
  white-space: nowrap;
@@ -2297,6 +2307,11 @@
2297
2307
  margin: 1px;
2298
2308
  }
2299
2309
 
2310
+ .e-transparent.e-rte-elements.e-tbar-btn.e-rte-fontcolor-dropdown,
2311
+ .e-transparent.e-rte-elements.e-tbar-btn.e-rte-backgroundcolor-dropdown {
2312
+ visibility: hidden;
2313
+ }
2314
+
2300
2315
  /*! tab layout */
2301
2316
  .e-richtexteditor .e-rte-toolbar {
2302
2317
  border: 1px solid #505050;
@@ -2389,6 +2404,9 @@
2389
2404
  .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn .e-icons {
2390
2405
  color: #f0f0f0;
2391
2406
  }
2407
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn:hover .e-icons {
2408
+ color: #f0f0f0;
2409
+ }
2392
2410
  .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn .e-icons {
2393
2411
  color: #f0f0f0;
2394
2412
  }
@@ -2407,6 +2425,9 @@
2407
2425
  .e-richtexteditor .e-toolbar-wrapper + .e-rte-toolbar:not(.e-rte-tb-float) {
2408
2426
  border: 0;
2409
2427
  }
2428
+ .e-richtexteditor .e-toolbar-wrapper {
2429
+ background: #131313;
2430
+ }
2410
2431
  .e-richtexteditor img.e-img-focus::selection,
2411
2432
  .e-richtexteditor audio.e-audio-focus::selection,
2412
2433
  .e-richtexteditor .e-video-focus::selection {
@@ -2605,7 +2626,8 @@
2605
2626
 
2606
2627
  .e-dialog .e-img-uploadwrap .e-droptext,
2607
2628
  .e-dialog .e-aud-uploadwrap .e-droptext,
2608
- .e-dialog .e-vid-uploadwrap .e-droptext {
2629
+ .e-dialog .e-vid-uploadwrap .e-droptext,
2630
+ .e-dialog.e-device .e-vid-uploadwrap .e-droptext {
2609
2631
  border: dashed 2px #505050;
2610
2632
  border-radius: 4px;
2611
2633
  color: #676767;
@@ -2618,6 +2640,10 @@
2618
2640
  width: 300px;
2619
2641
  }
2620
2642
 
2643
+ .e-dialog .e-vid-uploadwrap .e-droptext {
2644
+ height: 108px;
2645
+ }
2646
+
2621
2647
  .e-dialog.e-device.e-dlg-modal .e-img-uploadwrap .e-droptext,
2622
2648
  .e-dialog.e-device.e-dlg-modal .e-vid-uploadwrap .e-droptext,
2623
2649
  .e-dialog.e-device.e-dlg-modal .e-aud-uploadwrap .e-droptext {
@@ -2770,6 +2796,10 @@ span.e-table-box.e-rbox-select {
2770
2796
  color: #f0f0f0;
2771
2797
  }
2772
2798
 
2799
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-active .e-icons {
2800
+ color: #f0f0f0;
2801
+ }
2802
+
2773
2803
  .e-richtexteditor.e-rte-tb-expand .e-rte-content-border {
2774
2804
  border-bottom: 0;
2775
2805
  }
@@ -446,6 +446,10 @@
446
446
  .e-rte-dropdown-popup .e-rte-file-manager::before {
447
447
  content: "\e42b";
448
448
  }
449
+ .e-rte-toolbar .e-rte-format-painter::before,
450
+ .e-rte-dropdown-popup .e-rte-format-painter::before {
451
+ content: "\e98b";
452
+ }
449
453
 
450
454
  .e-richtexteditor .e-south-east::before,
451
455
  .e-richtexteditor .e-south-west::before {
@@ -468,6 +472,10 @@
468
472
  content: "\e89c";
469
473
  }
470
474
 
475
+ .e-rte-cursor-brush {
476
+ cursor: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.0194 8H18.0175C19.6583 8 21 9.35001 21 11L20.9903 23H4L5.0932 10.91C5.0932 9.35001 6.42524 8 8.07573 8H10.0544V1H16.0194V8ZM8.06602 10C7.51845 10 7.07184 10.45 7.07184 11L6.89126 13H19.0019V11C19.0019 10.45 18.5553 10 18.0078 10H8.06602ZM14.0311 8V3H12.0427V8H14.0311ZM19.0019 15H6.71068L6.16699 21H7.83689L19.0019 15.6291V15ZM19.0019 17.8463L12.4466 21H19.0019V17.8463Z" fill="black"/><path d="M6.71068 15H19.0019V15.6291L7.83689 21H6.16699L6.71068 15Z" fill="white"/><path d="M8.06602 10C7.51845 10 7.07184 10.45 7.07184 11L6.89126 13H19.0019V11C19.0019 10.45 18.5553 10 18.0078 10H8.06602Z" fill="white"/><path d="M14.0311 8V3H12.0427V8H14.0311Z" fill="white"/><path d="M19.0019 17.8463L12.4466 21H19.0019V17.8463Z" fill="white"/></svg>'), text;
477
+ }
478
+
471
479
  /*! tab layout */
472
480
  .e-bigger .e-richtexteditor .e-rte-toolbar .e-toolbar-items:not(.e-tbar-pos) .e-toolbar-item:first-child,
473
481
  .e-richtexteditor.e-bigger .e-rte-toolbar .e-toolbar-items:not(.e-tbar-pos) .e-toolbar-item:first-child {
@@ -696,6 +704,7 @@
696
704
  margin-right: 0;
697
705
  }
698
706
  .e-richtexteditor .e-rte-toolbar.e-rte-tb-mobile .e-toolbar-multirow {
707
+ display: inline-block;
699
708
  margin-left: 0;
700
709
  margin-right: 0;
701
710
  overflow-x: auto;
@@ -1558,6 +1567,7 @@
1558
1567
  }
1559
1568
  .e-rte-quick-popup .e-rte-quick-toolbar .e-toolbar-items:not(.e-tbar-pos).e-toolbar-multirow {
1560
1569
  white-space: nowrap;
1570
+ display: inline-block;
1561
1571
  }
1562
1572
  .e-rte-quick-popup .e-rte-quick-toolbar.e-remove-white-space .e-toolbar-items:not(.e-tbar-pos).e-toolbar-multirow {
1563
1573
  white-space: nowrap;
@@ -2438,6 +2448,11 @@
2438
2448
  margin: 1px;
2439
2449
  }
2440
2450
 
2451
+ .e-transparent.e-rte-elements.e-tbar-btn.e-rte-fontcolor-dropdown,
2452
+ .e-transparent.e-rte-elements.e-tbar-btn.e-rte-backgroundcolor-dropdown {
2453
+ visibility: hidden;
2454
+ }
2455
+
2441
2456
  /*! tab layout */
2442
2457
  .e-richtexteditor .e-rte-toolbar {
2443
2458
  border: 1px solid #ddd;
@@ -2530,6 +2545,9 @@
2530
2545
  .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn .e-icons {
2531
2546
  color: #000;
2532
2547
  }
2548
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn:hover .e-icons {
2549
+ color: #000;
2550
+ }
2533
2551
  .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn .e-icons {
2534
2552
  color: #000;
2535
2553
  }
@@ -2548,6 +2566,9 @@
2548
2566
  .e-richtexteditor .e-toolbar-wrapper + .e-rte-toolbar:not(.e-rte-tb-float) {
2549
2567
  border: 0;
2550
2568
  }
2569
+ .e-richtexteditor .e-toolbar-wrapper {
2570
+ background: #f8f8f8;
2571
+ }
2551
2572
  .e-richtexteditor img.e-img-focus::selection,
2552
2573
  .e-richtexteditor audio.e-audio-focus::selection,
2553
2574
  .e-richtexteditor .e-video-focus::selection {
@@ -2746,7 +2767,8 @@
2746
2767
 
2747
2768
  .e-dialog .e-img-uploadwrap .e-droptext,
2748
2769
  .e-dialog .e-aud-uploadwrap .e-droptext,
2749
- .e-dialog .e-vid-uploadwrap .e-droptext {
2770
+ .e-dialog .e-vid-uploadwrap .e-droptext,
2771
+ .e-dialog.e-device .e-vid-uploadwrap .e-droptext {
2750
2772
  border: dashed 2px #d4d4d4;
2751
2773
  border-radius: 4px;
2752
2774
  color: #adadad;
@@ -2759,6 +2781,10 @@
2759
2781
  width: 300px;
2760
2782
  }
2761
2783
 
2784
+ .e-dialog .e-vid-uploadwrap .e-droptext {
2785
+ height: 108px;
2786
+ }
2787
+
2762
2788
  .e-dialog.e-device.e-dlg-modal .e-img-uploadwrap .e-droptext,
2763
2789
  .e-dialog.e-device.e-dlg-modal .e-vid-uploadwrap .e-droptext,
2764
2790
  .e-dialog.e-device.e-dlg-modal .e-aud-uploadwrap .e-droptext {
@@ -2911,6 +2937,10 @@ span.e-table-box.e-rbox-select {
2911
2937
  color: #000;
2912
2938
  }
2913
2939
 
2940
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-active .e-icons {
2941
+ color: #000;
2942
+ }
2943
+
2914
2944
  .e-richtexteditor.e-rte-tb-expand .e-rte-content-border {
2915
2945
  border-bottom: 0;
2916
2946
  }
@@ -541,6 +541,10 @@
541
541
  .e-rte-dropdown-popup .e-rte-file-manager::before {
542
542
  content: "\e70f";
543
543
  }
544
+ .e-rte-toolbar .e-rte-format-painter::before,
545
+ .e-rte-dropdown-popup .e-rte-format-painter::before {
546
+ content: "\e979";
547
+ }
544
548
 
545
549
  .e-richtexteditor .e-south-east::before,
546
550
  .e-richtexteditor .e-south-west::before {
@@ -563,6 +567,10 @@
563
567
  content: "\e89c";
564
568
  }
565
569
 
570
+ .e-rte-cursor-brush {
571
+ cursor: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.0194 8H18.0175C19.6583 8 21 9.35001 21 11L20.9903 23H4L5.0932 10.91C5.0932 9.35001 6.42524 8 8.07573 8H10.0544V1H16.0194V8ZM8.06602 10C7.51845 10 7.07184 10.45 7.07184 11L6.89126 13H19.0019V11C19.0019 10.45 18.5553 10 18.0078 10H8.06602ZM14.0311 8V3H12.0427V8H14.0311ZM19.0019 15H6.71068L6.16699 21H7.83689L19.0019 15.6291V15ZM19.0019 17.8463L12.4466 21H19.0019V17.8463Z" fill="black"/><path d="M6.71068 15H19.0019V15.6291L7.83689 21H6.16699L6.71068 15Z" fill="white"/><path d="M8.06602 10C7.51845 10 7.07184 10.45 7.07184 11L6.89126 13H19.0019V11C19.0019 10.45 18.5553 10 18.0078 10H8.06602Z" fill="white"/><path d="M14.0311 8V3H12.0427V8H14.0311Z" fill="white"/><path d="M19.0019 17.8463L12.4466 21H19.0019V17.8463Z" fill="white"/></svg>'), text;
572
+ }
573
+
566
574
  /*! tab layout */
567
575
  .e-bigger .e-richtexteditor .e-rte-toolbar .e-toolbar-items:not(.e-tbar-pos) .e-toolbar-item:first-child,
568
576
  .e-richtexteditor.e-bigger .e-rte-toolbar .e-toolbar-items:not(.e-tbar-pos) .e-toolbar-item:first-child {
@@ -791,6 +799,7 @@
791
799
  margin-right: 0;
792
800
  }
793
801
  .e-richtexteditor .e-rte-toolbar.e-rte-tb-mobile .e-toolbar-multirow {
802
+ display: inline-block;
794
803
  margin-left: 0;
795
804
  margin-right: 0;
796
805
  overflow-x: auto;
@@ -1653,6 +1662,7 @@
1653
1662
  }
1654
1663
  .e-rte-quick-popup .e-rte-quick-toolbar .e-toolbar-items:not(.e-tbar-pos).e-toolbar-multirow {
1655
1664
  white-space: nowrap;
1665
+ display: inline-block;
1656
1666
  }
1657
1667
  .e-rte-quick-popup .e-rte-quick-toolbar.e-remove-white-space .e-toolbar-items:not(.e-tbar-pos).e-toolbar-multirow {
1658
1668
  white-space: nowrap;
@@ -2525,6 +2535,11 @@
2525
2535
  margin: 1px;
2526
2536
  }
2527
2537
 
2538
+ .e-transparent.e-rte-elements.e-tbar-btn.e-rte-fontcolor-dropdown,
2539
+ .e-transparent.e-rte-elements.e-tbar-btn.e-rte-backgroundcolor-dropdown {
2540
+ visibility: hidden;
2541
+ }
2542
+
2528
2543
  /*! tab layout */
2529
2544
  .e-richtexteditor .e-rte-toolbar {
2530
2545
  border: 1px solid #dee2e6;
@@ -2617,6 +2632,9 @@
2617
2632
  .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn .e-icons {
2618
2633
  color: #212529;
2619
2634
  }
2635
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn:hover .e-icons {
2636
+ color: #212529;
2637
+ }
2620
2638
  .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn .e-icons {
2621
2639
  color: #212529;
2622
2640
  }
@@ -2635,6 +2653,9 @@
2635
2653
  .e-richtexteditor .e-toolbar-wrapper + .e-rte-toolbar:not(.e-rte-tb-float) {
2636
2654
  border: 0;
2637
2655
  }
2656
+ .e-richtexteditor .e-toolbar-wrapper {
2657
+ background: #f8f9fa;
2658
+ }
2638
2659
  .e-richtexteditor img.e-img-focus::selection,
2639
2660
  .e-richtexteditor audio.e-audio-focus::selection,
2640
2661
  .e-richtexteditor .e-video-focus::selection {
@@ -2833,7 +2854,8 @@
2833
2854
 
2834
2855
  .e-dialog .e-img-uploadwrap .e-droptext,
2835
2856
  .e-dialog .e-aud-uploadwrap .e-droptext,
2836
- .e-dialog .e-vid-uploadwrap .e-droptext {
2857
+ .e-dialog .e-vid-uploadwrap .e-droptext,
2858
+ .e-dialog.e-device .e-vid-uploadwrap .e-droptext {
2837
2859
  border: dashed 2px #adb5bd;
2838
2860
  border-radius: 4px;
2839
2861
  color: #212529;
@@ -2846,6 +2868,10 @@
2846
2868
  width: 300px;
2847
2869
  }
2848
2870
 
2871
+ .e-dialog .e-vid-uploadwrap .e-droptext {
2872
+ height: 108px;
2873
+ }
2874
+
2849
2875
  .e-dialog.e-device.e-dlg-modal .e-img-uploadwrap .e-droptext,
2850
2876
  .e-dialog.e-device.e-dlg-modal .e-vid-uploadwrap .e-droptext,
2851
2877
  .e-dialog.e-device.e-dlg-modal .e-aud-uploadwrap .e-droptext {
@@ -2998,6 +3024,10 @@ span.e-table-box.e-rbox-select {
2998
3024
  color: #fff;
2999
3025
  }
3000
3026
 
3027
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-active .e-icons {
3028
+ color: #212529;
3029
+ }
3030
+
3001
3031
  .e-richtexteditor.e-rte-tb-expand .e-rte-content-border {
3002
3032
  border-bottom: 0;
3003
3033
  }