@syncfusion/ej2-richtexteditor 28.1.36 → 28.1.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,12 @@
1
+ /*!
2
+ * filename: index.d.ts
3
+ * version : 28.1.38
4
+ * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
+ * Use of this code is subject to the terms of our license.
6
+ * A copy of the current license can be obtained at any time by e-mailing
7
+ * licensing@syncfusion.com. Any infringement will be prosecuted under
8
+ * applicable laws.
9
+ */
1
10
  import * as _richtexteditor from '@syncfusion/ej2-richtexteditor';
2
11
 
3
12
  export declare namespace ej {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-richtexteditor@*",
3
- "_id": "@syncfusion/ej2-richtexteditor@28.1.35",
3
+ "_id": "@syncfusion/ej2-richtexteditor@28.1.37",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-XvS4tdC4fw6B2RrZWOcdktXuzzA+1XNL32OGM1vKqgvcAte4gUtd264fj3Je7wpBZuDMIousyIwqzwc4rNiXhg==",
5
+ "_integrity": "sha512-LcoACNENKzPU49FmsncrsED1lWXsHPU9w6nV7nSn1wOipA3bqUwEVvbJimIw8Ll29E/RrzcR80mBsWYj7LhNzw==",
6
6
  "_location": "/@syncfusion/ej2-richtexteditor",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -18,14 +18,15 @@
18
18
  },
19
19
  "_requiredBy": [
20
20
  "/",
21
+ "/@syncfusion/ej2",
21
22
  "/@syncfusion/ej2-angular-richtexteditor",
22
23
  "/@syncfusion/ej2-gantt",
23
24
  "/@syncfusion/ej2-inplace-editor",
24
25
  "/@syncfusion/ej2-react-richtexteditor",
25
26
  "/@syncfusion/ej2-vue-richtexteditor"
26
27
  ],
27
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-28.1.35.tgz",
28
- "_shasum": "17c9393fda07e06cd70a77fac38a567ea35ca990",
28
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-28.1.37.tgz",
29
+ "_shasum": "8e8379aba1b398d91e5704b67386f3fac2be2b87",
29
30
  "_spec": "@syncfusion/ej2-richtexteditor@*",
30
31
  "_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
31
32
  "author": {
@@ -37,13 +38,13 @@
37
38
  "bundleDependencies": false,
38
39
  "dependencies": {
39
40
  "@syncfusion/ej2-base": "~28.1.33",
40
- "@syncfusion/ej2-buttons": "~28.1.36",
41
- "@syncfusion/ej2-dropdowns": "~28.1.36",
41
+ "@syncfusion/ej2-buttons": "~28.1.37",
42
+ "@syncfusion/ej2-dropdowns": "~28.1.38",
42
43
  "@syncfusion/ej2-filemanager": "~28.1.36",
43
- "@syncfusion/ej2-inputs": "~28.1.33",
44
- "@syncfusion/ej2-navigations": "~28.1.36",
45
- "@syncfusion/ej2-popups": "~28.1.33",
46
- "@syncfusion/ej2-splitbuttons": "~28.1.33"
44
+ "@syncfusion/ej2-inputs": "~28.1.37",
45
+ "@syncfusion/ej2-navigations": "~28.1.37",
46
+ "@syncfusion/ej2-popups": "~28.1.38",
47
+ "@syncfusion/ej2-splitbuttons": "~28.1.37"
47
48
  },
48
49
  "deprecated": false,
49
50
  "description": "Essential JS 2 RichTextEditor component",
@@ -79,6 +80,6 @@
79
80
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
80
81
  },
81
82
  "typings": "index.d.ts",
82
- "version": "28.1.36",
83
+ "version": "28.1.38",
83
84
  "sideEffects": false
84
85
  }
@@ -233,6 +233,7 @@ var SelectionCommands = /** @class */ (function () {
233
233
  }
234
234
  else {
235
235
  InsertMethods.unwrap(cursorFormat);
236
+ domSelection.setCursorPoint(docElement, cursorNode, 0);
236
237
  }
237
238
  }
