jodit 4.13.23 → 4.13.25
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 +12 -0
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +2 -2
- package/es2015/jodit.js +51 -10
- package/es2015/jodit.min.js +2 -2
- 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 +2 -2
- package/es2018/jodit.min.js +2 -2
- 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 +3 -3
- package/es2021/jodit.js +51 -9
- package/es2021/jodit.min.js +3 -3
- 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 +3 -3
- package/es2021.en/jodit.js +51 -9
- package/es2021.en/jodit.min.js +3 -3
- 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 +53 -10
- 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/core/constants.js +1 -1
- package/esm/core/decorators/cache/cache.js +21 -3
- package/esm/core/selection/style/api/wrap.d.ts +2 -1
- package/esm/core/selection/style/api/wrap.js +12 -2
- package/esm/core/selection/style/transactions.js +18 -4
- package/package.json +1 -1
- package/types/core/selection/style/api/wrap.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.13.
|
|
4
|
+
* Version: v4.13.25
|
|
5
5
|
* Url: https://xdsoft.net/jodit/
|
|
6
6
|
* License(s): MIT
|
|
7
7
|
*/
|
|
@@ -1849,7 +1849,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1849
1849
|
* ```
|
|
1850
1850
|
* @packageDocumentation
|
|
1851
1851
|
* @module constants
|
|
1852
|
-
*/ const APP_VERSION = "4.13.
|
|
1852
|
+
*/ const APP_VERSION = "4.13.25";
|
|
1853
1853
|
// prettier-ignore
|
|
1854
1854
|
const ES = "es2015";
|
|
1855
1855
|
const IS_ES_MODERN = true;
|
|
@@ -2448,21 +2448,42 @@ class Create {
|
|
|
2448
2448
|
return value;
|
|
2449
2449
|
};
|
|
2450
2450
|
}
|
|
2451
|
+
function getOwnerDocument(component) {
|
|
2452
|
+
const od = component.od;
|
|
2453
|
+
return od !== null && od !== void 0 ? od : document;
|
|
2454
|
+
}
|
|
2451
2455
|
function cacheHTML(target, _, descriptor) {
|
|
2452
2456
|
const fn = descriptor.value;
|
|
2453
2457
|
if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__.isFunction)(fn)) {
|
|
2454
2458
|
throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_3__.error)('Handler must be a Function');
|
|
2455
2459
|
}
|
|
2456
2460
|
let useCache = true;
|
|
2457
|
-
|
|
2461
|
+
/**
|
|
2462
|
+
* The cache is keyed by the owner document first and only then by the
|
|
2463
|
+
* component class. A page can create editors inside different documents
|
|
2464
|
+
* (iframes) and destroy those documents later: a template cached from a
|
|
2465
|
+
* dead document would otherwise be cloned for every subsequent editor,
|
|
2466
|
+
* whose buttons then never react to clicks.
|
|
2467
|
+
*/ const cached = new WeakMap();
|
|
2458
2468
|
descriptor.value = function(...attrs) {
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2469
|
+
const doc = getOwnerDocument(this);
|
|
2470
|
+
const docCache = cached.get(doc);
|
|
2471
|
+
if (useCache && (docCache === null || docCache === void 0 ? void 0 : docCache.has(this.constructor))) {
|
|
2472
|
+
var _docCache_get;
|
|
2473
|
+
return (_docCache_get = docCache.get(this.constructor)) === null || _docCache_get === void 0 ? void 0 : _docCache_get.cloneNode(true);
|
|
2462
2474
|
}
|
|
2463
2475
|
const value = fn.apply(this, attrs);
|
|
2464
2476
|
if (useCache && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(value)) {
|
|
2465
|
-
|
|
2477
|
+
if (docCache) {
|
|
2478
|
+
docCache.set(this.constructor, value);
|
|
2479
|
+
} else {
|
|
2480
|
+
cached.set(doc, new WeakMap([
|
|
2481
|
+
[
|
|
2482
|
+
this.constructor,
|
|
2483
|
+
value
|
|
2484
|
+
]
|
|
2485
|
+
]));
|
|
2486
|
+
}
|
|
2466
2487
|
}
|
|
2467
2488
|
return useCache ? value.cloneNode(true) : value;
|
|
2468
2489
|
};
|
|
@@ -12060,6 +12081,7 @@ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument) {
|
|
|
12060
12081
|
"use strict";
|
|
12061
12082
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
12062
12083
|
/* harmony export */ FiniteStateMachine: function() { return /* reexport safe */ _finite_state_machine__WEBPACK_IMPORTED_MODULE_1__.FiniteStateMachine; },
|
|
12084
|
+
/* harmony export */ WRAP_NODES: function() { return /* reexport safe */ _wrap__WEBPACK_IMPORTED_MODULE_13__.WRAP_NODES; },
|
|
12063
12085
|
/* harmony export */ extractSelectedPart: function() { return /* reexport safe */ _extract__WEBPACK_IMPORTED_MODULE_0__.extractSelectedPart; },
|
|
12064
12086
|
/* harmony export */ getSuitChild: function() { return /* reexport safe */ _get_suit_child__WEBPACK_IMPORTED_MODULE_2__.getSuitChild; },
|
|
12065
12087
|
/* harmony export */ getSuitParent: function() { return /* reexport safe */ _get_suit_parent__WEBPACK_IMPORTED_MODULE_3__.getSuitParent; },
|
|
@@ -12726,6 +12748,7 @@ function toggleAttribute(jodit, value, elm, key, dry, mode) {
|
|
|
12726
12748
|
|
|
12727
12749
|
"use strict";
|
|
12728
12750
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
12751
|
+
/* harmony export */ WRAP_NODES: function() { return /* binding */ WRAP_NODES; },
|
|
12729
12752
|
/* harmony export */ wrap: function() { return /* binding */ wrap; }
|
|
12730
12753
|
/* harmony export */ });
|
|
12731
12754
|
/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27795);
|
|
@@ -12780,7 +12803,7 @@ const WRAP_NODES = new Set([
|
|
|
12780
12803
|
* otherwise it wraps free text in an element.
|
|
12781
12804
|
*/ function findOrCreateWrapper(commitStyle, font, jodit) {
|
|
12782
12805
|
if (commitStyle.elementIsBlock) {
|
|
12783
|
-
const box = jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.up(font, (node)=>jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(node) && !jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(node, WRAP_NODES), jodit.editor);
|
|
12806
|
+
const box = jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.up(font, (node)=>jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(node) && !jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(node, WRAP_NODES) && !hasBlockChildren(node), jodit.editor);
|
|
12784
12807
|
if (box) {
|
|
12785
12808
|
return box;
|
|
12786
12809
|
}
|
|
@@ -12789,6 +12812,13 @@ const WRAP_NODES = new Set([
|
|
|
12789
12812
|
(0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_1__.attr)(font, 'size', null);
|
|
12790
12813
|
return font;
|
|
12791
12814
|
}
|
|
12815
|
+
/**
|
|
12816
|
+
* A block that itself contains block-level children is a layout container:
|
|
12817
|
+
* replacing it wholesale would merge all its blocks into the new element,
|
|
12818
|
+
* so the selection must be wrapped in a new block inside it instead.
|
|
12819
|
+
*/ function hasBlockChildren(node) {
|
|
12820
|
+
return Array.from(node.childNodes).some((child)=>jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(child));
|
|
12821
|
+
}
|
|
12792
12822
|
|
|
12793
12823
|
|
|
12794
12824
|
/***/ }),
|
|
@@ -13162,12 +13192,23 @@ const transactions = {
|
|
|
13162
13192
|
},
|
|
13163
13193
|
[states.UNWRAP]: {
|
|
13164
13194
|
exec (value) {
|
|
13165
|
-
|
|
13195
|
+
const { element, style, jodit } = value;
|
|
13196
|
+
if (element.attributes.length && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(element, style.element)) {
|
|
13197
|
+
return (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_1__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_0__._)({}, value), {
|
|
13198
|
+
next: states.REPLACE_DEFAULT
|
|
13199
|
+
});
|
|
13200
|
+
}
|
|
13201
|
+
// Unwrapping a block inside a container (e.g. an h3 inside a div)
|
|
13202
|
+
// leaves bare inline content there: the wrapNodes plugin restores
|
|
13203
|
+
// paragraphs only at the editor root. Replace such a block with
|
|
13204
|
+
// the default tag instead.
|
|
13205
|
+
const parent = element.parentElement;
|
|
13206
|
+
if (style.elementIsBlock && !style.elementIsDefault && parent && parent !== jodit.editor && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isBlock(parent) && !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(parent, jodit_core_selection_style_api__WEBPACK_IMPORTED_MODULE_5__.WRAP_NODES)) {
|
|
13166
13207
|
return (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_1__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_0__._)({}, value), {
|
|
13167
13208
|
next: states.REPLACE_DEFAULT
|
|
13168
13209
|
});
|
|
13169
13210
|
}
|
|
13170
|
-
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.unwrap(
|
|
13211
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.unwrap(element);
|
|
13171
13212
|
return (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_1__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_0__._)({}, value), {
|
|
13172
13213
|
mode: jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_6__.UNWRAP,
|
|
13173
13214
|
next: states.END
|