jodit 4.12.35 → 4.12.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 +28 -0
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +3 -3
- package/es2015/jodit.js +110 -49
- package/es2015/jodit.min.js +3 -3
- 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 +3 -3
- package/es2018/jodit.min.js +3 -3
- 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 +4 -4
- package/es2021/jodit.js +109 -47
- package/es2021/jodit.min.js +4 -4
- 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 +4 -4
- package/es2021.en/jodit.js +109 -47
- 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 +259 -195
- 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 +14 -6
- package/esm/core/constants.js +1 -1
- package/esm/core/dom/dom.d.ts +35 -12
- package/esm/core/dom/dom.js +42 -20
- package/esm/core/dom/lazy-walker.d.ts +18 -1
- package/esm/core/dom/lazy-walker.js +23 -3
- package/esm/core/selection/helpers/index.d.ts +3 -1
- package/esm/core/selection/helpers/index.js +3 -1
- package/esm/core/selection/selection.d.ts +14 -0
- package/esm/core/selection/selection.js +19 -8
- package/esm/core/selection/style/api/is-same-attributes.d.ts +4 -2
- package/esm/core/selection/style/api/is-same-attributes.js +3 -4
- package/esm/core/selection/style/api/is-suit-element.d.ts +2 -1
- package/esm/core/selection/style/api/is-suit-element.js +2 -1
- package/esm/core/selection/style/api/list/toggle-ordered-list.js +7 -0
- package/esm/core/selection/style/api/toggle-attributes.js +3 -1
- package/esm/core/selection/style/commit-style.d.ts +1 -1
- package/esm/core/selection/style/commit-style.js +2 -2
- package/esm/plugins/source/config.d.ts +14 -6
- package/esm/plugins/source/editor/engines/ace.js +5 -0
- package/package.json +1 -1
- package/types/config.d.ts +14 -6
- package/types/core/dom/dom.d.ts +35 -12
- package/types/core/dom/lazy-walker.d.ts +18 -1
- package/types/core/selection/helpers/index.d.ts +3 -1
- package/types/core/selection/selection.d.ts +14 -0
- package/types/core/selection/style/api/is-same-attributes.d.ts +4 -2
- package/types/core/selection/style/api/is-suit-element.d.ts +2 -1
- package/types/core/selection/style/commit-style.d.ts +1 -1
- package/types/plugins/source/config.d.ts +14 -6
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.12.
|
|
4
|
+
* Version: v4.12.37
|
|
5
5
|
* Url: https://xdsoft.net/jodit/
|
|
6
6
|
* License(s): MIT
|
|
7
7
|
*/
|
|
@@ -2074,7 +2074,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2074
2074
|
* @packageDocumentation
|
|
2075
2075
|
* @module constants
|
|
2076
2076
|
*/
|
|
2077
|
-
var APP_VERSION = "4.12.
|
|
2077
|
+
var APP_VERSION = "4.12.37";
|
|
2078
2078
|
// prettier-ignore
|
|
2079
2079
|
var ES = "es5";
|
|
2080
2080
|
var IS_ES_MODERN = false;
|
|
@@ -3399,6 +3399,7 @@ function wait(condition) {
|
|
|
3399
3399
|
|
|
3400
3400
|
|
|
3401
3401
|
|
|
3402
|
+
var TEMP_ELEMENT_REG_EXP = new RegExp("<([a-z]+)[^>]+".concat(jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.TEMP_ATTR, "[^>]*>(.+?)</\\1>"), 'gi');
|
|
3402
3403
|
/**
|
|
3403
3404
|
* Module for working with DOM
|
|
3404
3405
|
*/ var Dom = /*#__PURE__*/ function() {
|
|
@@ -3525,7 +3526,11 @@ function wait(condition) {
|
|
|
3525
3526
|
{
|
|
3526
3527
|
key: "between",
|
|
3527
3528
|
value: /**
|
|
3528
|
-
* Call
|
|
3529
|
+
* Call callback for all nodes between `start` and `end` in document order
|
|
3530
|
+
* (`start` and `end` are not included). Iteration stops when the callback returns `true`.
|
|
3531
|
+
*
|
|
3532
|
+
* `end` must be positioned after `start` in the document (e.g. selection markers),
|
|
3533
|
+
* otherwise iteration will stop only at the end of the tree.
|
|
3529
3534
|
*/ function between(start, end, callback) {
|
|
3530
3535
|
var next = start;
|
|
3531
3536
|
while(next && next !== end){
|
|
@@ -3536,6 +3541,10 @@ function wait(condition) {
|
|
|
3536
3541
|
if (!step) {
|
|
3537
3542
|
while(next && !next.nextSibling){
|
|
3538
3543
|
next = next.parentNode;
|
|
3544
|
+
// `end` was reached while ascending - all nodes between were visited
|
|
3545
|
+
if (next === end) {
|
|
3546
|
+
return;
|
|
3547
|
+
}
|
|
3539
3548
|
}
|
|
3540
3549
|
step = next === null || next === void 0 ? void 0 : next.nextSibling;
|
|
3541
3550
|
}
|
|
@@ -3651,7 +3660,7 @@ function wait(condition) {
|
|
|
3651
3660
|
{
|
|
3652
3661
|
key: "isList",
|
|
3653
3662
|
value: /**
|
|
3654
|
-
* Check if element is a list
|
|
3663
|
+
* Check if element is a list element UL or OL
|
|
3655
3664
|
*/ function isList(elm) {
|
|
3656
3665
|
return Dom.isTag(elm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.LIST_TAGS);
|
|
3657
3666
|
}
|
|
@@ -3715,12 +3724,13 @@ function wait(condition) {
|
|
|
3715
3724
|
value: /**
|
|
3716
3725
|
* Check if element is document fragment
|
|
3717
3726
|
*/ function isFragment(node) {
|
|
3718
|
-
var _node_ownerDocument;
|
|
3719
3727
|
if (!Dom.isNode(node)) {
|
|
3720
3728
|
return false;
|
|
3721
3729
|
}
|
|
3722
|
-
|
|
3723
|
-
|
|
3730
|
+
// no `defaultView` requirement — fragments of an inert document
|
|
3731
|
+
// (`template.content`, `DOMParser`, `implementation.createHTMLDocument`)
|
|
3732
|
+
// are still fragments
|
|
3733
|
+
return node.nodeType === Node.DOCUMENT_FRAGMENT_NODE;
|
|
3724
3734
|
}
|
|
3725
3735
|
},
|
|
3726
3736
|
{
|
|
@@ -3867,7 +3877,9 @@ function wait(condition) {
|
|
|
3867
3877
|
{
|
|
3868
3878
|
key: "nextGen",
|
|
3869
3879
|
value: /**
|
|
3870
|
-
*
|
|
3880
|
+
* Lazily iterate over all nodes what follow after `start` (in document order
|
|
3881
|
+
* for `leftToRight = true`, in reverse order otherwise) inside `root`.
|
|
3882
|
+
* Ancestors of `start` are not yielded.
|
|
3871
3883
|
*/ function nextGen(start, root) {
|
|
3872
3884
|
var leftToRight, withChild, stack, currentNode, next;
|
|
3873
3885
|
var _arguments = arguments;
|
|
@@ -3881,9 +3893,10 @@ function wait(condition) {
|
|
|
3881
3893
|
case 1:
|
|
3882
3894
|
next = leftToRight ? currentNode.nextSibling : currentNode.previousSibling;
|
|
3883
3895
|
while(next){
|
|
3884
|
-
stack.
|
|
3896
|
+
stack.push(next);
|
|
3885
3897
|
next = leftToRight ? next.nextSibling : next.previousSibling;
|
|
3886
3898
|
}
|
|
3899
|
+
stack.reverse();
|
|
3887
3900
|
return [
|
|
3888
3901
|
5,
|
|
3889
3902
|
(0,_swc_helpers_ts_values__WEBPACK_IMPORTED_MODULE_5__.__values)(this.runInStack(start, stack, leftToRight, withChild))
|
|
@@ -3918,7 +3931,7 @@ function wait(condition) {
|
|
|
3918
3931
|
* ```javascript
|
|
3919
3932
|
* Jodit.modules.Dom.each(editor.s.current(), function (node) {
|
|
3920
3933
|
* if (node.nodeType === Node.TEXT_NODE) {
|
|
3921
|
-
* node.nodeValue = node.nodeValue.replace(Jodit.
|
|
3934
|
+
* node.nodeValue = node.nodeValue.replace(Jodit.INVISIBLE_SPACE_REG_EXP(), '') // remove all of the text element codes invisible character
|
|
3922
3935
|
* }
|
|
3923
3936
|
* });
|
|
3924
3937
|
* ```
|
|
@@ -4056,7 +4069,9 @@ function wait(condition) {
|
|
|
4056
4069
|
},
|
|
4057
4070
|
{
|
|
4058
4071
|
key: "sibling",
|
|
4059
|
-
value:
|
|
4072
|
+
value: /**
|
|
4073
|
+
* Returns the previous (`left = true`) or next sibling of the node
|
|
4074
|
+
*/ function sibling(node, left) {
|
|
4060
4075
|
return left ? node.previousSibling : node.nextSibling;
|
|
4061
4076
|
}
|
|
4062
4077
|
},
|
|
@@ -4064,6 +4079,10 @@ function wait(condition) {
|
|
|
4064
4079
|
key: "up",
|
|
4065
4080
|
value: /**
|
|
4066
4081
|
* It goes through all the elements in ascending order, and checks to see if they meet the predetermined condition
|
|
4082
|
+
*
|
|
4083
|
+
* The condition is checked for the `node` itself too. The `root` reached
|
|
4084
|
+
* while ascending is checked only when `checkRoot = true`
|
|
4085
|
+
* (but if `node === root` it is checked in any case).
|
|
4067
4086
|
*/ function up(node, condition, root) {
|
|
4068
4087
|
var checkRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
|
|
4069
4088
|
var start = node;
|
|
@@ -4240,7 +4259,12 @@ function wait(condition) {
|
|
|
4240
4259
|
},
|
|
4241
4260
|
{
|
|
4242
4261
|
key: "safeInsertNode",
|
|
4243
|
-
value:
|
|
4262
|
+
value: /**
|
|
4263
|
+
* Insert a node into the range and collapse the range to the start of
|
|
4264
|
+
* the inserted content. Unlike the native `Range.insertNode` it does not
|
|
4265
|
+
* split inseparable elements (BR, HR, IMG etc.) and removes empty text
|
|
4266
|
+
* nodes produced by the split of a text container.
|
|
4267
|
+
*/ function safeInsertNode(range, node) {
|
|
4244
4268
|
range.collapsed || range.deleteContents();
|
|
4245
4269
|
var child = Dom.isFragment(node) ? node.lastChild : node;
|
|
4246
4270
|
if (range.startContainer === range.endContainer && range.collapsed && Dom.isTag(range.startContainer, jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.INSEPARABLE_TAGS)) {
|
|
@@ -4290,22 +4314,17 @@ function wait(condition) {
|
|
|
4290
4314
|
{
|
|
4291
4315
|
key: "isTag",
|
|
4292
4316
|
value: function isTag(node, tagNames) {
|
|
4317
|
+
if (Array.isArray(tagNames)) {
|
|
4318
|
+
throw new TypeError('Dom.isTag does not support array');
|
|
4319
|
+
}
|
|
4293
4320
|
if (!this.isElement(node)) {
|
|
4294
4321
|
return false;
|
|
4295
4322
|
}
|
|
4296
4323
|
var nameL = node.tagName.toLowerCase();
|
|
4297
|
-
var nameU = node.tagName.toUpperCase();
|
|
4298
4324
|
if ((0,_swc_helpers_instanceof__WEBPACK_IMPORTED_MODULE_2__._)(tagNames, Set)) {
|
|
4299
|
-
return tagNames.has(nameL) || tagNames.has(
|
|
4300
|
-
}
|
|
4301
|
-
if (Array.isArray(tagNames)) {
|
|
4302
|
-
throw new TypeError('Dom.isTag does not support array');
|
|
4303
|
-
}
|
|
4304
|
-
var tags = tagNames;
|
|
4305
|
-
if (nameL === tags || nameU === tags) {
|
|
4306
|
-
return true;
|
|
4325
|
+
return tagNames.has(nameL) || tagNames.has(node.tagName.toUpperCase());
|
|
4307
4326
|
}
|
|
4308
|
-
return
|
|
4327
|
+
return nameL === tagNames || node.tagName.toUpperCase() === tagNames;
|
|
4309
4328
|
}
|
|
4310
4329
|
},
|
|
4311
4330
|
{
|
|
@@ -4340,9 +4359,9 @@ function wait(condition) {
|
|
|
4340
4359
|
{
|
|
4341
4360
|
key: "replaceTemporaryFromString",
|
|
4342
4361
|
value: /**
|
|
4343
|
-
*
|
|
4362
|
+
* Unwrap temporary elements inside a HTML string (keeps their content)
|
|
4344
4363
|
*/ function replaceTemporaryFromString(value) {
|
|
4345
|
-
return value.replace(
|
|
4364
|
+
return value.replace(TEMP_ELEMENT_REG_EXP, '$2');
|
|
4346
4365
|
}
|
|
4347
4366
|
},
|
|
4348
4367
|
{
|
|
@@ -4418,25 +4437,41 @@ function wait(condition) {
|
|
|
4418
4437
|
|
|
4419
4438
|
|
|
4420
4439
|
|
|
4421
|
-
|
|
4440
|
+
/**
|
|
4441
|
+
* Walks the DOM tree in small chunks between browser tasks so that even huge
|
|
4442
|
+
* documents do not block the main thread.
|
|
4443
|
+
*
|
|
4444
|
+
* Events:
|
|
4445
|
+
* - `visit` - is called for every node; return `true` to mark the pass as
|
|
4446
|
+
* "had effect" (it will be passed into the `end` event)
|
|
4447
|
+
* - `break` - the pass was interrupted via [[LazyWalker.break]]
|
|
4448
|
+
* - `end` - the pass is finished, receives `true` if some `visit` handler returned `true`
|
|
4449
|
+
*/ var LazyWalker = /*#__PURE__*/ function(Eventify) {
|
|
4422
4450
|
"use strict";
|
|
4423
4451
|
(0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__._)(LazyWalker, Eventify);
|
|
4424
4452
|
function LazyWalker(async) {
|
|
4425
4453
|
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
4426
4454
|
(0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_1__._)(this, LazyWalker);
|
|
4427
4455
|
var _this;
|
|
4428
|
-
_this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__._)(this, LazyWalker), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "async", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "workNodes", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "hadAffect", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "isWorked", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "isFinished", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "
|
|
4456
|
+
_this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__._)(this, LazyWalker), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "async", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "workNodes", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "hadAffect", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "isWorked", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "isFinished", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__schedulerController", void 0), _this.async = async, _this.options = options, _this.workNodes = null, _this.hadAffect = false, _this.isWorked = false, _this.isFinished = false, _this.__schedulerController = null;
|
|
4429
4457
|
return _this;
|
|
4430
4458
|
}
|
|
4431
4459
|
(0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__._)(LazyWalker, [
|
|
4432
4460
|
{
|
|
4433
|
-
|
|
4461
|
+
/**
|
|
4462
|
+
* Starts a new pass over the `root` tree.
|
|
4463
|
+
* If a previous pass is still running it will be stopped first.
|
|
4464
|
+
*/ key: "setWork",
|
|
4434
4465
|
value: function setWork(root) {
|
|
4435
4466
|
if (this.isWorked) {
|
|
4436
4467
|
this.break();
|
|
4468
|
+
} else {
|
|
4469
|
+
// cancel a not yet started pass scheduled by the previous `setWork` call
|
|
4470
|
+
this.stop();
|
|
4437
4471
|
}
|
|
4438
4472
|
this.workNodes = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_9__.Dom.eachGen(root, !this.options.reverse);
|
|
4439
4473
|
this.isFinished = false;
|
|
4474
|
+
this.hadAffect = false;
|
|
4440
4475
|
this._requestStarting();
|
|
4441
4476
|
return this;
|
|
4442
4477
|
}
|
|
@@ -4475,10 +4510,12 @@ var LazyWalker = /*#__PURE__*/ function(Eventify) {
|
|
|
4475
4510
|
{
|
|
4476
4511
|
key: "stop",
|
|
4477
4512
|
value: function stop() {
|
|
4513
|
+
var _this___schedulerController;
|
|
4478
4514
|
this.isWorked = false;
|
|
4479
4515
|
this.isFinished = true;
|
|
4480
4516
|
this.workNodes = null;
|
|
4481
|
-
this.
|
|
4517
|
+
(_this___schedulerController = this.__schedulerController) === null || _this___schedulerController === void 0 ? void 0 : _this___schedulerController.abort();
|
|
4518
|
+
this.__schedulerController = null;
|
|
4482
4519
|
}
|
|
4483
4520
|
},
|
|
4484
4521
|
{
|
|
@@ -4496,7 +4533,7 @@ var LazyWalker = /*#__PURE__*/ function(Eventify) {
|
|
|
4496
4533
|
this.isWorked = true;
|
|
4497
4534
|
var count = 0;
|
|
4498
4535
|
var chunkSize = (_this_options_timeoutChunkSize = this.options.timeoutChunkSize) !== null && _this_options_timeoutChunkSize !== void 0 ? _this_options_timeoutChunkSize : 50;
|
|
4499
|
-
while(!this.isFinished && count
|
|
4536
|
+
while(!this.isFinished && count < chunkSize){
|
|
4500
4537
|
var item = this.workNodes.next();
|
|
4501
4538
|
count += 1;
|
|
4502
4539
|
if (this.visitNode(item.value)) {
|
|
@@ -11713,7 +11750,9 @@ var Response = /*#__PURE__*/ function() {
|
|
|
11713
11750
|
|
|
11714
11751
|
|
|
11715
11752
|
/**
|
|
11716
|
-
*
|
|
11753
|
+
* Despite the name, returns `true` when the cursor is NOT at the checked edge
|
|
11754
|
+
* of the text node: there is significant (non invisible-space) text between
|
|
11755
|
+
* the offset and the start (`start = true`) or the end (`end = true`) of the string.
|
|
11717
11756
|
* @private
|
|
11718
11757
|
*/ function cursorInTheEdgeOfString(container, offset, start, end) {
|
|
11719
11758
|
var _container_nodeValue;
|
|
@@ -11874,19 +11913,20 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
|
|
|
11874
11913
|
/* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53429);
|
|
11875
11914
|
/* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25045);
|
|
11876
11915
|
/* harmony import */ var _swc_helpers_sliced_to_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50684);
|
|
11877
|
-
/* harmony import */ var
|
|
11878
|
-
/* harmony import */ var
|
|
11879
|
-
/* harmony import */ var
|
|
11880
|
-
/* harmony import */ var
|
|
11881
|
-
/* harmony import */ var
|
|
11882
|
-
/* harmony import */ var
|
|
11883
|
-
/* harmony import */ var
|
|
11884
|
-
/* harmony import */ var
|
|
11885
|
-
/* harmony import */ var
|
|
11886
|
-
/* harmony import */ var
|
|
11887
|
-
/* harmony import */ var
|
|
11888
|
-
/* harmony import */ var
|
|
11889
|
-
/* harmony import */ var
|
|
11916
|
+
/* harmony import */ var _swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42395);
|
|
11917
|
+
/* harmony import */ var _swc_helpers_type_of__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77384);
|
|
11918
|
+
/* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31635);
|
|
11919
|
+
/* harmony import */ var _swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3233);
|
|
11920
|
+
/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(81937);
|
|
11921
|
+
/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(84839);
|
|
11922
|
+
/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(23211);
|
|
11923
|
+
/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(65946);
|
|
11924
|
+
/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(28686);
|
|
11925
|
+
/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(28712);
|
|
11926
|
+
/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__);
|
|
11927
|
+
/* harmony import */ var jodit_core_selection_helpers_move_the_node_along_the_edge_outward__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(7470);
|
|
11928
|
+
/* harmony import */ var _style_commit_style__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(84578);
|
|
11929
|
+
/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(42259);
|
|
11890
11930
|
/*!
|
|
11891
11931
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
11892
11932
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -11913,6 +11953,7 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
|
|
|
11913
11953
|
|
|
11914
11954
|
|
|
11915
11955
|
|
|
11956
|
+
|
|
11916
11957
|
var Selection = /*#__PURE__*/ function() {
|
|
11917
11958
|
"use strict";
|
|
11918
11959
|
function Selection(jodit) {
|
|
@@ -11938,8 +11979,8 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
11938
11979
|
value: /**
|
|
11939
11980
|
* Throw Error exception if parameter is not Node
|
|
11940
11981
|
*/ function errorNode(node) {
|
|
11941
|
-
if (!
|
|
11942
|
-
throw (0,
|
|
11982
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isNode(node)) {
|
|
11983
|
+
throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.error)('Parameter node must be instance of Node');
|
|
11943
11984
|
}
|
|
11944
11985
|
}
|
|
11945
11986
|
},
|
|
@@ -11972,7 +12013,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
11972
12013
|
get: /**
|
|
11973
12014
|
* Return current selection object
|
|
11974
12015
|
*/ function get() {
|
|
11975
|
-
if (this.j.o.shadowRoot && (0,
|
|
12016
|
+
if (this.j.o.shadowRoot && (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isFunction)(this.j.o.shadowRoot.getSelection)) {
|
|
11976
12017
|
return this.j.o.shadowRoot.getSelection();
|
|
11977
12018
|
}
|
|
11978
12019
|
return this.win.getSelection();
|
|
@@ -11994,7 +12035,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
11994
12035
|
*/ function get() {
|
|
11995
12036
|
var sel = this.sel;
|
|
11996
12037
|
var range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel.getRangeAt(0) : null;
|
|
11997
|
-
return !(!range || !
|
|
12038
|
+
return !(!range || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(this.area, range.startContainer));
|
|
11998
12039
|
}
|
|
11999
12040
|
},
|
|
12000
12041
|
{
|
|
@@ -12042,10 +12083,10 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12042
12083
|
* Remove node element from editor
|
|
12043
12084
|
*/ key: "removeNode",
|
|
12044
12085
|
value: function removeNode(node) {
|
|
12045
|
-
if (!
|
|
12046
|
-
throw (0,
|
|
12086
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(this.j.editor, node, true)) {
|
|
12087
|
+
throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.error)("Selection.removeNode can remove only editor's children");
|
|
12047
12088
|
}
|
|
12048
|
-
|
|
12089
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(node);
|
|
12049
12090
|
this.j.e.fire('afterRemoveNode', node);
|
|
12050
12091
|
}
|
|
12051
12092
|
},
|
|
@@ -12072,7 +12113,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12072
12113
|
}
|
|
12073
12114
|
if (_this.doc.caretRangeFromPoint) {
|
|
12074
12115
|
var caret1 = _this.doc.caretRangeFromPoint(x, y);
|
|
12075
|
-
(0,
|
|
12116
|
+
(0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)(caret1, 'Incorrect caretRangeFromPoint behaviour');
|
|
12076
12117
|
rng.setStart(caret1.startContainer, caret1.startOffset);
|
|
12077
12118
|
}
|
|
12078
12119
|
})();
|
|
@@ -12096,7 +12137,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12096
12137
|
get: /**
|
|
12097
12138
|
* Check if editor has selection markers
|
|
12098
12139
|
*/ function get() {
|
|
12099
|
-
return (0,
|
|
12140
|
+
return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.$$)('span[data-' + jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.MARKER_CLASS + ']', this.area);
|
|
12100
12141
|
}
|
|
12101
12142
|
},
|
|
12102
12143
|
{
|
|
@@ -12104,7 +12145,8 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12104
12145
|
* Remove all markers
|
|
12105
12146
|
*/ key: "removeMarkers",
|
|
12106
12147
|
value: function removeMarkers() {
|
|
12107
|
-
|
|
12148
|
+
var _Dom;
|
|
12149
|
+
(_Dom = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom).safeRemove.apply(_Dom, (0,_swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_4__._)(this.markers));
|
|
12108
12150
|
}
|
|
12109
12151
|
},
|
|
12110
12152
|
{
|
|
@@ -12119,14 +12161,14 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12119
12161
|
newRange.collapse(atStart);
|
|
12120
12162
|
}
|
|
12121
12163
|
var marker = this.j.createInside.span();
|
|
12122
|
-
marker.id =
|
|
12164
|
+
marker.id = jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.MARKER_CLASS + '_' + Number(new Date()) + '_' + String(Math.random()).slice(2);
|
|
12123
12165
|
marker.style.lineHeight = '0';
|
|
12124
12166
|
marker.style.display = 'none';
|
|
12125
|
-
|
|
12126
|
-
(0,
|
|
12127
|
-
marker.appendChild(this.j.createInside.text(
|
|
12167
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.markTemporary(marker);
|
|
12168
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.attr)(marker, 'data-' + jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.MARKER_CLASS, atStart ? 'start' : 'end');
|
|
12169
|
+
marker.appendChild(this.j.createInside.text(jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.INVISIBLE_SPACE));
|
|
12128
12170
|
if (newRange) {
|
|
12129
|
-
if (
|
|
12171
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(this.area, atStart ? newRange.startContainer : newRange.endContainer)) {
|
|
12130
12172
|
// Here need do unsafe inserting
|
|
12131
12173
|
// Deny Dom.safeInsertNode(newRange, marker);
|
|
12132
12174
|
// Apply style -> Test Style module -> Base apply -> For selection <p><strong>|test|</strong></p> apply style {"element":"em","style":{"fontStyle":"italic"}}
|
|
@@ -12143,7 +12185,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12143
12185
|
value: function restore() {
|
|
12144
12186
|
var range = false;
|
|
12145
12187
|
var markAttr = function markAttr(start) {
|
|
12146
|
-
return "span[data-".concat(
|
|
12188
|
+
return "span[data-".concat(jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.MARKER_CLASS, "=").concat(start ? 'start' : 'end', "]");
|
|
12147
12189
|
};
|
|
12148
12190
|
var start = this.area.querySelector(markAttr(true));
|
|
12149
12191
|
var end = this.area.querySelector(markAttr(false));
|
|
@@ -12153,18 +12195,18 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12153
12195
|
range = this.createRange();
|
|
12154
12196
|
if (!end) {
|
|
12155
12197
|
var previousNode = start.previousSibling;
|
|
12156
|
-
if (
|
|
12198
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(previousNode)) {
|
|
12157
12199
|
range.setStart(previousNode, previousNode.nodeValue ? previousNode.nodeValue.length : 0);
|
|
12158
12200
|
} else {
|
|
12159
12201
|
range.setStartBefore(start);
|
|
12160
12202
|
}
|
|
12161
|
-
|
|
12203
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(start);
|
|
12162
12204
|
range.collapse(true);
|
|
12163
12205
|
} else {
|
|
12164
12206
|
range.setStartAfter(start);
|
|
12165
|
-
|
|
12207
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(start);
|
|
12166
12208
|
range.setEndBefore(end);
|
|
12167
|
-
|
|
12209
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(end);
|
|
12168
12210
|
}
|
|
12169
12211
|
if (range) {
|
|
12170
12212
|
this.selectRange(range);
|
|
@@ -12172,18 +12214,22 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12172
12214
|
}
|
|
12173
12215
|
},
|
|
12174
12216
|
{
|
|
12175
|
-
|
|
12217
|
+
/**
|
|
12218
|
+
* Inserts invisible fake nodes on the boundaries of the current selection
|
|
12219
|
+
* and returns them. Unlike [[Select.save]] the selection stays valid while
|
|
12220
|
+
* the DOM around it is being modified. Restore it later with [[Select.restoreFakes]].
|
|
12221
|
+
*/ key: "fakes",
|
|
12176
12222
|
value: function fakes() {
|
|
12177
12223
|
var sel = this.sel;
|
|
12178
12224
|
if (!sel || !sel.rangeCount) {
|
|
12179
12225
|
return [];
|
|
12180
12226
|
}
|
|
12181
12227
|
var range = sel.getRangeAt(0);
|
|
12182
|
-
(0,
|
|
12228
|
+
(0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)(range, 'Range is null');
|
|
12183
12229
|
var left = range.cloneRange();
|
|
12184
12230
|
left.collapse(true);
|
|
12185
12231
|
var fakeLeft = this.j.createInside.fake();
|
|
12186
|
-
|
|
12232
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeInsertNode(left, fakeLeft);
|
|
12187
12233
|
range.setStartBefore(fakeLeft);
|
|
12188
12234
|
var result = [
|
|
12189
12235
|
fakeLeft
|
|
@@ -12192,7 +12238,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12192
12238
|
var right = range.cloneRange();
|
|
12193
12239
|
right.collapse(false);
|
|
12194
12240
|
var fakeRight = this.j.createInside.fake();
|
|
12195
|
-
|
|
12241
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeInsertNode(right, fakeRight);
|
|
12196
12242
|
range.setEndAfter(fakeRight);
|
|
12197
12243
|
result.push(fakeRight);
|
|
12198
12244
|
}
|
|
@@ -12201,7 +12247,10 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12201
12247
|
}
|
|
12202
12248
|
},
|
|
12203
12249
|
{
|
|
12204
|
-
|
|
12250
|
+
/**
|
|
12251
|
+
* Restores the selection previously saved with [[Select.fakes]]
|
|
12252
|
+
* and removes the fake nodes (disconnected fakes are ignored).
|
|
12253
|
+
*/ key: "restoreFakes",
|
|
12205
12254
|
value: function restoreFakes(fakes) {
|
|
12206
12255
|
var _fakeLeft_parentNode, _fakeLeft_parentNode1, _fakeRight_parentNode, _fakeRight_parentNode1;
|
|
12207
12256
|
var nodes = fakes.filter(function(n) {
|
|
@@ -12218,10 +12267,10 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12218
12267
|
}
|
|
12219
12268
|
this.selectRange(range);
|
|
12220
12269
|
if (((_fakeLeft_parentNode = fakeLeft.parentNode) === null || _fakeLeft_parentNode === void 0 ? void 0 : _fakeLeft_parentNode.firstChild) !== ((_fakeLeft_parentNode1 = fakeLeft.parentNode) === null || _fakeLeft_parentNode1 === void 0 ? void 0 : _fakeLeft_parentNode1.lastChild)) {
|
|
12221
|
-
|
|
12270
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(fakeLeft);
|
|
12222
12271
|
}
|
|
12223
12272
|
if ((fakeRight === null || fakeRight === void 0 ? void 0 : (_fakeRight_parentNode = fakeRight.parentNode) === null || _fakeRight_parentNode === void 0 ? void 0 : _fakeRight_parentNode.firstChild) !== (fakeRight === null || fakeRight === void 0 ? void 0 : (_fakeRight_parentNode1 = fakeRight.parentNode) === null || _fakeRight_parentNode1 === void 0 ? void 0 : _fakeRight_parentNode1.lastChild)) {
|
|
12224
|
-
|
|
12273
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(fakeRight);
|
|
12225
12274
|
}
|
|
12226
12275
|
}
|
|
12227
12276
|
},
|
|
@@ -12297,7 +12346,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12297
12346
|
preventScroll: true
|
|
12298
12347
|
};
|
|
12299
12348
|
if (!this.isFocused()) {
|
|
12300
|
-
var scrollParent = (0,
|
|
12349
|
+
var scrollParent = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.getScrollParent)(this.j.container), scrollTop = scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTop;
|
|
12301
12350
|
if (this.j.iframe) {
|
|
12302
12351
|
if (this.doc.readyState === 'complete') {
|
|
12303
12352
|
this.j.iframe.focus(options);
|
|
@@ -12309,7 +12358,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12309
12358
|
scrollParent.scrollTo(0, scrollTop);
|
|
12310
12359
|
}
|
|
12311
12360
|
var sel = this.sel, range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel === null || sel === void 0 ? void 0 : sel.getRangeAt(0) : null;
|
|
12312
|
-
if (!range || !
|
|
12361
|
+
if (!range || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(this.area, range.startContainer)) {
|
|
12313
12362
|
var range1 = this.createRange();
|
|
12314
12363
|
range1.setStart(this.area, 0);
|
|
12315
12364
|
range1.collapse(true);
|
|
@@ -12353,7 +12402,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12353
12402
|
*/ key: "current",
|
|
12354
12403
|
value: function current() {
|
|
12355
12404
|
var checkChild = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
|
|
12356
|
-
if (this.j.getRealMode() !==
|
|
12405
|
+
if (this.j.getRealMode() !== jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.MODE_WYSIWYG) {
|
|
12357
12406
|
return null;
|
|
12358
12407
|
}
|
|
12359
12408
|
var sel = this.sel;
|
|
@@ -12366,16 +12415,16 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12366
12415
|
var child = function child(nd) {
|
|
12367
12416
|
return rightMode ? nd.lastChild : nd.firstChild;
|
|
12368
12417
|
};
|
|
12369
|
-
if (
|
|
12418
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(node, 'br') && sel.isCollapsed) {
|
|
12370
12419
|
return node;
|
|
12371
12420
|
}
|
|
12372
|
-
if (!
|
|
12373
|
-
var ret = (0,
|
|
12421
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(node)) {
|
|
12422
|
+
var ret = (0,_helpers__WEBPACK_IMPORTED_MODULE_16__.findCorrectCurrentNode)(node, range, rightMode, sel.isCollapsed, checkChild, child);
|
|
12374
12423
|
node = ret.node;
|
|
12375
12424
|
rightMode = ret.rightMode;
|
|
12376
12425
|
}
|
|
12377
12426
|
// check - cursor inside editor
|
|
12378
|
-
if (node &&
|
|
12427
|
+
if (node && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(this.area, node)) {
|
|
12379
12428
|
return node;
|
|
12380
12429
|
}
|
|
12381
12430
|
return null;
|
|
@@ -12393,7 +12442,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12393
12442
|
var _this = this;
|
|
12394
12443
|
var insertCursorAfter = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true, fireChange = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
|
|
12395
12444
|
this.errorNode(node);
|
|
12396
|
-
var child =
|
|
12445
|
+
var child = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isFragment(node) ? node.lastChild : node;
|
|
12397
12446
|
this.j.e.fire('safeHTML', node);
|
|
12398
12447
|
if (!this.isFocused() && this.j.isEditorMode()) {
|
|
12399
12448
|
this.focus();
|
|
@@ -12408,8 +12457,8 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12408
12457
|
if (sel && sel.rangeCount) {
|
|
12409
12458
|
var range = sel.getRangeAt(0);
|
|
12410
12459
|
var firstChild = node.firstChild;
|
|
12411
|
-
if (
|
|
12412
|
-
|
|
12460
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(_this.area, range.commonAncestorContainer)) {
|
|
12461
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeInsertNode(range, node);
|
|
12413
12462
|
} else {
|
|
12414
12463
|
_this.area.appendChild(node);
|
|
12415
12464
|
}
|
|
@@ -12426,15 +12475,15 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12426
12475
|
}
|
|
12427
12476
|
].forEach(function(getChildNode) {
|
|
12428
12477
|
var childNode = getChildNode();
|
|
12429
|
-
if (childNode &&
|
|
12430
|
-
|
|
12478
|
+
if (childNode && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isEmptyTextNode(childNode)) {
|
|
12479
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(childNode);
|
|
12431
12480
|
}
|
|
12432
12481
|
});
|
|
12433
12482
|
} else {
|
|
12434
12483
|
_this.area.appendChild(node);
|
|
12435
12484
|
}
|
|
12436
12485
|
var setCursor = function setCursor1(node) {
|
|
12437
|
-
if (
|
|
12486
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isBlock(node)) {
|
|
12438
12487
|
var child = node.lastChild;
|
|
12439
12488
|
if (child) {
|
|
12440
12489
|
return setCursor(child);
|
|
@@ -12443,21 +12492,21 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12443
12492
|
_this.setCursorAfter(node);
|
|
12444
12493
|
};
|
|
12445
12494
|
if (insertCursorAfter) {
|
|
12446
|
-
if (
|
|
12495
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isFragment(node)) {
|
|
12447
12496
|
child && setCursor(child);
|
|
12448
12497
|
} else {
|
|
12449
12498
|
setCursor(node);
|
|
12450
12499
|
}
|
|
12451
12500
|
}
|
|
12452
12501
|
if (_this.j.o.scrollToPastedContent) {
|
|
12453
|
-
(0,
|
|
12502
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.scrollIntoViewIfNeeded)(child !== null && child !== void 0 ? child : node, _this.j.editor, _this.doc);
|
|
12454
12503
|
}
|
|
12455
12504
|
});
|
|
12456
12505
|
if (fireChange && this.j.events) {
|
|
12457
12506
|
this.j.__imdSynchronizeValues();
|
|
12458
12507
|
}
|
|
12459
12508
|
if (this.j.events) {
|
|
12460
|
-
this.j.e.fire('afterInsertNode',
|
|
12509
|
+
this.j.e.fire('afterInsertNode', jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isFragment(node) ? child : node);
|
|
12461
12510
|
}
|
|
12462
12511
|
}
|
|
12463
12512
|
},
|
|
@@ -12479,12 +12528,11 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12479
12528
|
}
|
|
12480
12529
|
var node = this.j.createInside.div();
|
|
12481
12530
|
var fragment = this.j.createInside.fragment();
|
|
12482
|
-
var lastChild;
|
|
12483
12531
|
if (!this.isFocused() && this.j.isEditorMode()) {
|
|
12484
12532
|
this.focus();
|
|
12485
12533
|
this.restore();
|
|
12486
12534
|
}
|
|
12487
|
-
if (!
|
|
12535
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isNode(html)) {
|
|
12488
12536
|
node.innerHTML = html.toString();
|
|
12489
12537
|
} else {
|
|
12490
12538
|
node.appendChild(html);
|
|
@@ -12492,12 +12540,10 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12492
12540
|
if (!this.j.isEditorMode() && this.j.e.fire('insertHTML', node.innerHTML) === false) {
|
|
12493
12541
|
return;
|
|
12494
12542
|
}
|
|
12495
|
-
|
|
12496
|
-
if (!lastChild) {
|
|
12543
|
+
if (!node.lastChild) {
|
|
12497
12544
|
return;
|
|
12498
12545
|
}
|
|
12499
12546
|
while(node.firstChild){
|
|
12500
|
-
lastChild = node.firstChild;
|
|
12501
12547
|
fragment.appendChild(node.firstChild);
|
|
12502
12548
|
}
|
|
12503
12549
|
this.insertNode(fragment, insertCursorAfter, false);
|
|
@@ -12515,8 +12561,8 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12515
12561
|
*/ key: "insertImage",
|
|
12516
12562
|
value: function insertImage(url) {
|
|
12517
12563
|
var styles = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, defaultWidth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
12518
|
-
var image = (0,
|
|
12519
|
-
if ((0,
|
|
12564
|
+
var image = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isString)(url) ? this.j.createInside.element('img') : url;
|
|
12565
|
+
if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isString)(url)) {
|
|
12520
12566
|
image.setAttribute('src', url);
|
|
12521
12567
|
}
|
|
12522
12568
|
if (defaultWidth != null) {
|
|
@@ -12524,10 +12570,10 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12524
12570
|
if (dw && 'auto' !== dw && String(dw).indexOf('px') < 0 && String(dw).indexOf('%') < 0) {
|
|
12525
12571
|
dw += 'px';
|
|
12526
12572
|
}
|
|
12527
|
-
(0,
|
|
12573
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.attr)(image, 'width', dw);
|
|
12528
12574
|
}
|
|
12529
|
-
if (styles && (typeof styles === "undefined" ? "undefined" : (0,
|
|
12530
|
-
(0,
|
|
12575
|
+
if (styles && (typeof styles === "undefined" ? "undefined" : (0,_swc_helpers_type_of__WEBPACK_IMPORTED_MODULE_5__._)(styles)) === 'object') {
|
|
12576
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.css)(image, styles);
|
|
12531
12577
|
}
|
|
12532
12578
|
var onload = function onload1() {
|
|
12533
12579
|
if (image.naturalHeight < image.offsetHeight || image.naturalWidth < image.offsetWidth) {
|
|
@@ -12568,7 +12614,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12568
12614
|
}
|
|
12569
12615
|
var range = sel.getRangeAt(0);
|
|
12570
12616
|
var root = range.commonAncestorContainer;
|
|
12571
|
-
if (!
|
|
12617
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isHTMLElement(root)) {
|
|
12572
12618
|
root = root.parentElement;
|
|
12573
12619
|
}
|
|
12574
12620
|
var nodes = [];
|
|
@@ -12577,37 +12623,37 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12577
12623
|
var elementOffset = startOffset < length ? startOffset : length - 1;
|
|
12578
12624
|
var start = range.startContainer === this.area ? root.childNodes[elementOffset] : range.startContainer;
|
|
12579
12625
|
var end = range.endContainer === this.area ? root.childNodes[range.endOffset - 1] : range.endContainer;
|
|
12580
|
-
if (
|
|
12626
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(start) && start === range.startContainer && range.startOffset === ((_start_nodeValue = start.nodeValue) === null || _start_nodeValue === void 0 ? void 0 : _start_nodeValue.length) && start.nextSibling) {
|
|
12581
12627
|
start = start.nextSibling;
|
|
12582
12628
|
}
|
|
12583
|
-
if (
|
|
12629
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(end) && end === range.endContainer && range.endOffset === 0 && end.previousSibling) {
|
|
12584
12630
|
end = end.previousSibling;
|
|
12585
12631
|
}
|
|
12586
12632
|
var checkElm = function checkElm(node) {
|
|
12587
|
-
if (node && node !== root && !
|
|
12633
|
+
if (node && node !== root && !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isEmptyTextNode(node) && !(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isMarker)(node)) {
|
|
12588
12634
|
nodes.push(node);
|
|
12589
12635
|
}
|
|
12590
12636
|
};
|
|
12591
12637
|
checkElm(start);
|
|
12592
|
-
if (start !== end &&
|
|
12593
|
-
|
|
12638
|
+
if (start !== end && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(root, start, true)) {
|
|
12639
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.find(start, function(node) {
|
|
12594
12640
|
checkElm(node);
|
|
12595
12641
|
// checks parentElement as well because partial selections are not equal to entire element
|
|
12596
12642
|
return node === end || node && node.contains && node.contains(end);
|
|
12597
12643
|
}, root, true, false);
|
|
12598
12644
|
}
|
|
12599
12645
|
var forEvery = function forEvery1(current) {
|
|
12600
|
-
if (!
|
|
12646
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(_this.j.editor, current, true)) {
|
|
12601
12647
|
return;
|
|
12602
12648
|
}
|
|
12603
12649
|
if (current.nodeName.match(/^(UL|OL)$/)) {
|
|
12604
|
-
return (0,
|
|
12650
|
+
return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.toArray)(current.childNodes).forEach(forEvery);
|
|
12605
12651
|
}
|
|
12606
|
-
if (
|
|
12652
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(current, 'li')) {
|
|
12607
12653
|
if (current.firstChild) {
|
|
12608
12654
|
current = current.firstChild;
|
|
12609
12655
|
} else {
|
|
12610
|
-
var currentB = _this.j.createInside.text(
|
|
12656
|
+
var currentB = _this.j.createInside.text(jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.INVISIBLE_SPACE);
|
|
12611
12657
|
current.appendChild(currentB);
|
|
12612
12658
|
current = currentB;
|
|
12613
12659
|
}
|
|
@@ -12615,10 +12661,11 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12615
12661
|
callback(current);
|
|
12616
12662
|
};
|
|
12617
12663
|
if (nodes.length === 0) {
|
|
12618
|
-
if (
|
|
12664
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isEmptyTextNode(start)) {
|
|
12619
12665
|
nodes.push(start);
|
|
12620
12666
|
}
|
|
12621
|
-
|
|
12667
|
+
// `start` can be undefined for an empty root
|
|
12668
|
+
if (start === null || start === void 0 ? void 0 : start.firstChild) {
|
|
12622
12669
|
nodes.push(start.firstChild);
|
|
12623
12670
|
}
|
|
12624
12671
|
}
|
|
@@ -12638,24 +12685,23 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12638
12685
|
value: function cursorInTheEdge(start, parentBlock) {
|
|
12639
12686
|
var _this = this;
|
|
12640
12687
|
var fake = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
12641
|
-
var
|
|
12642
|
-
var end = !start, range = (_this_sel = this.sel) === null || _this_sel === void 0 ? void 0 : _this_sel.getRangeAt(0);
|
|
12688
|
+
var end = !start, sel = this.sel, range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel.getRangeAt(0) : null;
|
|
12643
12689
|
fake !== null && fake !== void 0 ? fake : fake = this.current(false);
|
|
12644
|
-
if (!range || !fake || !
|
|
12690
|
+
if (!range || !fake || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(parentBlock, fake, true)) {
|
|
12645
12691
|
return null;
|
|
12646
12692
|
}
|
|
12647
12693
|
var container = start ? range.startContainer : range.endContainer;
|
|
12648
12694
|
var offset = start ? range.startOffset : range.endOffset;
|
|
12649
12695
|
var isSignificant = function isSignificant(elm) {
|
|
12650
|
-
return Boolean(elm && !
|
|
12696
|
+
return Boolean(elm && !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(elm, 'br') && !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isEmptyTextNode(elm) && !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTemporary(elm) && !(jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isElement(elm) && _this.j.e.fire('isInvisibleForCursor', elm) === true));
|
|
12651
12697
|
};
|
|
12652
12698
|
// check right offset
|
|
12653
|
-
if (
|
|
12654
|
-
if ((0,
|
|
12699
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(container)) {
|
|
12700
|
+
if ((0,_helpers__WEBPACK_IMPORTED_MODULE_16__.cursorInTheEdgeOfString)(container, offset, start, end)) {
|
|
12655
12701
|
return false;
|
|
12656
12702
|
}
|
|
12657
12703
|
} else {
|
|
12658
|
-
var children = (0,
|
|
12704
|
+
var children = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.toArray)(container.childNodes);
|
|
12659
12705
|
if (end) {
|
|
12660
12706
|
if (children.slice(offset).some(isSignificant)) {
|
|
12661
12707
|
return false;
|
|
@@ -12668,7 +12714,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12668
12714
|
}
|
|
12669
12715
|
var next = fake;
|
|
12670
12716
|
while(next && next !== parentBlock){
|
|
12671
|
-
var nextOne =
|
|
12717
|
+
var nextOne = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.sibling(next, start);
|
|
12672
12718
|
if (!nextOne) {
|
|
12673
12719
|
next = next.parentNode;
|
|
12674
12720
|
continue;
|
|
@@ -12722,18 +12768,18 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12722
12768
|
*/ function setCursorNearWith(node, inStart) {
|
|
12723
12769
|
var _this = this;
|
|
12724
12770
|
this.errorNode(node);
|
|
12725
|
-
if (!
|
|
12771
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.up(node, function(elm) {
|
|
12726
12772
|
return elm === _this.area || elm && elm.parentNode === _this.area;
|
|
12727
12773
|
}, this.area)) {
|
|
12728
|
-
throw (0,
|
|
12774
|
+
throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.error)('Node element must be in editor');
|
|
12729
12775
|
}
|
|
12730
12776
|
var range = this.createRange();
|
|
12731
12777
|
var fakeNode = null;
|
|
12732
|
-
if (!
|
|
12778
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(node)) {
|
|
12733
12779
|
fakeNode = this.j.createInside.fake();
|
|
12734
12780
|
inStart ? range.setStartBefore(node) : range.setEndAfter(node);
|
|
12735
12781
|
range.collapse(inStart);
|
|
12736
|
-
|
|
12782
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeInsertNode(range, fakeNode);
|
|
12737
12783
|
range.selectNode(fakeNode);
|
|
12738
12784
|
} else {
|
|
12739
12785
|
if (inStart) {
|
|
@@ -12759,23 +12805,23 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12759
12805
|
var _this = this;
|
|
12760
12806
|
var inStart = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
12761
12807
|
this.errorNode(node);
|
|
12762
|
-
if (!
|
|
12808
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.up(node, function(elm) {
|
|
12763
12809
|
return elm === _this.area || elm && elm.parentNode === _this.area;
|
|
12764
12810
|
}, this.area)) {
|
|
12765
|
-
throw (0,
|
|
12811
|
+
throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.error)('Node element must be in editor');
|
|
12766
12812
|
}
|
|
12767
12813
|
var range = this.createRange();
|
|
12768
12814
|
var start = node, last = node;
|
|
12769
12815
|
do {
|
|
12770
|
-
if (
|
|
12816
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(start) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(start, jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.INSEPARABLE_TAGS)) {
|
|
12771
12817
|
break;
|
|
12772
12818
|
}
|
|
12773
12819
|
last = start;
|
|
12774
12820
|
start = inStart ? start.firstChild : start.lastChild;
|
|
12775
12821
|
}while (start);
|
|
12776
12822
|
if (!start) {
|
|
12777
|
-
var fakeNode = this.j.createInside.text(
|
|
12778
|
-
if (!
|
|
12823
|
+
var fakeNode = this.j.createInside.text(jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.INVISIBLE_SPACE);
|
|
12824
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(last, jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.INSEPARABLE_TAGS)) {
|
|
12779
12825
|
last.appendChild(fakeNode);
|
|
12780
12826
|
last = fakeNode;
|
|
12781
12827
|
} else {
|
|
@@ -12783,11 +12829,11 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12783
12829
|
}
|
|
12784
12830
|
}
|
|
12785
12831
|
var workElm = start || last;
|
|
12786
|
-
if (!
|
|
12832
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(workElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.INSEPARABLE_TAGS)) {
|
|
12787
12833
|
range.selectNodeContents(workElm);
|
|
12788
12834
|
range.collapse(inStart);
|
|
12789
12835
|
} else {
|
|
12790
|
-
inStart ||
|
|
12836
|
+
inStart || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(workElm, 'br') ? range.setStartBefore(workElm) : range.setEndAfter(workElm);
|
|
12791
12837
|
range.collapse(inStart);
|
|
12792
12838
|
}
|
|
12793
12839
|
this.selectRange(range);
|
|
@@ -12824,10 +12870,10 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12824
12870
|
var _this = this;
|
|
12825
12871
|
var inward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
12826
12872
|
this.errorNode(node);
|
|
12827
|
-
if (!
|
|
12873
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.up(node, function(elm) {
|
|
12828
12874
|
return elm === _this.area || elm && elm.parentNode === _this.area;
|
|
12829
12875
|
}, this.area)) {
|
|
12830
|
-
throw (0,
|
|
12876
|
+
throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.error)('Node element must be in editor');
|
|
12831
12877
|
}
|
|
12832
12878
|
var range = this.createRange();
|
|
12833
12879
|
range[inward ? 'selectNodeContents' : 'selectNode'](node);
|
|
@@ -12862,14 +12908,14 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12862
12908
|
* Wrap all selected fragments inside Tag or apply some callback
|
|
12863
12909
|
*/ function wrapInTagGen(fakes) {
|
|
12864
12910
|
var font, elms, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, font1, firstChild, lastChild, err;
|
|
12865
|
-
return (0,
|
|
12911
|
+
return (0,_swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_7__._)(this, function(_state) {
|
|
12866
12912
|
switch(_state.label){
|
|
12867
12913
|
case 0:
|
|
12868
12914
|
if (!this.isCollapsed()) return [
|
|
12869
12915
|
3,
|
|
12870
12916
|
2
|
|
12871
12917
|
];
|
|
12872
|
-
font = this.jodit.createInside.element('font',
|
|
12918
|
+
font = this.jodit.createInside.element('font', jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.INVISIBLE_SPACE);
|
|
12873
12919
|
this.insertNode(font, false, false);
|
|
12874
12920
|
if (fakes && fakes[0]) {
|
|
12875
12921
|
font.appendChild(fakes[0]);
|
|
@@ -12880,25 +12926,25 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12880
12926
|
];
|
|
12881
12927
|
case 1:
|
|
12882
12928
|
_state.sent();
|
|
12883
|
-
|
|
12929
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.unwrap(font);
|
|
12884
12930
|
return [
|
|
12885
12931
|
2
|
|
12886
12932
|
];
|
|
12887
12933
|
case 2:
|
|
12888
12934
|
// fix issue https://github.com/xdan/jodit/issues/65
|
|
12889
|
-
(0,
|
|
12890
|
-
(0,
|
|
12935
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.$$)('*[style*=font-size]', this.area).forEach(function(elm) {
|
|
12936
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.attr)(elm, 'data-font-size', elm.style.fontSize.toString());
|
|
12891
12937
|
elm.style.removeProperty('font-size');
|
|
12892
12938
|
});
|
|
12893
12939
|
this.j.nativeExecCommand('fontsize', false, '7');
|
|
12894
|
-
(0,
|
|
12895
|
-
var fontSize = (0,
|
|
12940
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.$$)('*[data-font-size]', this.area).forEach(function(elm) {
|
|
12941
|
+
var fontSize = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.attr)(elm, 'data-font-size');
|
|
12896
12942
|
if (fontSize) {
|
|
12897
12943
|
elm.style.fontSize = fontSize;
|
|
12898
|
-
(0,
|
|
12944
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.attr)(elm, 'data-font-size', null);
|
|
12899
12945
|
}
|
|
12900
12946
|
});
|
|
12901
|
-
elms = (0,
|
|
12947
|
+
elms = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.$$)('font[size="7"]', this.area);
|
|
12902
12948
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
12903
12949
|
_state.label = 3;
|
|
12904
12950
|
case 3:
|
|
@@ -12917,18 +12963,18 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12917
12963
|
];
|
|
12918
12964
|
font1 = _step.value;
|
|
12919
12965
|
firstChild = font1.firstChild, lastChild = font1.lastChild;
|
|
12920
|
-
if (firstChild && firstChild === lastChild && (0,
|
|
12921
|
-
|
|
12966
|
+
if (firstChild && firstChild === lastChild && (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isMarker)(firstChild)) {
|
|
12967
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.unwrap(font1);
|
|
12922
12968
|
return [
|
|
12923
12969
|
3,
|
|
12924
12970
|
6
|
|
12925
12971
|
];
|
|
12926
12972
|
}
|
|
12927
|
-
if (firstChild && (0,
|
|
12928
|
-
|
|
12973
|
+
if (firstChild && (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isMarker)(firstChild)) {
|
|
12974
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.before(font1, firstChild);
|
|
12929
12975
|
}
|
|
12930
|
-
if (lastChild && (0,
|
|
12931
|
-
|
|
12976
|
+
if (lastChild && (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isMarker)(lastChild)) {
|
|
12977
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.after(font1, lastChild);
|
|
12932
12978
|
}
|
|
12933
12979
|
return [
|
|
12934
12980
|
4,
|
|
@@ -12936,7 +12982,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12936
12982
|
];
|
|
12937
12983
|
case 5:
|
|
12938
12984
|
_state.sent();
|
|
12939
|
-
|
|
12985
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.unwrap(font1);
|
|
12940
12986
|
_state.label = 6;
|
|
12941
12987
|
case 6:
|
|
12942
12988
|
_iteratorNormalCompletion = true;
|
|
@@ -12989,20 +13035,20 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
12989
13035
|
for(var _iterator = this.wrapInTagGen()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
12990
13036
|
var font = _step.value;
|
|
12991
13037
|
try {
|
|
12992
|
-
if (font.firstChild && font.firstChild === font.lastChild && (0,
|
|
13038
|
+
if (font.firstChild && font.firstChild === font.lastChild && (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isMarker)(font.firstChild)) {
|
|
12993
13039
|
continue;
|
|
12994
13040
|
}
|
|
12995
|
-
if ((0,
|
|
13041
|
+
if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__.isFunction)(tagOrCallback)) {
|
|
12996
13042
|
tagOrCallback(font);
|
|
12997
13043
|
} else {
|
|
12998
|
-
result.push(
|
|
13044
|
+
result.push(jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.replace(font, tagOrCallback, this.j.createInside));
|
|
12999
13045
|
}
|
|
13000
13046
|
} finally{
|
|
13001
13047
|
var pn = font.parentNode;
|
|
13002
13048
|
if (pn) {
|
|
13003
|
-
|
|
13004
|
-
if (
|
|
13005
|
-
|
|
13049
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.unwrap(font);
|
|
13050
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isEmpty(pn)) {
|
|
13051
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.unwrap(pn);
|
|
13006
13052
|
}
|
|
13007
13053
|
}
|
|
13008
13054
|
}
|
|
@@ -13042,8 +13088,8 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13042
13088
|
* ```
|
|
13043
13089
|
*/ key: "commitStyle",
|
|
13044
13090
|
value: function commitStyle(options) {
|
|
13045
|
-
(0,
|
|
13046
|
-
var styleElm = new
|
|
13091
|
+
(0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.size)(options) > 0, 'Need to pass at least one option');
|
|
13092
|
+
var styleElm = new _style_commit_style__WEBPACK_IMPORTED_MODULE_15__.CommitStyle(options);
|
|
13047
13093
|
styleElm.apply(this.j);
|
|
13048
13094
|
}
|
|
13049
13095
|
},
|
|
@@ -13064,16 +13110,16 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13064
13110
|
try {
|
|
13065
13111
|
if (cursorOnTheRight || cursorOnTheLeft) {
|
|
13066
13112
|
if (edge) {
|
|
13067
|
-
|
|
13113
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.before(edge, br);
|
|
13068
13114
|
} else {
|
|
13069
|
-
|
|
13115
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeInsertNode(range, br);
|
|
13070
13116
|
}
|
|
13071
13117
|
var clearBR = function clearBR(start, getNext) {
|
|
13072
13118
|
var next = getNext(start);
|
|
13073
13119
|
while(next){
|
|
13074
13120
|
var nextSib = getNext(next);
|
|
13075
|
-
if (next && (
|
|
13076
|
-
|
|
13121
|
+
if (next && (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(next, 'br') || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isEmptyTextNode(next))) {
|
|
13122
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(next);
|
|
13077
13123
|
} else {
|
|
13078
13124
|
break;
|
|
13079
13125
|
}
|
|
@@ -13086,8 +13132,8 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13086
13132
|
clearBR(br, function(n) {
|
|
13087
13133
|
return n.previousSibling;
|
|
13088
13134
|
});
|
|
13089
|
-
|
|
13090
|
-
|
|
13135
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.after(br, nextFake);
|
|
13136
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.before(br, prevFake);
|
|
13091
13137
|
if (cursorOnTheRight) {
|
|
13092
13138
|
leftRange.setEndBefore(br);
|
|
13093
13139
|
range.setEndBefore(br);
|
|
@@ -13100,11 +13146,11 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13100
13146
|
}
|
|
13101
13147
|
var fragment = leftRange.extractContents();
|
|
13102
13148
|
var clearEmpties = function clearEmpties(node) {
|
|
13103
|
-
return
|
|
13104
|
-
return
|
|
13149
|
+
return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.each(node, function(node) {
|
|
13150
|
+
return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isEmptyTextNode(node) && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(node);
|
|
13105
13151
|
});
|
|
13106
13152
|
};
|
|
13107
|
-
(0,
|
|
13153
|
+
(0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)(currentBox.parentNode, 'Splitting fails');
|
|
13108
13154
|
try {
|
|
13109
13155
|
clearEmpties(fragment);
|
|
13110
13156
|
clearEmpties(currentBox);
|
|
@@ -13115,7 +13161,7 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13115
13161
|
this.selectRange(range1);
|
|
13116
13162
|
}
|
|
13117
13163
|
} catch (e) {
|
|
13118
|
-
if (!
|
|
13164
|
+
if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_8__.IS_PROD) {
|
|
13119
13165
|
throw e;
|
|
13120
13166
|
}
|
|
13121
13167
|
}
|
|
@@ -13130,14 +13176,18 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13130
13176
|
fillFakeParent(prevFake);
|
|
13131
13177
|
fillFakeParent(nextFake);
|
|
13132
13178
|
} finally{
|
|
13133
|
-
|
|
13134
|
-
|
|
13179
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(prevFake);
|
|
13180
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(nextFake);
|
|
13135
13181
|
}
|
|
13136
13182
|
return currentBox.previousElementSibling;
|
|
13137
13183
|
}
|
|
13138
13184
|
},
|
|
13139
13185
|
{
|
|
13140
|
-
|
|
13186
|
+
/**
|
|
13187
|
+
* Expands the non-collapsed selection outward: boundaries positioned on the
|
|
13188
|
+
* edge of their parents are moved out of them (e.g. `<p><b>|test|</b></p>`
|
|
13189
|
+
* becomes `<p>|<b>test</b>|</p>`)
|
|
13190
|
+
*/ key: "expandSelection",
|
|
13141
13191
|
value: function expandSelection() {
|
|
13142
13192
|
var _this = this;
|
|
13143
13193
|
if (this.isCollapsed()) {
|
|
@@ -13145,32 +13195,32 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13145
13195
|
}
|
|
13146
13196
|
var range = this.range;
|
|
13147
13197
|
var c = range.cloneRange();
|
|
13148
|
-
if (!
|
|
13198
|
+
if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(this.j.editor, range.commonAncestorContainer, true)) {
|
|
13149
13199
|
return this;
|
|
13150
13200
|
}
|
|
13151
13201
|
var moveMaxEdgeFake = function moveMaxEdgeFake(start) {
|
|
13152
13202
|
var fake = _this.j.createInside.fake();
|
|
13153
13203
|
var r = range.cloneRange();
|
|
13154
13204
|
r.collapse(start);
|
|
13155
|
-
|
|
13156
|
-
(0,
|
|
13205
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeInsertNode(r, fake);
|
|
13206
|
+
(0,jodit_core_selection_helpers_move_the_node_along_the_edge_outward__WEBPACK_IMPORTED_MODULE_14__.moveTheNodeAlongTheEdgeOutward)(fake, start, _this.j.editor);
|
|
13157
13207
|
return fake;
|
|
13158
13208
|
};
|
|
13159
13209
|
var leftFake = moveMaxEdgeFake(true);
|
|
13160
13210
|
var rightFake = moveMaxEdgeFake(false);
|
|
13161
13211
|
c.setStartAfter(leftFake);
|
|
13162
13212
|
c.setEndBefore(rightFake);
|
|
13163
|
-
var leftBox =
|
|
13164
|
-
var rightBox =
|
|
13213
|
+
var leftBox = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.findSibling(leftFake, false);
|
|
13214
|
+
var rightBox = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.findSibling(rightFake, true);
|
|
13165
13215
|
if (leftBox !== rightBox) {
|
|
13166
|
-
var rightInsideLeft =
|
|
13167
|
-
var leftInsideRight = !rightInsideLeft &&
|
|
13216
|
+
var rightInsideLeft = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isElement(leftBox) && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(leftBox, rightFake);
|
|
13217
|
+
var leftInsideRight = !rightInsideLeft && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isElement(rightBox) && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(rightBox, leftFake);
|
|
13168
13218
|
if (rightInsideLeft || leftInsideRight) {
|
|
13169
13219
|
var child = rightInsideLeft ? leftBox : rightBox, container = child;
|
|
13170
|
-
while(
|
|
13220
|
+
while(jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isElement(child)){
|
|
13171
13221
|
child = rightInsideLeft ? child.firstElementChild : child.lastElementChild;
|
|
13172
13222
|
if (child) {
|
|
13173
|
-
var isInside = rightInsideLeft ?
|
|
13223
|
+
var isInside = rightInsideLeft ? jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(child, rightFake) : jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(child, leftFake);
|
|
13174
13224
|
if (isInside) {
|
|
13175
13225
|
container = child;
|
|
13176
13226
|
}
|
|
@@ -13184,9 +13234,9 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13184
13234
|
}
|
|
13185
13235
|
}
|
|
13186
13236
|
this.selectRange(c);
|
|
13187
|
-
|
|
13237
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(leftFake, rightFake);
|
|
13188
13238
|
if (this.isCollapsed()) {
|
|
13189
|
-
throw (0,
|
|
13239
|
+
throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.error)('Selection is collapsed');
|
|
13190
13240
|
}
|
|
13191
13241
|
return this;
|
|
13192
13242
|
}
|
|
@@ -13194,20 +13244,20 @@ var Selection = /*#__PURE__*/ function() {
|
|
|
13194
13244
|
]);
|
|
13195
13245
|
return Selection;
|
|
13196
13246
|
}();
|
|
13197
|
-
(0,
|
|
13198
|
-
|
|
13247
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__decorate)([
|
|
13248
|
+
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.autobind
|
|
13199
13249
|
], Selection.prototype, "createRange", null);
|
|
13200
|
-
(0,
|
|
13201
|
-
|
|
13250
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__decorate)([
|
|
13251
|
+
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.autobind
|
|
13202
13252
|
], Selection.prototype, "focus", null);
|
|
13203
|
-
(0,
|
|
13204
|
-
|
|
13253
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__decorate)([
|
|
13254
|
+
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.autobind
|
|
13205
13255
|
], Selection.prototype, "setCursorAfter", null);
|
|
13206
|
-
(0,
|
|
13207
|
-
|
|
13256
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__decorate)([
|
|
13257
|
+
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.autobind
|
|
13208
13258
|
], Selection.prototype, "setCursorBefore", null);
|
|
13209
|
-
(0,
|
|
13210
|
-
|
|
13259
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__decorate)([
|
|
13260
|
+
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_9__.autobind
|
|
13211
13261
|
], Selection.prototype, "setCursorIn", null);
|
|
13212
13262
|
|
|
13213
13263
|
|
|
@@ -13652,12 +13702,11 @@ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument) {
|
|
|
13652
13702
|
|
|
13653
13703
|
|
|
13654
13704
|
/**
|
|
13655
|
-
*
|
|
13705
|
+
* Checks that every attribute from `attrs` is present on the element with
|
|
13706
|
+
* the same value (one-directional match: extra own attributes of the element
|
|
13707
|
+
* are ignored, empty `attrs` matches any element)
|
|
13656
13708
|
* @private
|
|
13657
13709
|
*/ function isSameAttributes(elm, attrs) {
|
|
13658
|
-
if (!elm.attributes.length && !(0,jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_0__.size)(attrs)) {
|
|
13659
|
-
return true;
|
|
13660
|
-
}
|
|
13661
13710
|
if (!(0,jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_0__.size)(attrs)) {
|
|
13662
13711
|
return true;
|
|
13663
13712
|
}
|
|
@@ -13708,7 +13757,8 @@ function elementsEqualAttributes(elm1, elm2) {
|
|
|
13708
13757
|
* @param commitStyle - style commit
|
|
13709
13758
|
* @param elm - checked item
|
|
13710
13759
|
* @param strict - strict mode - false - the default tag is suitable for us if it is also in the commit
|
|
13711
|
-
* @param strictStyle - strict style mode - true - the element
|
|
13760
|
+
* @param strictStyle - strict style mode - true - the element must have the same style keys AND values
|
|
13761
|
+
* as in the commit, false - matching style keys are enough
|
|
13712
13762
|
* @private
|
|
13713
13763
|
*/ function isSuitElement(commitStyle, elm, strict) {
|
|
13714
13764
|
var strictStyle = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;
|
|
@@ -13823,6 +13873,13 @@ function unwrapList(mode, list, li, jodit, cs) {
|
|
|
13823
13873
|
(0,jodit_core_selection_style_api_extract__WEBPACK_IMPORTED_MODULE_2__.extractSelectedPart)(list, li, jodit);
|
|
13824
13874
|
(0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1__.assert)(jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(li.parentElement), 'Element should be inside the list');
|
|
13825
13875
|
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.unwrap(li.parentElement);
|
|
13876
|
+
// In the REPLACE mode the content will be immediately wrapped in a `li`
|
|
13877
|
+
// of the new list inside `wrapList`, so it should stay in the document.
|
|
13878
|
+
// Replacing it with a fragment here would dissolve the content
|
|
13879
|
+
// (with `enter: 'br'`) and the new list would never be inserted.
|
|
13880
|
+
if (mode === jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_4__.REPLACE) {
|
|
13881
|
+
return li;
|
|
13882
|
+
}
|
|
13826
13883
|
return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(li, jodit.o.enter.toLowerCase() !== 'br' ? jodit.o.enter : jodit.createInside.fragment(), jodit.createInside);
|
|
13827
13884
|
}
|
|
13828
13885
|
|
|
@@ -13993,7 +14050,9 @@ function toggleClass(jodit, value, elm, mode, dry) {
|
|
|
13993
14050
|
function toggleAttribute(jodit, value, elm, key, dry, mode) {
|
|
13994
14051
|
(0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_7__.assert)((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__.isString)(value) || (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__.isNumber)(value) || (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__.isBoolean)(value) || value == null, 'Attribute value must be a string or number or boolean or null');
|
|
13995
14052
|
var hook = jodit.e.fire.bind(jodit.e, "".concat(jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__._PREFIX, "AfterToggleAttribute"));
|
|
13996
|
-
|
|
14053
|
+
// `attr()` getter always returns a string, so a number/boolean value
|
|
14054
|
+
// must be normalized, otherwise the toggle-off branch is unreachable
|
|
14055
|
+
if ((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_7__.attr)(elm, key) === (value == null ? value : String(value))) {
|
|
13997
14056
|
!dry && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_7__.attr)(elm, key, null);
|
|
13998
14057
|
mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__.UNSET;
|
|
13999
14058
|
!dry && hook(mode, elm, key, value);
|
|
@@ -14367,7 +14426,7 @@ var CommitStyle = /*#__PURE__*/ function() {
|
|
|
14367
14426
|
if (!data) {
|
|
14368
14427
|
return false;
|
|
14369
14428
|
}
|
|
14370
|
-
return data[key];
|
|
14429
|
+
return Boolean(data[key]);
|
|
14371
14430
|
}
|
|
14372
14431
|
},
|
|
14373
14432
|
{
|
|
@@ -14394,7 +14453,7 @@ var CommitStyle = /*#__PURE__*/ function() {
|
|
|
14394
14453
|
{
|
|
14395
14454
|
key: "elementIsBlock",
|
|
14396
14455
|
get: /**
|
|
14397
|
-
* New element is
|
|
14456
|
+
* New element is a block element
|
|
14398
14457
|
*/ function get() {
|
|
14399
14458
|
return Boolean(this.options.element && jodit_core_constants__WEBPACK_IMPORTED_MODULE_3__.IS_BLOCK.test(this.options.element));
|
|
14400
14459
|
}
|
|
@@ -48332,6 +48391,11 @@ var AceEditor = /*#__PURE__*/ function(SourceEditor) {
|
|
|
48332
48391
|
_this.instance.setOption('rtlText', true);
|
|
48333
48392
|
_this.instance.setOption('rtl', true);
|
|
48334
48393
|
}
|
|
48394
|
+
// Forward every native ACE option the user provided (theme,
|
|
48395
|
+
// mode, fontSize, tabSize, …). Without this only the handful of
|
|
48396
|
+
// keys explicitly wired below were applied and extras such as
|
|
48397
|
+
// `fontSize` were silently ignored. See #1285
|
|
48398
|
+
_this.instance.setOptions(editor.o.sourceEditorNativeOptions);
|
|
48335
48399
|
_this.instance.setTheme(editor.o.sourceEditorNativeOptions.theme);
|
|
48336
48400
|
_this.instance.renderer.setShowGutter(editor.o.sourceEditorNativeOptions.showGutter);
|
|
48337
48401
|
_this.instance.getSession().setMode(editor.o.sourceEditorNativeOptions.mode);
|