@syncfusion/ej2-richtexteditor 25.1.38 → 25.1.40

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 (102) hide show
  1. package/CHANGELOG.md +34 -0
  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 +1996 -1801
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +2058 -1863
  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 +10 -10
  13. package/src/editor-manager/plugin/audio.js +1 -1
  14. package/src/editor-manager/plugin/formats.js +6 -0
  15. package/src/editor-manager/plugin/indents.js +1 -1
  16. package/src/editor-manager/plugin/inserthtml.js +9 -3
  17. package/src/editor-manager/plugin/link.js +4 -2
  18. package/src/editor-manager/plugin/lists.js +38 -14
  19. package/src/editor-manager/plugin/nodecutter.js +3 -0
  20. package/src/editor-manager/plugin/selection-commands.d.ts +1 -0
  21. package/src/editor-manager/plugin/selection-commands.js +84 -2
  22. package/src/editor-manager/plugin/table.d.ts +4 -0
  23. package/src/editor-manager/plugin/table.js +62 -19
  24. package/src/editor-manager/plugin/video.js +1 -1
  25. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +1 -0
  26. package/src/rich-text-editor/actions/base-quick-toolbar.js +9 -13
  27. package/src/rich-text-editor/actions/base-toolbar.js +3 -2
  28. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +1 -0
  29. package/src/rich-text-editor/actions/dropdown-buttons.js +8 -23
  30. package/src/rich-text-editor/actions/emoji-picker.js +1 -1
  31. package/src/rich-text-editor/actions/enter-key.d.ts +1 -0
  32. package/src/rich-text-editor/actions/enter-key.js +50 -1
  33. package/src/rich-text-editor/actions/format-painter.js +4 -1
  34. package/src/rich-text-editor/actions/html-editor.js +9 -4
  35. package/src/rich-text-editor/actions/paste-clean-up.d.ts +0 -1
  36. package/src/rich-text-editor/actions/paste-clean-up.js +2 -26
  37. package/src/rich-text-editor/actions/quick-toolbar.d.ts +2 -0
  38. package/src/rich-text-editor/actions/quick-toolbar.js +14 -4
  39. package/src/rich-text-editor/base/enum.d.ts +11 -0
  40. package/src/rich-text-editor/base/enum.js +12 -0
  41. package/src/rich-text-editor/base/interface.d.ts +9 -1
  42. package/src/rich-text-editor/base/rich-text-editor.d.ts +2 -2
  43. package/src/rich-text-editor/base/rich-text-editor.js +4 -18
  44. package/src/rich-text-editor/base/util.d.ts +0 -4
  45. package/src/rich-text-editor/base/util.js +1 -35
  46. package/src/rich-text-editor/formatter/formatter.js +4 -2
  47. package/src/rich-text-editor/renderer/audio-module.js +9 -4
  48. package/src/rich-text-editor/renderer/image-module.js +7 -2
  49. package/src/rich-text-editor/renderer/table-module.js +15 -5
  50. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +0 -1
  51. package/src/rich-text-editor/renderer/toolbar-renderer.js +27 -23
  52. package/src/rich-text-editor/renderer/video-module.js +29 -15
  53. package/styles/bootstrap-dark.css +11 -0
  54. package/styles/bootstrap.css +11 -0
  55. package/styles/bootstrap4.css +11 -0
  56. package/styles/bootstrap5-dark.css +11 -0
  57. package/styles/bootstrap5.css +11 -0
  58. package/styles/fabric-dark.css +11 -0
  59. package/styles/fabric.css +11 -0
  60. package/styles/fluent-dark.css +11 -0
  61. package/styles/fluent.css +11 -0
  62. package/styles/highcontrast-light.css +11 -0
  63. package/styles/highcontrast.css +11 -0
  64. package/styles/material-dark.css +11 -0
  65. package/styles/material.css +11 -0
  66. package/styles/material3-dark.css +11 -0
  67. package/styles/material3.css +11 -0
  68. package/styles/rich-text-editor/_bds-definition.scss +6 -0
  69. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +6 -0
  70. package/styles/rich-text-editor/_bootstrap-definition.scss +6 -0
  71. package/styles/rich-text-editor/_bootstrap4-definition.scss +6 -0
  72. package/styles/rich-text-editor/_bootstrap5-definition.scss +6 -0
  73. package/styles/rich-text-editor/_fabric-dark-definition.scss +6 -0
  74. package/styles/rich-text-editor/_fabric-definition.scss +6 -0
  75. package/styles/rich-text-editor/_fluent-definition.scss +6 -0
  76. package/styles/rich-text-editor/_fusionnew-definition.scss +6 -0
  77. package/styles/rich-text-editor/_highcontrast-definition.scss +6 -0
  78. package/styles/rich-text-editor/_highcontrast-light-definition.scss +6 -0
  79. package/styles/rich-text-editor/_layout.scss +10 -0
  80. package/styles/rich-text-editor/_material-dark-definition.scss +6 -0
  81. package/styles/rich-text-editor/_material-definition.scss +6 -0
  82. package/styles/rich-text-editor/_material3-definition.scss +6 -0
  83. package/styles/rich-text-editor/_tailwind-definition.scss +6 -0
  84. package/styles/rich-text-editor/bootstrap-dark.css +11 -0
  85. package/styles/rich-text-editor/bootstrap.css +11 -0
  86. package/styles/rich-text-editor/bootstrap4.css +11 -0
  87. package/styles/rich-text-editor/bootstrap5-dark.css +11 -0
  88. package/styles/rich-text-editor/bootstrap5.css +11 -0
  89. package/styles/rich-text-editor/fabric-dark.css +11 -0
  90. package/styles/rich-text-editor/fabric.css +11 -0
  91. package/styles/rich-text-editor/fluent-dark.css +11 -0
  92. package/styles/rich-text-editor/fluent.css +11 -0
  93. package/styles/rich-text-editor/highcontrast-light.css +11 -0
  94. package/styles/rich-text-editor/highcontrast.css +11 -0
  95. package/styles/rich-text-editor/material-dark.css +11 -0
  96. package/styles/rich-text-editor/material.css +11 -0
  97. package/styles/rich-text-editor/material3-dark.css +11 -0
  98. package/styles/rich-text-editor/material3.css +11 -0
  99. package/styles/rich-text-editor/tailwind-dark.css +11 -0
  100. package/styles/rich-text-editor/tailwind.css +11 -0
  101. package/styles/tailwind-dark.css +11 -0
  102. package/styles/tailwind.css +11 -0