238
239
  else {
@@ -193,7 +193,8 @@ var EnterKeyAction = /** @class */ (function () {
193
193
  && isSplitTextEmpty && !isPreWrapApplied && !isTextWrapApplied;
194
194
  var isCursorAtStartPreWrapWithContent = lastCharBeforeCursor === 32
195
195
  && (isPreWrapApplied || isTextWrapApplied) && isSplitTextEmpty && hasContentAfterCursor;
196
- if (isCursorAtStartNonPreWrap || isCursorAtStartPreWrapWithContent) {
196
+ if ((isCursorAtStartNonPreWrap || isCursorAtStartPreWrapWithContent) &&
197
+ !_this.range.startContainer.previousSibling) {
197
198
  isFocusedFirst = true;
198
199
  }
199
200
  }
@@ -202,7 +203,7 @@ var EnterKeyAction = /** @class */ (function () {
202
203
  }
203
204
  _this.removeBRElement(nearBlockNode);
204
205
  var fireFoxEnterAtMiddle = Browser.userAgent.indexOf('Firefox') !== -1 && _this.range.startOffset === 0 && _this.range.startContainer === _this.range.endContainer &&
205
- _this.range.startContainer.nodeName === '#text' && !_this.parent.formatter.editorManager.domNode.isBlockNode(_this.range.startContainer.previousSibling) &&
206
+ _this.range.startContainer.nodeName === '#text' && !isNOU(_this.range.startContainer.previousSibling) && !_this.parent.formatter.editorManager.domNode.isBlockNode(_this.range.startContainer.previousSibling) &&
206
207
  _this.range.startContainer.parentElement === _this.range.startContainer.previousSibling.parentElement;
207
208
  var preventZeroWithSpace = ((_this.range.startContainer.nodeName === '#text' && _this.range.startContainer.textContent.includes('\u200B') &&
208
209
  _this.range.startContainer.textContent.trim() === '\u200B') ||
@@ -124,7 +124,7 @@ var HtmlEditor = /** @class */ (function () {
124
124
  HtmlEditor.prototype.onSelectionRestore = function (e) {
125
125
  this.parent.isBlur = false;
126
126
  this.contentRenderer.getEditPanel().focus({ preventScroll: true });
127
- if (isNullOrUndefined(e.items) || e.items) {
127
+ if ((isNullOrUndefined(e.items) || e.items) && (!isNullOrUndefined(this.saveSelection))) {
128
128
  this.saveSelection.restore();
129
129
  }
130
130
  };
@@ -589,7 +589,7 @@ var HtmlEditor = /** @class */ (function () {
589
589
  var checkParent = false;
590
590
  if (this.oldRangeElement && this.oldRangeElement.nodeName !== '#text' && this.oldRangeElement.querySelectorAll('BR').length === 1) {
591
591
  var brElement = this.oldRangeElement.querySelector('BR');
592
- if (brElement) {
592
+ if (brElement && isNOU(brElement.nextSibling)) {
593
593
  var brParentElement = brElement.parentNode;
594
594
  var currentState = this.oldRangeElement.innerHTML;
595
595
  this.parent.formatter.saveData(currentState);
@@ -192,6 +192,7 @@ var PasteCleanup = /** @class */ (function () {
192
192
  var isValueNotEmpty = tempDivElem.textContent !== '' || !isNOU(tempDivElem.querySelector('img')) ||
193
193
  !isNOU(tempDivElem.querySelector('table'));
194
194
  var imgElements = tempDivElem.querySelectorAll('img');
195
+ var base_1 = this.parent.contentModule.getDocument().location.origin;
195
196
  imgElements.forEach(function (imgElement) {
196
197
  var imageFileFormat;
197
198
  var imgElementSrc = imgElement.getAttribute('src');
@@ -200,7 +201,9 @@ var PasteCleanup = /** @class */ (function () {
200
201
  imageFileFormat = imgElementSrc.split(';')[0].split('/')[1];
201
202
  }
202
203
  else {
203
- imageFileFormat = imgElementSrc.split('.').pop().toLowerCase();
204
+ var parsedUrl = imgElementSrc.indexOf('http') > -1 ? new URL(imgElementSrc) : new URL(imgElementSrc, base_1);
205
+ var path = parsedUrl.pathname;
206
+ imageFileFormat = path.split('.').pop().toLowerCase();
204
207
  }
205
208
  if (!isNullOrUndefined(imageFileFormat) &&
206
209
  allowedTypes.every(function (type) { return imageFileFormat !== type.substring(1).toLowerCase(); }) &&
@@ -143,7 +143,7 @@ var Formatter = /** @class */ (function () {
143
143
  }
144
144
  }
145
145
  var command = actionBeginArgs.item.subCommand.toLocaleLowerCase();
146
- if (command === 'image') {
146
+ if (command === 'image' || command === 'file' || command === 'replace') {
147
147
  value = actionBeginArgs.itemCollection;
148
148
  }
149
149
  if (command === 'paste' || command === 'cut' || command === 'copy') {
@@ -2047,34 +2047,40 @@ var Table = /** @class */ (function () {
2047
2047
  // eslint-disable-next-line
2048
2048
  Table.prototype.applyProperties = function (args, e) {
2049
2049
  var dialogEle = this.editdlgObj.element;
2050
- var table = closest(args.selectNode[0], 'table');
2051
- table.style.width = dialogEle.querySelector('.e-table-width') ? dialogEle.querySelector('.e-table-width').value + 'px'
2052
- : table.style.width;
2053
- if (dialogEle.querySelector('.e-cell-padding') && dialogEle.querySelector('.e-cell-padding').value !== '') {
2054
- var tdElm = table.querySelectorAll('td');
2055
- for (var i = 0; i < tdElm.length; i++) {
2056
- var padVal = '';
2057
- if (tdElm[i].style.padding === '') {
2058
- padVal = tdElm[i].getAttribute('style') + ' padding:' +
2059
- dialogEle.querySelector('.e-cell-padding').value + 'px;';
2050
+ if (dialogEle && args && args.selectNode.length > 0 && args.selectNode[0]) {
2051
+ var selectedElement = (args.selectNode[0] && args.selectNode[0].nodeType === 3 ?
2052
+ args.selectNode[0].parentNode : args.selectNode[0]);
2053
+ var table = selectedElement ? closest(selectedElement, 'table') : null;
2054
+ if (table) {
2055
+ table.style.width = dialogEle.querySelector('.e-table-width') ? dialogEle.querySelector('.e-table-width').value + 'px'
2056
+ : table.style.width;
2057
+ if (dialogEle.querySelector('.e-cell-padding') && dialogEle.querySelector('.e-cell-padding').value !== '') {
2058
+ var tdElm = table.querySelectorAll('td');
2059
+ for (var i = 0; i < tdElm.length; i++) {
2060
+ var padVal = '';
2061
+ if (tdElm[i].style.padding === '') {
2062
+ padVal = tdElm[i].getAttribute('style') + ' padding:' +
2063
+ dialogEle.querySelector('.e-cell-padding').value + 'px;';
2064
+ }
2065
+ else {
2066
+ tdElm[i].style.padding = dialogEle.querySelector('.e-cell-padding').value + 'px';
2067
+ padVal = tdElm[i].getAttribute('style');
2068
+ }
2069
+ tdElm[i].setAttribute('style', padVal);
2070
+ }
2071
+ }
2072
+ table.cellSpacing = dialogEle.querySelector('.e-cell-spacing') ? dialogEle.querySelector('.e-cell-spacing').value
2073
+ : table.cellSpacing;
2074
+ if (!isNOU(table.cellSpacing) && table.cellSpacing !== '0') {
2075
+ addClass([table], classes.CLS_TABLE_BORDER);
2060
2076
  }
2061
2077
  else {
2062
- tdElm[i].style.padding = dialogEle.querySelector('.e-cell-padding').value + 'px';
2063
- padVal = tdElm[i].getAttribute('style');
2078
+ removeClassWithAttr([table], classes.CLS_TABLE_BORDER);
2064
2079
  }
2065
- tdElm[i].setAttribute('style', padVal);
2080
+ this.parent.formatter.saveData();
2081
+ this.editdlgObj.hide({ returnValue: true });
2066
2082
  }
2067
2083
  }
2068
- table.cellSpacing = dialogEle.querySelector('.e-cell-spacing') ? dialogEle.querySelector('.e-cell-spacing').value
2069
- : table.cellSpacing;
2070
- if (!isNOU(table.cellSpacing) && table.cellSpacing !== '0') {
2071
- addClass([table], classes.CLS_TABLE_BORDER);
2072
- }
2073
- else {
2074
- removeClassWithAttr([table], classes.CLS_TABLE_BORDER);
2075
- }
2076
- this.parent.formatter.saveData();
2077
- this.editdlgObj.hide({ returnValue: true });
2078
2084
  };
2079
2085
  Table.prototype.tableDlgContent = function (e) {
2080
2086
  var selectNode = e.selectParent[0];
@@ -681,17 +681,21 @@ var ToolbarRenderer = /** @class */ (function () {
681
681
  value: colorpickerValue
682
682
  };
683
683
  proxy.parent.notify(events.selectionRestore, {});
684
- proxy.currentElement.querySelector('.' + CLS_RTE_ELEMENTS).style.borderBottomColor = colorpickerValue;
684
+ if (proxy.currentElement) {
685
+ proxy.currentElement.querySelector('.' + CLS_RTE_ELEMENTS).style.borderBottomColor = colorpickerValue;
686
+ }
685
687
  var range = proxy.parent.formatter.editorManager.nodeSelection.getRange(proxy.parent.contentModule.getDocument());
686
688
  var closestElement = closest(range.startContainer.parentNode, 'table');
687
689
  if ((range.startContainer.nodeName === 'TD' || range.startContainer.nodeName === 'TH' || range.startContainer.nodeName === 'BODY' ||
688
- closest(range.startContainer.parentNode, 'td,th')) && range.collapsed && args.subCommand === 'BackgroundColor' && (closest(closestElement, '.' + classes.CLS_RTE) || proxy.parent.iframeSettings.enable)) {
690
+ (range.startContainer.parentNode && closest(range.startContainer.parentNode, 'td,th'))) && range.collapsed && args.subCommand === 'BackgroundColor' && (closestElement && closest(closestElement, '.' + classes.CLS_RTE) || proxy.parent.iframeSettings.enable)) {
689
691
  proxy.parent.notify(events.tableColorPickerChanged, colorPickerArgs);
690
692
  }
691
693
  else {
692
694
  proxy.parent.notify(events.colorPickerChanged, colorPickerArgs);
693
695
  }
694
- proxy.currentDropdown.toggle();
696
+ if (proxy.currentDropdown) {
697
+ proxy.currentDropdown.toggle();
698
+ }
695
699
  },
696
700
  beforeModeSwitch: function (args) {
697
701
  value = colorPicker.value;
@@ -781,6 +781,10 @@
781
781
  padding-top: 0;
782
782
  height: 32px;
783
783
  }
784
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn,
785
+ .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn {
786
+ padding: 0 4px;
787
+ }
784
788
  .e-richtexteditor .e-rte-toolbar.e-control[class*=e-toolbar],
785
789
  .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar.e-control[class*=e-toolbar] {
786
790
  -webkit-box-sizing: border-box;
@@ -2648,6 +2652,7 @@ iframe.e-rte-content {
2648
2652
  .e-richtexteditor .e-rte-toolbar .e-toolbar-item.e-active .e-tbar-btn:focus {
2649
2653
  background: var(--color-sf-secondary-bg-color-pressed);
2650
2654
  border: 1px solid var(--color-sf-secondary-border-color-pressed);
2655
+ border: 0;
2651
2656
  }
2652
2657
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn .e-icons,
2653
2658
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn:focus .e-icons {
@@ -781,6 +781,10 @@
781
781
  padding-top: 0;
782
782
  height: 32px;
783
783
  }
784
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn,
785
+ .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn {
786
+ padding: 0 4px;
787
+ }
784
788
  .e-richtexteditor .e-rte-toolbar.e-control[class*=e-toolbar],
785
789
  .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar.e-control[class*=e-toolbar] {
786
790
  -webkit-box-sizing: border-box;
@@ -2648,6 +2652,7 @@ iframe.e-rte-content {
2648
2652
  .e-richtexteditor .e-rte-toolbar .e-toolbar-item.e-active .e-tbar-btn:focus {
2649
2653
  background: var(--color-sf-secondary-bg-color-pressed);
2650
2654
  border: 1px solid var(--color-sf-secondary-border-color-pressed);
2655
+ border: 0;
2651
2656
  }
2652
2657
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn .e-icons,
2653
2658
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn:focus .e-icons {
@@ -262,7 +262,7 @@
262
262
  }
263
263
  }
264
264
 
265
- @if $skin-name == 'bootstrap5' {
265
+ @if $skin-name == 'bootstrap5' or $skin-name == 'bootstrap5.3' or $skin-name == 'tailwind3' {
266
266
  .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn {
267
267
  padding: 0 4px;
268
268
  }
@@ -25,7 +25,7 @@
25
25
  background: $rte-tb-item-active-bg;
26
26
  border: $rte-tb-item-active-border;
27
27
 
28
- @if $skin-name == 'bootstrap5' {
28
+ @if $skin-name == 'bootstrap5' or $skin-name == 'bootstrap5.3' or $skin-name == 'tailwind3' {
29
29
  border: 0;
30
30
  }
31
31
  }
@@ -781,6 +781,10 @@
781
781
  padding-top: 0;
782
782
  height: 32px;
783
783
  }
784
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn,
785
+ .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn {
786
+ padding: 0 4px;
787
+ }
784
788
  .e-richtexteditor .e-rte-toolbar.e-control[class*=e-toolbar],
785
789
  .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar.e-control[class*=e-toolbar] {
786
790
  -webkit-box-sizing: border-box;
@@ -2648,6 +2652,7 @@ iframe.e-rte-content {
2648
2652
  .e-richtexteditor .e-rte-toolbar .e-toolbar-item.e-active .e-tbar-btn:focus {
2649
2653
  background: var(--color-sf-secondary-bg-color-pressed);
2650
2654
  border: 1px solid var(--color-sf-secondary-border-color-pressed);
2655
+ border: 0;
2651
2656
  }
2652
2657
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn .e-icons,
2653
2658
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn:focus .e-icons {
@@ -781,6 +781,10 @@
781
781
  padding-top: 0;
782
782
  height: 32px;
783
783
  }
784
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn,
785
+ .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn {
786
+ padding: 0 4px;
787
+ }
784
788
  .e-richtexteditor .e-rte-toolbar.e-control[class*=e-toolbar],
785
789
  .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar.e-control[class*=e-toolbar] {
786
790
  -webkit-box-sizing: border-box;
@@ -2655,6 +2659,7 @@ iframe.e-rte-content {
2655
2659
  .e-richtexteditor .e-rte-toolbar .e-toolbar-item.e-active .e-tbar-btn:focus {
2656
2660
  background: var(--color-sf-secondary-bg-color-pressed);
2657
2661
  border: 1px solid var(--color-sf-secondary-border-color-pressed);
2662
+ border: 0;
2658
2663
  }
2659
2664
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn .e-icons,
2660
2665
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn:focus .e-icons {
@@ -781,6 +781,10 @@
781
781
  padding-top: 0;
782
782
  height: 32px;
783
783
  }
784
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn,
785
+ .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn {
786
+ padding: 0 4px;
787
+ }
784
788
  .e-richtexteditor .e-rte-toolbar.e-control[class*=e-toolbar],
785
789
  .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar.e-control[class*=e-toolbar] {
786
790
  -webkit-box-sizing: border-box;
@@ -2655,6 +2659,7 @@ iframe.e-rte-content {
2655
2659
  .e-richtexteditor .e-rte-toolbar .e-toolbar-item.e-active .e-tbar-btn:focus {
2656
2660
  background: var(--color-sf-secondary-bg-color-pressed);
2657
2661
  border: 1px solid var(--color-sf-secondary-border-color-pressed);
2662
+ border: 0;
2658
2663
  }
2659
2664
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn .e-icons,
2660
2665
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn:focus .e-icons {
@@ -781,6 +781,10 @@
781
781
  padding-top: 0;
782
782
  height: 32px;
783
783
  }
784
+ .e-richtexteditor .e-rte-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn,
785
+ .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar .e-toolbar-extended .e-toolbar-item.e-active .e-tbar-btn.e-btn {
786
+ padding: 0 4px;
787
+ }
784
788
  .e-richtexteditor .e-rte-toolbar.e-control[class*=e-toolbar],
785
789
  .e-richtexteditor .e-rte-toolbar.e-toolbar.e-extended-toolbar.e-control[class*=e-toolbar] {
786
790
  -webkit-box-sizing: border-box;
@@ -2655,6 +2659,7 @@ iframe.e-rte-content {
2655
2659
  .e-richtexteditor .e-rte-toolbar .e-toolbar-item.e-active .e-tbar-btn:focus {
2656
2660
  background: var(--color-sf-secondary-bg-color-pressed);
2657
2661
  border: 1px solid var(--color-sf-secondary-border-color-pressed);
2662
+ border: 0;
2658
2663
  }
2659
2664
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn .e-icons,
2660
2665
  .e-richtexteditor .e-toolbar-item.e-active .e-tbar-btn:focus .e-icons {