jodit 4.15.7 → 4.15.8
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 +7 -0
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +4 -4
- package/es2015/jodit.js +50 -22
- package/es2015/jodit.min.js +4 -4
- package/es2015/plugins/debug/debug.css +1 -1
- package/es2015/plugins/debug/debug.js +1 -1
- package/es2015/plugins/debug/debug.min.js +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2018/jodit.fat.min.js +4 -4
- package/es2018/jodit.min.js +4 -4
- package/es2018/plugins/debug/debug.min.js +1 -1
- package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.js +5 -5
- package/es2021/jodit.js +49 -21
- package/es2021/jodit.min.js +5 -5
- package/es2021/plugins/debug/debug.css +1 -1
- package/es2021/plugins/debug/debug.js +1 -1
- package/es2021/plugins/debug/debug.min.js +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.js +5 -5
- package/es2021.en/jodit.js +49 -21
- package/es2021.en/jodit.min.js +5 -5
- package/es2021.en/plugins/debug/debug.css +1 -1
- package/es2021.en/plugins/debug/debug.js +1 -1
- package/es2021.en/plugins/debug/debug.min.js +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +50 -22
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/debug/debug.css +1 -1
- package/es5/plugins/debug/debug.js +1 -1
- package/es5/plugins/debug/debug.min.js +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/config.d.ts +2 -1
- package/esm/core/constants.js +1 -1
- package/esm/plugins/clean-html/config.d.ts +2 -1
- package/esm/plugins/clean-html/helpers/visitor/filters/try-remove-node.js +10 -0
- package/esm/plugins/mobile/mobile.js +25 -4
- package/package.json +1 -1
- package/types/config.d.ts +2 -1
- package/types/plugins/clean-html/config.d.ts +2 -1
package/es2015/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
|
|
3
3
|
* Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
|
|
4
|
-
* Version: v4.15.
|
|
4
|
+
* Version: v4.15.8
|
|
5
5
|
* Url: https://xdsoft.net/jodit/
|
|
6
6
|
* License(s): MIT
|
|
7
7
|
*/
|
|
@@ -1785,7 +1785,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1785
1785
|
* ```
|
|
1786
1786
|
* @packageDocumentation
|
|
1787
1787
|
* @module constants
|
|
1788
|
-
*/ const APP_VERSION = "4.15.
|
|
1788
|
+
*/ const APP_VERSION = "4.15.8";
|
|
1789
1789
|
// prettier-ignore
|
|
1790
1790
|
const ES = "es2015";
|
|
1791
1791
|
const IS_ES_MODERN = true;
|
|
@@ -29598,7 +29598,14 @@ function filterStyleProperties(style, allowed) {
|
|
|
29598
29598
|
// a pending-format marker the user is about to type into (#1291). `current`
|
|
29599
29599
|
// is captured before a click moves the caret, so also check the live caret.
|
|
29600
29600
|
const liveCaret = jodit.s.isCollapsed() ? jodit.s.range.startContainer : null;
|
|
29601
|
-
return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) && node.nodeName.match(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_INLINE) != null && !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTemporary(node) && (0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_2__.trimInv)(node.innerHTML).length === 0 && (current == null || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(node, current)) && (liveCaret == null || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(node, liveCaret));
|
|
29601
|
+
return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) && node.nodeName.match(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_INLINE) != null && !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTemporary(node) && !isFragmentTarget(node) && (0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_2__.trimInv)(node.innerHTML).length === 0 && (current == null || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(node, current)) && (liveCaret == null || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(node, liveCaret));
|
|
29602
|
+
}
|
|
29603
|
+
/**
|
|
29604
|
+
* An element with an `id`, or an `<a>` with a `name`, is where an in-page link
|
|
29605
|
+
* (`#fragment`) lands. It is usually empty (`<a name="top"></a>`), and removing
|
|
29606
|
+
* it silently breaks every link that points at it.
|
|
29607
|
+
*/ function isFragmentTarget(element) {
|
|
29608
|
+
return element.hasAttribute('id') || element.nodeName === 'A' && element.hasAttribute('name');
|
|
29602
29609
|
}
|
|
29603
29610
|
|
|
29604
29611
|
|
|
@@ -37632,10 +37639,12 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.dots = {
|
|
|
37632
37639
|
|
|
37633
37640
|
"use strict";
|
|
37634
37641
|
/* unused harmony export mobile */
|
|
37635
|
-
/* harmony import */ var
|
|
37636
|
-
/* harmony import */ var
|
|
37637
|
-
/* harmony import */ var
|
|
37638
|
-
/* harmony import */ var
|
|
37642
|
+
/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23211);
|
|
37643
|
+
/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28077);
|
|
37644
|
+
/* harmony import */ var jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65946);
|
|
37645
|
+
/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85932);
|
|
37646
|
+
/* harmony import */ var jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2496);
|
|
37647
|
+
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3244);
|
|
37639
37648
|
/*!
|
|
37640
37649
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
37641
37650
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -37648,6 +37657,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.dots = {
|
|
|
37648
37657
|
|
|
37649
37658
|
|
|
37650
37659
|
|
|
37660
|
+
|
|
37661
|
+
|
|
37651
37662
|
const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n';
|
|
37652
37663
|
/**
|
|
37653
37664
|
* Constrain a responsive breakpoint set (`buttonsMD/SM/XS`) to the buttons the
|
|
@@ -37661,13 +37672,13 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
|
|
|
37661
37672
|
* the standard grouped mobile layout — groups, separators and `dots` — is
|
|
37662
37673
|
* preserved. See #1389.
|
|
37663
37674
|
*/ function fitToButtons(list, editor) {
|
|
37664
|
-
const allowed = (0,
|
|
37675
|
+
const allowed = (0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_4__.flatButtonsSet)((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.splitArray)(editor.o.buttons), editor);
|
|
37665
37676
|
const groups = editor.getRegisteredButtonGroups();
|
|
37666
37677
|
let changed = false;
|
|
37667
37678
|
let hadDots = false;
|
|
37668
37679
|
const flat = [];
|
|
37669
37680
|
for (const item of list){
|
|
37670
|
-
if ((0,
|
|
37681
|
+
if ((0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_4__.isButtonGroup)(item)) {
|
|
37671
37682
|
var _groups_item_group;
|
|
37672
37683
|
const members = [
|
|
37673
37684
|
...item.buttons,
|
|
@@ -37705,17 +37716,32 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
|
|
|
37705
37716
|
// Keep the "show all" overflow button only if some requested button is still
|
|
37706
37717
|
// hidden at this breakpoint.
|
|
37707
37718
|
if (hadDots) {
|
|
37708
|
-
const shown = (0,
|
|
37709
|
-
if ((0,
|
|
37719
|
+
const shown = (0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_4__.flatButtonsSet)(cleaned, editor);
|
|
37720
|
+
if ((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.toArray)(allowed).some((button)=>!shown.has(button))) {
|
|
37710
37721
|
cleaned.push('dots');
|
|
37711
37722
|
}
|
|
37712
37723
|
}
|
|
37713
37724
|
return cleaned;
|
|
37714
37725
|
}
|
|
37726
|
+
/**
|
|
37727
|
+
* The width that decides which breakpoint set the toolbar uses. A toolbar
|
|
37728
|
+
* rendered into an external container (`toolbar` set to an element or a
|
|
37729
|
+
* selector) lays out in that container, so its width is what matters there.
|
|
37730
|
+
*/ function adaptiveWidth(editor) {
|
|
37731
|
+
var _editor_container_parentElement;
|
|
37732
|
+
const { toolbar } = editor.o;
|
|
37733
|
+
if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_3__.isString)(toolbar) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(toolbar)) {
|
|
37734
|
+
const width = editor.toolbarContainer.offsetWidth;
|
|
37735
|
+
if (width) {
|
|
37736
|
+
return width;
|
|
37737
|
+
}
|
|
37738
|
+
}
|
|
37739
|
+
return ((_editor_container_parentElement = editor.container.parentElement) !== null && _editor_container_parentElement !== void 0 ? _editor_container_parentElement : editor.container).offsetWidth;
|
|
37740
|
+
}
|
|
37715
37741
|
/**
|
|
37716
37742
|
* Rebuild toolbar in depends on editor's width
|
|
37717
37743
|
*/ function mobile(editor) {
|
|
37718
|
-
let timeout = 0, store = (0,
|
|
37744
|
+
let timeout = 0, store = (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.splitArray)(editor.o.buttons);
|
|
37719
37745
|
if (editor.o.mobileTapTimeout) {
|
|
37720
37746
|
// Emulate double tap
|
|
37721
37747
|
editor.e.on('touchend', (e)=>{
|
|
@@ -37732,8 +37758,8 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
|
|
|
37732
37758
|
}
|
|
37733
37759
|
editor.e.on('getDiffButtons.mobile', (toolbar)=>{
|
|
37734
37760
|
if (toolbar === editor.toolbar) {
|
|
37735
|
-
const buttons = (0,
|
|
37736
|
-
return (0,
|
|
37761
|
+
const buttons = (0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_4__.flatButtonsSet)((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.splitArray)(editor.o.buttons), editor), flatStore = (0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_4__.flatButtonsSet)(store, editor);
|
|
37762
|
+
return (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.toArray)(buttons).reduce((acc, item)=>{
|
|
37737
37763
|
if (!flatStore.has(item)) {
|
|
37738
37764
|
acc.push(item);
|
|
37739
37765
|
}
|
|
@@ -37743,22 +37769,24 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
|
|
|
37743
37769
|
});
|
|
37744
37770
|
if (editor.o.toolbarAdaptive) {
|
|
37745
37771
|
editor.e.on('resize afterInit recalcAdaptive changePlace afterAddPlace', ()=>{
|
|
37746
|
-
var _editor_container_parentElement;
|
|
37747
37772
|
if (!editor.o.toolbar) {
|
|
37748
37773
|
return;
|
|
37749
37774
|
}
|
|
37750
|
-
const width = ((_editor_container_parentElement = editor.container.parentElement) !== null && _editor_container_parentElement !== void 0 ? _editor_container_parentElement : editor.container).offsetWidth;
|
|
37751
37775
|
const newStore = (()=>{
|
|
37752
|
-
if (editor.isFullSize
|
|
37753
|
-
return (0,
|
|
37776
|
+
if (editor.isFullSize) {
|
|
37777
|
+
return (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.splitArray)(editor.o.buttons);
|
|
37778
|
+
}
|
|
37779
|
+
const width = adaptiveWidth(editor);
|
|
37780
|
+
if (width >= editor.o.sizeLG) {
|
|
37781
|
+
return (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.splitArray)(editor.o.buttons);
|
|
37754
37782
|
}
|
|
37755
37783
|
if (width >= editor.o.sizeMD) {
|
|
37756
|
-
return fitToButtons((0,
|
|
37784
|
+
return fitToButtons((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.splitArray)(editor.o.buttonsMD), editor);
|
|
37757
37785
|
}
|
|
37758
37786
|
if (width >= editor.o.sizeSM) {
|
|
37759
|
-
return fitToButtons((0,
|
|
37787
|
+
return fitToButtons((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.splitArray)(editor.o.buttonsSM), editor);
|
|
37760
37788
|
}
|
|
37761
|
-
return fitToButtons((0,
|
|
37789
|
+
return fitToButtons((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__.splitArray)(editor.o.buttonsXS), editor);
|
|
37762
37790
|
})();
|
|
37763
37791
|
if (newStore.toString() !== store.toString()) {
|
|
37764
37792
|
var _editor_toolbar;
|
|
@@ -37769,7 +37797,7 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
|
|
|
37769
37797
|
}).on(editor.ow, 'load resize', ()=>editor.e.fire('recalcAdaptive'));
|
|
37770
37798
|
}
|
|
37771
37799
|
}
|
|
37772
|
-
|
|
37800
|
+
jodit_core_global__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('mobile', mobile);
|
|
37773
37801
|
|
|
37774
37802
|
|
|
37775
37803
|
/***/ }),
|