@syncfusion/ej2-richtexteditor 25.1.35 → 25.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.
- package/CHANGELOG.md +28 -0
- package/dist/ej2-richtexteditor.min.js +2 -2
- package/dist/ej2-richtexteditor.umd.min.js +2 -2
- package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es2015.js +71 -50
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +71 -50
- package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
- package/dist/global/ej2-richtexteditor.min.js +2 -2
- package/dist/global/ej2-richtexteditor.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +10 -10
- package/src/editor-manager/plugin/dom-node.js +2 -1
- package/src/editor-manager/plugin/inserthtml.js +16 -19
- package/src/editor-manager/plugin/lists.js +31 -11
- package/src/editor-manager/plugin/ms-word-clean-up.js +2 -2
- package/src/editor-manager/plugin/selection-commands.js +4 -0
- package/src/rich-text-editor/actions/html-editor.js +0 -3
- package/src/rich-text-editor/actions/quick-toolbar.js +4 -0
- package/src/rich-text-editor/base/rich-text-editor.js +2 -4
- package/src/rich-text-editor/renderer/toolbar-renderer.js +10 -10
- package/styles/bootstrap-dark.css +14 -7
- package/styles/bootstrap.css +7 -3
- package/styles/bootstrap4.css +4 -0
- package/styles/bootstrap5-dark.css +4 -0
- package/styles/bootstrap5.css +4 -0
- package/styles/fabric-dark.css +4 -0
- package/styles/fabric.css +4 -0
- package/styles/fluent-dark.css +21 -5
- package/styles/fluent.css +21 -5
- package/styles/highcontrast-light.css +4 -0
- package/styles/highcontrast.css +4 -0
- package/styles/material-dark.css +5 -1
- package/styles/material.css +5 -1
- package/styles/material3-dark.css +4 -0
- package/styles/material3.css +4 -0
- package/styles/rich-text-editor/_bootstrap-dark-definition.scss +4 -4
- package/styles/rich-text-editor/_bootstrap-definition.scss +2 -2
- package/styles/rich-text-editor/_fluent-definition.scss +5 -5
- package/styles/rich-text-editor/_layout.scss +7 -7
- package/styles/rich-text-editor/_tailwind-definition.scss +5 -5
- package/styles/rich-text-editor/_theme.scss +21 -0
- package/styles/rich-text-editor/bootstrap-dark.css +14 -7
- package/styles/rich-text-editor/bootstrap.css +7 -3
- package/styles/rich-text-editor/bootstrap4.css +4 -0
- package/styles/rich-text-editor/bootstrap5-dark.css +4 -0
- package/styles/rich-text-editor/bootstrap5.css +4 -0
- package/styles/rich-text-editor/fabric-dark.css +4 -0
- package/styles/rich-text-editor/fabric.css +4 -0
- package/styles/rich-text-editor/fluent-dark.css +21 -5
- package/styles/rich-text-editor/fluent.css +21 -5
- package/styles/rich-text-editor/highcontrast-light.css +4 -0
- package/styles/rich-text-editor/highcontrast.css +4 -0
- package/styles/rich-text-editor/material-dark.css +5 -1
- package/styles/rich-text-editor/material.css +5 -1
- package/styles/rich-text-editor/material3-dark.css +4 -0
- package/styles/rich-text-editor/material3.css +4 -0
- package/styles/rich-text-editor/tailwind-dark.css +13 -13
- package/styles/rich-text-editor/tailwind.css +13 -13
- package/styles/tailwind-dark.css +13 -13
- package/styles/tailwind.css +13 -13
|
@@ -3944,9 +3944,11 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
3944
3944
|
for (var index = 0; index < args.element.childNodes.length; index++) {
|
|
3945
3945
|
if (currentListStyle === args.element.childNodes[index].innerHTML.split(' ').join('').toLocaleLowerCase()) {
|
|
3946
3946
|
addClass([args.element.childNodes[index]], 'e-active');
|
|
3947
|
+
break;
|
|
3947
3948
|
}
|
|
3948
|
-
else if (currentListStyle === '') {
|
|
3949
|
+
else if (currentListStyle === '' && args.element.childNodes[index].innerHTML !== 'None') {
|
|
3949
3950
|
addClass([args.element.childNodes[index]], 'e-active');
|
|
3951
|
+
break;
|
|
3950
3952
|
}
|
|
3951
3953
|
}
|
|
3952
3954
|
}
|
|
@@ -4035,8 +4037,6 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
4035
4037
|
target: colorPicker.element.parentElement, cssClass: css,
|
|
4036
4038
|
enablePersistence: this.parent.enablePersistence, enableRtl: this.parent.enableRtl,
|
|
4037
4039
|
beforeOpen: function (dropDownArgs) {
|
|
4038
|
-
colorPicker.inline = true;
|
|
4039
|
-
colorPicker.dataBind();
|
|
4040
4040
|
if (proxy.parent.readonly || !proxy.parent.enabled) {
|
|
4041
4041
|
dropDownArgs.cancel = true;
|
|
4042
4042
|
return;
|
|
@@ -4175,14 +4175,18 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
4175
4175
|
var colorPicker = new ColorPicker({
|
|
4176
4176
|
enablePersistence: this.parent.enablePersistence,
|
|
4177
4177
|
enableRtl: this.parent.enableRtl,
|
|
4178
|
-
inline:
|
|
4179
|
-
value:
|
|
4178
|
+
inline: true,
|
|
4179
|
+
value: null,
|
|
4180
|
+
cssClass: ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass + ' ' + 'e-rte-picker-init',
|
|
4180
4181
|
created: function () {
|
|
4181
4182
|
var value = (item === 'backgroundcolor') ? proxy.parent.backgroundColor.default : proxy.parent.fontColor.default;
|
|
4182
|
-
colorPicker.
|
|
4183
|
+
colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
|
|
4184
|
+
colorPicker.value = value;
|
|
4183
4185
|
},
|
|
4184
4186
|
mode: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.mode : proxy.parent.fontColor.mode),
|
|
4185
4187
|
modeSwitcher: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.modeSwitcher : proxy.parent.fontColor.modeSwitcher),
|
|
4188
|
+
presetColors: (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode : this.parent.fontColor.colorCode,
|
|
4189
|
+
columns: (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns,
|
|
4186
4190
|
beforeTileRender: function (args) {
|
|
4187
4191
|
args.element.classList.add(CLS_COLOR_PALETTE);
|
|
4188
4192
|
args.element.classList.add(CLS_CUSTOM_TILE);
|
|
@@ -4227,10 +4231,6 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
4227
4231
|
}
|
|
4228
4232
|
});
|
|
4229
4233
|
colorPicker.isStringTemplate = true;
|
|
4230
|
-
colorPicker.columns = (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns;
|
|
4231
|
-
colorPicker.presetColors = (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode :
|
|
4232
|
-
this.parent.fontColor.colorCode;
|
|
4233
|
-
colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
|
|
4234
4234
|
colorPicker.createElement = this.parent.createElement;
|
|
4235
4235
|
colorPicker.appendTo(document.getElementById(args.target));
|
|
4236
4236
|
return colorPicker;
|
|
@@ -7116,6 +7116,10 @@ var QuickToolbar = /** @__PURE__ @class */ (function () {
|
|
|
7116
7116
|
};
|
|
7117
7117
|
QuickToolbar.prototype.keyDownHandler = function (e) {
|
|
7118
7118
|
var preventHide = e.args.altKey;
|
|
7119
|
+
if (this.parent.inlineMode.enable && e.args.metaKey && e.args.keyCode === 65) {
|
|
7120
|
+
this.showInlineQTBar(this.offsetX, this.offsetY, e.args.target);
|
|
7121
|
+
return;
|
|
7122
|
+
}
|
|
7119
7123
|
if (!preventHide) {
|
|
7120
7124
|
if ((this.parent.inlineMode.enable && (!Browser.isDevice || isIDevice()))
|
|
7121
7125
|
&& !isNullOrUndefined(select('.' + CLS_INLINE_POP, document))) {
|
|
@@ -11949,7 +11953,8 @@ var DOMNode = /** @__PURE__ @class */ (function () {
|
|
|
11949
11953
|
}
|
|
11950
11954
|
}
|
|
11951
11955
|
else {
|
|
11952
|
-
|
|
11956
|
+
var tagName = !isNullOrUndefined(start.parentElement) ? start.parentElement.tagName.toLocaleLowerCase() : '';
|
|
11957
|
+
if (start.tagName === 'IMG' && tagName !== 'p' && tagName !== 'div') {
|
|
11953
11958
|
var parNode = document.createElement('p');
|
|
11954
11959
|
start.parentElement.insertBefore(parNode, start);
|
|
11955
11960
|
parNode.appendChild(start);
|
|
@@ -12501,6 +12506,7 @@ var Lists = /** @__PURE__ @class */ (function () {
|
|
|
12501
12506
|
endNode = endNode.nodeName === 'BR' ? endNode.parentElement : endNode;
|
|
12502
12507
|
startNode = startNode.nodeName !== 'LI' && !isNullOrUndefined(startNode.closest('LI')) ? startNode.closest('LI') : startNode;
|
|
12503
12508
|
endNode = endNode.nodeName !== 'LI' && endNode.nodeName !== '#text' && !isNullOrUndefined(endNode.closest('LI')) ? endNode.closest('LI') : endNode;
|
|
12509
|
+
var parentList = (range.startContainer.nodeName === '#text') ? range.startContainer.parentElement.closest('li') : range.startContainer.closest('li');
|
|
12504
12510
|
if (((range.commonAncestorContainer.nodeName === 'OL' || range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'LI') &&
|
|
12505
12511
|
isNullOrUndefined(endNode.nextElementSibling) && endNode.textContent.length === range.endOffset &&
|
|
12506
12512
|
isNullOrUndefined(startNode.previousElementSibling) && range.startOffset === 0) ||
|
|
@@ -12517,6 +12523,12 @@ var Lists = /** @__PURE__ @class */ (function () {
|
|
|
12517
12523
|
}
|
|
12518
12524
|
e.event.preventDefault();
|
|
12519
12525
|
}
|
|
12526
|
+
else if (!isNullOrUndefined(parentList) && parentList.textContent === range.startContainer.textContent && parentList.closest('li').previousElementSibling === null) {
|
|
12527
|
+
range.deleteContents();
|
|
12528
|
+
this.parent.editableElement.querySelectorAll('li:empty').forEach(function (e) { return e.remove(); });
|
|
12529
|
+
this.parent.editableElement.querySelectorAll('ol:empty').forEach(function (e) { return e.remove(); });
|
|
12530
|
+
e.event.preventDefault();
|
|
12531
|
+
}
|
|
12520
12532
|
};
|
|
12521
12533
|
Lists.prototype.onKeyUp = function () {
|
|
12522
12534
|
if (!isNullOrUndefined(this.commonLIParent) && !isNullOrUndefined(this.commonLIParent.querySelector('.removeList'))) {
|
|
@@ -12556,7 +12568,7 @@ var Lists = /** @__PURE__ @class */ (function () {
|
|
|
12556
12568
|
if (e.event.which === 8) {
|
|
12557
12569
|
this.backspaceList(e);
|
|
12558
12570
|
}
|
|
12559
|
-
if (e.event.which === 46 && e.event.action === 'delete') {
|
|
12571
|
+
if ((e.event.which === 46 && e.event.action === 'delete') || (e.event.which === 88 && e.event.action === 'cut')) {
|
|
12560
12572
|
var range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
|
|
12561
12573
|
var commonAncestor = range.commonAncestorContainer;
|
|
12562
12574
|
var startEle = range.startContainer;
|
|
@@ -13028,8 +13040,17 @@ var Lists = /** @__PURE__ @class */ (function () {
|
|
|
13028
13040
|
};
|
|
13029
13041
|
Lists.prototype.cleanNode = function () {
|
|
13030
13042
|
var liParents = this.parent.editableElement.querySelectorAll('ol + ol, ul + ul');
|
|
13043
|
+
var listStyleType;
|
|
13044
|
+
var firstNodeOL;
|
|
13031
13045
|
for (var c = 0; c < liParents.length; c++) {
|
|
13032
13046
|
var node = liParents[c];
|
|
13047
|
+
var toFindtopOlUl = true;
|
|
13048
|
+
if (toFindtopOlUl && (liParents[c].parentElement.parentElement.nodeName === 'OL' || liParents[c].parentElement.parentElement.nodeName === 'UL')) {
|
|
13049
|
+
toFindtopOlUl = false;
|
|
13050
|
+
var preElement = liParents[c].parentElement.parentElement;
|
|
13051
|
+
listStyleType = preElement.style.listStyleType;
|
|
13052
|
+
firstNodeOL = node.previousElementSibling;
|
|
13053
|
+
}
|
|
13033
13054
|
if (this.domNode.isList(node.previousElementSibling) &&
|
|
13034
13055
|
this.domNode.openTagString(node) === this.domNode.openTagString(node.previousElementSibling)) {
|
|
13035
13056
|
var contentNodes = this.domNode.contents(node);
|
|
@@ -13044,6 +13065,9 @@ var Lists = /** @__PURE__ @class */ (function () {
|
|
|
13044
13065
|
}
|
|
13045
13066
|
}
|
|
13046
13067
|
}
|
|
13068
|
+
if (firstNodeOL) {
|
|
13069
|
+
firstNodeOL.style.listStyleType = listStyleType;
|
|
13070
|
+
}
|
|
13047
13071
|
};
|
|
13048
13072
|
Lists.prototype.findUnSelected = function (temp, elements) {
|
|
13049
13073
|
temp = temp.slice().reverse();
|
|
@@ -13134,17 +13158,18 @@ var Lists = /** @__PURE__ @class */ (function () {
|
|
|
13134
13158
|
var wrapperclass = isNullOrUndefined(className) ? ' class="e-rte-wrap-inner"' :
|
|
13135
13159
|
' class="' + className + ' e-rte-wrap-inner"';
|
|
13136
13160
|
var parentElement = parentNode;
|
|
13137
|
-
if (
|
|
13138
|
-
|
|
13139
|
-
|
|
13140
|
-
|
|
13141
|
-
|
|
13142
|
-
|
|
13143
|
-
|
|
13144
|
-
|
|
13161
|
+
if (elements.length === parentElement.querySelectorAll('li').length) {
|
|
13162
|
+
if (!isNullOrUndefined(parentElement.style.listStyleType)) {
|
|
13163
|
+
parentNode.style.removeProperty('list-style-type');
|
|
13164
|
+
}
|
|
13165
|
+
if (!isNullOrUndefined(parentElement.style.listStyleImage)) {
|
|
13166
|
+
parentNode.style.removeProperty('list-style-image');
|
|
13167
|
+
}
|
|
13168
|
+
if (parentElement.style.length === 0) {
|
|
13169
|
+
parentNode.removeAttribute('style');
|
|
13170
|
+
}
|
|
13145
13171
|
}
|
|
13146
|
-
var wrapper = '<' + DEFAULT_TAG + wrapperclass +
|
|
13147
|
-
this.domNode.attributes(parentElement) + '></' + DEFAULT_TAG + '>';
|
|
13172
|
+
var wrapper = '<' + DEFAULT_TAG + wrapperclass + '></' + DEFAULT_TAG + '>';
|
|
13148
13173
|
if (e.enterAction !== 'BR') {
|
|
13149
13174
|
this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
|
|
13150
13175
|
}
|
|
@@ -14105,25 +14130,22 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
|
|
|
14105
14130
|
TABLE_BLOCK_TAGS.indexOf(closestParentNode.tagName.toLocaleLowerCase()) !== -1))
|
|
14106
14131
|
|| (node.nodeName.toLowerCase() === 'table' && closestParentNode &&
|
|
14107
14132
|
TABLE_BLOCK_TAGS.indexOf(closestParentNode.tagName.toLocaleLowerCase()) === -1))) {
|
|
14108
|
-
|
|
14109
|
-
|
|
14110
|
-
|
|
14111
|
-
|
|
14112
|
-
|
|
14113
|
-
|
|
14114
|
-
|
|
14115
|
-
|
|
14116
|
-
|
|
14117
|
-
|
|
14118
|
-
|
|
14119
|
-
|
|
14120
|
-
|
|
14121
|
-
|
|
14122
|
-
|
|
14123
|
-
|
|
14124
|
-
lasNode.textContent.length : lasNode.childNodes.length);
|
|
14125
|
-
range = nodeSelection.getRange(docElement);
|
|
14126
|
-
isSingleNode = false;
|
|
14133
|
+
preNode = nodeCutter.GetSpliceNode(range, closestParentNode);
|
|
14134
|
+
if (!isNullOrUndefined(preNode)) {
|
|
14135
|
+
sibNode = isNullOrUndefined(preNode.previousSibling) ? preNode.parentNode.previousSibling : preNode.previousSibling;
|
|
14136
|
+
if (nodes.length === 1) {
|
|
14137
|
+
nodeSelection.setSelectionContents(docElement, preNode);
|
|
14138
|
+
range = nodeSelection.getRange(docElement);
|
|
14139
|
+
isSingleNode = true;
|
|
14140
|
+
}
|
|
14141
|
+
else {
|
|
14142
|
+
lasNode = nodeCutter.GetSpliceNode(range, nodes[nodes.length - 1].parentElement);
|
|
14143
|
+
lasNode = isNullOrUndefined(lasNode) ? preNode : lasNode;
|
|
14144
|
+
nodeSelection.setSelectionText(docElement, preNode, lasNode, 0, (lasNode.nodeType === 3) ?
|
|
14145
|
+
lasNode.textContent.length : lasNode.childNodes.length);
|
|
14146
|
+
range = nodeSelection.getRange(docElement);
|
|
14147
|
+
isSingleNode = false;
|
|
14148
|
+
}
|
|
14127
14149
|
}
|
|
14128
14150
|
}
|
|
14129
14151
|
var containsBlockNode = false;
|
|
@@ -17266,11 +17288,15 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
|
|
|
17266
17288
|
&& range.endOffset === range.startContainer.length)) {
|
|
17267
17289
|
var nodeIndex = [];
|
|
17268
17290
|
var cloneNode = nodes[index];
|
|
17291
|
+
var clonedElement = cloneNode;
|
|
17269
17292
|
do {
|
|
17270
17293
|
nodeIndex.push(domSelection.getIndex(cloneNode));
|
|
17271
17294
|
cloneNode = cloneNode.parentNode;
|
|
17272
17295
|
} while (cloneNode && (cloneNode !== formatNode));
|
|
17273
17296
|
if (nodes[index].nodeName !== 'BR') {
|
|
17297
|
+
if (clonedElement.nodeName === '#text' && clonedElement.textContent.includes('\u200B')) {
|
|
17298
|
+
clonedElement.remove();
|
|
17299
|
+
}
|
|
17274
17300
|
cloneNode = splitNode = (isCursor && (formatNode.textContent.length - 1) === range.startOffset) ?
|
|
17275
17301
|
nodeCutter.SplitNode(range, formatNode, true)
|
|
17276
17302
|
: nodeCutter.GetSpliceNode(range, formatNode);
|
|
@@ -18598,7 +18624,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
|
|
|
18598
18624
|
'x', 'xi', 'xii', 'xiii', 'xiv', 'xv', 'xvi', 'xvii', 'xviii', 'xix', 'xx'];
|
|
18599
18625
|
this.lowerGreekNumber = ['α', 'β', 'γ', 'δ', 'ε', 'ζ', 'η', 'θ', 'ι', 'κ', 'λ',
|
|
18600
18626
|
'μ', 'ν', 'ξ', 'ο', 'π', 'ρ', 'σ', 'τ', 'υ', 'φ', 'χ', 'ψ', 'ω'];
|
|
18601
|
-
this.removableElements = ['o:p', 'style'];
|
|
18627
|
+
this.removableElements = ['o:p', 'style', 'w:sdt'];
|
|
18602
18628
|
this.listContents = [];
|
|
18603
18629
|
this.cropImageDimensions = [];
|
|
18604
18630
|
this.parent = parent;
|
|
@@ -18963,7 +18989,7 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
|
|
|
18963
18989
|
var innerElement = elm.innerHTML;
|
|
18964
18990
|
for (var i = 0; i < this.removableElements.length; i++) {
|
|
18965
18991
|
// eslint-disable-next-line security/detect-non-literal-regexp
|
|
18966
|
-
var regExpStartElem = new RegExp('<' + this.removableElements[i] + '
|
|
18992
|
+
var regExpStartElem = new RegExp('<' + this.removableElements[i] + '\\s*[^>]*>', 'g');
|
|
18967
18993
|
// eslint-disable-next-line security/detect-non-literal-regexp
|
|
18968
18994
|
var regExpEndElem = new RegExp('</' + this.removableElements[i] + '>', 'g');
|
|
18969
18995
|
innerElement = innerElement.replace(regExpStartElem, '');
|
|
@@ -21514,9 +21540,6 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
|
|
|
21514
21540
|
};
|
|
21515
21541
|
HtmlEditor.prototype.onSelectionRestore = function (e) {
|
|
21516
21542
|
this.parent.isBlur = false;
|
|
21517
|
-
if (isNullOrUndefined(this.saveSelection) || isNullOrUndefined(closest(this.saveSelection.range.startContainer.parentElement, ".e-img-caption")) ? true : !(closest(this.saveSelection.range.startContainer.parentElement, ".e-img-caption").getAttribute("contenteditable") == "false")) {
|
|
21518
|
-
this.contentRenderer.getEditPanel().focus();
|
|
21519
|
-
}
|
|
21520
21543
|
if (isNullOrUndefined(e.items) || e.items) {
|
|
21521
21544
|
this.saveSelection.restore();
|
|
21522
21545
|
}
|
|
@@ -36202,10 +36225,8 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
|
|
|
36202
36225
|
}, 0);
|
|
36203
36226
|
}
|
|
36204
36227
|
else if (this.iframeSettings.enable) {
|
|
36205
|
-
var
|
|
36206
|
-
|
|
36207
|
-
_this.setAutoHeight(iframeElement_1);
|
|
36208
|
-
}, 100);
|
|
36228
|
+
var iframeElement = this.element.querySelector('#' + this.getID() + '_rte-view');
|
|
36229
|
+
this.setAutoHeight(iframeElement);
|
|
36209
36230
|
this.inputElement.style.overflow = 'hidden';
|
|
36210
36231
|
}
|
|
36211
36232
|
}
|