suneditor 2.44.11 → 2.45.0
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/LICENSE.txt +20 -20
- package/README.md +1588 -1585
- package/dist/suneditor.min.js +2 -2
- package/package.json +71 -71
- package/src/assets/css/suneditor-contents.css +561 -561
- package/src/assets/css/suneditor.css +0 -0
- package/src/assets/defaultIcons.js +103 -103
- package/src/lang/Lang.d.ts +143 -143
- package/src/lang/ckb.d.ts +4 -4
- package/src/lang/ckb.js +187 -187
- package/src/lang/da.d.ts +4 -4
- package/src/lang/da.js +191 -191
- package/src/lang/de.d.ts +4 -4
- package/src/lang/de.js +188 -188
- package/src/lang/en.d.ts +4 -4
- package/src/lang/en.js +187 -187
- package/src/lang/es.d.ts +4 -4
- package/src/lang/es.js +187 -187
- package/src/lang/fr.d.ts +4 -4
- package/src/lang/fr.js +188 -188
- package/src/lang/he.d.ts +4 -4
- package/src/lang/he.js +188 -188
- package/src/lang/index.d.ts +22 -22
- package/src/lang/index.js +25 -25
- package/src/lang/it.d.ts +4 -4
- package/src/lang/it.js +188 -188
- package/src/lang/ja.d.ts +4 -4
- package/src/lang/ja.js +187 -187
- package/src/lang/ko.d.ts +4 -4
- package/src/lang/ko.js +187 -187
- package/src/lang/lv.d.ts +4 -4
- package/src/lang/lv.js +187 -187
- package/src/lang/nl.d.ts +4 -4
- package/src/lang/nl.js +187 -187
- package/src/lang/pl.d.ts +4 -4
- package/src/lang/pl.js +187 -187
- package/src/lang/pt_br.d.ts +4 -4
- package/src/lang/pt_br.js +189 -189
- package/src/lang/ro.d.ts +4 -4
- package/src/lang/ro.js +187 -187
- package/src/lang/ru.d.ts +4 -4
- package/src/lang/ru.js +187 -187
- package/src/lang/se.d.ts +4 -4
- package/src/lang/se.js +191 -191
- package/src/lang/ua.d.ts +5 -5
- package/src/lang/ua.js +188 -188
- package/src/lang/ur.d.ts +4 -4
- package/src/lang/ur.js +187 -187
- package/src/lang/zh_cn.d.ts +4 -4
- package/src/lang/zh_cn.js +187 -187
- package/src/lib/constructor.js +3 -1
- package/src/lib/context.d.ts +42 -42
- package/src/lib/context.js +0 -0
- package/src/lib/core.d.ts +1101 -1101
- package/src/lib/core.js +97 -52
- package/src/lib/history.d.ts +48 -48
- package/src/lib/history.js +218 -218
- package/src/lib/util.d.ts +677 -677
- package/src/lib/util.js +44 -13
- package/src/options.d.ts +608 -608
- package/src/plugins/CommandPlugin.d.ts +7 -7
- package/src/plugins/DialogPlugin.d.ts +19 -19
- package/src/plugins/FileBrowserPlugin.d.ts +29 -29
- package/src/plugins/Module.d.ts +14 -14
- package/src/plugins/Plugin.d.ts +41 -41
- package/src/plugins/SubmenuPlugin.d.ts +7 -7
- package/src/plugins/command/blockquote.d.ts +4 -4
- package/src/plugins/command/blockquote.js +46 -46
- package/src/plugins/dialog/audio.d.ts +4 -4
- package/src/plugins/dialog/audio.js +556 -556
- package/src/plugins/dialog/image.d.ts +4 -4
- package/src/plugins/dialog/image.js +1115 -1115
- package/src/plugins/dialog/link.d.ts +4 -4
- package/src/plugins/dialog/link.js +223 -223
- package/src/plugins/dialog/math.d.ts +4 -4
- package/src/plugins/dialog/math.js +295 -295
- package/src/plugins/dialog/mention.d.ts +5 -5
- package/src/plugins/dialog/mention.js +242 -242
- package/src/plugins/dialog/video.d.ts +4 -4
- package/src/plugins/dialog/video.js +977 -977
- package/src/plugins/fileBrowser/imageGallery.d.ts +4 -4
- package/src/plugins/fileBrowser/imageGallery.js +63 -63
- package/src/plugins/index.d.ts +79 -79
- package/src/plugins/index.js +32 -32
- package/src/plugins/modules/_anchor.js +461 -461
- package/src/plugins/modules/_colorPicker.d.ts +59 -59
- package/src/plugins/modules/_colorPicker.js +0 -0
- package/src/plugins/modules/_notice.d.ts +20 -20
- package/src/plugins/modules/_notice.js +72 -72
- package/src/plugins/modules/_selectMenu.js +118 -118
- package/src/plugins/modules/component.d.ts +24 -24
- package/src/plugins/modules/component.js +80 -80
- package/src/plugins/modules/dialog.d.ts +27 -27
- package/src/plugins/modules/dialog.js +174 -174
- package/src/plugins/modules/fileBrowser.d.ts +41 -41
- package/src/plugins/modules/fileBrowser.js +373 -373
- package/src/plugins/modules/fileManager.d.ts +66 -66
- package/src/plugins/modules/fileManager.js +325 -325
- package/src/plugins/modules/index.d.ts +10 -10
- package/src/plugins/modules/index.js +8 -8
- package/src/plugins/modules/resizing.d.ts +153 -153
- package/src/plugins/modules/resizing.js +895 -895
- package/src/plugins/submenu/align.d.ts +4 -4
- package/src/plugins/submenu/align.js +160 -160
- package/src/plugins/submenu/font.d.ts +4 -4
- package/src/plugins/submenu/font.js +120 -120
- package/src/plugins/submenu/fontColor.d.ts +4 -4
- package/src/plugins/submenu/fontColor.js +0 -0
- package/src/plugins/submenu/fontSize.d.ts +4 -4
- package/src/plugins/submenu/fontSize.js +112 -112
- package/src/plugins/submenu/formatBlock.d.ts +4 -4
- package/src/plugins/submenu/formatBlock.js +273 -273
- package/src/plugins/submenu/hiliteColor.d.ts +4 -4
- package/src/plugins/submenu/hiliteColor.js +0 -0
- package/src/plugins/submenu/horizontalRule.d.ts +4 -4
- package/src/plugins/submenu/horizontalRule.js +98 -98
- package/src/plugins/submenu/lineHeight.d.ts +4 -4
- package/src/plugins/submenu/lineHeight.js +104 -104
- package/src/plugins/submenu/list.d.ts +4 -4
- package/src/plugins/submenu/list.js +456 -456
- package/src/plugins/submenu/paragraphStyle.d.ts +4 -4
- package/src/plugins/submenu/paragraphStyle.js +135 -135
- package/src/plugins/submenu/table.d.ts +4 -4
- package/src/plugins/submenu/template.d.ts +4 -4
- package/src/plugins/submenu/template.js +71 -71
- package/src/plugins/submenu/textStyle.d.ts +4 -4
- package/src/plugins/submenu/textStyle.js +167 -167
- package/src/suneditor.d.ts +9 -9
- package/src/suneditor.js +75 -75
- package/src/suneditor_build.js +17 -17
package/src/lib/util.js
CHANGED
|
@@ -365,6 +365,15 @@ const util = {
|
|
|
365
365
|
return element && element.nodeType !== 3 && /^(strong|span|font|b|var|i|em|u|ins|s|strike|del|sub|sup|mark|a|label|code|summary)$/i.test(element.nodeName);
|
|
366
366
|
},
|
|
367
367
|
|
|
368
|
+
/**
|
|
369
|
+
* @description It is judged whether it is the input element (INPUT, TEXTAREA)
|
|
370
|
+
* @param {Node} element The node to check
|
|
371
|
+
* @returns
|
|
372
|
+
*/
|
|
373
|
+
isInputElement: function (element) {
|
|
374
|
+
return element && element.nodeType === 1 && /^(INPUT|TEXTAREA)$/i.test(element.nodeName);
|
|
375
|
+
},
|
|
376
|
+
|
|
368
377
|
/**
|
|
369
378
|
* @description It is judged whether it is the format element (P, DIV, H[1-6], PRE, LI | class="__se__format__replace_xxx")
|
|
370
379
|
* Format element also contain "free format Element"
|
|
@@ -556,14 +565,17 @@ const util = {
|
|
|
556
565
|
*/
|
|
557
566
|
copyTagAttributes: function (originEl, copyEl, blacklist) {
|
|
558
567
|
if (copyEl.style.cssText) {
|
|
559
|
-
|
|
568
|
+
const copyStyles = copyEl.style;
|
|
569
|
+
for (let i = 0, len = copyStyles.length; i < len; i++) {
|
|
570
|
+
originEl.style[copyStyles[i]] = copyStyles[copyStyles[i]];
|
|
571
|
+
}
|
|
560
572
|
}
|
|
561
573
|
|
|
562
574
|
const attrs = copyEl.attributes;
|
|
563
575
|
for (let i = 0, len = attrs.length, name; i < len; i++) {
|
|
564
576
|
name = attrs[i].name.toLowerCase();
|
|
565
577
|
if ((blacklist && blacklist.indexOf(name) > -1) || !attrs[i].value) originEl.removeAttribute(name);
|
|
566
|
-
else originEl.setAttribute(attrs[i].name, attrs[i].value);
|
|
578
|
+
else if (name !== 'style') originEl.setAttribute(attrs[i].name, attrs[i].value);
|
|
567
579
|
}
|
|
568
580
|
},
|
|
569
581
|
|
|
@@ -1446,8 +1458,10 @@ const util = {
|
|
|
1446
1458
|
}
|
|
1447
1459
|
|
|
1448
1460
|
const bp = baseNode.parentNode;
|
|
1449
|
-
let index = 0
|
|
1461
|
+
let index = 0;
|
|
1462
|
+
let suffixIndex = 1;
|
|
1450
1463
|
let next = true;
|
|
1464
|
+
let newEl, children, temp;
|
|
1451
1465
|
if (!depth || depth < 0) depth = 0;
|
|
1452
1466
|
|
|
1453
1467
|
if (baseNode.nodeType === 3) {
|
|
@@ -1458,6 +1472,16 @@ const util = {
|
|
|
1458
1472
|
if (this.onlyZeroWidthSpace(after)) after.data = this.zeroWidthSpace;
|
|
1459
1473
|
}
|
|
1460
1474
|
} else if (baseNode.nodeType === 1) {
|
|
1475
|
+
if (offset === 0) {
|
|
1476
|
+
while (baseNode.firstChild) {
|
|
1477
|
+
baseNode = baseNode.firstChild;
|
|
1478
|
+
}
|
|
1479
|
+
if (baseNode.nodeType === 3) {
|
|
1480
|
+
const after = this.createTextNode(this.zeroWidthSpace);
|
|
1481
|
+
baseNode.parentNode.insertBefore(after, baseNode);
|
|
1482
|
+
baseNode = after;
|
|
1483
|
+
}
|
|
1484
|
+
}
|
|
1461
1485
|
if (!baseNode.previousSibling) {
|
|
1462
1486
|
if (this.getElementDepth(baseNode) === depth) next = false;
|
|
1463
1487
|
} else {
|
|
@@ -1465,9 +1489,10 @@ const util = {
|
|
|
1465
1489
|
}
|
|
1466
1490
|
}
|
|
1467
1491
|
|
|
1492
|
+
if (baseNode.nodeType === 1) suffixIndex = 0;
|
|
1468
1493
|
let depthEl = baseNode;
|
|
1469
1494
|
while (this.getElementDepth(depthEl) > depth) {
|
|
1470
|
-
index = this.getPositionIndex(depthEl) +
|
|
1495
|
+
index = this.getPositionIndex(depthEl) + suffixIndex;
|
|
1471
1496
|
depthEl = depthEl.parentNode;
|
|
1472
1497
|
|
|
1473
1498
|
temp = newEl;
|
|
@@ -1732,6 +1757,15 @@ const util = {
|
|
|
1732
1757
|
return html.trim().replace(/<\/?(?!strong|span|font|b|var|i|em|u|ins|s|strike|del|sub|sup|mark|a|label|code|summary)[^>^<]+>\s+(?=<)/ig, function (m) { return m.replace(/\n/g, '').replace(/\s+/, ' '); });
|
|
1733
1758
|
},
|
|
1734
1759
|
|
|
1760
|
+
/**
|
|
1761
|
+
* @description HTML code compression
|
|
1762
|
+
* @param {string} html HTML string
|
|
1763
|
+
* @returns {string} HTML string
|
|
1764
|
+
*/
|
|
1765
|
+
htmlCompress: function (html) {
|
|
1766
|
+
return html.replace(/\n/g, '').replace(/(>)(?:\s+)(<)/g, '$1$2');
|
|
1767
|
+
},
|
|
1768
|
+
|
|
1735
1769
|
/**
|
|
1736
1770
|
* @description Sort a element array by depth of element.
|
|
1737
1771
|
* @param {Array} array Array object
|
|
@@ -1794,6 +1828,7 @@ const util = {
|
|
|
1794
1828
|
},
|
|
1795
1829
|
|
|
1796
1830
|
/**
|
|
1831
|
+
* @deprecated
|
|
1797
1832
|
* @description Check disallowed tags
|
|
1798
1833
|
* @param {Node} element Element to check
|
|
1799
1834
|
* @returns {Boolean}
|
|
@@ -1828,10 +1863,10 @@ const util = {
|
|
|
1828
1863
|
* @param {Element} documentFragment Document fragment "DOCUMENT_FRAGMENT_NODE" (nodeType === 11)
|
|
1829
1864
|
* @param {RegExp} htmlCheckWhitelistRegExp Editor tags whitelist (core._htmlCheckWhitelistRegExp)
|
|
1830
1865
|
* @param {RegExp} htmlCheckBlacklistRegExp Editor tags blacklist (core._htmlCheckBlacklistRegExp)
|
|
1831
|
-
* @param {
|
|
1866
|
+
* @param {Function} classNameFilter Class name filter function
|
|
1832
1867
|
* @private
|
|
1833
1868
|
*/
|
|
1834
|
-
_consistencyCheckOfHTML: function (documentFragment, htmlCheckWhitelistRegExp, htmlCheckBlacklistRegExp,
|
|
1869
|
+
_consistencyCheckOfHTML: function (documentFragment, htmlCheckWhitelistRegExp, htmlCheckBlacklistRegExp, classNameFilter) {
|
|
1835
1870
|
/**
|
|
1836
1871
|
* It is can use ".children(util.getListChildren)" to exclude text nodes, but "documentFragment.children" is not supported in IE.
|
|
1837
1872
|
* So check the node type and exclude the text no (current.nodeType !== 1)
|
|
@@ -1874,15 +1909,15 @@ const util = {
|
|
|
1874
1909
|
}
|
|
1875
1910
|
|
|
1876
1911
|
// class filter
|
|
1877
|
-
if (
|
|
1878
|
-
const className = new this._w.Array(current.classList).map(
|
|
1912
|
+
if (nrtag && current.className) {
|
|
1913
|
+
const className = new this._w.Array(current.classList).map(classNameFilter).join(' ').trim();
|
|
1879
1914
|
if (className) current.className = className;
|
|
1880
1915
|
else current.removeAttribute('class');
|
|
1881
1916
|
}
|
|
1882
1917
|
|
|
1883
1918
|
const result = current.parentNode !== documentFragment && nrtag &&
|
|
1884
1919
|
((this.isListCell(current) && !this.isList(current.parentNode)) ||
|
|
1885
|
-
(
|
|
1920
|
+
((this.isFormatElement(current) || this.isComponent(current)) && !this.isRangeFormatElement(current.parentNode) && !this.getParentElement(current, this.isComponent)));
|
|
1886
1921
|
|
|
1887
1922
|
return result;
|
|
1888
1923
|
}.bind(this));
|
|
@@ -1949,10 +1984,6 @@ const util = {
|
|
|
1949
1984
|
}
|
|
1950
1985
|
},
|
|
1951
1986
|
|
|
1952
|
-
_classNameFilter: function (v) {
|
|
1953
|
-
return /(^__se__|^se-|katex)/.test(v) ? v : '';
|
|
1954
|
-
},
|
|
1955
|
-
|
|
1956
1987
|
_setDefaultOptionStyle: function (options, defaultStyle) {
|
|
1957
1988
|
let optionStyle = '';
|
|
1958
1989
|
if (options.height) optionStyle += 'height:' + options.height + ';';
|