jodit 4.15.6 → 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 +17 -0
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +4 -4
- package/es2015/jodit.js +112 -28
- 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 +110 -27
- 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 +110 -27
- 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 +153 -62
- 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 +12 -1
- package/esm/core/constants.js +1 -1
- package/esm/plugins/clean-html/clean-html.d.ts +7 -3
- package/esm/plugins/clean-html/clean-html.js +37 -0
- package/esm/plugins/clean-html/config.d.ts +12 -1
- package/esm/plugins/clean-html/config.js +1 -0
- package/esm/plugins/clean-html/helpers/visitor/filters/try-remove-node.js +10 -0
- package/esm/plugins/drag-and-drop-element/drag-and-drop-element.d.ts +1 -0
- package/esm/plugins/drag-and-drop-element/drag-and-drop-element.js +19 -4
- package/esm/plugins/mobile/mobile.js +25 -4
- package/package.json +1 -1
- package/types/config.d.ts +12 -1
- package/types/plugins/clean-html/clean-html.d.ts +7 -3
- package/types/plugins/clean-html/config.d.ts +12 -1
- package/types/plugins/drag-and-drop-element/drag-and-drop-element.d.ts +1 -0
package/es5/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
|
*/
|
|
@@ -2107,7 +2107,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2107
2107
|
* @packageDocumentation
|
|
2108
2108
|
* @module constants
|
|
2109
2109
|
*/
|
|
2110
|
-
var APP_VERSION = "4.15.
|
|
2110
|
+
var APP_VERSION = "4.15.8";
|
|
2111
2111
|
// prettier-ignore
|
|
2112
2112
|
var ES = "es5";
|
|
2113
2113
|
var IS_ES_MODERN = false;
|
|
@@ -34064,16 +34064,17 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34064
34064
|
/* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25045);
|
|
34065
34065
|
/* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(34918);
|
|
34066
34066
|
/* harmony import */ var _swc_helpers_sliced_to_array__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50684);
|
|
34067
|
-
/* harmony import */ var
|
|
34068
|
-
/* harmony import */ var
|
|
34069
|
-
/* harmony import */ var
|
|
34070
|
-
/* harmony import */ var
|
|
34071
|
-
/* harmony import */ var
|
|
34072
|
-
/* harmony import */ var
|
|
34073
|
-
/* harmony import */ var
|
|
34074
|
-
/* harmony import */ var
|
|
34075
|
-
/* harmony import */ var
|
|
34076
|
-
/* harmony import */ var
|
|
34067
|
+
/* harmony import */ var _swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(42395);
|
|
34068
|
+
/* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31635);
|
|
34069
|
+
/* harmony import */ var _swc_helpers_wrap_native_super__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(38574);
|
|
34070
|
+
/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(84839);
|
|
34071
|
+
/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(23211);
|
|
34072
|
+
/* harmony import */ var jodit_core_dom_lazy_walker__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(1080);
|
|
34073
|
+
/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(28077);
|
|
34074
|
+
/* harmony import */ var jodit_core_helpers_html_safe_html__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(48155);
|
|
34075
|
+
/* harmony import */ var jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(18855);
|
|
34076
|
+
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(11173);
|
|
34077
|
+
/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(54053);
|
|
34077
34078
|
/*!
|
|
34078
34079
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
34079
34080
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -34098,9 +34099,11 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34098
34099
|
|
|
34099
34100
|
|
|
34100
34101
|
|
|
34102
|
+
|
|
34101
34103
|
/**
|
|
34102
34104
|
* Clean HTML after removeFormat and insertHorizontalRule command
|
|
34103
|
-
*/ var
|
|
34105
|
+
*/ var TRAILING_BR_BLOCKS = 'p, div, li, td, th, h1, h2, h3, h4, h5, h6, blockquote';
|
|
34106
|
+
var cleanHtml = /*#__PURE__*/ function(Plugin) {
|
|
34104
34107
|
"use strict";
|
|
34105
34108
|
(0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__._)(cleanHtml, Plugin);
|
|
34106
34109
|
function cleanHtml() {
|
|
@@ -34111,7 +34114,7 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34111
34114
|
name: 'eraser',
|
|
34112
34115
|
group: 'font-style'
|
|
34113
34116
|
}
|
|
34114
|
-
]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "currentSelectionNode", null), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "walker", new
|
|
34117
|
+
]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "currentSelectionNode", null), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "walker", new jodit_core_dom_lazy_walker__WEBPACK_IMPORTED_MODULE_11__.LazyWalker(_this.j.async, {
|
|
34115
34118
|
timeout: _this.j.o.cleanHTML.timeout
|
|
34116
34119
|
}));
|
|
34117
34120
|
return _this;
|
|
@@ -34145,10 +34148,10 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34145
34148
|
value: function startWalker() {
|
|
34146
34149
|
var _this = this;
|
|
34147
34150
|
var jodit = this.jodit;
|
|
34148
|
-
var allow = (0,
|
|
34149
|
-
var deny = (0,
|
|
34151
|
+
var allow = (0,_helpers__WEBPACK_IMPORTED_MODULE_16__.getHash)(this.j.o.cleanHTML.allowTags);
|
|
34152
|
+
var deny = (0,_helpers__WEBPACK_IMPORTED_MODULE_16__.getHash)(this.j.o.cleanHTML.denyTags);
|
|
34150
34153
|
this.walker.on('visit', function(node) {
|
|
34151
|
-
return (0,
|
|
34154
|
+
return (0,_helpers__WEBPACK_IMPORTED_MODULE_16__.visitNodeWalker)(jodit, node, allow, deny, _this.currentSelectionNode);
|
|
34152
34155
|
}).on('end', function(affected) {
|
|
34153
34156
|
_this.j.e.fire(affected ? 'internalChange finishedCleanHTMLWorker' : 'finishedCleanHTMLWorker');
|
|
34154
34157
|
});
|
|
@@ -34159,9 +34162,9 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34159
34162
|
value: function beforeCommand(command) {
|
|
34160
34163
|
if (command.toLowerCase() === 'removeformat') {
|
|
34161
34164
|
if (this.j.s.isCollapsed()) {
|
|
34162
|
-
(0,
|
|
34165
|
+
(0,_helpers__WEBPACK_IMPORTED_MODULE_16__.removeFormatForCollapsedSelection)(this.j);
|
|
34163
34166
|
} else {
|
|
34164
|
-
(0,
|
|
34167
|
+
(0,_helpers__WEBPACK_IMPORTED_MODULE_16__.removeFormatForSelection)(this.j);
|
|
34165
34168
|
}
|
|
34166
34169
|
return false;
|
|
34167
34170
|
}
|
|
@@ -34182,11 +34185,11 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34182
34185
|
sandBox.innerHTML = data.value;
|
|
34183
34186
|
this.j.e.fire('safeHTML', sandBox);
|
|
34184
34187
|
data.value = sandBox.innerHTML;
|
|
34185
|
-
(0,
|
|
34188
|
+
(0,jodit_core_helpers_html_safe_html__WEBPACK_IMPORTED_MODULE_13__.safeHTML)(sandBox, {
|
|
34186
34189
|
safeJavaScriptLink: true,
|
|
34187
34190
|
removeOnError: true
|
|
34188
34191
|
});
|
|
34189
|
-
|
|
34192
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(iframe);
|
|
34190
34193
|
return false;
|
|
34191
34194
|
}
|
|
34192
34195
|
},
|
|
@@ -34198,6 +34201,7 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34198
34201
|
* opt-in via `cleanHTML.collapseEmptyValueToEmptyString`. See #1149
|
|
34199
34202
|
*/ function onAfterGetValueFromEditor(data) {
|
|
34200
34203
|
this.__singleQuotesInFontFamily(data);
|
|
34204
|
+
this.__removeTrailingBr(data);
|
|
34201
34205
|
if (!this.j.o.cleanHTML.collapseEmptyValueToEmptyString) {
|
|
34202
34206
|
return;
|
|
34203
34207
|
}
|
|
@@ -34207,7 +34211,7 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34207
34211
|
}
|
|
34208
34212
|
},
|
|
34209
34213
|
{
|
|
34210
|
-
key: "
|
|
34214
|
+
key: "__removeTrailingBr",
|
|
34211
34215
|
value: /**
|
|
34212
34216
|
* Rewrite double-quoted font names inside `style` attributes with single
|
|
34213
34217
|
* quotes. The DOM always serialises them as `"…"`, and back ends
|
|
@@ -34215,7 +34219,41 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34215
34219
|
* `style="font-family: "Open Sans", …"` — broken markup. Single quotes
|
|
34216
34220
|
* survive that round trip. Names that already contain an apostrophe are
|
|
34217
34221
|
* left alone.
|
|
34218
|
-
*/
|
|
34222
|
+
*/ /**
|
|
34223
|
+
* Drop a `<br>` that is the last node of a block (or of the value) and
|
|
34224
|
+
* follows other content — the caret placeholder browsers leave behind
|
|
34225
|
+
* after typing into an empty block. An empty block (`<p><br></p>`) and a
|
|
34226
|
+
* deliberate empty line (`text<br><br>`) are kept.
|
|
34227
|
+
*/ function __removeTrailingBr(data) {
|
|
34228
|
+
if (!this.j.o.cleanHTML.removeTrailingBr || !/<br/i.test(data.value)) {
|
|
34229
|
+
return;
|
|
34230
|
+
}
|
|
34231
|
+
var box = this.j.c.div();
|
|
34232
|
+
box.innerHTML = data.value;
|
|
34233
|
+
var blocks = [
|
|
34234
|
+
box
|
|
34235
|
+
].concat((0,_swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_6__._)(box.querySelectorAll(TRAILING_BR_BLOCKS)));
|
|
34236
|
+
blocks.forEach(function(block) {
|
|
34237
|
+
var _prev_nodeValue;
|
|
34238
|
+
var last = block.lastChild;
|
|
34239
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(last, 'br')) {
|
|
34240
|
+
return;
|
|
34241
|
+
}
|
|
34242
|
+
var prev = last.previousSibling;
|
|
34243
|
+
if (!prev || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(prev, 'br')) {
|
|
34244
|
+
return;
|
|
34245
|
+
}
|
|
34246
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(prev) && !((_prev_nodeValue = prev.nodeValue) === null || _prev_nodeValue === void 0 ? void 0 : _prev_nodeValue.trim()) && !prev.previousSibling) {
|
|
34247
|
+
return;
|
|
34248
|
+
}
|
|
34249
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(last);
|
|
34250
|
+
});
|
|
34251
|
+
data.value = box.innerHTML;
|
|
34252
|
+
}
|
|
34253
|
+
},
|
|
34254
|
+
{
|
|
34255
|
+
key: "__singleQuotesInFontFamily",
|
|
34256
|
+
value: function __singleQuotesInFontFamily(data) {
|
|
34219
34257
|
if (!this.j.o.cleanHTML.singleQuotesInFontFamily || !data.value.includes('"')) {
|
|
34220
34258
|
return;
|
|
34221
34259
|
}
|
|
@@ -34239,7 +34277,7 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34239
34277
|
if (sanitizer) {
|
|
34240
34278
|
sandBox.innerHTML = sanitizer(sandBox.innerHTML);
|
|
34241
34279
|
}
|
|
34242
|
-
;(0,
|
|
34280
|
+
;(0,jodit_core_helpers_html_safe_html__WEBPACK_IMPORTED_MODULE_13__.safeHTML)(sandBox, this.j.o.cleanHTML);
|
|
34243
34281
|
}
|
|
34244
34282
|
},
|
|
34245
34283
|
{
|
|
@@ -34250,9 +34288,9 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34250
34288
|
}
|
|
34251
34289
|
]);
|
|
34252
34290
|
return cleanHtml;
|
|
34253
|
-
}((0,
|
|
34254
|
-
(0,
|
|
34255
|
-
(0,
|
|
34291
|
+
}((0,_swc_helpers_wrap_native_super__WEBPACK_IMPORTED_MODULE_8__._)(jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_14__.Plugin));
|
|
34292
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
|
|
34293
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.watch)([
|
|
34256
34294
|
':change',
|
|
34257
34295
|
':afterSetMode',
|
|
34258
34296
|
':afterInit',
|
|
@@ -34260,22 +34298,22 @@ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('class-span', (_class_
|
|
|
34260
34298
|
':keydown'
|
|
34261
34299
|
])
|
|
34262
34300
|
], cleanHtml.prototype, "onChangeCleanHTML", null);
|
|
34263
|
-
(0,
|
|
34264
|
-
(0,
|
|
34301
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
|
|
34302
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.hook)('ready')
|
|
34265
34303
|
], cleanHtml.prototype, "startWalker", null);
|
|
34266
|
-
(0,
|
|
34267
|
-
(0,
|
|
34304
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
|
|
34305
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.watch)(':beforeCommand')
|
|
34268
34306
|
], cleanHtml.prototype, "beforeCommand", null);
|
|
34269
|
-
(0,
|
|
34270
|
-
(0,
|
|
34307
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
|
|
34308
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.watch)(':beforeSetNativeEditorValue')
|
|
34271
34309
|
], cleanHtml.prototype, "onBeforeSetNativeEditorValue", null);
|
|
34272
|
-
(0,
|
|
34273
|
-
(0,
|
|
34310
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
|
|
34311
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.watch)(':afterGetValueFromEditor')
|
|
34274
34312
|
], cleanHtml.prototype, "onAfterGetValueFromEditor", null);
|
|
34275
|
-
(0,
|
|
34276
|
-
(0,
|
|
34313
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
|
|
34314
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.watch)(':safeHTML')
|
|
34277
34315
|
], cleanHtml.prototype, "onSafeHTML", null);
|
|
34278
|
-
|
|
34316
|
+
jodit_core_global__WEBPACK_IMPORTED_MODULE_12__.pluginSystem.add('cleanHtml', cleanHtml);
|
|
34279
34317
|
|
|
34280
34318
|
|
|
34281
34319
|
/***/ }),
|
|
@@ -34303,6 +34341,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.cleanHTML = {
|
|
|
34303
34341
|
fillEmptyParagraph: true,
|
|
34304
34342
|
collapseEmptyValueToEmptyString: false,
|
|
34305
34343
|
singleQuotesInFontFamily: true,
|
|
34344
|
+
removeTrailingBr: false,
|
|
34306
34345
|
replaceNBSP: true,
|
|
34307
34346
|
replaceOldTags: {
|
|
34308
34347
|
i: 'em',
|
|
@@ -35204,7 +35243,14 @@ function filterStyleProperties(style, allowed) {
|
|
|
35204
35243
|
// a pending-format marker the user is about to type into (#1291). `current`
|
|
35205
35244
|
// is captured before a click moves the caret, so also check the live caret.
|
|
35206
35245
|
var liveCaret = jodit.s.isCollapsed() ? jodit.s.range.startContainer : null;
|
|
35207
|
-
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));
|
|
35246
|
+
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));
|
|
35247
|
+
}
|
|
35248
|
+
/**
|
|
35249
|
+
* An element with an `id`, or an `<a>` with a `name`, is where an in-page link
|
|
35250
|
+
* (`#fragment`) lands. It is usually empty (`<a name="top"></a>`), and removing
|
|
35251
|
+
* it silently breaks every link that points at it.
|
|
35252
|
+
*/ function isFragmentTarget(element) {
|
|
35253
|
+
return element.hasAttribute('id') || element.nodeName === 'A' && element.hasAttribute('name');
|
|
35208
35254
|
}
|
|
35209
35255
|
|
|
35210
35256
|
|
|
@@ -36573,6 +36619,11 @@ var DragState = /*#__PURE__*/ (/* unused pure expression or super */ null && (fu
|
|
|
36573
36619
|
this.state = 2;
|
|
36574
36620
|
}
|
|
36575
36621
|
this.j.e.fire('hidePopup hideResizer');
|
|
36622
|
+
// The ghost lives in the top document (position: fixed), but the
|
|
36623
|
+
// mousemove comes from the editor document. In iframe mode those are
|
|
36624
|
+
// different viewports, so the iframe's own offset has to be added or
|
|
36625
|
+
// the ghost trails the pointer by exactly that distance (#1455).
|
|
36626
|
+
var offset = this.__ghostOffset();
|
|
36576
36627
|
if (!this.draggable.parentNode) {
|
|
36577
36628
|
var _ref, _ref1;
|
|
36578
36629
|
var target = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_10__.dataBind)(this.draggable, 'target');
|
|
@@ -36583,20 +36634,39 @@ var DragState = /*#__PURE__*/ (/* unused pure expression or super */ null && (fu
|
|
|
36583
36634
|
position: 'fixed',
|
|
36584
36635
|
opacity: 0.7,
|
|
36585
36636
|
display: 'inline-block',
|
|
36586
|
-
left: event.clientX,
|
|
36587
|
-
top: event.clientY,
|
|
36637
|
+
left: event.clientX + offset.left,
|
|
36638
|
+
top: event.clientY + offset.top,
|
|
36588
36639
|
width: (_ref = target === null || target === void 0 ? void 0 : target.offsetWidth) !== null && _ref !== void 0 ? _ref : 100,
|
|
36589
36640
|
height: (_ref1 = target === null || target === void 0 ? void 0 : target.offsetHeight) !== null && _ref1 !== void 0 ? _ref1 : 100
|
|
36590
36641
|
});
|
|
36591
36642
|
jodit_core_dom__WEBPACK_IMPORTED_MODULE_8__.Dom.append((0,jodit_core_global__WEBPACK_IMPORTED_MODULE_9__.getContainer)(this.j, dragAndDropElement), this.draggable);
|
|
36592
36643
|
}
|
|
36593
36644
|
;(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_10__.css)(this.draggable, {
|
|
36594
|
-
left: event.clientX,
|
|
36595
|
-
top: event.clientY
|
|
36645
|
+
left: event.clientX + offset.left,
|
|
36646
|
+
top: event.clientY + offset.top
|
|
36596
36647
|
});
|
|
36648
|
+
// The caret goes into the editor document, so it keeps the raw
|
|
36649
|
+
// (iframe-relative) coordinates.
|
|
36597
36650
|
this.j.s.insertCursorAtPoint(event.clientX, event.clientY);
|
|
36598
36651
|
}
|
|
36599
36652
|
},
|
|
36653
|
+
{
|
|
36654
|
+
key: "__ghostOffset",
|
|
36655
|
+
value: function __ghostOffset() {
|
|
36656
|
+
var iframe = this.j.iframe;
|
|
36657
|
+
if (!iframe) {
|
|
36658
|
+
return {
|
|
36659
|
+
left: 0,
|
|
36660
|
+
top: 0
|
|
36661
|
+
};
|
|
36662
|
+
}
|
|
36663
|
+
var rect = iframe.getBoundingClientRect();
|
|
36664
|
+
return {
|
|
36665
|
+
left: rect.left,
|
|
36666
|
+
top: rect.top
|
|
36667
|
+
};
|
|
36668
|
+
}
|
|
36669
|
+
},
|
|
36600
36670
|
{
|
|
36601
36671
|
key: "onDragEnd",
|
|
36602
36672
|
value: /**
|
|
@@ -44234,10 +44304,12 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.dots = {
|
|
|
44234
44304
|
"use strict";
|
|
44235
44305
|
/* unused harmony export mobile */
|
|
44236
44306
|
/* harmony import */ var _swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42395);
|
|
44237
|
-
/* harmony import */ var
|
|
44238
|
-
/* harmony import */ var
|
|
44239
|
-
/* harmony import */ var
|
|
44240
|
-
/* harmony import */ var
|
|
44307
|
+
/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23211);
|
|
44308
|
+
/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28077);
|
|
44309
|
+
/* harmony import */ var jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65946);
|
|
44310
|
+
/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85932);
|
|
44311
|
+
/* harmony import */ var jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2496);
|
|
44312
|
+
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3244);
|
|
44241
44313
|
/*!
|
|
44242
44314
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
44243
44315
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -44251,6 +44323,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.controls.dots = {
|
|
|
44251
44323
|
|
|
44252
44324
|
|
|
44253
44325
|
|
|
44326
|
+
|
|
44327
|
+
|
|
44254
44328
|
var isButtonSeparator = function isButtonSeparator(item) {
|
|
44255
44329
|
return item === '|' || item === '---' || item === '\n';
|
|
44256
44330
|
};
|
|
@@ -44266,7 +44340,7 @@ var isButtonSeparator = function isButtonSeparator(item) {
|
|
|
44266
44340
|
* the standard grouped mobile layout — groups, separators and `dots` — is
|
|
44267
44341
|
* preserved. See #1389.
|
|
44268
44342
|
*/ function fitToButtons(list, editor) {
|
|
44269
|
-
var allowed = (0,
|
|
44343
|
+
var allowed = (0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_5__.flatButtonsSet)((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.splitArray)(editor.o.buttons), editor);
|
|
44270
44344
|
var groups = editor.getRegisteredButtonGroups();
|
|
44271
44345
|
var changed = false;
|
|
44272
44346
|
var hadDots = false;
|
|
@@ -44275,7 +44349,7 @@ var isButtonSeparator = function isButtonSeparator(item) {
|
|
|
44275
44349
|
try {
|
|
44276
44350
|
for(var _iterator = list[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
44277
44351
|
var item = _step.value;
|
|
44278
|
-
if ((0,
|
|
44352
|
+
if ((0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_5__.isButtonGroup)(item)) {
|
|
44279
44353
|
var _flat;
|
|
44280
44354
|
var _groups_item_group;
|
|
44281
44355
|
var members = (0,_swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_0__._)(item.buttons).concat((0,_swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_0__._)((_groups_item_group = groups[item.group]) !== null && _groups_item_group !== void 0 ? _groups_item_group : []));
|
|
@@ -44344,8 +44418,8 @@ var isButtonSeparator = function isButtonSeparator(item) {
|
|
|
44344
44418
|
// Keep the "show all" overflow button only if some requested button is still
|
|
44345
44419
|
// hidden at this breakpoint.
|
|
44346
44420
|
if (hadDots) {
|
|
44347
|
-
var shown = (0,
|
|
44348
|
-
if ((0,
|
|
44421
|
+
var shown = (0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_5__.flatButtonsSet)(cleaned, editor);
|
|
44422
|
+
if ((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.toArray)(allowed).some(function(button) {
|
|
44349
44423
|
return !shown.has(button);
|
|
44350
44424
|
})) {
|
|
44351
44425
|
cleaned.push('dots');
|
|
@@ -44353,10 +44427,25 @@ var isButtonSeparator = function isButtonSeparator(item) {
|
|
|
44353
44427
|
}
|
|
44354
44428
|
return cleaned;
|
|
44355
44429
|
}
|
|
44430
|
+
/**
|
|
44431
|
+
* The width that decides which breakpoint set the toolbar uses. A toolbar
|
|
44432
|
+
* rendered into an external container (`toolbar` set to an element or a
|
|
44433
|
+
* selector) lays out in that container, so its width is what matters there.
|
|
44434
|
+
*/ function adaptiveWidth(editor) {
|
|
44435
|
+
var _editor_container_parentElement;
|
|
44436
|
+
var toolbar = editor.o.toolbar;
|
|
44437
|
+
if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_4__.isString)(toolbar) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isHTMLElement(toolbar)) {
|
|
44438
|
+
var width = editor.toolbarContainer.offsetWidth;
|
|
44439
|
+
if (width) {
|
|
44440
|
+
return width;
|
|
44441
|
+
}
|
|
44442
|
+
}
|
|
44443
|
+
return ((_editor_container_parentElement = editor.container.parentElement) !== null && _editor_container_parentElement !== void 0 ? _editor_container_parentElement : editor.container).offsetWidth;
|
|
44444
|
+
}
|
|
44356
44445
|
/**
|
|
44357
44446
|
* Rebuild toolbar in depends on editor's width
|
|
44358
44447
|
*/ function mobile(editor) {
|
|
44359
|
-
var timeout = 0, store = (0,
|
|
44448
|
+
var timeout = 0, store = (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.splitArray)(editor.o.buttons);
|
|
44360
44449
|
if (editor.o.mobileTapTimeout) {
|
|
44361
44450
|
// Emulate double tap
|
|
44362
44451
|
editor.e.on('touchend', function(e) {
|
|
@@ -44373,8 +44462,8 @@ var isButtonSeparator = function isButtonSeparator(item) {
|
|
|
44373
44462
|
}
|
|
44374
44463
|
editor.e.on('getDiffButtons.mobile', function(toolbar) {
|
|
44375
44464
|
if (toolbar === editor.toolbar) {
|
|
44376
|
-
var buttons = (0,
|
|
44377
|
-
return (0,
|
|
44465
|
+
var buttons = (0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_5__.flatButtonsSet)((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.splitArray)(editor.o.buttons), editor), flatStore = (0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_5__.flatButtonsSet)(store, editor);
|
|
44466
|
+
return (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.toArray)(buttons).reduce(function(acc, item) {
|
|
44378
44467
|
if (!flatStore.has(item)) {
|
|
44379
44468
|
acc.push(item);
|
|
44380
44469
|
}
|
|
@@ -44384,22 +44473,24 @@ var isButtonSeparator = function isButtonSeparator(item) {
|
|
|
44384
44473
|
});
|
|
44385
44474
|
if (editor.o.toolbarAdaptive) {
|
|
44386
44475
|
editor.e.on('resize afterInit recalcAdaptive changePlace afterAddPlace', function() {
|
|
44387
|
-
var _editor_container_parentElement;
|
|
44388
44476
|
if (!editor.o.toolbar) {
|
|
44389
44477
|
return;
|
|
44390
44478
|
}
|
|
44391
|
-
var width = ((_editor_container_parentElement = editor.container.parentElement) !== null && _editor_container_parentElement !== void 0 ? _editor_container_parentElement : editor.container).offsetWidth;
|
|
44392
44479
|
var newStore = function() {
|
|
44393
|
-
if (editor.isFullSize
|
|
44394
|
-
return (0,
|
|
44480
|
+
if (editor.isFullSize) {
|
|
44481
|
+
return (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.splitArray)(editor.o.buttons);
|
|
44482
|
+
}
|
|
44483
|
+
var width = adaptiveWidth(editor);
|
|
44484
|
+
if (width >= editor.o.sizeLG) {
|
|
44485
|
+
return (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.splitArray)(editor.o.buttons);
|
|
44395
44486
|
}
|
|
44396
44487
|
if (width >= editor.o.sizeMD) {
|
|
44397
|
-
return fitToButtons((0,
|
|
44488
|
+
return fitToButtons((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.splitArray)(editor.o.buttonsMD), editor);
|
|
44398
44489
|
}
|
|
44399
44490
|
if (width >= editor.o.sizeSM) {
|
|
44400
|
-
return fitToButtons((0,
|
|
44491
|
+
return fitToButtons((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.splitArray)(editor.o.buttonsSM), editor);
|
|
44401
44492
|
}
|
|
44402
|
-
return fitToButtons((0,
|
|
44493
|
+
return fitToButtons((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_3__.splitArray)(editor.o.buttonsXS), editor);
|
|
44403
44494
|
}();
|
|
44404
44495
|
if (newStore.toString() !== store.toString()) {
|
|
44405
44496
|
var _editor_toolbar;
|
|
@@ -44412,7 +44503,7 @@ var isButtonSeparator = function isButtonSeparator(item) {
|
|
|
44412
44503
|
});
|
|
44413
44504
|
}
|
|
44414
44505
|
}
|
|
44415
|
-
|
|
44506
|
+
jodit_core_global__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('mobile', mobile);
|
|
44416
44507
|
|
|
44417
44508
|
|
|
44418
44509
|
/***/ }),
|
package/es5/jodit.min.css
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
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
|
*/
|
|
8
8
|
/*!
|
|
9
9
|
* jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
|
|
10
10
|
* Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
|
|
11
|
-
* Version: v4.15.
|
|
11
|
+
* Version: v4.15.8
|
|
12
12
|
* Url: https://xdsoft.net/jodit/
|
|
13
13
|
* License(s): MIT
|
|
14
14
|
*/
|