@tailor-cms/ce-html-edit 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +54 -1
- package/dist/index.cjs +356 -275
- package/dist/index.js +356 -275
- package/package.json +18 -10
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp$2(target, "default", {
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp$2(target, "default", {
|
|
21
21
|
value: mod,
|
|
22
22
|
enumerable: true
|
|
23
23
|
}) : target, mod));
|
|
@@ -248,8 +248,10 @@ var Fragment$1 = class Fragment$1 {
|
|
|
248
248
|
let text = "", first = true;
|
|
249
249
|
this.nodesBetween(from, to, (node, pos) => {
|
|
250
250
|
let nodeText = node.isText ? node.text.slice(Math.max(from, pos) - pos, to - pos) : !node.isLeaf ? "" : leafText ? typeof leafText === "function" ? leafText(node) : leafText : node.type.spec.leafText ? node.type.spec.leafText(node) : "";
|
|
251
|
-
if (node.isBlock && (node.isLeaf && nodeText || node.isTextblock) && blockSeparator)
|
|
252
|
-
|
|
251
|
+
if (node.isBlock && (node.isLeaf && nodeText || node.isTextblock) && blockSeparator) {
|
|
252
|
+
if (first) first = false;
|
|
253
|
+
else text += blockSeparator;
|
|
254
|
+
}
|
|
253
255
|
text += nodeText;
|
|
254
256
|
}, 0);
|
|
255
257
|
return text;
|
|
@@ -278,8 +280,10 @@ var Fragment$1 = class Fragment$1 {
|
|
|
278
280
|
if (to > from) for (let i = 0, pos = 0; pos < to; i++) {
|
|
279
281
|
let child = this.content[i], end = pos + child.nodeSize;
|
|
280
282
|
if (end > from) {
|
|
281
|
-
if (pos < from || end > to)
|
|
282
|
-
|
|
283
|
+
if (pos < from || end > to) {
|
|
284
|
+
if (child.isText) child = child.cut(Math.max(0, from - pos), Math.min(child.text.length, to - pos));
|
|
285
|
+
else child = child.cut(Math.max(0, from - pos - 1), Math.min(child.content.size, to - pos - 1));
|
|
286
|
+
}
|
|
283
287
|
result.push(child);
|
|
284
288
|
size += child.nodeSize;
|
|
285
289
|
}
|
|
@@ -1063,7 +1067,8 @@ var ResolveCache = class {
|
|
|
1063
1067
|
this.i = 0;
|
|
1064
1068
|
}
|
|
1065
1069
|
};
|
|
1066
|
-
var resolveCacheSize = 12
|
|
1070
|
+
var resolveCacheSize = 12;
|
|
1071
|
+
var resolveCache = /* @__PURE__ */ new WeakMap();
|
|
1067
1072
|
/**
|
|
1068
1073
|
Represents a flat range of content, i.e. one that starts and
|
|
1069
1074
|
ends in the same node.
|
|
@@ -1807,8 +1812,10 @@ function parseNum(stream) {
|
|
|
1807
1812
|
}
|
|
1808
1813
|
function parseExprRange(stream, expr) {
|
|
1809
1814
|
let min = parseNum(stream), max = min;
|
|
1810
|
-
if (stream.eat(","))
|
|
1811
|
-
|
|
1815
|
+
if (stream.eat(",")) {
|
|
1816
|
+
if (stream.next != "}") max = parseNum(stream);
|
|
1817
|
+
else max = -1;
|
|
1818
|
+
}
|
|
1812
1819
|
if (!stream.eat("}")) stream.err("Unclosed braced range");
|
|
1813
1820
|
return {
|
|
1814
1821
|
type: "range",
|
|
@@ -2550,10 +2557,12 @@ var listTags = {
|
|
|
2550
2557
|
ol: true,
|
|
2551
2558
|
ul: true
|
|
2552
2559
|
};
|
|
2553
|
-
var OPT_PRESERVE_WS = 1
|
|
2560
|
+
var OPT_PRESERVE_WS = 1;
|
|
2561
|
+
var OPT_PRESERVE_WS_FULL = 2;
|
|
2562
|
+
var OPT_OPEN_LEFT = 4;
|
|
2554
2563
|
function wsOptionsFor(type, preserveWhitespace, base) {
|
|
2555
2564
|
if (preserveWhitespace != null) return (preserveWhitespace ? OPT_PRESERVE_WS : 0) | (preserveWhitespace === "full" ? OPT_PRESERVE_WS_FULL : 0);
|
|
2556
|
-
return type && type.whitespace == "pre" ?
|
|
2565
|
+
return type && type.whitespace == "pre" ? 3 : base & -5;
|
|
2557
2566
|
}
|
|
2558
2567
|
var NodeContext = class {
|
|
2559
2568
|
constructor(type, attrs, marks, solid, match, options) {
|
|
@@ -3061,11 +3070,14 @@ function suspiciousAttributes(attrs) {
|
|
|
3061
3070
|
function suspiciousAttributesInner(attrs) {
|
|
3062
3071
|
let result = null;
|
|
3063
3072
|
function scan(value) {
|
|
3064
|
-
if (value && typeof value == "object")
|
|
3065
|
-
if (
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3073
|
+
if (value && typeof value == "object") {
|
|
3074
|
+
if (Array.isArray(value)) {
|
|
3075
|
+
if (typeof value[0] == "string") {
|
|
3076
|
+
if (!result) result = [];
|
|
3077
|
+
result.push(value);
|
|
3078
|
+
} else for (let i = 0; i < value.length; i++) scan(value[i]);
|
|
3079
|
+
} else for (let prop in value) scan(value[prop]);
|
|
3080
|
+
}
|
|
3069
3081
|
}
|
|
3070
3082
|
scan(attrs);
|
|
3071
3083
|
return result;
|
|
@@ -3129,7 +3141,10 @@ function recoverIndex(value) {
|
|
|
3129
3141
|
function recoverOffset(value) {
|
|
3130
3142
|
return (value - (value & lower16)) / factor16;
|
|
3131
3143
|
}
|
|
3132
|
-
var DEL_BEFORE = 1
|
|
3144
|
+
var DEL_BEFORE = 1;
|
|
3145
|
+
var DEL_AFTER = 2;
|
|
3146
|
+
var DEL_ACROSS = 4;
|
|
3147
|
+
var DEL_SIDE = 8;
|
|
3133
3148
|
/**
|
|
3134
3149
|
An object representing a mapped position with extra
|
|
3135
3150
|
information.
|
|
@@ -3155,13 +3170,13 @@ var MapResult = class {
|
|
|
3155
3170
|
Tells you whether the token before the mapped position was deleted.
|
|
3156
3171
|
*/
|
|
3157
3172
|
get deletedBefore() {
|
|
3158
|
-
return (this.delInfo &
|
|
3173
|
+
return (this.delInfo & 5) > 0;
|
|
3159
3174
|
}
|
|
3160
3175
|
/**
|
|
3161
3176
|
True when the token after the mapped position was deleted.
|
|
3162
3177
|
*/
|
|
3163
3178
|
get deletedAfter() {
|
|
3164
|
-
return (this.delInfo &
|
|
3179
|
+
return (this.delInfo & 6) > 0;
|
|
3165
3180
|
}
|
|
3166
3181
|
/**
|
|
3167
3182
|
Tells whether any of the steps mapped through deletes across the
|
|
@@ -3880,8 +3895,10 @@ function addMark(tr, from, to, mark) {
|
|
|
3880
3895
|
if (!mark.isInSet(marks) && parent.type.allowsMarkType(mark.type)) {
|
|
3881
3896
|
let start = Math.max(pos, from), end = Math.min(pos + node.nodeSize, to);
|
|
3882
3897
|
let newSet = mark.addToSet(marks);
|
|
3883
|
-
for (let i = 0; i < marks.length; i++) if (!marks[i].isInSet(newSet))
|
|
3884
|
-
|
|
3898
|
+
for (let i = 0; i < marks.length; i++) if (!marks[i].isInSet(newSet)) {
|
|
3899
|
+
if (removing && removing.to == start && removing.mark.eq(marks[i])) removing.to = end;
|
|
3900
|
+
else removed.push(removing = new RemoveMarkStep(start, end, marks[i]));
|
|
3901
|
+
}
|
|
3885
3902
|
if (adding && adding.to == start) adding.to = end;
|
|
3886
3903
|
else added.push(adding = new AddMarkStep(start, end, mark));
|
|
3887
3904
|
}
|
|
@@ -5236,10 +5253,12 @@ var TextSelection = class TextSelection extends Selection$1 {
|
|
|
5236
5253
|
if (found) $head = found.$head;
|
|
5237
5254
|
else return Selection$1.near($head, bias);
|
|
5238
5255
|
}
|
|
5239
|
-
if (!$anchor.parent.inlineContent)
|
|
5240
|
-
|
|
5241
|
-
|
|
5242
|
-
|
|
5256
|
+
if (!$anchor.parent.inlineContent) {
|
|
5257
|
+
if (dPos == 0) $anchor = $head;
|
|
5258
|
+
else {
|
|
5259
|
+
$anchor = (Selection$1.findFrom($anchor, -bias, true) || Selection$1.findFrom($anchor, bias, true)).$anchor;
|
|
5260
|
+
if ($anchor.pos < $head.pos != dPos < 0) $anchor = $head;
|
|
5261
|
+
}
|
|
5243
5262
|
}
|
|
5244
5263
|
return new TextSelection($anchor, $head);
|
|
5245
5264
|
}
|
|
@@ -5404,7 +5423,9 @@ function selectionToInsertionEnd$1(tr, startLen, bias) {
|
|
|
5404
5423
|
});
|
|
5405
5424
|
tr.setSelection(Selection$1.near(tr.doc.resolve(end), bias));
|
|
5406
5425
|
}
|
|
5407
|
-
var UPDATED_SEL = 1
|
|
5426
|
+
var UPDATED_SEL = 1;
|
|
5427
|
+
var UPDATED_MARKS = 2;
|
|
5428
|
+
var UPDATED_SCROLL = 4;
|
|
5408
5429
|
/**
|
|
5409
5430
|
An editor state transaction, which can be applied to a state to
|
|
5410
5431
|
create an updated state. Use
|
|
@@ -5461,7 +5482,7 @@ var Transaction = class extends Transform {
|
|
|
5461
5482
|
if (selection.$from.doc != this.doc) throw new RangeError("Selection passed to setSelection must point at the current document");
|
|
5462
5483
|
this.curSelection = selection;
|
|
5463
5484
|
this.curSelectionFor = this.steps.length;
|
|
5464
|
-
this.updated = (this.updated | UPDATED_SEL) &
|
|
5485
|
+
this.updated = (this.updated | UPDATED_SEL) & -3;
|
|
5465
5486
|
this.storedMarks = null;
|
|
5466
5487
|
return this;
|
|
5467
5488
|
}
|
|
@@ -5511,7 +5532,7 @@ var Transaction = class extends Transform {
|
|
|
5511
5532
|
*/
|
|
5512
5533
|
addStep(step, doc) {
|
|
5513
5534
|
super.addStep(step, doc);
|
|
5514
|
-
this.updated = this.updated &
|
|
5535
|
+
this.updated = this.updated & -3;
|
|
5515
5536
|
this.storedMarks = null;
|
|
5516
5537
|
}
|
|
5517
5538
|
/**
|
|
@@ -6635,9 +6656,10 @@ function scanFor(node, off, targetNode, targetOff, dir) {
|
|
|
6635
6656
|
node = parent;
|
|
6636
6657
|
} else if (node.nodeType == 1) {
|
|
6637
6658
|
let child = node.childNodes[off + (dir < 0 ? -1 : 0)];
|
|
6638
|
-
if (child.nodeType == 1 && child.contentEditable == "false")
|
|
6639
|
-
|
|
6640
|
-
|
|
6659
|
+
if (child.nodeType == 1 && child.contentEditable == "false") {
|
|
6660
|
+
if ((_a = child.pmViewDesc) === null || _a === void 0 ? void 0 : _a.ignoreForSelection) off += dir;
|
|
6661
|
+
else return false;
|
|
6662
|
+
} else {
|
|
6641
6663
|
node = child;
|
|
6642
6664
|
off = dir < 0 ? nodeSize(node) : 0;
|
|
6643
6665
|
}
|
|
@@ -6785,18 +6807,20 @@ function scrollRectIntoView(view, rect, startDOM) {
|
|
|
6785
6807
|
else if (rect.bottom > bounding.bottom - getSide$1(scrollThreshold, "bottom")) moveY = rect.bottom - rect.top > bounding.bottom - bounding.top ? rect.top + getSide$1(scrollMargin, "top") - bounding.top : rect.bottom - bounding.bottom + getSide$1(scrollMargin, "bottom");
|
|
6786
6808
|
if (rect.left < bounding.left + getSide$1(scrollThreshold, "left")) moveX = -(bounding.left - rect.left + getSide$1(scrollMargin, "left"));
|
|
6787
6809
|
else if (rect.right > bounding.right - getSide$1(scrollThreshold, "right")) moveX = rect.right - bounding.right + getSide$1(scrollMargin, "right");
|
|
6788
|
-
if (moveX || moveY)
|
|
6789
|
-
|
|
6790
|
-
|
|
6791
|
-
|
|
6792
|
-
|
|
6793
|
-
|
|
6794
|
-
|
|
6795
|
-
|
|
6796
|
-
|
|
6797
|
-
|
|
6798
|
-
|
|
6799
|
-
|
|
6810
|
+
if (moveX || moveY) {
|
|
6811
|
+
if (atTop) doc.defaultView.scrollBy(moveX, moveY);
|
|
6812
|
+
else {
|
|
6813
|
+
let startX = elt.scrollLeft, startY = elt.scrollTop;
|
|
6814
|
+
if (moveY) elt.scrollTop += moveY;
|
|
6815
|
+
if (moveX) elt.scrollLeft += moveX;
|
|
6816
|
+
let dX = elt.scrollLeft - startX, dY = elt.scrollTop - startY;
|
|
6817
|
+
rect = {
|
|
6818
|
+
left: rect.left - dX,
|
|
6819
|
+
top: rect.top - dY,
|
|
6820
|
+
right: rect.right - dX,
|
|
6821
|
+
bottom: rect.bottom - dY
|
|
6822
|
+
};
|
|
6823
|
+
}
|
|
6800
6824
|
}
|
|
6801
6825
|
let pos = atTop ? "fixed" : getComputedStyle(parent).position;
|
|
6802
6826
|
if (/^(fixed|sticky)$/.test(pos)) break;
|
|
@@ -7028,27 +7052,29 @@ var BIDI = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;
|
|
|
7028
7052
|
function coordsAtPos(view, pos, side) {
|
|
7029
7053
|
let { node, offset, atom } = view.docView.domFromPos(pos, side < 0 ? -1 : 1);
|
|
7030
7054
|
let supportEmptyRange = webkit || gecko;
|
|
7031
|
-
if (node.nodeType == 3)
|
|
7032
|
-
|
|
7033
|
-
|
|
7034
|
-
|
|
7035
|
-
|
|
7036
|
-
|
|
7037
|
-
|
|
7055
|
+
if (node.nodeType == 3) {
|
|
7056
|
+
if (supportEmptyRange && (BIDI.test(node.nodeValue) || (side < 0 ? !offset : offset == node.nodeValue.length))) {
|
|
7057
|
+
let rect = singleRect(textRange(node, offset, offset), side);
|
|
7058
|
+
if (gecko && offset && /\s/.test(node.nodeValue[offset - 1]) && offset < node.nodeValue.length) {
|
|
7059
|
+
let rectBefore = singleRect(textRange(node, offset - 1, offset - 1), -1);
|
|
7060
|
+
if (rectBefore.top == rect.top) {
|
|
7061
|
+
let rectAfter = singleRect(textRange(node, offset, offset + 1), -1);
|
|
7062
|
+
if (rectAfter.top != rect.top) return flattenV(rectAfter, rectAfter.left < rectBefore.left);
|
|
7063
|
+
}
|
|
7038
7064
|
}
|
|
7065
|
+
return rect;
|
|
7066
|
+
} else {
|
|
7067
|
+
let from = offset, to = offset, takeSide = side < 0 ? 1 : -1;
|
|
7068
|
+
if (side < 0 && !offset) {
|
|
7069
|
+
to++;
|
|
7070
|
+
takeSide = -1;
|
|
7071
|
+
} else if (side >= 0 && offset == node.nodeValue.length) {
|
|
7072
|
+
from--;
|
|
7073
|
+
takeSide = 1;
|
|
7074
|
+
} else if (side < 0) from--;
|
|
7075
|
+
else to++;
|
|
7076
|
+
return flattenV(singleRect(textRange(node, from, to), takeSide), takeSide < 0);
|
|
7039
7077
|
}
|
|
7040
|
-
return rect;
|
|
7041
|
-
} else {
|
|
7042
|
-
let from = offset, to = offset, takeSide = side < 0 ? 1 : -1;
|
|
7043
|
-
if (side < 0 && !offset) {
|
|
7044
|
-
to++;
|
|
7045
|
-
takeSide = -1;
|
|
7046
|
-
} else if (side >= 0 && offset == node.nodeValue.length) {
|
|
7047
|
-
from--;
|
|
7048
|
-
takeSide = 1;
|
|
7049
|
-
} else if (side < 0) from--;
|
|
7050
|
-
else to++;
|
|
7051
|
-
return flattenV(singleRect(textRange(node, from, to), takeSide), takeSide < 0);
|
|
7052
7078
|
}
|
|
7053
7079
|
if (!view.state.doc.resolve(pos - (atom || 0)).parent.inlineContent) {
|
|
7054
7080
|
if (atom == null && offset && (side < 0 || offset == nodeSize(node))) {
|
|
@@ -7165,7 +7191,10 @@ function endOfTextblock(view, state, dir) {
|
|
|
7165
7191
|
cachedDir = dir;
|
|
7166
7192
|
return cachedResult = dir == "up" || dir == "down" ? endOfTextblockVertical(view, state, dir) : endOfTextblockHorizontal(view, state, dir);
|
|
7167
7193
|
}
|
|
7168
|
-
var NOT_DIRTY = 0
|
|
7194
|
+
var NOT_DIRTY = 0;
|
|
7195
|
+
var CHILD_DIRTY = 1;
|
|
7196
|
+
var CONTENT_DIRTY = 2;
|
|
7197
|
+
var NODE_DIRTY = 3;
|
|
7169
7198
|
var ViewDesc = class {
|
|
7170
7199
|
constructor(parent, children, dom, contentDOM) {
|
|
7171
7200
|
this.parent = parent;
|
|
@@ -7226,24 +7255,26 @@ var ViewDesc = class {
|
|
|
7226
7255
|
return this.posAtStart + this.size - 2 * this.border;
|
|
7227
7256
|
}
|
|
7228
7257
|
localPosFromDOM(dom, offset, bias) {
|
|
7229
|
-
if (this.contentDOM && this.contentDOM.contains(dom.nodeType == 1 ? dom : dom.parentNode))
|
|
7230
|
-
|
|
7231
|
-
|
|
7232
|
-
|
|
7233
|
-
|
|
7234
|
-
|
|
7235
|
-
|
|
7236
|
-
|
|
7237
|
-
|
|
7238
|
-
|
|
7239
|
-
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7258
|
+
if (this.contentDOM && this.contentDOM.contains(dom.nodeType == 1 ? dom : dom.parentNode)) {
|
|
7259
|
+
if (bias < 0) {
|
|
7260
|
+
let domBefore, desc;
|
|
7261
|
+
if (dom == this.contentDOM) domBefore = dom.childNodes[offset - 1];
|
|
7262
|
+
else {
|
|
7263
|
+
while (dom.parentNode != this.contentDOM) dom = dom.parentNode;
|
|
7264
|
+
domBefore = dom.previousSibling;
|
|
7265
|
+
}
|
|
7266
|
+
while (domBefore && !((desc = domBefore.pmViewDesc) && desc.parent == this)) domBefore = domBefore.previousSibling;
|
|
7267
|
+
return domBefore ? this.posBeforeChild(desc) + desc.size : this.posAtStart;
|
|
7268
|
+
} else {
|
|
7269
|
+
let domAfter, desc;
|
|
7270
|
+
if (dom == this.contentDOM) domAfter = dom.childNodes[offset];
|
|
7271
|
+
else {
|
|
7272
|
+
while (dom.parentNode != this.contentDOM) dom = dom.parentNode;
|
|
7273
|
+
domAfter = dom.nextSibling;
|
|
7274
|
+
}
|
|
7275
|
+
while (domAfter && !((desc = domAfter.pmViewDesc) && desc.parent == this)) domAfter = domAfter.nextSibling;
|
|
7276
|
+
return domAfter ? this.posBeforeChild(desc) : this.posAtEnd;
|
|
7244
7277
|
}
|
|
7245
|
-
while (domAfter && !((desc = domAfter.pmViewDesc) && desc.parent == this)) domAfter = domAfter.nextSibling;
|
|
7246
|
-
return domAfter ? this.posBeforeChild(desc) : this.posAtEnd;
|
|
7247
7278
|
}
|
|
7248
7279
|
let atEnd;
|
|
7249
7280
|
if (dom == this.dom && this.contentDOM) atEnd = offset > domIndex(this.contentDOM);
|
|
@@ -7269,8 +7300,10 @@ var ViewDesc = class {
|
|
|
7269
7300
|
nearestDesc(dom, onlyNodes = false) {
|
|
7270
7301
|
for (let first = true, cur = dom; cur; cur = cur.parentNode) {
|
|
7271
7302
|
let desc = this.getDesc(cur), nodeDOM;
|
|
7272
|
-
if (desc && (!onlyNodes || desc.node))
|
|
7273
|
-
|
|
7303
|
+
if (desc && (!onlyNodes || desc.node)) {
|
|
7304
|
+
if (first && (nodeDOM = desc.nodeDOM) && !(nodeDOM.nodeType == 1 ? nodeDOM.contains(dom.nodeType == 1 ? dom : dom.parentNode) : nodeDOM == dom)) first = false;
|
|
7305
|
+
else return desc;
|
|
7306
|
+
}
|
|
7274
7307
|
}
|
|
7275
7308
|
}
|
|
7276
7309
|
getDesc(dom) {
|
|
@@ -8219,13 +8252,17 @@ function iterDeco(parent, deco, onWidget, onNode) {
|
|
|
8219
8252
|
let widget, widgets;
|
|
8220
8253
|
while (decoIndex < locals.length && locals[decoIndex].to == offset) {
|
|
8221
8254
|
let next = locals[decoIndex++];
|
|
8222
|
-
if (next.widget)
|
|
8223
|
-
|
|
8255
|
+
if (next.widget) {
|
|
8256
|
+
if (!widget) widget = next;
|
|
8257
|
+
else (widgets || (widgets = [widget])).push(next);
|
|
8258
|
+
}
|
|
8259
|
+
}
|
|
8260
|
+
if (widget) {
|
|
8261
|
+
if (widgets) {
|
|
8262
|
+
widgets.sort(compareSide);
|
|
8263
|
+
for (let i = 0; i < widgets.length; i++) onWidget(widgets[i], parentIndex, !!restNode);
|
|
8264
|
+
} else onWidget(widget, parentIndex, !!restNode);
|
|
8224
8265
|
}
|
|
8225
|
-
if (widget) if (widgets) {
|
|
8226
|
-
widgets.sort(compareSide);
|
|
8227
|
-
for (let i = 0; i < widgets.length; i++) onWidget(widgets[i], parentIndex, !!restNode);
|
|
8228
|
-
} else onWidget(widget, parentIndex, !!restNode);
|
|
8229
8266
|
let child, index;
|
|
8230
8267
|
if (restNode) {
|
|
8231
8268
|
index = -1;
|
|
@@ -8515,18 +8552,19 @@ function skipIgnoredNodesBefore(view) {
|
|
|
8515
8552
|
if (!node) return;
|
|
8516
8553
|
let moveNode, moveOffset, force = false;
|
|
8517
8554
|
if (gecko && node.nodeType == 1 && offset < nodeLen(node) && isIgnorable(node.childNodes[offset], -1)) force = true;
|
|
8518
|
-
for (;;) if (offset > 0)
|
|
8519
|
-
|
|
8520
|
-
|
|
8521
|
-
|
|
8522
|
-
|
|
8523
|
-
|
|
8524
|
-
|
|
8525
|
-
|
|
8526
|
-
|
|
8527
|
-
|
|
8528
|
-
|
|
8529
|
-
|
|
8555
|
+
for (;;) if (offset > 0) {
|
|
8556
|
+
if (node.nodeType != 1) break;
|
|
8557
|
+
else {
|
|
8558
|
+
let before = node.childNodes[offset - 1];
|
|
8559
|
+
if (isIgnorable(before, -1)) {
|
|
8560
|
+
moveNode = node;
|
|
8561
|
+
moveOffset = --offset;
|
|
8562
|
+
} else if (before.nodeType == 3) {
|
|
8563
|
+
node = before;
|
|
8564
|
+
offset = node.nodeValue.length;
|
|
8565
|
+
} else break;
|
|
8566
|
+
}
|
|
8567
|
+
} else if (isBlockNode(node)) break;
|
|
8530
8568
|
else {
|
|
8531
8569
|
let prev = node.previousSibling;
|
|
8532
8570
|
while (prev && isIgnorable(prev, -1)) {
|
|
@@ -9697,7 +9735,8 @@ var Decoration = class Decoration {
|
|
|
9697
9735
|
return this.type instanceof WidgetType;
|
|
9698
9736
|
}
|
|
9699
9737
|
};
|
|
9700
|
-
var none = []
|
|
9738
|
+
var none = [];
|
|
9739
|
+
var noSpec = {};
|
|
9701
9740
|
/**
|
|
9702
9741
|
A collection of [decorations](https://prosemirror.net/docs/ref/#view.Decoration), organized in such
|
|
9703
9742
|
a way that the drawing algorithm can efficiently use and compare
|
|
@@ -10511,21 +10550,23 @@ function readDOMChange(view, from, to, typeOver, addedNodes) {
|
|
|
10511
10550
|
view.input.lastIOSEnter = 0;
|
|
10512
10551
|
return;
|
|
10513
10552
|
}
|
|
10514
|
-
if (!change)
|
|
10515
|
-
|
|
10516
|
-
|
|
10517
|
-
|
|
10518
|
-
|
|
10519
|
-
|
|
10520
|
-
|
|
10521
|
-
|
|
10522
|
-
|
|
10523
|
-
|
|
10524
|
-
|
|
10525
|
-
|
|
10553
|
+
if (!change) {
|
|
10554
|
+
if (typeOver && sel instanceof TextSelection && !sel.empty && sel.$head.sameParent(sel.$anchor) && !view.composing && !(parse.sel && parse.sel.anchor != parse.sel.head)) change = {
|
|
10555
|
+
start: sel.from,
|
|
10556
|
+
endA: sel.to,
|
|
10557
|
+
endB: sel.to
|
|
10558
|
+
};
|
|
10559
|
+
else {
|
|
10560
|
+
if (parse.sel) {
|
|
10561
|
+
let sel = resolveSelection(view, view.state.doc, parse.sel);
|
|
10562
|
+
if (sel && !sel.eq(view.state.selection)) {
|
|
10563
|
+
let tr = view.state.tr.setSelection(sel);
|
|
10564
|
+
if (compositionID) tr.setMeta("composition", compositionID);
|
|
10565
|
+
view.dispatch(tr);
|
|
10566
|
+
}
|
|
10526
10567
|
}
|
|
10568
|
+
return;
|
|
10527
10569
|
}
|
|
10528
|
-
return;
|
|
10529
10570
|
}
|
|
10530
10571
|
if (view.state.selection.from < view.state.selection.to && change.start == change.endB && view.state.selection instanceof TextSelection) {
|
|
10531
10572
|
if (change.start > view.state.selection.from && change.start <= view.state.selection.from + 2 && view.state.selection.from >= parse.from) change.start = view.state.selection.from;
|
|
@@ -10572,26 +10613,27 @@ function readDOMChange(view, from, to, typeOver, addedNodes) {
|
|
|
10572
10613
|
return tr.scrollIntoView();
|
|
10573
10614
|
};
|
|
10574
10615
|
let markChange;
|
|
10575
|
-
if (inlineChange)
|
|
10576
|
-
if (
|
|
10577
|
-
|
|
10578
|
-
|
|
10579
|
-
|
|
10580
|
-
|
|
10581
|
-
|
|
10582
|
-
|
|
10583
|
-
|
|
10584
|
-
|
|
10585
|
-
|
|
10586
|
-
|
|
10587
|
-
|
|
10588
|
-
|
|
10589
|
-
|
|
10590
|
-
|
|
10591
|
-
|
|
10592
|
-
|
|
10616
|
+
if (inlineChange) {
|
|
10617
|
+
if ($from.pos == $to.pos) {
|
|
10618
|
+
if (ie$1 && ie_version <= 11 && $from.parentOffset == 0) {
|
|
10619
|
+
view.domObserver.suppressSelectionUpdates();
|
|
10620
|
+
setTimeout(() => selectionToDOM(view), 20);
|
|
10621
|
+
}
|
|
10622
|
+
let tr = mkTr(view.state.tr.delete(chFrom, chTo));
|
|
10623
|
+
let marks = doc.resolve(change.start).marksAcross(doc.resolve(change.endA));
|
|
10624
|
+
if (marks) tr.ensureMarks(marks);
|
|
10625
|
+
view.dispatch(tr);
|
|
10626
|
+
} else if (change.endA == change.endB && (markChange = isMarkChange($from.parent.content.cut($from.parentOffset, $to.parentOffset), $fromA.parent.content.cut($fromA.parentOffset, change.endA - $fromA.start())))) {
|
|
10627
|
+
let tr = mkTr(view.state.tr);
|
|
10628
|
+
if (markChange.type == "add") tr.addMark(chFrom, chTo, markChange.mark);
|
|
10629
|
+
else tr.removeMark(chFrom, chTo, markChange.mark);
|
|
10630
|
+
view.dispatch(tr);
|
|
10631
|
+
} else if ($from.parent.child($from.index()).isText && $from.index() == $to.index() - ($to.textOffset ? 0 : 1)) {
|
|
10632
|
+
let text = $from.parent.textBetween($from.parentOffset, $to.parentOffset);
|
|
10633
|
+
let deflt = () => mkTr(view.state.tr.insertText(text, chFrom, chTo));
|
|
10634
|
+
if (!view.someProp("handleTextInput", (f) => f(view, chFrom, chTo, text, deflt))) view.dispatch(deflt());
|
|
10635
|
+
} else view.dispatch(mkTr());
|
|
10593
10636
|
} else view.dispatch(mkTr());
|
|
10594
|
-
else view.dispatch(mkTr());
|
|
10595
10637
|
}
|
|
10596
10638
|
function resolveSelection(view, doc, parsedSel) {
|
|
10597
10639
|
if (Math.max(parsedSel.anchor, parsedSel.head) > doc.content.size) return null;
|
|
@@ -11287,9 +11329,10 @@ function normalizeKeyName$1(name) {
|
|
|
11287
11329
|
else if (/^a(lt)?$/i.test(mod)) alt = true;
|
|
11288
11330
|
else if (/^(c|ctrl|control)$/i.test(mod)) ctrl = true;
|
|
11289
11331
|
else if (/^s(hift)?$/i.test(mod)) shift = true;
|
|
11290
|
-
else if (/^mod$/i.test(mod))
|
|
11291
|
-
|
|
11292
|
-
|
|
11332
|
+
else if (/^mod$/i.test(mod)) {
|
|
11333
|
+
if (mac) meta = true;
|
|
11334
|
+
else ctrl = true;
|
|
11335
|
+
} else throw new Error("Unrecognized modifier name: " + mod);
|
|
11293
11336
|
}
|
|
11294
11337
|
if (alt) result = "Alt-" + result;
|
|
11295
11338
|
if (ctrl) result = "Ctrl-" + result;
|
|
@@ -12043,9 +12086,10 @@ function normalizeKeyName(name) {
|
|
|
12043
12086
|
else if (/^a(lt)?$/i.test(mod)) alt = true;
|
|
12044
12087
|
else if (/^(c|ctrl|control)$/i.test(mod)) ctrl = true;
|
|
12045
12088
|
else if (/^s(hift)?$/i.test(mod)) shift = true;
|
|
12046
|
-
else if (/^mod$/i.test(mod))
|
|
12047
|
-
|
|
12048
|
-
|
|
12089
|
+
else if (/^mod$/i.test(mod)) {
|
|
12090
|
+
if (isiOS() || isMacOS()) meta = true;
|
|
12091
|
+
else ctrl = true;
|
|
12092
|
+
} else throw new Error(`Unrecognized modifier name: ${mod}`);
|
|
12049
12093
|
}
|
|
12050
12094
|
if (alt) result = `Alt-${result}`;
|
|
12051
12095
|
if (ctrl) result = `Ctrl-${result}`;
|
|
@@ -12934,27 +12978,29 @@ var setMark = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {
|
|
|
12934
12978
|
const { selection } = tr;
|
|
12935
12979
|
const { empty, ranges } = selection;
|
|
12936
12980
|
const type = getMarkType(typeOrName, state.schema);
|
|
12937
|
-
if (dispatch)
|
|
12938
|
-
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
if (
|
|
12951
|
-
|
|
12952
|
-
|
|
12953
|
-
|
|
12981
|
+
if (dispatch) {
|
|
12982
|
+
if (empty) {
|
|
12983
|
+
const oldAttributes = getMarkAttributes(state, type);
|
|
12984
|
+
tr.addStoredMark(type.create({
|
|
12985
|
+
...oldAttributes,
|
|
12986
|
+
...attributes
|
|
12987
|
+
}));
|
|
12988
|
+
} else ranges.forEach((range) => {
|
|
12989
|
+
const from = range.$from.pos;
|
|
12990
|
+
const to = range.$to.pos;
|
|
12991
|
+
state.doc.nodesBetween(from, to, (node, pos) => {
|
|
12992
|
+
const trimmedFrom = Math.max(pos, from);
|
|
12993
|
+
const trimmedTo = Math.min(pos + node.nodeSize, to);
|
|
12994
|
+
if (node.marks.find((mark) => mark.type === type)) node.marks.forEach((mark) => {
|
|
12995
|
+
if (type === mark.type) tr.addMark(trimmedFrom, trimmedTo, type.create({
|
|
12996
|
+
...mark.attrs,
|
|
12997
|
+
...attributes
|
|
12998
|
+
}));
|
|
12999
|
+
});
|
|
13000
|
+
else tr.addMark(trimmedFrom, trimmedTo, type.create(attributes));
|
|
12954
13001
|
});
|
|
12955
|
-
else tr.addMark(trimmedFrom, trimmedTo, type.create(attributes));
|
|
12956
13002
|
});
|
|
12957
|
-
}
|
|
13003
|
+
}
|
|
12958
13004
|
return canSetMark(state, tr, type);
|
|
12959
13005
|
};
|
|
12960
13006
|
var setMeta = (key, value) => ({ tr }) => {
|
|
@@ -13413,8 +13459,10 @@ var EventEmitter = class {
|
|
|
13413
13459
|
}
|
|
13414
13460
|
off(event, fn) {
|
|
13415
13461
|
const callbacks = this.callbacks[event];
|
|
13416
|
-
if (callbacks)
|
|
13417
|
-
|
|
13462
|
+
if (callbacks) {
|
|
13463
|
+
if (fn) this.callbacks[event] = callbacks.filter((callback) => callback !== fn);
|
|
13464
|
+
else delete this.callbacks[event];
|
|
13465
|
+
}
|
|
13418
13466
|
return this;
|
|
13419
13467
|
}
|
|
13420
13468
|
once(event, fn) {
|
|
@@ -13511,10 +13559,11 @@ function inputRulesPlugin(props) {
|
|
|
13511
13559
|
if (typeof text === "string") text = text;
|
|
13512
13560
|
else text = getHTMLFromFragment(Fragment$1.from(text), state.schema);
|
|
13513
13561
|
const { from } = simulatedInputMeta;
|
|
13562
|
+
const to = from + text.length;
|
|
13514
13563
|
run$2({
|
|
13515
13564
|
editor,
|
|
13516
13565
|
from,
|
|
13517
|
-
to
|
|
13566
|
+
to,
|
|
13518
13567
|
text,
|
|
13519
13568
|
rules,
|
|
13520
13569
|
plugin
|
|
@@ -13635,7 +13684,8 @@ var Mark = class _Mark extends Extendable {
|
|
|
13635
13684
|
* @param config - Mark configuration object or a function that returns a configuration object
|
|
13636
13685
|
*/
|
|
13637
13686
|
static create(config = {}) {
|
|
13638
|
-
|
|
13687
|
+
const resolvedConfig = typeof config === "function" ? config() : config;
|
|
13688
|
+
return new _Mark(resolvedConfig);
|
|
13639
13689
|
}
|
|
13640
13690
|
static handleExit({ editor, mark }) {
|
|
13641
13691
|
const { tr } = editor.state;
|
|
@@ -13742,12 +13792,13 @@ function pasteRulesPlugin(props) {
|
|
|
13742
13792
|
}
|
|
13743
13793
|
const processEvent = ({ state, from, to, rule, pasteEvt }) => {
|
|
13744
13794
|
const tr = state.tr;
|
|
13795
|
+
const chainableState = createChainableState({
|
|
13796
|
+
state,
|
|
13797
|
+
transaction: tr
|
|
13798
|
+
});
|
|
13745
13799
|
if (!run2({
|
|
13746
13800
|
editor,
|
|
13747
|
-
state:
|
|
13748
|
-
state,
|
|
13749
|
-
transaction: tr
|
|
13750
|
-
}),
|
|
13801
|
+
state: chainableState,
|
|
13751
13802
|
from: Math.max(from - 1, 0),
|
|
13752
13803
|
to: to.b - 1,
|
|
13753
13804
|
rule,
|
|
@@ -13959,6 +14010,7 @@ var ExtensionManager = class {
|
|
|
13959
14010
|
const nodeViewResult = addNodeView();
|
|
13960
14011
|
if (!nodeViewResult) return [];
|
|
13961
14012
|
const nodeview = (node, view, getPos, decorations, innerDecorations) => {
|
|
14013
|
+
const HTMLAttributes = getRenderedAttributes(node, extensionAttributes);
|
|
13962
14014
|
return nodeViewResult({
|
|
13963
14015
|
node,
|
|
13964
14016
|
view,
|
|
@@ -13967,7 +14019,7 @@ var ExtensionManager = class {
|
|
|
13967
14019
|
innerDecorations,
|
|
13968
14020
|
editor,
|
|
13969
14021
|
extension,
|
|
13970
|
-
HTMLAttributes
|
|
14022
|
+
HTMLAttributes
|
|
13971
14023
|
});
|
|
13972
14024
|
};
|
|
13973
14025
|
return [extension.name, nodeview];
|
|
@@ -14115,7 +14167,8 @@ var Extension = class _Extension extends Extendable {
|
|
|
14115
14167
|
* @param config - Extension configuration object or a function that returns a configuration object
|
|
14116
14168
|
*/
|
|
14117
14169
|
static create(config = {}) {
|
|
14118
|
-
|
|
14170
|
+
const resolvedConfig = typeof config === "function" ? config() : config;
|
|
14171
|
+
return new _Extension(resolvedConfig);
|
|
14119
14172
|
}
|
|
14120
14173
|
configure(options) {
|
|
14121
14174
|
return super.configure(options);
|
|
@@ -14485,7 +14538,8 @@ var NodePos = class _NodePos {
|
|
|
14485
14538
|
get parent() {
|
|
14486
14539
|
if (this.depth === 0) return null;
|
|
14487
14540
|
const parentPos = this.resolvedPos.start(this.resolvedPos.depth - 1);
|
|
14488
|
-
|
|
14541
|
+
const $pos = this.resolvedPos.doc.resolve(parentPos);
|
|
14542
|
+
return new _NodePos($pos, this.editor);
|
|
14489
14543
|
}
|
|
14490
14544
|
get before() {
|
|
14491
14545
|
let $pos = this.resolvedPos.doc.resolve(this.from - (this.isBlock ? 1 : 2));
|
|
@@ -14524,14 +14578,16 @@ var NodePos = class _NodePos {
|
|
|
14524
14578
|
let node = null;
|
|
14525
14579
|
let currentNode = this.parent;
|
|
14526
14580
|
while (currentNode && !node) {
|
|
14527
|
-
if (currentNode.node.type.name === selector)
|
|
14528
|
-
|
|
14529
|
-
|
|
14530
|
-
|
|
14531
|
-
|
|
14532
|
-
|
|
14533
|
-
|
|
14534
|
-
|
|
14581
|
+
if (currentNode.node.type.name === selector) {
|
|
14582
|
+
if (Object.keys(attributes).length > 0) {
|
|
14583
|
+
const nodeAttributes = currentNode.node.attrs;
|
|
14584
|
+
const attrKeys = Object.keys(attributes);
|
|
14585
|
+
for (let index = 0; index < attrKeys.length; index += 1) {
|
|
14586
|
+
const key = attrKeys[index];
|
|
14587
|
+
if (nodeAttributes[key] !== attributes[key]) break;
|
|
14588
|
+
}
|
|
14589
|
+
} else node = currentNode;
|
|
14590
|
+
}
|
|
14535
14591
|
currentNode = currentNode.parent;
|
|
14536
14592
|
}
|
|
14537
14593
|
return node;
|
|
@@ -15758,7 +15814,8 @@ function parseAttributes(attrString) {
|
|
|
15758
15814
|
if (idMatch) attributes.id = idMatch[1];
|
|
15759
15815
|
Array.from(tempString.matchAll(/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g)).forEach(([, key, quotedRef]) => {
|
|
15760
15816
|
var _a;
|
|
15761
|
-
const
|
|
15817
|
+
const quotedIndex = parseInt(((_a = quotedRef.match(/__QUOTED_(\d+)__/)) == null ? void 0 : _a[1]) || "0", 10);
|
|
15818
|
+
const quotedValue = quotedStrings[quotedIndex];
|
|
15762
15819
|
if (quotedValue) attributes[key] = quotedValue.slice(1, -1);
|
|
15763
15820
|
});
|
|
15764
15821
|
const cleanString = tempString.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g, "").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g, "").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g, "").trim();
|
|
@@ -15811,7 +15868,8 @@ function createAtomBlockMarkdownSpec(options) {
|
|
|
15811
15868
|
const regex = new RegExp(`^:::${blockName}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`);
|
|
15812
15869
|
const match = src.match(regex);
|
|
15813
15870
|
if (!match) return;
|
|
15814
|
-
const
|
|
15871
|
+
const attrString = match[1] || "";
|
|
15872
|
+
const attributes = parseAttributes2(attrString);
|
|
15815
15873
|
if (requiredAttributes.find((required) => !(required in attributes))) return;
|
|
15816
15874
|
return {
|
|
15817
15875
|
type: nodeName,
|
|
@@ -15821,8 +15879,10 @@ function createAtomBlockMarkdownSpec(options) {
|
|
|
15821
15879
|
}
|
|
15822
15880
|
},
|
|
15823
15881
|
renderMarkdown: (node) => {
|
|
15824
|
-
const
|
|
15825
|
-
|
|
15882
|
+
const filteredAttrs = filterAttributes(node.attrs || {});
|
|
15883
|
+
const attrs = serializeAttributes2(filteredAttrs);
|
|
15884
|
+
const attrString = attrs ? ` {${attrs}}` : "";
|
|
15885
|
+
return `:::${blockName}${attrString} :::`;
|
|
15826
15886
|
}
|
|
15827
15887
|
};
|
|
15828
15888
|
}
|
|
@@ -15890,17 +15950,19 @@ function createBlockMarkdownSpec(options) {
|
|
|
15890
15950
|
matchedContent = rawContent.trim();
|
|
15891
15951
|
const fullMatch = src.slice(0, position + matchPos + match[0].length);
|
|
15892
15952
|
let contentTokens = [];
|
|
15893
|
-
if (matchedContent)
|
|
15894
|
-
|
|
15895
|
-
|
|
15896
|
-
|
|
15897
|
-
|
|
15898
|
-
|
|
15899
|
-
|
|
15900
|
-
|
|
15901
|
-
|
|
15902
|
-
|
|
15903
|
-
|
|
15953
|
+
if (matchedContent) {
|
|
15954
|
+
if (content === "block") {
|
|
15955
|
+
contentTokens = lexer.blockTokens(rawContent);
|
|
15956
|
+
contentTokens.forEach((token) => {
|
|
15957
|
+
if (token.text && (!token.tokens || token.tokens.length === 0)) token.tokens = lexer.inlineTokens(token.text);
|
|
15958
|
+
});
|
|
15959
|
+
while (contentTokens.length > 0) {
|
|
15960
|
+
const lastToken = contentTokens[contentTokens.length - 1];
|
|
15961
|
+
if (lastToken.type === "paragraph" && (!lastToken.text || lastToken.text.trim() === "")) contentTokens.pop();
|
|
15962
|
+
else break;
|
|
15963
|
+
}
|
|
15964
|
+
} else contentTokens = lexer.inlineTokens(matchedContent);
|
|
15965
|
+
}
|
|
15904
15966
|
return {
|
|
15905
15967
|
type: nodeName,
|
|
15906
15968
|
raw: fullMatch,
|
|
@@ -15914,10 +15976,13 @@ function createBlockMarkdownSpec(options) {
|
|
|
15914
15976
|
}
|
|
15915
15977
|
},
|
|
15916
15978
|
renderMarkdown: (node, h2) => {
|
|
15917
|
-
const
|
|
15918
|
-
|
|
15979
|
+
const filteredAttrs = filterAttributes(node.attrs || {});
|
|
15980
|
+
const attrs = serializeAttributes2(filteredAttrs);
|
|
15981
|
+
const attrString = attrs ? ` {${attrs}}` : "";
|
|
15982
|
+
const renderedContent = h2.renderChildren(node.content || [], "\n\n");
|
|
15983
|
+
return `:::${blockName}${attrString}
|
|
15919
15984
|
|
|
15920
|
-
${
|
|
15985
|
+
${renderedContent}
|
|
15921
15986
|
|
|
15922
15987
|
:::`;
|
|
15923
15988
|
}
|
|
@@ -16003,7 +16068,8 @@ function createInlineMarkdownSpec(options) {
|
|
|
16003
16068
|
let content = "";
|
|
16004
16069
|
if (getContent) content = getContent(node);
|
|
16005
16070
|
else if (node.content && node.content.length > 0) content = node.content.filter((child) => child.type === "text").map((child) => child.text).join("");
|
|
16006
|
-
const
|
|
16071
|
+
const filteredAttrs = filterAttributes(node.attrs || {});
|
|
16072
|
+
const attrs = serializeAttributes2(filteredAttrs);
|
|
16007
16073
|
const attrString = attrs ? ` ${attrs}` : "";
|
|
16008
16074
|
if (selfClosing) return `[${shortcode}${attrString}]`;
|
|
16009
16075
|
return `[${shortcode}${attrString}]${content}[/${shortcode}]`;
|
|
@@ -16020,13 +16086,15 @@ function parseIndentedBlocks(src, config, lexer) {
|
|
|
16020
16086
|
while (i < lines.length) {
|
|
16021
16087
|
const currentLine = lines[i];
|
|
16022
16088
|
const itemMatch = currentLine.match(config.itemPattern);
|
|
16023
|
-
if (!itemMatch)
|
|
16024
|
-
|
|
16025
|
-
|
|
16026
|
-
|
|
16089
|
+
if (!itemMatch) {
|
|
16090
|
+
if (items.length > 0) break;
|
|
16091
|
+
else if (currentLine.trim() === "") {
|
|
16092
|
+
i += 1;
|
|
16093
|
+
totalRaw = `${totalRaw}${currentLine}
|
|
16027
16094
|
`;
|
|
16028
|
-
|
|
16029
|
-
|
|
16095
|
+
continue;
|
|
16096
|
+
} else return;
|
|
16097
|
+
}
|
|
16030
16098
|
const itemData = config.extractItemData(itemMatch);
|
|
16031
16099
|
const { indentLevel, mainContent } = itemData;
|
|
16032
16100
|
totalRaw = `${totalRaw}${currentLine}
|
|
@@ -16057,8 +16125,10 @@ function parseIndentedBlocks(src, config, lexer) {
|
|
|
16057
16125
|
const nestedContent = itemContent.slice(1);
|
|
16058
16126
|
if (nestedContent.length > 0) {
|
|
16059
16127
|
const dedentedNested = nestedContent.map((nestedLine) => nestedLine.slice(indentLevel + baseIndentSize)).join("\n");
|
|
16060
|
-
if (dedentedNested.trim())
|
|
16061
|
-
|
|
16128
|
+
if (dedentedNested.trim()) {
|
|
16129
|
+
if (config.customNestedParser) nestedTokens = config.customNestedParser(dedentedNested);
|
|
16130
|
+
else nestedTokens = lexer.blockTokens(dedentedNested);
|
|
16131
|
+
}
|
|
16062
16132
|
}
|
|
16063
16133
|
const token = config.createToken(itemData, nestedTokens);
|
|
16064
16134
|
items.push(token);
|
|
@@ -16125,7 +16195,8 @@ var Node3 = class _Node extends Extendable {
|
|
|
16125
16195
|
* @param config - Node configuration object or a function that returns a configuration object
|
|
16126
16196
|
*/
|
|
16127
16197
|
static create(config = {}) {
|
|
16128
|
-
|
|
16198
|
+
const resolvedConfig = typeof config === "function" ? config() : config;
|
|
16199
|
+
return new _Node(resolvedConfig);
|
|
16129
16200
|
}
|
|
16130
16201
|
configure(options) {
|
|
16131
16202
|
return super.configure(options);
|
|
@@ -16162,7 +16233,7 @@ function markPasteRule(config) {
|
|
|
16162
16233
|
});
|
|
16163
16234
|
}
|
|
16164
16235
|
//#endregion
|
|
16165
|
-
//#region ../../node_modules/.pnpm/@tiptap+vue-3@3.22.4_@floating-ui+dom@1.7.6_@tiptap+core@3.22.4_@tiptap+pm@3.22.4__@
|
|
16236
|
+
//#region ../../node_modules/.pnpm/@tiptap+vue-3@3.22.4_@floating-ui+dom@1.7.6_@tiptap+core@3.22.4_@tiptap+pm@3.22.4__@tip_4b90ea8c72f0a859dfa12986a7a2cc20/node_modules/@tiptap/vue-3/dist/index.js
|
|
16166
16237
|
function useDebouncedRef(value) {
|
|
16167
16238
|
return customRef((track, trigger) => {
|
|
16168
16239
|
return {
|
|
@@ -16355,8 +16426,10 @@ function getRawTag(value) {
|
|
|
16355
16426
|
var unmasked = true;
|
|
16356
16427
|
} catch (e) {}
|
|
16357
16428
|
var result = nativeObjectToString$1.call(value);
|
|
16358
|
-
if (unmasked)
|
|
16359
|
-
|
|
16429
|
+
if (unmasked) {
|
|
16430
|
+
if (isOwn) value[symToStringTag$1] = tag;
|
|
16431
|
+
else delete value[symToStringTag$1];
|
|
16432
|
+
}
|
|
16360
16433
|
return result;
|
|
16361
16434
|
}
|
|
16362
16435
|
//#endregion
|
|
@@ -16380,7 +16453,8 @@ function objectToString(value) {
|
|
|
16380
16453
|
//#endregion
|
|
16381
16454
|
//#region ../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js
|
|
16382
16455
|
/** `Object#toString` result references. */
|
|
16383
|
-
var nullTag = "[object Null]"
|
|
16456
|
+
var nullTag = "[object Null]";
|
|
16457
|
+
var undefinedTag = "[object Undefined]";
|
|
16384
16458
|
/** Built-in value references. */
|
|
16385
16459
|
var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : void 0;
|
|
16386
16460
|
/**
|
|
@@ -16581,7 +16655,8 @@ var now = function() {
|
|
|
16581
16655
|
//#region ../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/debounce.js
|
|
16582
16656
|
/** Error message constants. */
|
|
16583
16657
|
var FUNC_ERROR_TEXT = "Expected a function";
|
|
16584
|
-
var nativeMax = Math.max
|
|
16658
|
+
var nativeMax = Math.max;
|
|
16659
|
+
var nativeMin = Math.min;
|
|
16585
16660
|
/**
|
|
16586
16661
|
* Creates a debounced function that delays invoking `func` until after `wait`
|
|
16587
16662
|
* milliseconds have elapsed since the last time the debounced function was
|
|
@@ -19423,8 +19498,10 @@ var DropCursorView = class {
|
|
|
19423
19498
|
this.handlers.forEach(({ name, handler }) => this.editorView.dom.removeEventListener(name, handler));
|
|
19424
19499
|
}
|
|
19425
19500
|
update(editorView, prevState) {
|
|
19426
|
-
if (this.cursorPos != null && prevState.doc != editorView.state.doc)
|
|
19427
|
-
|
|
19501
|
+
if (this.cursorPos != null && prevState.doc != editorView.state.doc) {
|
|
19502
|
+
if (this.cursorPos > editorView.state.doc.content.size) this.setCursor(null);
|
|
19503
|
+
else this.updateOverlay();
|
|
19504
|
+
}
|
|
19428
19505
|
}
|
|
19429
19506
|
setCursor(pos) {
|
|
19430
19507
|
if (pos == this.cursorPos) return;
|
|
@@ -19984,7 +20061,8 @@ var Branch = class Branch {
|
|
|
19984
20061
|
}, start);
|
|
19985
20062
|
let newMaps = [];
|
|
19986
20063
|
for (let i = rebasedCount; i < newUntil; i++) newMaps.push(new Item(mapping.maps[i]));
|
|
19987
|
-
let
|
|
20064
|
+
let items = this.items.slice(0, start).append(newMaps).append(rebasedItems);
|
|
20065
|
+
let branch = new Branch(items, eventCount);
|
|
19988
20066
|
if (branch.emptyItemCount() > max_empty_items) branch = branch.compress(this.items.length - rebasedItems.length);
|
|
19989
20067
|
return branch;
|
|
19990
20068
|
}
|
|
@@ -20059,9 +20137,10 @@ function applyTransaction(history, state, tr, options) {
|
|
|
20059
20137
|
if (tr.getMeta(closeHistoryKey)) history = new HistoryState(history.done, history.undone, null, 0, -1);
|
|
20060
20138
|
let appended = tr.getMeta("appendedTransaction");
|
|
20061
20139
|
if (tr.steps.length == 0) return history;
|
|
20062
|
-
else if (appended && appended.getMeta(historyKey))
|
|
20063
|
-
|
|
20064
|
-
|
|
20140
|
+
else if (appended && appended.getMeta(historyKey)) {
|
|
20141
|
+
if (appended.getMeta(historyKey).redo) return new HistoryState(history.done.addTransform(tr, void 0, options, mustPreserveItems(state)), history.undone, rangesFor(tr.mapping.maps), history.prevTime, history.prevComposition);
|
|
20142
|
+
else return new HistoryState(history.done, history.undone.addTransform(tr, void 0, options, mustPreserveItems(state)), null, history.prevTime, history.prevComposition);
|
|
20143
|
+
} else if (tr.getMeta("addToHistory") !== false && !(appended && appended.getMeta("addToHistory") === false)) {
|
|
20065
20144
|
let composition = tr.getMeta("composition");
|
|
20066
20145
|
let newGroup = history.prevTime == 0 || !appended && history.prevComposition != composition && (history.prevTime < (tr.time || 0) - options.newGroupDelay || !isAdjacentTo(tr, history.prevRanges));
|
|
20067
20146
|
let prevRanges = appended ? mapRanges(history.prevRanges, tr.mapping) : rangesFor(tr.mapping.maps);
|
|
@@ -20105,7 +20184,8 @@ function histTransaction(history, state, redo) {
|
|
|
20105
20184
|
historyState: newHist
|
|
20106
20185
|
});
|
|
20107
20186
|
}
|
|
20108
|
-
var cachedPreserveItems = false
|
|
20187
|
+
var cachedPreserveItems = false;
|
|
20188
|
+
var cachedPreserveItemsPlugins = null;
|
|
20109
20189
|
function mustPreserveItems(state) {
|
|
20110
20190
|
let plugins = state.plugins;
|
|
20111
20191
|
if (cachedPreserveItemsPlugins != plugins) {
|
|
@@ -20173,8 +20253,6 @@ var undo = buildCommand(false, true);
|
|
|
20173
20253
|
A command function that redoes the last undone change, if any.
|
|
20174
20254
|
*/
|
|
20175
20255
|
var redo = buildCommand(true, true);
|
|
20176
|
-
buildCommand(false, false);
|
|
20177
|
-
buildCommand(true, false);
|
|
20178
20256
|
Extension.create({
|
|
20179
20257
|
name: "characterCount",
|
|
20180
20258
|
addOptions() {
|
|
@@ -21077,10 +21155,11 @@ var HorizontalRule = Node3.create({
|
|
|
21077
21155
|
if (dispatch) {
|
|
21078
21156
|
const { $to } = tr.selection;
|
|
21079
21157
|
const posAfter = $to.end();
|
|
21080
|
-
if ($to.nodeAfter)
|
|
21081
|
-
|
|
21082
|
-
|
|
21083
|
-
|
|
21158
|
+
if ($to.nodeAfter) {
|
|
21159
|
+
if ($to.nodeAfter.isTextblock) tr.setSelection(TextSelection.create(tr.doc, $to.pos + 1));
|
|
21160
|
+
else if ($to.nodeAfter.isBlock) tr.setSelection(NodeSelection.create(tr.doc, $to.pos));
|
|
21161
|
+
else tr.setSelection(TextSelection.create(tr.doc, $to.pos));
|
|
21162
|
+
} else {
|
|
21084
21163
|
const nodeType = chainState.schema.nodes[this.options.nextNodeType] || $to.parent.type.contentMatch.defaultType;
|
|
21085
21164
|
const node = nodeType == null ? void 0 : nodeType.create();
|
|
21086
21165
|
if (node) {
|
|
@@ -21509,7 +21588,7 @@ var TILDE = "TILDE";
|
|
|
21509
21588
|
var UNDERSCORE = "UNDERSCORE";
|
|
21510
21589
|
var EMOJI$1 = "EMOJI";
|
|
21511
21590
|
var SYM = "SYM";
|
|
21512
|
-
var tk =
|
|
21591
|
+
var tk = /*#__PURE__*/ Object.freeze({
|
|
21513
21592
|
__proto__: null,
|
|
21514
21593
|
ALPHANUMERICAL,
|
|
21515
21594
|
AMPERSAND,
|
|
@@ -21581,7 +21660,8 @@ var LF = "\n";
|
|
|
21581
21660
|
var EMOJI_VARIATION = "️";
|
|
21582
21661
|
var EMOJI_JOINER = "";
|
|
21583
21662
|
var OBJECT_REPLACEMENT = "";
|
|
21584
|
-
var tlds = null
|
|
21663
|
+
var tlds = null;
|
|
21664
|
+
var utlds = null;
|
|
21585
21665
|
/**
|
|
21586
21666
|
* Scanner output token:
|
|
21587
21667
|
* - `t` is the token name (e.g., 'NUM', 'EMOJI', 'TLD')
|
|
@@ -23039,19 +23119,21 @@ var ListItem = Node3.create({
|
|
|
23039
23119
|
if (token.type !== "list_item") return [];
|
|
23040
23120
|
const parseBlockChildren = (_a = helpers.parseBlockChildren) != null ? _a : helpers.parseChildren;
|
|
23041
23121
|
let content = [];
|
|
23042
|
-
if (token.tokens && token.tokens.length > 0)
|
|
23043
|
-
|
|
23044
|
-
|
|
23045
|
-
|
|
23046
|
-
|
|
23047
|
-
|
|
23048
|
-
|
|
23049
|
-
|
|
23050
|
-
|
|
23051
|
-
|
|
23052
|
-
|
|
23053
|
-
|
|
23054
|
-
|
|
23122
|
+
if (token.tokens && token.tokens.length > 0) {
|
|
23123
|
+
if (token.tokens.some((t) => t.type === "paragraph")) content = parseBlockChildren(token.tokens);
|
|
23124
|
+
else {
|
|
23125
|
+
const firstToken = token.tokens[0];
|
|
23126
|
+
if (firstToken && firstToken.type === "text" && firstToken.tokens && firstToken.tokens.length > 0) {
|
|
23127
|
+
content = [{
|
|
23128
|
+
type: "paragraph",
|
|
23129
|
+
content: helpers.parseInline(firstToken.tokens)
|
|
23130
|
+
}];
|
|
23131
|
+
if (token.tokens.length > 1) {
|
|
23132
|
+
const additionalContent = parseBlockChildren(token.tokens.slice(1));
|
|
23133
|
+
content.push(...additionalContent);
|
|
23134
|
+
}
|
|
23135
|
+
} else content = parseBlockChildren(token.tokens);
|
|
23136
|
+
}
|
|
23055
23137
|
}
|
|
23056
23138
|
if (content.length === 0) content = [{
|
|
23057
23139
|
type: "paragraph",
|
|
@@ -23649,13 +23731,16 @@ var TaskItem = Node3.create({
|
|
|
23649
23731
|
const newKeys = new Set(Object.keys(newHTMLAttributes));
|
|
23650
23732
|
const staticAttrs = this.options.HTMLAttributes;
|
|
23651
23733
|
prevRenderedAttributeKeys.forEach((key) => {
|
|
23652
|
-
if (!newKeys.has(key))
|
|
23653
|
-
|
|
23734
|
+
if (!newKeys.has(key)) {
|
|
23735
|
+
if (key in staticAttrs) listItem.setAttribute(key, staticAttrs[key]);
|
|
23736
|
+
else listItem.removeAttribute(key);
|
|
23737
|
+
}
|
|
23654
23738
|
});
|
|
23655
23739
|
Object.entries(newHTMLAttributes).forEach(([key, value]) => {
|
|
23656
|
-
if (value === null || value === void 0)
|
|
23657
|
-
|
|
23658
|
-
|
|
23740
|
+
if (value === null || value === void 0) {
|
|
23741
|
+
if (key in staticAttrs) listItem.setAttribute(key, staticAttrs[key]);
|
|
23742
|
+
else listItem.removeAttribute(key);
|
|
23743
|
+
} else listItem.setAttribute(key, value);
|
|
23659
23744
|
});
|
|
23660
23745
|
prevRenderedAttributeKeys = newKeys;
|
|
23661
23746
|
return true;
|
|
@@ -24454,9 +24539,7 @@ var image_default = Node3.create({
|
|
|
24454
24539
|
if (value != null) switch (key) {
|
|
24455
24540
|
case "width":
|
|
24456
24541
|
case "height": break;
|
|
24457
|
-
default:
|
|
24458
|
-
el.setAttribute(key, value);
|
|
24459
|
-
break;
|
|
24542
|
+
default: el.setAttribute(key, value);
|
|
24460
24543
|
}
|
|
24461
24544
|
});
|
|
24462
24545
|
el.src = HTMLAttributes.src;
|
|
@@ -24629,7 +24712,7 @@ var sides = [
|
|
|
24629
24712
|
"left"
|
|
24630
24713
|
];
|
|
24631
24714
|
var alignments = ["start", "end"];
|
|
24632
|
-
var placements =
|
|
24715
|
+
var placements = /*#__PURE__*/ sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
|
|
24633
24716
|
var min = Math.min;
|
|
24634
24717
|
var max = Math.max;
|
|
24635
24718
|
var round = Math.round;
|
|
@@ -24793,9 +24876,7 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
|
24793
24876
|
case "start":
|
|
24794
24877
|
coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
|
|
24795
24878
|
break;
|
|
24796
|
-
case "end":
|
|
24797
|
-
coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
|
|
24798
|
-
break;
|
|
24879
|
+
case "end": coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
|
|
24799
24880
|
}
|
|
24800
24881
|
return coords;
|
|
24801
24882
|
}
|
|
@@ -25095,9 +25176,7 @@ var flip$1 = function(options) {
|
|
|
25095
25176
|
if (placement) resetPlacement = placement;
|
|
25096
25177
|
break;
|
|
25097
25178
|
}
|
|
25098
|
-
case "initialPlacement":
|
|
25099
|
-
resetPlacement = initialPlacement;
|
|
25100
|
-
break;
|
|
25179
|
+
case "initialPlacement": resetPlacement = initialPlacement;
|
|
25101
25180
|
}
|
|
25102
25181
|
if (placement !== resetPlacement) return { reset: { placement: resetPlacement } };
|
|
25103
25182
|
}
|
|
@@ -25249,7 +25328,7 @@ var inline$1 = function(options) {
|
|
|
25249
25328
|
}
|
|
25250
25329
|
};
|
|
25251
25330
|
};
|
|
25252
|
-
var originSides =
|
|
25331
|
+
var originSides = /*#__PURE__*/ new Set(["left", "top"]);
|
|
25253
25332
|
async function convertValueToCoords(state, options) {
|
|
25254
25333
|
const { placement, platform, elements } = state;
|
|
25255
25334
|
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
|
|
@@ -25573,7 +25652,7 @@ function getScale(element) {
|
|
|
25573
25652
|
y
|
|
25574
25653
|
};
|
|
25575
25654
|
}
|
|
25576
|
-
var noOffsets =
|
|
25655
|
+
var noOffsets = /*#__PURE__*/ createCoords(0);
|
|
25577
25656
|
function getVisualOffsets(element) {
|
|
25578
25657
|
const win = getWindow(element);
|
|
25579
25658
|
if (!isWebKit() || !win.visualViewport) return noOffsets;
|
|
@@ -25593,9 +25672,11 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
25593
25672
|
const clientRect = element.getBoundingClientRect();
|
|
25594
25673
|
const domElement = unwrapElement(element);
|
|
25595
25674
|
let scale = createCoords(1);
|
|
25596
|
-
if (includeScale)
|
|
25597
|
-
if (
|
|
25598
|
-
|
|
25675
|
+
if (includeScale) {
|
|
25676
|
+
if (offsetParent) {
|
|
25677
|
+
if (isElement(offsetParent)) scale = getScale(offsetParent);
|
|
25678
|
+
} else scale = getScale(element);
|
|
25679
|
+
}
|
|
25599
25680
|
const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
|
|
25600
25681
|
let x = (clientRect.left + visualOffsets.x) / scale.x;
|
|
25601
25682
|
let y = (clientRect.top + visualOffsets.y) / scale.y;
|
|
@@ -25962,7 +26043,7 @@ var computePosition = (reference, floating, options) => {
|
|
|
25962
26043
|
});
|
|
25963
26044
|
};
|
|
25964
26045
|
//#endregion
|
|
25965
|
-
//#region ../../node_modules/.pnpm/@tiptap+vue-3@3.22.4_@floating-ui+dom@1.7.6_@tiptap+core@3.22.4_@tiptap+pm@3.22.4__@
|
|
26046
|
+
//#region ../../node_modules/.pnpm/@tiptap+vue-3@3.22.4_@floating-ui+dom@1.7.6_@tiptap+core@3.22.4_@tiptap+pm@3.22.4__@tip_4b90ea8c72f0a859dfa12986a7a2cc20/node_modules/@tiptap/vue-3/dist/menus/index.js
|
|
25966
26047
|
function combineDOMRects(rect1, rect2) {
|
|
25967
26048
|
const top = Math.min(rect1.top, rect2.top);
|
|
25968
26049
|
const bottom = Math.max(rect1.bottom, rect2.bottom);
|
|
@@ -26626,7 +26707,7 @@ defineComponent({
|
|
|
26626
26707
|
});
|
|
26627
26708
|
//#endregion
|
|
26628
26709
|
//#region src/components/IconButton.vue?vue&type=script&setup=true&lang.ts
|
|
26629
|
-
var IconButton_vue_vue_type_script_setup_true_lang_default =
|
|
26710
|
+
var IconButton_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
26630
26711
|
__name: "IconButton",
|
|
26631
26712
|
props: {
|
|
26632
26713
|
active: { type: Boolean },
|
|
@@ -26687,10 +26768,10 @@ var _plugin_vue_export_helper_default = (sfc, props) => {
|
|
|
26687
26768
|
};
|
|
26688
26769
|
//#endregion
|
|
26689
26770
|
//#region src/components/IconButton.vue
|
|
26690
|
-
var IconButton_default =
|
|
26771
|
+
var IconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(IconButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-691ccfae"]]);
|
|
26691
26772
|
//#endregion
|
|
26692
26773
|
//#region src/components/bubble-menus/ImageMenu.vue
|
|
26693
|
-
var ImageMenu_default =
|
|
26774
|
+
var ImageMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
26694
26775
|
__name: "ImageMenu",
|
|
26695
26776
|
props: { editor: {} },
|
|
26696
26777
|
setup(__props) {
|
|
@@ -26756,7 +26837,7 @@ var ImageMenu_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__
|
|
|
26756
26837
|
}), [["__scopeId", "data-v-6167587e"]]);
|
|
26757
26838
|
//#endregion
|
|
26758
26839
|
//#region src/components/bubble-menus/TableMenu.vue
|
|
26759
|
-
var TableMenu_default =
|
|
26840
|
+
var TableMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
26760
26841
|
__name: "TableMenu",
|
|
26761
26842
|
props: { editor: {} },
|
|
26762
26843
|
setup(__props) {
|
|
@@ -26852,7 +26933,7 @@ var _hoisted_1$4 = { class: "tce-container" };
|
|
|
26852
26933
|
var SAVE_DEBOUNCE = 3e3;
|
|
26853
26934
|
//#endregion
|
|
26854
26935
|
//#region src/components/Edit.vue
|
|
26855
|
-
var Edit_default =
|
|
26936
|
+
var Edit_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
26856
26937
|
__name: "Edit",
|
|
26857
26938
|
props: {
|
|
26858
26939
|
element: {},
|
|
@@ -27260,7 +27341,7 @@ var rules = {
|
|
|
27260
27341
|
var _hoisted_1$3 = { class: "actions d-flex justify-end" };
|
|
27261
27342
|
//#endregion
|
|
27262
27343
|
//#region src/components/actions/AddImage.vue
|
|
27263
|
-
var AddImage_default =
|
|
27344
|
+
var AddImage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
27264
27345
|
__name: "AddImage",
|
|
27265
27346
|
props: { editor: {} },
|
|
27266
27347
|
setup(__props) {
|
|
@@ -27362,7 +27443,7 @@ var AddImage_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__P
|
|
|
27362
27443
|
var _hoisted_1$2 = { class: "actions d-flex justify-end" };
|
|
27363
27444
|
//#endregion
|
|
27364
27445
|
//#region src/components/actions/AddLink.vue
|
|
27365
|
-
var AddLink_default =
|
|
27446
|
+
var AddLink_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
27366
27447
|
__name: "AddLink",
|
|
27367
27448
|
props: { editor: {} },
|
|
27368
27449
|
setup(__props) {
|
|
@@ -27483,7 +27564,7 @@ var INIT_SIZE = 5;
|
|
|
27483
27564
|
var MAX_SIZE = 10;
|
|
27484
27565
|
//#endregion
|
|
27485
27566
|
//#region src/components/actions/AddTable.vue
|
|
27486
|
-
var AddTable_default =
|
|
27567
|
+
var AddTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
27487
27568
|
__name: "AddTable",
|
|
27488
27569
|
props: { editor: {} },
|
|
27489
27570
|
setup(__props) {
|
|
@@ -27500,9 +27581,9 @@ var AddTable_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__P
|
|
|
27500
27581
|
});
|
|
27501
27582
|
const updateSelection = (rows, cols) => {
|
|
27502
27583
|
if (rows === gridSize.rows) gridSize.rows = Math.min(rows + 1, MAX_SIZE);
|
|
27503
|
-
else if (rows < gridSize.rows - 1 && rows >=
|
|
27584
|
+
else if (rows < gridSize.rows - 1 && rows >= 4) gridSize.rows--;
|
|
27504
27585
|
if (cols === gridSize.cols) gridSize.cols = Math.min(cols + 1, MAX_SIZE);
|
|
27505
|
-
else if (cols < gridSize.cols - 1 && cols >=
|
|
27586
|
+
else if (cols < gridSize.cols - 1 && cols >= 4) gridSize.cols--;
|
|
27506
27587
|
selectedSize.rows = rows;
|
|
27507
27588
|
selectedSize.cols = cols;
|
|
27508
27589
|
};
|
|
@@ -27593,7 +27674,7 @@ var AddTable_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__P
|
|
|
27593
27674
|
var _hoisted_1 = { class: "actions d-flex justify-end" };
|
|
27594
27675
|
//#endregion
|
|
27595
27676
|
//#region src/components/actions/AddTooltip.vue
|
|
27596
|
-
var AddTooltip_default =
|
|
27677
|
+
var AddTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
27597
27678
|
__name: "AddTooltip",
|
|
27598
27679
|
props: { editor: {} },
|
|
27599
27680
|
setup(__props) {
|
|
@@ -27783,7 +27864,7 @@ var FONT_FAMILIES = [
|
|
|
27783
27864
|
];
|
|
27784
27865
|
//#endregion
|
|
27785
27866
|
//#region src/components/actions/ColorPicker.vue
|
|
27786
|
-
var ColorPicker_default =
|
|
27867
|
+
var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
27787
27868
|
__name: "ColorPicker",
|
|
27788
27869
|
props: {
|
|
27789
27870
|
disabled: { type: Boolean },
|
|
@@ -27909,7 +27990,7 @@ var BackgroundColor_default = /* @__PURE__ */ defineComponent({
|
|
|
27909
27990
|
});
|
|
27910
27991
|
//#endregion
|
|
27911
27992
|
//#region src/components/actions/FontFamily.vue
|
|
27912
|
-
var FontFamily_default =
|
|
27993
|
+
var FontFamily_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
27913
27994
|
__name: "FontFamily",
|
|
27914
27995
|
props: { editor: {} },
|
|
27915
27996
|
setup(__props) {
|
|
@@ -27983,7 +28064,7 @@ var FontFamily_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @_
|
|
|
27983
28064
|
}), [["__scopeId", "data-v-d6c041e6"]]);
|
|
27984
28065
|
//#endregion
|
|
27985
28066
|
//#region src/components/actions/FontSize.vue
|
|
27986
|
-
var FontSize_default =
|
|
28067
|
+
var FontSize_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
27987
28068
|
__name: "FontSize",
|
|
27988
28069
|
props: { editor: {} },
|
|
27989
28070
|
setup(__props) {
|
|
@@ -28053,7 +28134,7 @@ var FontSize_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__P
|
|
|
28053
28134
|
}), [["__scopeId", "data-v-4a24240e"]]);
|
|
28054
28135
|
//#endregion
|
|
28055
28136
|
//#region src/components/actions/TextAlign.vue
|
|
28056
|
-
var TextAlign_default =
|
|
28137
|
+
var TextAlign_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
28057
28138
|
__name: "TextAlign",
|
|
28058
28139
|
props: { editor: {} },
|
|
28059
28140
|
setup(__props) {
|
|
@@ -28150,7 +28231,7 @@ var TextColor_default = /* @__PURE__ */ defineComponent({
|
|
|
28150
28231
|
});
|
|
28151
28232
|
//#endregion
|
|
28152
28233
|
//#region src/components/actions/TextHeading.vue
|
|
28153
|
-
var TextHeading_default =
|
|
28234
|
+
var TextHeading_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
28154
28235
|
__name: "TextHeading",
|
|
28155
28236
|
props: { editor: {} },
|
|
28156
28237
|
setup(__props) {
|
|
@@ -28235,7 +28316,7 @@ var TextHeading_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @
|
|
|
28235
28316
|
}), [["__scopeId", "data-v-eb5927ce"]]);
|
|
28236
28317
|
//#endregion
|
|
28237
28318
|
//#region src/components/EditorToolbar.vue
|
|
28238
|
-
var EditorToolbar_default =
|
|
28319
|
+
var EditorToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
28239
28320
|
__name: "EditorToolbar",
|
|
28240
28321
|
props: { editor: {} },
|
|
28241
28322
|
setup(__props) {
|