@syncfusion/ej2-richtexteditor 25.1.35 → 25.1.37
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 +14 -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 +28 -15
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +29 -16
- 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 +9 -9
- package/src/editor-manager/plugin/dom-node.js +2 -1
- package/src/editor-manager/plugin/lists.js +12 -0
- 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/base/rich-text-editor.js +2 -4
- package/src/rich-text-editor/renderer/toolbar-renderer.js +7 -9
- package/styles/bootstrap-dark.css +4 -0
- package/styles/bootstrap.css +4 -0
- 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 +4 -0
- package/styles/fluent.css +4 -0
- package/styles/highcontrast-light.css +4 -0
- package/styles/highcontrast.css +4 -0
- package/styles/material-dark.css +4 -0
- package/styles/material.css +4 -0
- package/styles/material3-dark.css +4 -0
- package/styles/material3.css +4 -0
- package/styles/rich-text-editor/_layout.scss +4 -4
- package/styles/rich-text-editor/bootstrap-dark.css +4 -0
- package/styles/rich-text-editor/bootstrap.css +4 -0
- 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 +4 -0
- package/styles/rich-text-editor/fluent.css +4 -0
- 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 +4 -0
- package/styles/rich-text-editor/material.css +4 -0
- 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 +4 -4
- package/styles/rich-text-editor/tailwind.css +4 -4
- package/styles/tailwind-dark.css +4 -4
- package/styles/tailwind.css +4 -4
|
@@ -4035,8 +4035,6 @@ class ToolbarRenderer {
|
|
|
4035
4035
|
target: colorPicker.element.parentElement, cssClass: css,
|
|
4036
4036
|
enablePersistence: this.parent.enablePersistence, enableRtl: this.parent.enableRtl,
|
|
4037
4037
|
beforeOpen: (dropDownArgs) => {
|
|
4038
|
-
colorPicker.inline = true;
|
|
4039
|
-
colorPicker.dataBind();
|
|
4040
4038
|
if (proxy.parent.readonly || !proxy.parent.enabled) {
|
|
4041
4039
|
dropDownArgs.cancel = true;
|
|
4042
4040
|
return;
|
|
@@ -4174,14 +4172,18 @@ class ToolbarRenderer {
|
|
|
4174
4172
|
const colorPicker = new ColorPicker({
|
|
4175
4173
|
enablePersistence: this.parent.enablePersistence,
|
|
4176
4174
|
enableRtl: this.parent.enableRtl,
|
|
4177
|
-
inline:
|
|
4178
|
-
value:
|
|
4175
|
+
inline: true,
|
|
4176
|
+
value: null,
|
|
4177
|
+
cssClass: ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass + ' ' + 'e-rte-picker-init',
|
|
4179
4178
|
created: () => {
|
|
4180
4179
|
const value = (item === 'backgroundcolor') ? proxy.parent.backgroundColor.default : proxy.parent.fontColor.default;
|
|
4181
|
-
colorPicker.
|
|
4180
|
+
colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
|
|
4181
|
+
colorPicker.value = value;
|
|
4182
4182
|
},
|
|
4183
4183
|
mode: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.mode : proxy.parent.fontColor.mode),
|
|
4184
4184
|
modeSwitcher: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.modeSwitcher : proxy.parent.fontColor.modeSwitcher),
|
|
4185
|
+
presetColors: (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode : this.parent.fontColor.colorCode,
|
|
4186
|
+
columns: (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns,
|
|
4185
4187
|
beforeTileRender: (args) => {
|
|
4186
4188
|
args.element.classList.add(CLS_COLOR_PALETTE);
|
|
4187
4189
|
args.element.classList.add(CLS_CUSTOM_TILE);
|
|
@@ -4226,10 +4228,6 @@ class ToolbarRenderer {
|
|
|
4226
4228
|
}
|
|
4227
4229
|
});
|
|
4228
4230
|
colorPicker.isStringTemplate = true;
|
|
4229
|
-
colorPicker.columns = (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns;
|
|
4230
|
-
colorPicker.presetColors = (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode :
|
|
4231
|
-
this.parent.fontColor.colorCode;
|
|
4232
|
-
colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
|
|
4233
4231
|
colorPicker.createElement = this.parent.createElement;
|
|
4234
4232
|
colorPicker.appendTo(document.getElementById(args.target));
|
|
4235
4233
|
return colorPicker;
|
|
@@ -11857,7 +11855,8 @@ class DOMNode {
|
|
|
11857
11855
|
}
|
|
11858
11856
|
}
|
|
11859
11857
|
else {
|
|
11860
|
-
|
|
11858
|
+
let tagName = !isNullOrUndefined(start.parentElement) ? start.parentElement.tagName.toLocaleLowerCase() : '';
|
|
11859
|
+
if (start.tagName === 'IMG' && tagName !== 'p' && tagName !== 'div') {
|
|
11861
11860
|
const parNode = document.createElement('p');
|
|
11862
11861
|
start.parentElement.insertBefore(parNode, start);
|
|
11863
11862
|
parNode.appendChild(start);
|
|
@@ -12935,8 +12934,17 @@ class Lists {
|
|
|
12935
12934
|
}
|
|
12936
12935
|
cleanNode() {
|
|
12937
12936
|
const liParents = this.parent.editableElement.querySelectorAll('ol + ol, ul + ul');
|
|
12937
|
+
let listStyleType;
|
|
12938
|
+
let firstNodeOL;
|
|
12938
12939
|
for (let c = 0; c < liParents.length; c++) {
|
|
12939
12940
|
const node = liParents[c];
|
|
12941
|
+
let toFindtopOlUl = true;
|
|
12942
|
+
if (toFindtopOlUl && (liParents[c].parentElement.parentElement.nodeName === 'OL' || liParents[c].parentElement.parentElement.nodeName === 'UL')) {
|
|
12943
|
+
toFindtopOlUl = false;
|
|
12944
|
+
const preElement = liParents[c].parentElement.parentElement;
|
|
12945
|
+
listStyleType = preElement.style.listStyleType;
|
|
12946
|
+
firstNodeOL = node.previousElementSibling;
|
|
12947
|
+
}
|
|
12940
12948
|
if (this.domNode.isList(node.previousElementSibling) &&
|
|
12941
12949
|
this.domNode.openTagString(node) === this.domNode.openTagString(node.previousElementSibling)) {
|
|
12942
12950
|
const contentNodes = this.domNode.contents(node);
|
|
@@ -12951,6 +12959,9 @@ class Lists {
|
|
|
12951
12959
|
}
|
|
12952
12960
|
}
|
|
12953
12961
|
}
|
|
12962
|
+
if (firstNodeOL) {
|
|
12963
|
+
firstNodeOL.style.listStyleType = listStyleType;
|
|
12964
|
+
}
|
|
12954
12965
|
}
|
|
12955
12966
|
findUnSelected(temp, elements) {
|
|
12956
12967
|
temp = temp.slice().reverse();
|
|
@@ -17147,11 +17158,15 @@ class SelectionCommands {
|
|
|
17147
17158
|
&& range.endOffset === range.startContainer.length)) {
|
|
17148
17159
|
const nodeIndex = [];
|
|
17149
17160
|
let cloneNode = nodes[index];
|
|
17161
|
+
const clonedElement = cloneNode;
|
|
17150
17162
|
do {
|
|
17151
17163
|
nodeIndex.push(domSelection.getIndex(cloneNode));
|
|
17152
17164
|
cloneNode = cloneNode.parentNode;
|
|
17153
17165
|
} while (cloneNode && (cloneNode !== formatNode));
|
|
17154
17166
|
if (nodes[index].nodeName !== 'BR') {
|
|
17167
|
+
if (clonedElement.nodeName === '#text' && clonedElement.textContent.includes('\u200B')) {
|
|
17168
|
+
clonedElement.remove();
|
|
17169
|
+
}
|
|
17155
17170
|
cloneNode = splitNode = (isCursor && (formatNode.textContent.length - 1) === range.startOffset) ?
|
|
17156
17171
|
nodeCutter.SplitNode(range, formatNode, true)
|
|
17157
17172
|
: nodeCutter.GetSpliceNode(range, formatNode);
|
|
@@ -18470,7 +18485,7 @@ class MsWordPaste {
|
|
|
18470
18485
|
'x', 'xi', 'xii', 'xiii', 'xiv', 'xv', 'xvi', 'xvii', 'xviii', 'xix', 'xx'];
|
|
18471
18486
|
this.lowerGreekNumber = ['α', 'β', 'γ', 'δ', 'ε', 'ζ', 'η', 'θ', 'ι', 'κ', 'λ',
|
|
18472
18487
|
'μ', 'ν', 'ξ', 'ο', 'π', 'ρ', 'σ', 'τ', 'υ', 'φ', 'χ', 'ψ', 'ω'];
|
|
18473
|
-
this.removableElements = ['o:p', 'style'];
|
|
18488
|
+
this.removableElements = ['o:p', 'style', 'w:sdt'];
|
|
18474
18489
|
this.listContents = [];
|
|
18475
18490
|
this.cropImageDimensions = [];
|
|
18476
18491
|
this.parent = parent;
|
|
@@ -18835,7 +18850,7 @@ class MsWordPaste {
|
|
|
18835
18850
|
let innerElement = elm.innerHTML;
|
|
18836
18851
|
for (let i = 0; i < this.removableElements.length; i++) {
|
|
18837
18852
|
// eslint-disable-next-line security/detect-non-literal-regexp
|
|
18838
|
-
const regExpStartElem = new RegExp('<' + this.removableElements[i] + '
|
|
18853
|
+
const regExpStartElem = new RegExp('<' + this.removableElements[i] + '\\s*[^>]*>', 'g');
|
|
18839
18854
|
// eslint-disable-next-line security/detect-non-literal-regexp
|
|
18840
18855
|
const regExpEndElem = new RegExp('</' + this.removableElements[i] + '>', 'g');
|
|
18841
18856
|
innerElement = innerElement.replace(regExpStartElem, '');
|
|
@@ -35883,9 +35898,7 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
35883
35898
|
}
|
|
35884
35899
|
else if (this.iframeSettings.enable) {
|
|
35885
35900
|
const iframeElement = this.element.querySelector('#' + this.getID() + '_rte-view');
|
|
35886
|
-
|
|
35887
|
-
this.setAutoHeight(iframeElement);
|
|
35888
|
-
}, 100);
|
|
35901
|
+
this.setAutoHeight(iframeElement);
|
|
35889
35902
|
this.inputElement.style.overflow = 'hidden';
|
|
35890
35903
|
}
|
|
35891
35904
|
}
|