@@ -39,6 +39,7 @@ var Audio = /** @class */ (function () {
39
39
  this.parent.on(events.editAreaClick, this.editAreaClickHandler, this);
40
40
  this.parent.on(events.insertCompleted, this.showAudioQuickToolbar, this);
41
41
  this.parent.on(events.destroy, this.removeEventListener, this);
42
+ this.parent.on(events.iframeMouseDown, this.closeDialog, this);
42
43
  };
43
44
  Audio.prototype.removeEventListener = function () {
44
45
  if (this.parent.isDestroyed) {
@@ -57,6 +58,7 @@ var Audio = /** @class */ (function () {
57
58
  this.parent.off(events.editAreaClick, this.editAreaClickHandler);
58
59
  this.parent.off(events.insertCompleted, this.showAudioQuickToolbar);
59
60
  this.parent.off(events.destroy, this.removeEventListener);
61
+ this.parent.off(events.iframeMouseDown, this.closeDialog);
60
62
  if (!isNullOrUndefined(this.contentModule)) {
61
63
  EventHandler.remove(this.parent.contentModule.getEditPanel(), Browser.touchStartEvent, this.touchStart);
62
64
  EventHandler.remove(this.contentModule.getEditPanel(), Browser.touchEndEvent, this.audioClick);
@@ -305,7 +307,7 @@ var Audio = /** @class */ (function () {
305
307
  this.parent.formatter.saveData();
306
308
  }
307
309
  e.selection.restore();
308
- this.parent.formatter.process(this.parent, e.args, e.args, {
310
+ this.parent.formatter.process(this.parent, e.args, e.args.originalEvent, {
309
311
  selectNode: e.selectNode,
310
312
  subCommand: e.args.item.subCommand
311
313
  });
@@ -401,6 +403,9 @@ var Audio = /** @class */ (function () {
401
403
  this.prevSelectedAudEle.style.outline = '';
402
404
  }
403
405
  }
406
+ if (this.parent.inlineMode.enable && target && this.dialogObj && !closest(target, '#' + this.dialogObj.element.id)) {
407
+ this.dialogObj.hide();
408
+ }
404
409
  };
405
410
  Audio.prototype.alignmentSelect = function (e) {
406
411
  var item = e.item;
@@ -433,7 +438,7 @@ var Audio = /** @class */ (function () {
433
438
  }
434
439
  var subCommand = (e.args.item) ?
435
440
  e.args.item.subCommand : 'Break';
436
- this.parent.formatter.process(this.parent, e.args, e.args, { selectNode: e.selectNode, subCommand: subCommand });
441
+ this.parent.formatter.process(this.parent, e.args, e.args.originalEvent, { selectNode: e.selectNode, subCommand: subCommand });
437
442
  };
438
443
  Audio.prototype.inline = function (e) {
439
444
  if (e.selectNode[0].nodeName !== 'AUDIO') {
@@ -441,7 +446,7 @@ var Audio = /** @class */ (function () {
441
446
  }
442
447
  var subCommand = (e.args.item) ?
443
448
  e.args.item.subCommand : 'Inline';
444
- this.parent.formatter.process(this.parent, e.args, e.args, { selectNode: e.selectNode, subCommand: subCommand });
449
+ this.parent.formatter.process(this.parent, e.args, e.args.originalEvent, { selectNode: e.selectNode, subCommand: subCommand });
445
450
  };
446
451
  Audio.prototype.editAreaClickHandler = function (e) {
447
452
  if (this.parent.readonly) {
@@ -581,7 +586,7 @@ var Audio = /** @class */ (function () {
581
586
  _this.uploadObj.removing();
582
587
  }
583
588
  _this.parent.isBlur = false;
584
- if (event && event.event.returnValue) {
589
+ if (event && !isNOU(event.event) && event.event.returnValue) {
585
590
  if (_this.parent.editorMode === 'HTML') {
586
591
  selection.restore();
587
592
  }
@@ -5,7 +5,7 @@ import * as classes from '../base/classes';
5
5
  import { Uploader, TextBox } from '@syncfusion/ej2-inputs';
6
6
  import { Popup } from '@syncfusion/ej2-popups';
7
7
  import { Button, CheckBox } from '@syncfusion/ej2-buttons';
8
- import { RenderType } from '../base/enum';
8
+ import { RenderType, UploadRequest } from '../base/enum';
9
9
  import { dispatchEvent, parseHtml, hasClass, convertToBlob } from '../base/util';
10
10
  import { isIDevice } from '../../common/util';
11
11
  import { imageResizeFactor } from '../../common/config';
@@ -1399,7 +1399,7 @@ var Image = /** @class */ (function () {
1399
1399
  _this.uploadObj.remove();
1400
1400
  }
1401
1401
  _this.parent.isBlur = false;
1402
- if (event && event.event.returnValue) {
1402
+ if (event && !isNOU(event.event) && event.event.returnValue) {
1403
1403
  if (_this.parent.editorMode === 'HTML') {
1404
1404
  selection.restore();
1405
1405
  }
@@ -1518,6 +1518,9 @@ var Image = /** @class */ (function () {
1518
1518
  removeClass([items[i]], 'e-resize');
1519
1519
  }
1520
1520
  }
1521
+ if (this.parent.inlineMode.enable && target && this.dialogObj && !closest(target, '#' + this.dialogObj.element.id)) {
1522
+ this.dialogObj.hide();
1523
+ }
1521
1524
  };
1522
1525
  Image.prototype.removeResizeEle = function () {
1523
1526
  EventHandler.remove(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing);
@@ -1794,6 +1797,7 @@ var Image = /** @class */ (function () {
1794
1797
  }
1795
1798
  },
1796
1799
  success: function (e) {
1800
+ e.requestType = UploadRequest.Uploaded;
1797
1801
  _this.parent.trigger(events.imageUploadSuccess, e, function (e) {
1798
1802
  if (!isNOU(_this.parent.insertImageSettings.path)) {
1799
1803
  var url = _this.parent.insertImageSettings.path + e.file.name;
@@ -2239,6 +2243,7 @@ var Image = /** @class */ (function () {
2239
2243
  imageElement.style.opacity = '1';
2240
2244
  imageElement.classList.add(classes.CLS_IMG_FOCUS);
2241
2245
  e.element = imageElement;
2246
+ e.requestType = UploadRequest.Dropped;
2242
2247
  this.parent.trigger(events.imageUploadSuccess, e, function (e) {
2243
2248
  if (!isNOU(_this.parent.insertImageSettings.path)) {
2244
2249
  var url = _this.parent.insertImageSettings.path + e.file.name;
@@ -643,13 +643,14 @@ var Table = /** @class */ (function () {
643
643
  }
644
644
  var target = e.target || e.targetTouches[0].target;
645
645
  var closestTable = closest(target, 'table.e-rte-table, table.e-rte-paste-table');
646
- if (!isNOU(this.curTable) && !isNOU(closestTable) && closestTable !== this.curTable &&
646
+ var isResizing = this.parent.contentModule.getEditPanel().querySelectorAll('.e-table-box.e-rbox-select, .e-table-rhelper.e-column-helper, .e-table-rhelper.e-row-helper').length > 0;
647
+ if (!isResizing && !isNOU(this.curTable) && !isNOU(closestTable) && closestTable !== this.curTable &&
647
648
  this.parent.contentModule.getEditPanel().contains(closestTable)) {
648
649
  this.removeResizeElement();
649
650
  this.removeHelper(e);
650
651
  this.cancelResizeAction();
651
652
  }
652
- if (target.nodeName === 'TABLE' || target.nodeName === 'TD' || target.nodeName === 'TH') {
653
+ if (!isResizing && (target.nodeName === 'TABLE' || target.nodeName === 'TD' || target.nodeName === 'TH')) {
653
654
  this.curTable = (closestTable && this.parent.contentModule.getEditPanel().contains(closestTable))
654
655
  && (target.nodeName === 'TD' || target.nodeName === 'TH') ?
655
656
  closestTable : target;
@@ -795,7 +796,6 @@ var Table = /** @class */ (function () {
795
796
  e.preventDefault();
796
797
  this.parent.preventDefaultResize(e);
797
798
  removeClass(this.curTable.querySelectorAll('td,th'), classes.CLS_TABLE_SEL);
798
- this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument());
799
799
  this.pageX = this.getPointX(e);
800
800
  this.pageY = this.getPointY(e);
801
801
  this.resizeBtnInit();
@@ -1055,7 +1055,8 @@ var Table = /** @class */ (function () {
1055
1055
  var width = parseFloat(_this.curTable.style.width);
1056
1056
  currentMarginLeft = 100 - width;
1057
1057
  }
1058
- if (currentMarginLeft && currentMarginLeft < 1) {
1058
+ // For table pasted from word, Margin left can be anything so we are avoiding the below process.
1059
+ if (!_this.curTable.classList.contains('e-rte-paste-table') && currentMarginLeft && currentMarginLeft < 1) {
1059
1060
  _this.curTable.style.marginLeft = null;
1060
1061
  _this.curTable.style.width = '100%';
1061
1062
  return;
@@ -1221,7 +1222,13 @@ var Table = /** @class */ (function () {
1221
1222
  tableTrPercentage[i] = percentage;
1222
1223
  }
1223
1224
  for (var i = 0; i < currentTableTrElement.length; i++) {
1224
- currentTableTrElement[i].style.height = tableTrPercentage[i] + '%';
1225
+ if (currentTableTrElement[i].parentElement.nodeName === 'THEAD') {
1226
+ currentTableTrElement[i].parentElement.style.height = tableTrPercentage[i] + '%';
1227
+ currentTableTrElement[i].style.height = tableTrPercentage[i] + '%';
1228
+ }
1229
+ else {
1230
+ currentTableTrElement[i].style.height = tableTrPercentage[i] + '%';
1231
+ }
1225
1232
  }
1226
1233
  var args = { event: e, requestType: 'table' };
1227
1234
  this.parent.trigger(events.resizeStop, args);
@@ -1371,6 +1378,9 @@ var Table = /** @class */ (function () {
1371
1378
  if (this.popupObj) {
1372
1379
  this.popupObj.hide();
1373
1380
  }
1381
+ if (this.parent.inlineMode.enable && this.editdlgObj) {
1382
+ this.editdlgObj.hide();
1383
+ }
1374
1384
  };
1375
1385
  Table.prototype.docClick = function (e) {
1376
1386
  var target = e.args.target;
@@ -21,7 +21,6 @@ export declare class ToolbarRenderer implements IRenderer {
21
21
  private currentDropdown;
22
22
  private tooltip;
23
23
  private l10n;
24
- private dropdownTooltip;
25
24
  private tooltipTargetEle;
26
25
  /**
27
26
  * Constructor for toolbar renderer module
@@ -8,6 +8,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';
9
9
  import { ColorPicker } from '@syncfusion/ej2-inputs';
10
10
  import { hasClass } from '../base/util';
11
+ import { ToolbarStatus } from '../../editor-manager/plugin/toolbar-status';
11
12
  /**
12
13
  * `Toolbar renderer` module is used to render toolbar in RichTextEditor.
13
14
  *
@@ -65,7 +66,7 @@ var ToolbarRenderer = /** @class */ (function () {
65
66
  }
66
67
  };
67
68
  ToolbarRenderer.prototype.dropDownSelected = function (args) {
68
- this.parent.notify(events.dropDownSelect, args);
69
+ this.parent.notify(events.dropDownSelect, { element: args.element, item: args.item, originalEvent: args.event });
69
70
  this.destroyTooltip();
70
71
  };
71
72
  ToolbarRenderer.prototype.beforeDropDownItemRender = function (args) {
@@ -89,6 +90,9 @@ var ToolbarRenderer = /** @class */ (function () {
89
90
  break;
90
91
  }
91
92
  }
93
+ if (args.target.querySelector('.e-active')) {
94
+ args.cancel = true;
95
+ }
92
96
  };
93
97
  ToolbarRenderer.prototype.dropDownOpen = function (args) {
94
98
  if (args.element.parentElement.getAttribute('id').indexOf('TableCell') > -1 && !isNOU(args.element.parentElement.querySelector('.e-cell-merge')) &&
@@ -111,19 +115,6 @@ var ToolbarRenderer = /** @class */ (function () {
111
115
  addClass([listEle[1], listEle[2]], 'e-disabled');
112
116
  }
113
117
  }
114
- if (this.parent.showTooltip) {
115
- this.dropdownTooltip = new Tooltip({
116
- target: '[aria-owns="' + this.parent.getID() + '"].e-rte-elements [title]',
117
- showTipPointer: true,
118
- openDelay: 400,
119
- opensOn: 'Hover',
120
- beforeRender: this.tooltipBeforeRender.bind(this),
121
- cssClass: this.parent.getCssClass(),
122
- windowCollision: true,
123
- position: 'BottomCenter'
124
- });
125
- this.dropdownTooltip.appendTo(args.element);
126
- }
127
118
  this.parent.notify(events.selectionSave, args);
128
119
  };
129
120
  ToolbarRenderer.prototype.dropDownClose = function (args) {
@@ -269,11 +260,22 @@ var ToolbarRenderer = /** @class */ (function () {
269
260
  }
270
261
  //Formats preselect
271
262
  if (args.items[0].command === 'Formats' || args.items[0].command === 'Font') {
263
+ var fontName_1 = [];
264
+ var formats_1 = [];
265
+ _this.parent.format.types.forEach(function (item) {
266
+ formats_1.push(item.value.toLocaleLowerCase());
267
+ });
268
+ _this.parent.fontFamily.items.forEach(function (item) {
269
+ fontName_1.push(item.value);
270
+ });
271
+ var toolbarStatus = ToolbarStatus.get(_this.parent.contentModule.getDocument(), _this.parent.contentModule.getEditPanel(), formats_1, null, fontName_1);
272
272
  for (var index = 0; index < args.element.childNodes.length; index++) {
273
273
  var divNode = _this.parent.createElement('div');
274
274
  divNode.innerHTML = dropDown.content.trim();
275
- if (divNode.textContent.trim() !== ''
276
- && args.element.childNodes[index].textContent.trim() === divNode.textContent.trim()) {
275
+ if ((divNode.textContent.trim() !== ''
276
+ && args.element.childNodes[index].textContent.trim() === divNode.textContent.trim()) ||
277
+ ((args.items[0].command === 'Formats' && !isNOU(toolbarStatus.formats) && _this.parent.format.types[index].value.toLowerCase() === toolbarStatus.formats.toLowerCase() && args.element.childNodes[index].classList.contains(_this.parent.format.types[index].cssClass))
278
+ || (args.items[0].command === 'Font' && !isNOU(toolbarStatus.fontname) && _this.parent.fontFamily.items[index].value.toLowerCase() === toolbarStatus.fontname.toLowerCase() && args.element.childNodes[index].classList.contains(_this.parent.fontFamily.items[index].cssClass)))) {
277
279
  if (!args.element.childNodes[index].classList.contains('e-active')) {
278
280
  addClass([args.element.childNodes[index]], 'e-active');
279
281
  }
@@ -459,6 +461,8 @@ var ToolbarRenderer = /** @class */ (function () {
459
461
  target: colorPicker.element.parentElement, cssClass: css,
460
462
  enablePersistence: this.parent.enablePersistence, enableRtl: this.parent.enableRtl,
461
463
  beforeOpen: function (dropDownArgs) {
464
+ colorPicker.inline = true;
465
+ colorPicker.dataBind();
462
466
  if (proxy.parent.readonly || !proxy.parent.enabled) {
463
467
  dropDownArgs.cancel = true;
464
468
  return;
@@ -597,18 +601,14 @@ var ToolbarRenderer = /** @class */ (function () {
597
601
  var colorPicker = new ColorPicker({
598
602
  enablePersistence: this.parent.enablePersistence,
599
603
  enableRtl: this.parent.enableRtl,
600
- inline: true,
601
- value: null,
602
- cssClass: ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass + ' ' + 'e-rte-picker-init',
604
+ inline: false,
605
+ value: '#fff',
603
606
  created: function () {
604
607
  var value = (item === 'backgroundcolor') ? proxy.parent.backgroundColor.default : proxy.parent.fontColor.default;
605
- colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
606
- colorPicker.value = value;
608
+ colorPicker.setProperties({ value: value });
607
609
  },
608
610
  mode: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.mode : proxy.parent.fontColor.mode),
609
611
  modeSwitcher: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.modeSwitcher : proxy.parent.fontColor.modeSwitcher),
610
- presetColors: (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode : this.parent.fontColor.colorCode,
611
- columns: (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns,
612
612
  beforeTileRender: function (args) {
613
613
  args.element.classList.add(CLS_COLOR_PALETTE);
614
614
  args.element.classList.add(CLS_CUSTOM_TILE);
@@ -653,6 +653,10 @@ var ToolbarRenderer = /** @class */ (function () {
653
653
  }
654
654
  });
655
655
  colorPicker.isStringTemplate = true;
656
+ colorPicker.columns = (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns;
657
+ colorPicker.presetColors = (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode :
658
+ this.parent.fontColor.colorCode;
659
+ colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
656
660
  colorPicker.createElement = this.parent.createElement;
657
661
  colorPicker.appendTo(document.getElementById(args.target));
658
662
  return colorPicker;
@@ -817,7 +817,7 @@ var Video = /** @class */ (function () {
817
817
  this.parent.formatter.saveData();
818
818
  }
819
819
  e.selection.restore();
820
- this.parent.formatter.process(this.parent, e.args, e.args, {
820
+ this.parent.formatter.process(this.parent, e.args, e.args.originalEvent, {
821
821
  selectNode: e.selectNode,
822
822
  subCommand: e.args.item.subCommand
823
823
  });
@@ -907,6 +907,9 @@ var Video = /** @class */ (function () {
907
907
  this.prevSelectedVidEle.style.outline = '';
908
908
  }
909
909
  }
910
+ if (this.parent.inlineMode.enable && target && this.dialogObj && !closest(target, '#' + this.dialogObj.element.id)) {
911
+ this.dialogObj.hide();
912
+ }
910
913
  };
911
914
  Video.prototype.removeResizeEle = function () {
912
915
  EventHandler.remove(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing);
@@ -924,7 +927,7 @@ var Video = /** @class */ (function () {
924
927
  }
925
928
  var subCommand = (e.args.item) ?
926
929
  e.args.item.subCommand : 'Break';
927
- this.parent.formatter.process(this.parent, e.args, e.args, { selectNode: e.selectNode, subCommand: subCommand });
930
+ this.parent.formatter.process(this.parent, e.args, e.args.originalEvent, { selectNode: e.selectNode, subCommand: subCommand });
928
931
  };
929
932
  Video.prototype.inline = function (e) {
930
933
  if (e.selectNode[0].nodeName !== 'VIDEO' && !this.isEmbedVidElem(e.selectNode[0])) {
@@ -932,12 +935,12 @@ var Video = /** @class */ (function () {
932
935
  }
933
936
  var subCommand = (e.args.item) ?
934
937
  e.args.item.subCommand : 'Inline';
935
- this.parent.formatter.process(this.parent, e.args, e.args, { selectNode: e.selectNode, subCommand: subCommand });
938
+ this.parent.formatter.process(this.parent, e.args, e.args.originalEvent, { selectNode: e.selectNode, subCommand: subCommand });
936
939
  };
937
940
  Video.prototype.alignVideo = function (e, type) {
938
941
  var subCommand = (e.args.item) ?
939
942
  e.args.item.subCommand : type;
940
- this.parent.formatter.process(this.parent, e.args, e.args, { selectNode: e.selectNode, subCommand: subCommand });
943
+ this.parent.formatter.process(this.parent, e.args, e.args.originalEvent, { selectNode: e.selectNode, subCommand: subCommand });
941
944
  };
942
945
  Video.prototype.editAreaClickHandler = function (e) {
943
946
  if (this.parent.readonly) {
@@ -1081,7 +1084,7 @@ var Video = /** @class */ (function () {
1081
1084
  _this.uploadObj.removing();
1082
1085
  }
1083
1086
  _this.parent.isBlur = false;
1084
- if (event && event.event.returnValue) {
1087
+ if (event && !isNOU(event.event) && event.event.returnValue) {
1085
1088
  if (_this.parent.editorMode === 'HTML') {
1086
1089
  selection.restore();
1087
1090
  }
@@ -1173,21 +1176,26 @@ var Video = /** @class */ (function () {
1173
1176
  }
1174
1177
  }
1175
1178
  });
1176
- if (e.selectNode && ((e.selectNode[0] && e.selectNode[0].nodeType !== 3 &&
1177
- e.selectNode[0].nodeName !== 'BR' &&
1178
- (e.selectNode[0].classList &&
1179
- e.selectNode[0].classList.contains(classes.CLS_VID_CLICK_ELEM))) ||
1180
- e.selectNode[0].nodeName === 'IFRAME' || e.selectNode[0].nodeName === 'VIDEO')) {
1181
- var regex = new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);
1182
- var sourceElement = e.selectNode[0].querySelector('source');
1183
- this.inputUrl.value = sourceElement.src.match(regex) ? sourceElement.src : '';
1179
+ if (e.selectNode && e.selectNode[0] && (e.selectNode[0].nodeName === 'VIDEO' || this.isEmbedVidElem(e.selectNode[0]))) {
1180
+ if (e.selectNode[0].nodeName === 'VIDEO') {
1181
+ var regex = new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);
1182
+ var sourceElement = e.selectNode[0].querySelector('source');
1183
+ this.inputUrl.value = sourceElement && sourceElement.src && sourceElement.src.match(regex) ? sourceElement.src : '';
1184
+ }
1185
+ else {
1186
+ this.embedInputUrl.value = e.selectNode[0].nodeName === 'IFRAME' ? e.selectNode[0].outerHTML
1187
+ : e.selectNode[0].querySelector('iframe').outerHTML;
1188
+ }
1184
1189
  }
1190
+ var isWebUrl = this.inputUrl.value ? true : false;
1185
1191
  var embedUrlBtn = new RadioButton({
1186
1192
  label: this.i10n.getConstant('embeddedCode'),
1187
- checked: true,
1193
+ checked: !isWebUrl,
1188
1194
  name: 'URL',
1189
1195
  created: function () {
1190
- urlContent.appendChild(_this.embedInputUrl);
1196
+ if (!isWebUrl) {
1197
+ urlContent.appendChild(_this.embedInputUrl);
1198
+ }
1191
1199
  },
1192
1200
  change: function () {
1193
1201
  urlContent.innerHTML = '';
@@ -1197,7 +1205,13 @@ var Video = /** @class */ (function () {
1197
1205
  embedUrlBtn.appendTo(videoUrl.querySelector('#embedURL'));
1198
1206
  var webUrlBtn = new RadioButton({
1199
1207
  label: this.i10n.getConstant('webUrl'),
1208
+ checked: isWebUrl,
1200
1209
  name: 'URL',
1210
+ created: function () {
1211
+ if (isWebUrl) {
1212
+ urlContent.appendChild(_this.inputUrl);
1213
+ }
1214
+ },
1201
1215
  change: function () {
1202
1216
  urlContent.innerHTML = '';
1203
1217
  urlContent.appendChild(_this.inputUrl);
@@ -551,6 +551,12 @@
551
551
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
552
552
  padding: 0 7px;
553
553
  }
554
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
555
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
556
+ margin-right: 62px;
557
+ margin-top: -3px;
558
+ padding: 18px;
559
+ }
554
560
 
555
561
  .e-richtexteditor {
556
562
  color: #f0f0f0;
@@ -1458,6 +1464,11 @@
1458
1464
  border: 0 solid transparent;
1459
1465
  float: none;
1460
1466
  }
1467
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1468
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1469
+ margin-right: 46px;
1470
+ margin-top: -3px;
1471
+ }
1461
1472
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1462
1473
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1463
1474
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
@@ -692,6 +692,12 @@
692
692
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
693
693
  padding: 0 7px;
694
694
  }
695
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
696
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
697
+ margin-right: 62px;
698
+ margin-top: -3px;
699
+ padding: 18px;
700
+ }
695
701
 
696
702
  .e-richtexteditor {
697
703
  color: #333;
@@ -1599,6 +1605,11 @@
1599
1605
  border: 0 solid transparent;
1600
1606
  float: none;
1601
1607
  }
1608
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1609
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1610
+ margin-right: 46px;
1611
+ margin-top: -3px;
1612
+ }
1602
1613
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1603
1614
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1604
1615
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
@@ -787,6 +787,12 @@
787
787
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
788
788
  padding: 0;
789
789
  }
790
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
791
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
792
+ margin-right: 65px;
793
+ margin-top: -1px;
794
+ padding: 0;
795
+ }
790
796
 
791
797
  .e-richtexteditor {
792
798
  color: #212529;
@@ -1694,6 +1700,11 @@
1694
1700
  border: 0 solid transparent;
1695
1701
  float: none;
1696
1702
  }
1703
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1704
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1705
+ margin-right: 47px;
1706
+ margin-top: -3px;
1707
+ }
1697
1708
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1698
1709
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1699
1710
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
@@ -550,6 +550,12 @@
550
550
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
551
551
  padding: 0 8px;
552
552
  }
553
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
554
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
555
+ margin-right: 63px;
556
+ margin-top: 6px;
557
+ padding: 18px;
558
+ }
553
559
 
554
560
  .e-richtexteditor {
555
561
  color: #fff;
@@ -1465,6 +1471,11 @@
1465
1471
  border: 0 solid transparent;
1466
1472
  float: none;
1467
1473
  }
1474
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1475
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1476
+ margin-right: 50px;
1477
+ margin-top: 7px;
1478
+ }
1468
1479
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1469
1480
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1470
1481
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
@@ -550,6 +550,12 @@
550
550
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
551
551
  padding: 0 8px;
552
552
  }
553
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
554
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
555
+ margin-right: 63px;
556
+ margin-top: 6px;
557
+ padding: 18px;
558
+ }
553
559
 
554
560
  .e-richtexteditor {
555
561
  color: #212529;
@@ -1465,6 +1471,11 @@
1465
1471
  border: 0 solid transparent;
1466
1472
  float: none;
1467
1473
  }
1474
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1475
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1476
+ margin-right: 50px;
1477
+ margin-top: 7px;
1478
+ }
1468
1479
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1469
1480
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1470
1481
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
@@ -540,6 +540,12 @@
540
540
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
541
541
  padding: 0;
542
542
  }
543
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
544
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
545
+ margin-right: 60px;
546
+ margin-top: 3px;
547
+ padding: 18px;
548
+ }
543
549
 
544
550
  .e-richtexteditor {
545
551
  color: #dadada;
@@ -1447,6 +1453,11 @@
1447
1453
  border: 0 solid transparent;
1448
1454
  float: none;
1449
1455
  }
1456
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1457
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1458
+ margin-right: 40px;
1459
+ margin-top: -2px;
1460
+ }
1450
1461
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1451
1462
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1452
1463
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
package/styles/fabric.css CHANGED
@@ -540,6 +540,12 @@
540
540
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
541
541
  padding: 0;
542
542
  }
543
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
544
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
545
+ margin-right: 60px;
546
+ margin-top: 3px;
547
+ padding: 18px;
548
+ }
543
549
 
544
550
  .e-richtexteditor {
545
551
  color: #333;
@@ -1447,6 +1453,11 @@
1447
1453
  border: 0 solid transparent;
1448
1454
  float: none;
1449
1455
  }
1456
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1457
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1458
+ margin-right: 40px;
1459
+ margin-top: -2px;
1460
+ }
1450
1461
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1451
1462
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1452
1463
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
@@ -543,6 +543,12 @@
543
543
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
544
544
  padding: 0 8px;
545
545
  }
546
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
547
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
548
+ margin-right: 60px;
549
+ margin-top: 10px;
550
+ padding: 5px;
551
+ }
546
552
 
547
553
  .e-richtexteditor {
548
554
  color: #f3f2f1;
@@ -1452,6 +1458,11 @@
1452
1458
  border: 0 solid transparent;
1453
1459
  float: none;
1454
1460
  }
1461
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1462
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1463
+ margin-right: 45px;
1464
+ margin-top: 17px;
1465
+ }
1455
1466
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1456
1467
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1457
1468
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
package/styles/fluent.css CHANGED
@@ -543,6 +543,12 @@
543
543
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
544
544
  padding: 0 8px;
545
545
  }
546
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
547
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
548
+ margin-right: 60px;
549
+ margin-top: 10px;
550
+ padding: 5px;
551
+ }
546
552
 
547
553
  .e-richtexteditor {
548
554
  color: #201f1e;
@@ -1452,6 +1458,11 @@
1452
1458
  border: 0 solid transparent;
1453
1459
  float: none;
1454
1460
  }
1461
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1462
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1463
+ margin-right: 45px;
1464
+ margin-top: 17px;
1465
+ }
1455
1466
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1456
1467
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1457
1468
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,
@@ -540,6 +540,12 @@
540
540
  .e-richtexteditor.e-bigger .e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item .e-tbar-btn.e-btn.e-control:hover {
541
541
  padding: 0;
542
542
  }
543
+ .e-bigger .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
544
+ .e-richtexteditor.e-bigger .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
545
+ margin-right: 66px;
546
+ margin-top: -4px;
547
+ padding: 18px;
548
+ }
543
549
 
544
550
  .e-richtexteditor {
545
551
  color: #fff;
@@ -1447,6 +1453,11 @@
1447
1453
  border: 0 solid transparent;
1448
1454
  float: none;
1449
1455
  }
1456
+ .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons,
1457
+ .e-rte-elements .e-dialog .e-img-uploadwrap.e-droparea .e-upload .e-upload-files .e-file-abort-btn.e-icons {
1458
+ margin-right: 40px;
1459
+ margin-top: -2px;
1460
+ }
1450
1461
  .e-richtexteditor .e-dialog .e-img-uploadwrap.e-droparea .e-browsebtn,
1451
1462
  .e-richtexteditor .e-dialog .e-aud-uploadwrap.e-droparea .e-browsebtn,
1452
1463
  .e-richtexteditor .e-dialog .e-vid-uploadwrap.e-droparea .e-browsebtn,