@linker-design-plus/tiny-peony 1.4.3 → 1.4.5
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/dist/index.js +20 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +766 -757
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3,18 +3,18 @@ var bE = (I, e, B) => e in I ? xE(I, e, { enumerable: !0, configurable: !0, writ
|
|
|
3
3
|
var AA = (I, e, B) => bE(I, typeof e != "symbol" ? e + "" : e, B);
|
|
4
4
|
import { getCurrentScope as TE, onScopeDispose as PE, isRef as jE, ref as DA, toValue as Jg, readonly as WE, watch as $g, computed as JA, shallowRef as rB, getCurrentInstance as yB, onMounted as mg, toRaw as VE, defineComponent as xA, withDirectives as SI, openBlock as aA, createElementBlock as cA, normalizeClass as pA, unref as hA, withModifiers as RC, Fragment as cg, renderList as fB, createElementVNode as rA, toDisplayString as _g, vShow as LI, createVNode as G, render as FC, createBlock as OE, withCtx as ag, createTextVNode as $A, inject as Ag, normalizeStyle as Kg, h as DI, nextTick as NC, resolveComponent as PA, mergeProps as UI, reactive as XE, toRefs as zE, onBeforeUnmount as RB, createCommentVNode as ZE, onUnmounted as GC, provide as FB } from "vue";
|
|
5
5
|
import { Message as Yg, Row as _E, Col as uI, Input as aB, Space as $E, Button as wC, Modal as sB } from "@arco-design/web-vue";
|
|
6
|
-
var kC = (I) => Object.prototype.toString.call(I), Ae = (I) => kC(I) === "[object Null]", ge = (I) => kC(I) === "[object Number]", Ie = (I) => kC(I) === "[object String]", dC = (I, e) => e ? typeof e == "string" ? ` ${I}--${e}` : Array.isArray(e) ? e.reduce((B,
|
|
6
|
+
var kC = (I) => Object.prototype.toString.call(I), Ae = (I) => kC(I) === "[object Null]", ge = (I) => kC(I) === "[object Number]", Ie = (I) => kC(I) === "[object String]", dC = (I, e) => e ? typeof e == "string" ? ` ${I}--${e}` : Array.isArray(e) ? e.reduce((B, o) => B + dC(I, o), "") : Object.keys(e).reduce((B, o) => B + (e[o] ? dC(I, o) : ""), "") : "", Ce = (I) => (e, B) => (e && typeof e != "string" && (B = e, e = ""), e = e ? `${I}__${e}` : I, `${e}${dC(e, B)}`), NB = (I) => (e) => {
|
|
7
7
|
const B = `${I}-${e}`;
|
|
8
8
|
return [Ce(B), B];
|
|
9
9
|
};
|
|
10
10
|
const AI = NB("tag"), zA = NB("c"), NI = (I) => {
|
|
11
11
|
let e = !1;
|
|
12
|
-
return function(...
|
|
12
|
+
return function(...o) {
|
|
13
13
|
e || (requestAnimationFrame(() => {
|
|
14
|
-
I.apply(this,
|
|
14
|
+
I.apply(this, o), e = !1;
|
|
15
15
|
}), e = !0);
|
|
16
16
|
};
|
|
17
|
-
}, Be = () => typeof window > "u" ? !1 : window.location.protocol === "https:", MI = (I) => Object.prototype.toString.call(I).slice(8, -1).toLocaleLowerCase(), GB = (I) => MI(I) === "string", kB = (I) => MI(I) === "array", Qe = (I) => MI(I) === "null", Ee = (I) => MI(I) === "undefined", v = (I) => Qe(I) || Ee(I),
|
|
17
|
+
}, Be = () => typeof window > "u" ? !1 : window.location.protocol === "https:", MI = (I) => Object.prototype.toString.call(I).slice(8, -1).toLocaleLowerCase(), GB = (I) => MI(I) === "string", kB = (I) => MI(I) === "array", Qe = (I) => MI(I) === "null", Ee = (I) => MI(I) === "undefined", v = (I) => Qe(I) || Ee(I), CA = (I) => I instanceof HTMLElement, SA = (I) => (I == null ? void 0 : I.nodeType) === Node.TEXT_NODE;
|
|
18
18
|
var ee = /* @__PURE__ */ ((I) => (I.None = "None", I.Caret = "Caret", I.Range = "Range", I))(ee || {}), T = /* @__PURE__ */ ((I) => (I.pausation = "pausation", I.pronunciation = "pronunciation", I.anchor = "anchor", I.homophones = "homophones", I.highlight = "highlight", I))(T || {}), SB = /* @__PURE__ */ ((I) => (I.single = "single", I.multiple = "multiple", I))(SB || {});
|
|
19
19
|
class te {
|
|
20
20
|
}
|
|
@@ -29,11 +29,11 @@ class re {
|
|
|
29
29
|
class pI {
|
|
30
30
|
}
|
|
31
31
|
class ae extends re {
|
|
32
|
-
constructor(B,
|
|
32
|
+
constructor(B, o) {
|
|
33
33
|
super();
|
|
34
34
|
AA(this, "contentManager");
|
|
35
35
|
AA(this, "cursorManager");
|
|
36
|
-
this.contentManager = B, this.cursorManager =
|
|
36
|
+
this.contentManager = B, this.cursorManager = o;
|
|
37
37
|
}
|
|
38
38
|
executeUndo() {
|
|
39
39
|
}
|
|
@@ -41,11 +41,11 @@ class ae extends re {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
const se = (I, e) => {
|
|
44
|
-
var
|
|
44
|
+
var y;
|
|
45
45
|
e.preventDefault();
|
|
46
|
-
const B = ((
|
|
47
|
-
if (
|
|
48
|
-
const s =
|
|
46
|
+
const B = ((y = e.data) == null ? void 0 : y.length) ?? 0, o = I.content.calcTextCount() - B, t = I.maxLength - o;
|
|
47
|
+
if (t >= B || !B) return;
|
|
48
|
+
const s = t <= 0 ? B : B - t, r = window.getSelection(), i = r == null ? void 0 : r.getRangeAt(0);
|
|
49
49
|
if (v(r) || v(i)) return;
|
|
50
50
|
const { endContainer: d, endOffset: l } = i, h = document.createRange();
|
|
51
51
|
h.setStart(d, l - s), h.setEnd(d, l), h.deleteContents(), r.removeAllRanges(), r.addRange(h);
|
|
@@ -53,23 +53,23 @@ const se = (I, e) => {
|
|
|
53
53
|
const { inputType: B } = e;
|
|
54
54
|
I.content.calcTextCount() >= I.maxLength && B.includes("insert") && B !== "insertParagraph" && e.preventDefault();
|
|
55
55
|
}, JI = (I, e) => {
|
|
56
|
-
const B = [],
|
|
57
|
-
let
|
|
58
|
-
if (
|
|
56
|
+
const B = [], o = I.content.calcTextCount();
|
|
57
|
+
let t = I.maxLength - o;
|
|
58
|
+
if (t <= 0 || !e.length) return [];
|
|
59
59
|
let s = e.shift();
|
|
60
|
-
for (;
|
|
61
|
-
if (s.length >=
|
|
62
|
-
return B.push(s.slice(0,
|
|
63
|
-
B.push(s),
|
|
60
|
+
for (; t > 0 && s; ) {
|
|
61
|
+
if (s.length >= t)
|
|
62
|
+
return B.push(s.slice(0, t)), B;
|
|
63
|
+
B.push(s), t -= s.length, s = e.shift();
|
|
64
64
|
}
|
|
65
65
|
return B;
|
|
66
66
|
};
|
|
67
67
|
class le extends oe {
|
|
68
|
-
constructor(B,
|
|
68
|
+
constructor(B, o) {
|
|
69
69
|
super();
|
|
70
70
|
AA(this, "_editorElement");
|
|
71
71
|
AA(this, "_editor");
|
|
72
|
-
this._editorElement = B, this._editor =
|
|
72
|
+
this._editorElement = B, this._editor = o;
|
|
73
73
|
}
|
|
74
74
|
// 置入空段落
|
|
75
75
|
insertEmptyPara() {
|
|
@@ -77,7 +77,7 @@ class le extends oe {
|
|
|
77
77
|
}
|
|
78
78
|
// 计算文本字数
|
|
79
79
|
calcTextCount() {
|
|
80
|
-
return this.getTextContent().reduce((B,
|
|
80
|
+
return this.getTextContent().reduce((B, o) => B + o.length, 0);
|
|
81
81
|
}
|
|
82
82
|
// 获取内容
|
|
83
83
|
getContent() {
|
|
@@ -94,12 +94,12 @@ class le extends oe {
|
|
|
94
94
|
this.setContent(B);
|
|
95
95
|
}
|
|
96
96
|
// 增加内容(增量)
|
|
97
|
-
appendContent(B,
|
|
97
|
+
appendContent(B, o) {
|
|
98
98
|
var i;
|
|
99
|
-
const
|
|
100
|
-
r && (s.innerHTML = r,
|
|
99
|
+
const t = JI(this._editor, kB(B) ? B : [B]), s = this.getParas()[0], r = (i = s.textContent) != null && i.length ? void 0 : t.shift();
|
|
100
|
+
r && (s.innerHTML = r, o == null || o(s)), t.forEach((d) => {
|
|
101
101
|
const l = document.createElement("p");
|
|
102
|
-
l.innerHTML = d, l.classList.add(GA), this._editorElement.appendChild(l),
|
|
102
|
+
l.innerHTML = d, l.classList.add(GA), this._editorElement.appendChild(l), o == null || o(l);
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
105
|
// 增加内容
|
|
@@ -122,24 +122,24 @@ class le extends oe {
|
|
|
122
122
|
}
|
|
123
123
|
// 获取纯文本内容(段落划分)
|
|
124
124
|
getTextContent() {
|
|
125
|
-
const B = this.getParas(),
|
|
126
|
-
const s = Array.from(
|
|
125
|
+
const B = this.getParas(), o = (t) => {
|
|
126
|
+
const s = Array.from(t.childNodes);
|
|
127
127
|
let r = "";
|
|
128
128
|
for (let i = 0; i < s.length; i++) {
|
|
129
129
|
const d = s[i];
|
|
130
|
-
SA(d) ? r += d.textContent ?? "" :
|
|
131
|
-
T.anchor === d.dataset.type ?
|
|
130
|
+
SA(d) ? r += d.textContent ?? "" : CA(d) && (r += // 主播标签需要递归处理
|
|
131
|
+
T.anchor === d.dataset.type ? o(d) : (
|
|
132
132
|
// 读音替换标签,需要使用替换后文本
|
|
133
133
|
T.pronunciation === d.dataset.type ? d.dataset.value : d.dataset.raw ?? ""
|
|
134
134
|
));
|
|
135
135
|
}
|
|
136
136
|
return r;
|
|
137
137
|
};
|
|
138
|
-
return B.map(
|
|
138
|
+
return B.map(o);
|
|
139
139
|
}
|
|
140
140
|
_insert(B) {
|
|
141
|
-
const
|
|
142
|
-
if (v(
|
|
141
|
+
const o = window.getSelection(), t = this._editor.cursor.isRangeInEditor() ? o == null ? void 0 : o.getRangeAt(0) : this._editor.cursor.range;
|
|
142
|
+
if (v(o) || !o.rangeCount || v(t)) return;
|
|
143
143
|
const s = document.createDocumentFragment();
|
|
144
144
|
if (GB(B)) {
|
|
145
145
|
const l = document.createElement("div");
|
|
@@ -148,9 +148,9 @@ class le extends oe {
|
|
|
148
148
|
} else
|
|
149
149
|
s.appendChild(B);
|
|
150
150
|
const r = s.lastChild;
|
|
151
|
-
(this._calcRange(
|
|
151
|
+
(this._calcRange(t) ?? t).insertNode(s);
|
|
152
152
|
const d = document.createRange();
|
|
153
|
-
d.setStartAfter(r), d.setEndAfter(r),
|
|
153
|
+
d.setStartAfter(r), d.setEndAfter(r), o.removeAllRanges(), o.addRange(d);
|
|
154
154
|
}
|
|
155
155
|
_delete() {
|
|
156
156
|
const { range: B } = this._editor.cursor;
|
|
@@ -164,13 +164,13 @@ class le extends oe {
|
|
|
164
164
|
* @param {Range} range - 当前的 Range 对象
|
|
165
165
|
*/
|
|
166
166
|
_calcRange(B) {
|
|
167
|
-
const
|
|
168
|
-
if (
|
|
167
|
+
const o = B.commonAncestorContainer;
|
|
168
|
+
if (o.tagName !== "DIV")
|
|
169
169
|
return B;
|
|
170
|
-
const
|
|
171
|
-
if (
|
|
170
|
+
const t = B.startOffset, s = Array.from(o.children).filter((d) => d.tagName === "P");
|
|
171
|
+
if (t <= 0 || t - 1 >= s.length)
|
|
172
172
|
return console.warn("上一个 <p> 不存在"), B;
|
|
173
|
-
const r = s[
|
|
173
|
+
const r = s[t - 1];
|
|
174
174
|
if (!r)
|
|
175
175
|
return console.warn("未找到上一个 <p>"), B;
|
|
176
176
|
const i = document.createRange();
|
|
@@ -188,14 +188,14 @@ class we extends ne {
|
|
|
188
188
|
document.removeEventListener("selectionchange", this._recordRange);
|
|
189
189
|
}
|
|
190
190
|
_recordRange(B) {
|
|
191
|
-
var
|
|
192
|
-
this.isRangeInEditor() && (this.range = (
|
|
191
|
+
var o;
|
|
192
|
+
this.isRangeInEditor() && (this.range = (o = window.getSelection()) == null ? void 0 : o.getRangeAt(0).cloneRange());
|
|
193
193
|
}
|
|
194
194
|
isRangeInEditor() {
|
|
195
195
|
const B = window.getSelection();
|
|
196
196
|
if (v(B) || !B.rangeCount) return !1;
|
|
197
|
-
const
|
|
198
|
-
return this._editorElement.contains(
|
|
197
|
+
const o = B.getRangeAt(0);
|
|
198
|
+
return this._editorElement.contains(o.commonAncestorContainer);
|
|
199
199
|
}
|
|
200
200
|
isCaret() {
|
|
201
201
|
var B;
|
|
@@ -210,10 +210,10 @@ class we extends ne {
|
|
|
210
210
|
return this.isCaret() ? "" : ((B = this.range) == null ? void 0 : B.toString()) ?? "";
|
|
211
211
|
}
|
|
212
212
|
toEnd(B) {
|
|
213
|
-
const
|
|
214
|
-
if (v(
|
|
215
|
-
const
|
|
216
|
-
|
|
213
|
+
const o = window.getSelection();
|
|
214
|
+
if (v(o)) return;
|
|
215
|
+
const t = document.createRange();
|
|
216
|
+
t.setStartAfter(B), t.setEndAfter(B), o.removeAllRanges(), o.addRange(t);
|
|
217
217
|
}
|
|
218
218
|
getRangeTop() {
|
|
219
219
|
var B;
|
|
@@ -221,14 +221,14 @@ class we extends ne {
|
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
class de extends ie {
|
|
224
|
-
constructor(B,
|
|
224
|
+
constructor(B, o, t) {
|
|
225
225
|
super();
|
|
226
226
|
AA(this, "_editor");
|
|
227
227
|
AA(this, "_onUndoChange");
|
|
228
228
|
AA(this, "contentManager");
|
|
229
229
|
AA(this, "undoStack");
|
|
230
230
|
AA(this, "redoStack");
|
|
231
|
-
this._editor = B, this.contentManager =
|
|
231
|
+
this._editor = B, this.contentManager = o, this.undoStack = [], this.redoStack = [], this._onUndoChange = t, this._handleInput = this._handleInput.bind(this), this._handleUndoOrRedo = this._handleUndoOrRedo.bind(this), this._editor.element.addEventListener("beforeinput", this._handleInput), this._editor.element.addEventListener("keydown", this._handleUndoOrRedo);
|
|
232
232
|
}
|
|
233
233
|
saveState() {
|
|
234
234
|
}
|
|
@@ -240,19 +240,19 @@ class de extends ie {
|
|
|
240
240
|
this._editor.element.removeEventListener("beforeinput", this._handleInput), this._editor.element.removeEventListener("keydown", this._handleUndoOrRedo);
|
|
241
241
|
}
|
|
242
242
|
_calcNodePathMatches(B) {
|
|
243
|
-
const
|
|
244
|
-
let
|
|
245
|
-
for (;
|
|
246
|
-
const r = Array.from(
|
|
247
|
-
if (
|
|
243
|
+
const o = [];
|
|
244
|
+
let t = B;
|
|
245
|
+
for (; t && t.parentElement; ) {
|
|
246
|
+
const r = Array.from(t.parentElement.childNodes).indexOf(t);
|
|
247
|
+
if (o.unshift({ index: r }), CA(t) && t.tagName === "P" && t.classList.contains(GA))
|
|
248
248
|
break;
|
|
249
|
-
|
|
249
|
+
t = t.parentElement;
|
|
250
250
|
}
|
|
251
|
-
return
|
|
251
|
+
return o;
|
|
252
252
|
}
|
|
253
253
|
_record() {
|
|
254
254
|
var h;
|
|
255
|
-
const B = this._editor.cursor.range,
|
|
255
|
+
const B = this._editor.cursor.range, o = this._editor.content.getParas(), t = VA(B.startContainer), s = o.indexOf(t), r = this._calcNodePathMatches(B.startContainer), i = VA(B.endContainer), d = o.indexOf(i), l = this._calcNodePathMatches(B.endContainer);
|
|
256
256
|
return {
|
|
257
257
|
startParaIndex: s,
|
|
258
258
|
startMatchedIndexes: r,
|
|
@@ -270,26 +270,26 @@ class de extends ie {
|
|
|
270
270
|
this.undoStack.push(this._record()), this.redoStack = [];
|
|
271
271
|
}
|
|
272
272
|
_handleUndoOrRedo(B) {
|
|
273
|
-
var
|
|
273
|
+
var o;
|
|
274
274
|
if (B.ctrlKey && B.key === "z" && (B.preventDefault(), this.undoStack.length > 0)) {
|
|
275
275
|
this.redoStack.push(this._record());
|
|
276
|
-
const
|
|
277
|
-
this._editor.content.calcTextCount() && requestAnimationFrame(() => this._restoreCursor(
|
|
276
|
+
const t = this.undoStack.pop();
|
|
277
|
+
this._editor.content.calcTextCount() && requestAnimationFrame(() => this._restoreCursor(t)), this._editor.element.innerHTML = t.content, (o = this._onUndoChange) == null || o.call(this, t.anchorContent);
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
280
|
_restoreCursor(B) {
|
|
281
|
-
const
|
|
282
|
-
if (v(
|
|
283
|
-
const
|
|
284
|
-
let l = this._editor.content.getParas(), { index: h } = d[0],
|
|
285
|
-
for (;
|
|
286
|
-
if (
|
|
287
|
-
if (l = Array.from(
|
|
288
|
-
h = d[
|
|
281
|
+
const o = window.getSelection();
|
|
282
|
+
if (v(o)) return;
|
|
283
|
+
const t = (d) => {
|
|
284
|
+
let l = this._editor.content.getParas(), { index: h } = d[0], y = null, D = 0;
|
|
285
|
+
for (; D < d.length; ) {
|
|
286
|
+
if (y = l[h], SA(y)) return y;
|
|
287
|
+
if (l = Array.from(y.childNodes), D++, D >= d.length) break;
|
|
288
|
+
h = d[D].index;
|
|
289
289
|
}
|
|
290
|
-
return
|
|
291
|
-
}, s =
|
|
292
|
-
i.setStart(s, B.startOffset), i.setEnd(r, B.endOffset),
|
|
290
|
+
return y;
|
|
291
|
+
}, s = t(B.startMatchedIndexes), r = t(B.endMatchedIndexes), i = document.createRange();
|
|
292
|
+
i.setStart(s, B.startOffset), i.setEnd(r, B.endOffset), o.removeAllRanges(), o.addRange(i);
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
295
|
const YA = [];
|
|
@@ -310,19 +310,19 @@ function ue() {
|
|
|
310
310
|
}
|
|
311
311
|
const ye = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), cB = { randomUUID: ye };
|
|
312
312
|
function LB(I, e, B) {
|
|
313
|
-
var
|
|
313
|
+
var t;
|
|
314
314
|
if (cB.randomUUID && !I)
|
|
315
315
|
return cB.randomUUID();
|
|
316
316
|
I = I || {};
|
|
317
|
-
const
|
|
318
|
-
if (
|
|
317
|
+
const o = I.random ?? ((t = I.rng) == null ? void 0 : t.call(I)) ?? ue();
|
|
318
|
+
if (o.length < 16)
|
|
319
319
|
throw new Error("Random bytes length must be >= 16");
|
|
320
|
-
return
|
|
320
|
+
return o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, he(o);
|
|
321
321
|
}
|
|
322
322
|
const RI = (I, e) => {
|
|
323
323
|
var s;
|
|
324
|
-
const B = window.getSelection(),
|
|
325
|
-
v(
|
|
324
|
+
const B = window.getSelection(), o = document.createRange(), t = e.lastChild;
|
|
325
|
+
v(t) || v(B) || (o.setStartAfter(t), o.setEndAfter(t), B.removeAllRanges(), B.addRange(o), (s = I.plugin.pausation) == null || s.add({ delay: 1 }));
|
|
326
326
|
}, YI = (I, e) => {
|
|
327
327
|
const B = new InputEvent("beforeinput", {
|
|
328
328
|
bubbles: !0,
|
|
@@ -331,15 +331,15 @@ const RI = (I, e) => {
|
|
|
331
331
|
data: "Hello"
|
|
332
332
|
});
|
|
333
333
|
I.element.dispatchEvent(B);
|
|
334
|
-
const { range:
|
|
335
|
-
let i =
|
|
336
|
-
if (!
|
|
334
|
+
const { range: o } = I.cursor, t = e[0], s = e[e.length - 1], r = e.slice(1, -1);
|
|
335
|
+
let i = o;
|
|
336
|
+
if (!t || !i) return;
|
|
337
337
|
let d = null, l = 0, h = null;
|
|
338
338
|
if (I.cursor.isRange() && (d = i.startContainer, l = i.startOffset, h = i.endContainer, i.deleteContents()), e.length === 1) {
|
|
339
|
-
I.content.insert(
|
|
339
|
+
I.content.insert(t);
|
|
340
340
|
return;
|
|
341
341
|
}
|
|
342
|
-
if (
|
|
342
|
+
if (CA(i.commonAncestorContainer) && i.commonAncestorContainer.tagName === "DIV") {
|
|
343
343
|
const m = VA(d), X = VA(h), _ = document.createDocumentFragment();
|
|
344
344
|
for (; X != null && X.firstChild; )
|
|
345
345
|
_.appendChild(X.firstChild);
|
|
@@ -347,32 +347,32 @@ const RI = (I, e) => {
|
|
|
347
347
|
const Y = window.getSelection(), O = document.createRange();
|
|
348
348
|
O.setStart(d, l), O.setEnd(d, l), Y == null || Y.removeAllRanges(), Y == null || Y.addRange(O);
|
|
349
349
|
}
|
|
350
|
-
i = I.cursor.isRangeInEditor() ? window.getSelection().getRangeAt(0) :
|
|
351
|
-
const [
|
|
350
|
+
i = I.cursor.isRangeInEditor() ? window.getSelection().getRangeAt(0) : o, i = SA(i.commonAncestorContainer) && i.commonAncestorContainer.textContent === "粘贴文本" ? o : i;
|
|
351
|
+
const [D] = qA(
|
|
352
352
|
i.commonAncestorContainer,
|
|
353
353
|
(m) => m.tagName === "P" && m.classList.contains(GA)
|
|
354
|
-
), [
|
|
355
|
-
|
|
356
|
-
const M =
|
|
357
|
-
if (!(
|
|
358
|
-
|
|
359
|
-
else if (SA(
|
|
360
|
-
|
|
361
|
-
else if (
|
|
362
|
-
const { lastChild: m } =
|
|
363
|
-
SA(m) ? m.textContent +=
|
|
354
|
+
), [F] = qA(i.startContainer, (m) => m.tagName === "SPAN" && m.dataset.type === T.anchor), f = document.createRange(), N = !!F;
|
|
355
|
+
f.setStart(i.startContainer, i.startOffset), f.setEndAfter(D.lastChild);
|
|
356
|
+
const M = f.extractContents();
|
|
357
|
+
if (!(D != null && D.textContent))
|
|
358
|
+
D.innerHTML = t;
|
|
359
|
+
else if (SA(D.lastChild))
|
|
360
|
+
D.lastChild.textContent += t;
|
|
361
|
+
else if (CA(D.lastChild) && D.lastChild.dataset.type === T.anchor) {
|
|
362
|
+
const { lastChild: m } = D.lastChild;
|
|
363
|
+
SA(m) ? m.textContent += t : m == null || m.appendChild(document.createTextNode(t));
|
|
364
364
|
} else
|
|
365
|
-
|
|
365
|
+
D.appendChild(document.createTextNode(t));
|
|
366
366
|
RI(
|
|
367
367
|
I,
|
|
368
|
-
N ?
|
|
368
|
+
N ? D.lastChild : D
|
|
369
369
|
);
|
|
370
|
-
let { nextSibling: S } =
|
|
370
|
+
let { nextSibling: S } = D;
|
|
371
371
|
if (r.forEach((m) => {
|
|
372
372
|
var _;
|
|
373
373
|
const X = document.createElement("p");
|
|
374
|
-
if (X.classList.add(GA), X.textContent = m, (_ =
|
|
375
|
-
const Y =
|
|
374
|
+
if (X.classList.add(GA), X.textContent = m, (_ = D == null ? void 0 : D.parentNode) == null || _.insertBefore(X, S), S = X.nextSibling, RI(I, X), N) {
|
|
375
|
+
const Y = F.cloneNode(!1);
|
|
376
376
|
Y.innerHTML = X.innerHTML, X.innerHTML = Y.outerHTML;
|
|
377
377
|
}
|
|
378
378
|
}), !s) return;
|
|
@@ -381,7 +381,7 @@ const RI = (I, e) => {
|
|
|
381
381
|
R.innerHTML = s;
|
|
382
382
|
else if (SA(R.firstChild))
|
|
383
383
|
R.firstChild.textContent = s + R.firstChild.textContent;
|
|
384
|
-
else if (
|
|
384
|
+
else if (CA(R.firstChild) && R.firstChild.dataset.type === T.anchor) {
|
|
385
385
|
const { firstChild: m } = R.firstChild;
|
|
386
386
|
SA(m) ? m.textContent = s + m.textContent : m == null || m.insertBefore(document.createTextNode(s), m.firstChild);
|
|
387
387
|
} else
|
|
@@ -392,7 +392,7 @@ const RI = (I, e) => {
|
|
|
392
392
|
}) && RI(I, R);
|
|
393
393
|
}, [fe] = zA("paragraph"), GA = fe(), Re = `<p class="${GA}"><br /></p>`;
|
|
394
394
|
class Fe extends te {
|
|
395
|
-
constructor(B,
|
|
395
|
+
constructor(B, o) {
|
|
396
396
|
super();
|
|
397
397
|
AA(this, "_observer", null);
|
|
398
398
|
AA(this, "_onchange");
|
|
@@ -404,10 +404,10 @@ class Fe extends te {
|
|
|
404
404
|
AA(this, "command");
|
|
405
405
|
AA(this, "maxLength");
|
|
406
406
|
AA(this, "plugin");
|
|
407
|
-
this._uid = LB(), this._editorElement = B, this.content = new le(B, this), this.cursor = new we(B), this.undo = new de(this, this.content,
|
|
407
|
+
this._uid = LB(), this._editorElement = B, this.content = new le(B, this), this.cursor = new we(B), this.undo = new de(this, this.content, o == null ? void 0 : o.onUndoChange), this.command = new ae(this.content, this.cursor), this.maxLength = (o == null ? void 0 : o.maxLength) ?? 1e4, this.plugin = ((o == null ? void 0 : o.plugins) ?? []).reduce((t, s) => {
|
|
408
408
|
const r = new s(this), i = r.prefix;
|
|
409
|
-
return
|
|
410
|
-
}, {}), this._onchange =
|
|
409
|
+
return t[i] = r, t;
|
|
410
|
+
}, {}), this._onchange = o == null ? void 0 : o.onChange, this._handleBackspace = this._handleBackspace.bind(this), this._handlePaste = this._handlePaste.bind(this), this._handleBeforeInput = this._handleBeforeInput.bind(this), this._handleCompositionEnd = this._handleCompositionEnd.bind(this), this._setup();
|
|
411
411
|
}
|
|
412
412
|
destroy() {
|
|
413
413
|
this._teardown();
|
|
@@ -419,41 +419,50 @@ class Fe extends te {
|
|
|
419
419
|
return this._editorElement.getBoundingClientRect().left;
|
|
420
420
|
}
|
|
421
421
|
appendContent(B) {
|
|
422
|
-
this.content.appendContent(B, (
|
|
422
|
+
this.content.appendContent(B, (o) => RI(this, o));
|
|
423
423
|
}
|
|
424
424
|
get element() {
|
|
425
425
|
return this._editorElement;
|
|
426
426
|
}
|
|
427
427
|
_setup() {
|
|
428
428
|
this._observer = new MutationObserver(([B]) => {
|
|
429
|
-
var
|
|
429
|
+
var o;
|
|
430
430
|
if (B.removedNodes.length) {
|
|
431
|
-
const
|
|
432
|
-
if (
|
|
431
|
+
const t = B.removedNodes[0];
|
|
432
|
+
if (CA(t) && t.dataset.type === T.highlight) {
|
|
433
433
|
const s = window.getSelection(), { range: r } = this.cursor;
|
|
434
434
|
if (v(r) || v(s)) return;
|
|
435
435
|
const i = document.createTextNode(""), d = document.createRange();
|
|
436
436
|
r.insertNode(i), d.setStartAfter(i), d.setEndAfter(i), s.removeAllRanges(), s.addRange(d);
|
|
437
437
|
}
|
|
438
438
|
}
|
|
439
|
-
B.addedNodes.forEach((
|
|
440
|
-
|
|
441
|
-
}), B.removedNodes.length && !this.content.getParas().length && this.content.insertEmptyPara(), (
|
|
442
|
-
|
|
443
|
-
|
|
439
|
+
B.addedNodes.forEach((t) => {
|
|
440
|
+
CA(t) && t.tagName === "P" && !t.classList.contains(GA) && t.classList.add(GA);
|
|
441
|
+
}), B.removedNodes.length && !this.content.getParas().length && this.content.insertEmptyPara(), (o = this._onchange) == null || o.call(this, this.content.calcTextCount()), Array.from(document.querySelectorAll("p")).forEach((t) => {
|
|
442
|
+
Array.from(t.style).includes("text-indent") && t.removeAttribute("style"), Array.from(t.childNodes).forEach((r) => {
|
|
443
|
+
var i;
|
|
444
|
+
if (CA(r) && r.tagName === "FONT" && CA(r.firstChild) && ((i = r.firstChild) == null ? void 0 : i.tagName) === "SPAN") {
|
|
445
|
+
const d = r.firstChild;
|
|
446
|
+
r.replaceWith(d.textContent ?? ""), t.normalize();
|
|
447
|
+
}
|
|
448
|
+
});
|
|
449
|
+
}), Array.from(document.querySelectorAll("p span")).forEach((t) => {
|
|
450
|
+
var y;
|
|
451
|
+
const s = t.parentNode, r = t.firstChild, i = t && t.style.textIndent === "20px" && t.style.fontSize && t.style.color, d = t && t.style.backgroundColor && ((y = t.parentElement) == null ? void 0 : y.style.textIndent) === "0px", l = t && Array.from(t.childNodes).every((D) => SA(D) && !D.textContent || CA(D) && D.tagName === "BR"), h = t && CA(t.firstChild) && t.firstChild.tagName === "BR";
|
|
444
452
|
if (i || d) {
|
|
445
|
-
for (;
|
|
446
|
-
s == null || s.insertBefore(
|
|
447
|
-
s == null || s.removeChild(
|
|
453
|
+
for (; t.firstChild; )
|
|
454
|
+
s == null || s.insertBefore(t.firstChild, t);
|
|
455
|
+
s == null || s.removeChild(t), lg(r);
|
|
448
456
|
}
|
|
449
|
-
if (l && (s == null || s.removeChild(
|
|
457
|
+
if (l && (s == null || s.removeChild(t)), d) {
|
|
450
458
|
s.removeAttribute("style");
|
|
451
459
|
const D = window.getSelection(), f = (D == null ? void 0 : D.getRangeAt(0)).cloneRange();
|
|
452
460
|
f.setStartAfter(f.startContainer), f.setEndAfter(f.endContainer), D == null || D.removeAllRanges(), D == null || D.addRange(f);
|
|
453
461
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
462
|
+
h && t.removeChild(t.firstChild);
|
|
463
|
+
}), this.content.getParas().forEach((t) => {
|
|
464
|
+
const s = t.firstChild, r = t.lastChild;
|
|
465
|
+
t.childNodes.length > 1 && (CA(r) && r.tagName === "BR" && r.remove(), CA(s) && s.tagName === "BR" && s.remove()), (t.childNodes.length === 0 || t.childNodes.length === 1 && SA(t.childNodes[0]) && t.childNodes[0].textContent === "") && t.remove();
|
|
457
466
|
});
|
|
458
467
|
}), this._observer.observe(this._editorElement, {
|
|
459
468
|
childList: !0,
|
|
@@ -463,14 +472,14 @@ class Fe extends te {
|
|
|
463
472
|
}
|
|
464
473
|
_teardown() {
|
|
465
474
|
var B;
|
|
466
|
-
(B = this._observer) == null || B.disconnect(), this._observer = null, this.cursor.destroy(), this.undo.destroy(), this._editorElement.removeEventListener("keydown", this._handleBackspace), this._editorElement.removeEventListener("paste", this._handlePaste), this._editorElement.removeEventListener("beforeinput", this._handleBeforeInput), this._editorElement.removeEventListener("compositionend", this._handleCompositionEnd), Object.values(this.plugin).forEach((
|
|
475
|
+
(B = this._observer) == null || B.disconnect(), this._observer = null, this.cursor.destroy(), this.undo.destroy(), this._editorElement.removeEventListener("keydown", this._handleBackspace), this._editorElement.removeEventListener("paste", this._handlePaste), this._editorElement.removeEventListener("beforeinput", this._handleBeforeInput), this._editorElement.removeEventListener("compositionend", this._handleCompositionEnd), Object.values(this.plugin).forEach((o) => o.destroy());
|
|
467
476
|
}
|
|
468
477
|
// TODO 待优化删除逻辑(太多重复range操作, 抽象API至 contentManger 类)
|
|
469
478
|
_handleBackspace(B) {
|
|
470
479
|
var s;
|
|
471
|
-
const
|
|
472
|
-
if (B.key === "Backspace" &&
|
|
473
|
-
const [r] = qA(
|
|
480
|
+
const o = window.getSelection(), t = o.getRangeAt(0);
|
|
481
|
+
if (B.key === "Backspace" && t.startOffset === 0 && t.collapsed) {
|
|
482
|
+
const [r] = qA(t.startContainer, (d) => d.tagName === "P" && d.classList.contains(GA)), i = r == null ? void 0 : r.previousElementSibling;
|
|
474
483
|
if (i) {
|
|
475
484
|
B.preventDefault();
|
|
476
485
|
const d = i.childNodes, l = i.childNodes[0];
|
|
@@ -478,20 +487,20 @@ class Fe extends te {
|
|
|
478
487
|
// 一个节点
|
|
479
488
|
d.length === 1 && // 空文本节点
|
|
480
489
|
(SA(l) && l.textContent === "" || // 换行元素节点
|
|
481
|
-
|
|
490
|
+
CA(l) && l.tagName === "BR")
|
|
482
491
|
) {
|
|
483
492
|
i.remove();
|
|
484
493
|
const h = document.createRange();
|
|
485
|
-
h.
|
|
494
|
+
h.setStart(r.firstChild, 0), h.collapse(!0), o.removeAllRanges(), o.addRange(h);
|
|
486
495
|
} else {
|
|
487
496
|
const h = document.createRange();
|
|
488
|
-
h.selectNodeContents(i), h.collapse(!1),
|
|
489
|
-
const
|
|
497
|
+
h.selectNodeContents(i), h.collapse(!1), o.removeAllRanges(), o.addRange(h);
|
|
498
|
+
const y = document.createDocumentFragment(), D = r.firstChild;
|
|
490
499
|
for (; r.firstChild; )
|
|
491
|
-
|
|
492
|
-
h.insertNode(
|
|
493
|
-
const
|
|
494
|
-
|
|
500
|
+
y.appendChild(r.firstChild);
|
|
501
|
+
h.insertNode(y), r.remove();
|
|
502
|
+
const F = document.createRange();
|
|
503
|
+
F.setStartBefore(D), F.setEndBefore(D), o.removeAllRanges(), o.addRange(F);
|
|
495
504
|
}
|
|
496
505
|
}
|
|
497
506
|
}
|
|
@@ -515,18 +524,18 @@ class Fe extends te {
|
|
|
515
524
|
d.innerHTML = "<br />", this._editorElement.insertBefore(d, i.parentElement);
|
|
516
525
|
}
|
|
517
526
|
}
|
|
518
|
-
if (
|
|
519
|
-
const r = VA(
|
|
527
|
+
if (t.startOffset === 0 && t.endContainer.tagName === "P" && VA(t.startContainer) === VA(t.endContainer)) {
|
|
528
|
+
const r = VA(t.endContainer);
|
|
520
529
|
if (v(r)) return;
|
|
521
|
-
B.key === "Backspace" && ke(r,
|
|
530
|
+
B.key === "Backspace" && ke(r, o);
|
|
522
531
|
}
|
|
523
532
|
}
|
|
524
533
|
// 粘贴事件处理函数
|
|
525
534
|
_handlePaste(B) {
|
|
526
|
-
var
|
|
535
|
+
var t, s;
|
|
527
536
|
B.preventDefault(), Ge(this._editorElement);
|
|
528
|
-
const
|
|
529
|
-
YI(this, JI(this,
|
|
537
|
+
const o = ((s = (t = B.clipboardData) == null ? void 0 : t.getData("text/plain")) == null ? void 0 : s.split(/(?:\r?\n){2,}/).map((r) => r.trim()).filter((r) => r)) ?? [];
|
|
538
|
+
YI(this, JI(this, o));
|
|
530
539
|
}
|
|
531
540
|
_handleBeforeInput(B) {
|
|
532
541
|
ce(this, B);
|
|
@@ -535,26 +544,26 @@ class Fe extends te {
|
|
|
535
544
|
se(this, B);
|
|
536
545
|
}
|
|
537
546
|
}
|
|
538
|
-
const vg = (I, e, B,
|
|
539
|
-
if (Object.keys(e).forEach((
|
|
540
|
-
I.setAttribute(
|
|
541
|
-
}), Object.keys(B).forEach((
|
|
542
|
-
I.dataset[
|
|
543
|
-
}), !v(
|
|
544
|
-
if (GB(
|
|
545
|
-
const
|
|
546
|
-
for (s.innerHTML =
|
|
547
|
-
|
|
548
|
-
I.appendChild(o);
|
|
549
|
-
} else
|
|
547
|
+
const vg = (I, e, B, o) => {
|
|
548
|
+
if (Object.keys(e).forEach((t) => {
|
|
549
|
+
I.setAttribute(t, String(e[t]));
|
|
550
|
+
}), Object.keys(B).forEach((t) => {
|
|
551
|
+
I.dataset[t] = String(B[t]);
|
|
552
|
+
}), !v(o))
|
|
553
|
+
if (GB(o)) {
|
|
554
|
+
const t = document.createDocumentFragment(), s = document.createElement("div");
|
|
555
|
+
for (s.innerHTML = o; s.firstChild; )
|
|
556
|
+
t.appendChild(s.firstChild);
|
|
550
557
|
I.appendChild(t);
|
|
558
|
+
} else
|
|
559
|
+
I.appendChild(o);
|
|
551
560
|
}, qA = (I, e) => {
|
|
552
561
|
const B = kB(e) ? e : [e];
|
|
553
|
-
let
|
|
554
|
-
for (;
|
|
555
|
-
const
|
|
562
|
+
let o = I;
|
|
563
|
+
for (; o; ) {
|
|
564
|
+
const t = o, s = B.map((r) => r(t)).map((r) => r ? t : null);
|
|
556
565
|
if (s.some((r) => r)) return s;
|
|
557
|
-
|
|
566
|
+
o = o.parentElement;
|
|
558
567
|
}
|
|
559
568
|
return new Array(B.length).fill(null);
|
|
560
569
|
}, VA = (I) => {
|
|
@@ -566,42 +575,42 @@ const vg = (I, e, B, t) => {
|
|
|
566
575
|
}, hC = (I, e) => {
|
|
567
576
|
if (I === e) return [];
|
|
568
577
|
const B = [];
|
|
569
|
-
let
|
|
570
|
-
for (;
|
|
571
|
-
B.push(
|
|
578
|
+
let o = I.nextElementSibling;
|
|
579
|
+
for (; o && o !== e; )
|
|
580
|
+
B.push(o), o = o.nextElementSibling;
|
|
572
581
|
return B;
|
|
573
582
|
}, SC = (I) => {
|
|
574
583
|
const e = document.createElement("div");
|
|
575
584
|
return e.setAttribute("class", `editor-${I}-tag-modal`), e;
|
|
576
585
|
}, lg = (I, e, B) => {
|
|
577
586
|
var r, i, d;
|
|
578
|
-
const
|
|
587
|
+
const o = I.previousSibling, t = I.nextSibling, s = e ?? I.textContent ?? "";
|
|
579
588
|
if (B && // 空节点
|
|
580
|
-
(!
|
|
581
|
-
|
|
582
|
-
|
|
589
|
+
(!o && !t || // 相邻停顿节点
|
|
590
|
+
CA(o) && o.dataset.type === T.pausation || // 相邻功能节点
|
|
591
|
+
CA(o) && [
|
|
583
592
|
T.anchor,
|
|
584
593
|
T.homophones,
|
|
585
594
|
T.pausation,
|
|
586
595
|
T.pronunciation
|
|
587
|
-
].includes(
|
|
588
|
-
|
|
596
|
+
].includes(o.dataset.type))) {
|
|
597
|
+
CA(I) && I.dataset.type !== T.pausation ? I.replaceWith(I.dataset.raw ?? "") : (r = I.parentNode) == null || r.removeChild(I);
|
|
589
598
|
return;
|
|
590
599
|
}
|
|
591
|
-
if (SA(
|
|
592
|
-
|
|
600
|
+
if (SA(o)) {
|
|
601
|
+
o.textContent += s, (i = I.parentNode) == null || i.removeChild(I), lg(o, o.textContent, !1);
|
|
593
602
|
return;
|
|
594
603
|
}
|
|
595
|
-
SA(
|
|
604
|
+
SA(t) && (t.textContent = s + t.textContent, (d = I.parentNode) == null || d.removeChild(I), lg(t, t.textContent, !1));
|
|
596
605
|
}, IC = (I, e) => {
|
|
597
|
-
const B = I.length,
|
|
598
|
-
let s =
|
|
606
|
+
const B = I.length, o = e.length, t = new Array(o).fill(0);
|
|
607
|
+
let s = t[0], r = 0, i = 0;
|
|
599
608
|
for (let d = 1; d <= B; d++) {
|
|
600
|
-
for (let l = 1; l <=
|
|
601
|
-
const h =
|
|
602
|
-
I[d - 1] === e[l - 1] ? (
|
|
609
|
+
for (let l = 1; l <= o; l++) {
|
|
610
|
+
const h = t[l];
|
|
611
|
+
I[d - 1] === e[l - 1] ? (t[l] = s + 1, t[l] > r && (r = Math.max(r, t[l]), i = l - 1)) : t[l] = 0, s = h;
|
|
603
612
|
}
|
|
604
|
-
s =
|
|
613
|
+
s = t[0];
|
|
605
614
|
}
|
|
606
615
|
return e.substring(i - r + 1, i + 1);
|
|
607
616
|
}, Ne = () => {
|
|
@@ -612,22 +621,22 @@ const vg = (I, e, B, t) => {
|
|
|
612
621
|
for (; B && B.nodeName !== "P"; )
|
|
613
622
|
B = B.parentNode;
|
|
614
623
|
if (!B) return !1;
|
|
615
|
-
const
|
|
616
|
-
return
|
|
624
|
+
const o = e.cloneRange();
|
|
625
|
+
return o.setEndAfter(B), o.toString().length === 0;
|
|
617
626
|
}, Ge = (I) => {
|
|
618
627
|
const e = window.getSelection();
|
|
619
628
|
if (!e.rangeCount) return;
|
|
620
629
|
const B = Array.from(I.querySelectorAll("p"));
|
|
621
630
|
if (B.length === 0) return;
|
|
622
|
-
let
|
|
623
|
-
for (const
|
|
624
|
-
if (
|
|
625
|
-
|
|
631
|
+
let o = !1;
|
|
632
|
+
for (const t of B)
|
|
633
|
+
if (t.contains(e.anchorNode)) {
|
|
634
|
+
o = !0;
|
|
626
635
|
break;
|
|
627
636
|
}
|
|
628
|
-
if (!
|
|
629
|
-
const
|
|
630
|
-
|
|
637
|
+
if (!o) {
|
|
638
|
+
const t = document.createRange(), s = B[B.length - 1];
|
|
639
|
+
t.selectNodeContents(s), t.collapse(!1), e.removeAllRanges(), e.addRange(t);
|
|
631
640
|
}
|
|
632
641
|
}, ke = (I, e) => {
|
|
633
642
|
if (!I) return;
|
|
@@ -637,8 +646,8 @@ const vg = (I, e, B, t) => {
|
|
|
637
646
|
B.selectNodeContents(I), B.collapse(!1), e.removeAllRanges(), e.addRange(B);
|
|
638
647
|
}, UB = (I, e, B = 0) => {
|
|
639
648
|
if (!I || !e) return { top: 0, left: 0, width: 0, height: 0 };
|
|
640
|
-
const
|
|
641
|
-
return { top: s, left: r, width:
|
|
649
|
+
const o = I, t = e, s = t.bottom - o.top + B, r = t.left - o.left;
|
|
650
|
+
return { top: s, left: r, width: t.width, height: t.height };
|
|
642
651
|
}, Se = (I) => {
|
|
643
652
|
const e = Array.from(
|
|
644
653
|
document.querySelectorAll(`span[data-frag-id="anchor_${I.id}"]`)
|
|
@@ -658,8 +667,8 @@ function Me(I) {
|
|
|
658
667
|
return e || (e = I()), e;
|
|
659
668
|
}
|
|
660
669
|
return B.reset = async () => {
|
|
661
|
-
const
|
|
662
|
-
e = void 0,
|
|
670
|
+
const o = e;
|
|
671
|
+
e = void 0, o && await o;
|
|
663
672
|
}, B;
|
|
664
673
|
}
|
|
665
674
|
function lB(I) {
|
|
@@ -667,22 +676,22 @@ function lB(I) {
|
|
|
667
676
|
}
|
|
668
677
|
function pe(I, e, B = {}) {
|
|
669
678
|
const {
|
|
670
|
-
immediate:
|
|
671
|
-
} = B,
|
|
679
|
+
immediate: o = !0
|
|
680
|
+
} = B, t = DA(!1);
|
|
672
681
|
let s = null;
|
|
673
682
|
function r() {
|
|
674
683
|
s && (clearTimeout(s), s = null);
|
|
675
684
|
}
|
|
676
685
|
function i() {
|
|
677
|
-
|
|
686
|
+
t.value = !1, r();
|
|
678
687
|
}
|
|
679
688
|
function d(...l) {
|
|
680
|
-
r(),
|
|
681
|
-
|
|
689
|
+
r(), t.value = !0, s = setTimeout(() => {
|
|
690
|
+
t.value = !1, s = null, I(...l);
|
|
682
691
|
}, Jg(e));
|
|
683
692
|
}
|
|
684
|
-
return
|
|
685
|
-
isPending: WE(
|
|
693
|
+
return o && (t.value = !0, LC && d()), MB(i), {
|
|
694
|
+
isPending: WE(t),
|
|
686
695
|
start: d,
|
|
687
696
|
stop: i
|
|
688
697
|
};
|
|
@@ -690,17 +699,17 @@ function pe(I, e, B = {}) {
|
|
|
690
699
|
function FI(I = !1, e = {}) {
|
|
691
700
|
const {
|
|
692
701
|
truthyValue: B = !0,
|
|
693
|
-
falsyValue:
|
|
694
|
-
} = e,
|
|
702
|
+
falsyValue: o = !1
|
|
703
|
+
} = e, t = jE(I), s = DA(I);
|
|
695
704
|
function r(i) {
|
|
696
705
|
if (arguments.length)
|
|
697
706
|
return s.value = i, s.value;
|
|
698
707
|
{
|
|
699
708
|
const d = Jg(B);
|
|
700
|
-
return s.value = s.value === d ? Jg(
|
|
709
|
+
return s.value = s.value === d ? Jg(o) : d, s.value;
|
|
701
710
|
}
|
|
702
711
|
}
|
|
703
|
-
return
|
|
712
|
+
return t ? r : [s, r];
|
|
704
713
|
}
|
|
705
714
|
const pB = LC ? window : void 0, JB = LC ? window.navigator : void 0;
|
|
706
715
|
function Je(I) {
|
|
@@ -709,20 +718,20 @@ function Je(I) {
|
|
|
709
718
|
return (e = B == null ? void 0 : B.$el) != null ? e : B;
|
|
710
719
|
}
|
|
711
720
|
function Ug(...I) {
|
|
712
|
-
let e, B,
|
|
713
|
-
if (typeof I[0] == "string" || Array.isArray(I[0]) ? ([B,
|
|
721
|
+
let e, B, o, t;
|
|
722
|
+
if (typeof I[0] == "string" || Array.isArray(I[0]) ? ([B, o, t] = I, e = pB) : [e, B, o, t] = I, !e)
|
|
714
723
|
return DC;
|
|
715
|
-
B = lB(B),
|
|
724
|
+
B = lB(B), o = lB(o);
|
|
716
725
|
const s = [], r = () => {
|
|
717
726
|
s.forEach((h) => h()), s.length = 0;
|
|
718
|
-
}, i = (h,
|
|
719
|
-
() => [Je(e), Jg(
|
|
720
|
-
([h,
|
|
727
|
+
}, i = (h, y, D, F) => (h.addEventListener(y, D, F), () => h.removeEventListener(y, D, F)), d = $g(
|
|
728
|
+
() => [Je(e), Jg(t)],
|
|
729
|
+
([h, y]) => {
|
|
721
730
|
if (r(), !h)
|
|
722
731
|
return;
|
|
723
|
-
const
|
|
732
|
+
const D = Ue(y) ? { ...y } : y;
|
|
724
733
|
s.push(
|
|
725
|
-
...B.flatMap((
|
|
734
|
+
...B.flatMap((F) => o.map((f) => i(h, F, f, D)))
|
|
726
735
|
);
|
|
727
736
|
},
|
|
728
737
|
{ immediate: !0, flush: "post" }
|
|
@@ -744,17 +753,17 @@ function YB(I) {
|
|
|
744
753
|
function wB(I, e = {}) {
|
|
745
754
|
const {
|
|
746
755
|
controls: B = !1,
|
|
747
|
-
navigator:
|
|
748
|
-
} = e,
|
|
749
|
-
var h,
|
|
750
|
-
i.value = (
|
|
756
|
+
navigator: o = JB
|
|
757
|
+
} = e, t = YB(() => o && "permissions" in o), s = rB(), r = typeof I == "string" ? { name: I } : I, i = rB(), d = () => {
|
|
758
|
+
var h, y;
|
|
759
|
+
i.value = (y = (h = s.value) == null ? void 0 : h.state) != null ? y : "prompt";
|
|
751
760
|
};
|
|
752
761
|
Ug(s, "change", d, { passive: !0 });
|
|
753
762
|
const l = Me(async () => {
|
|
754
|
-
if (
|
|
763
|
+
if (t.value) {
|
|
755
764
|
if (!s.value)
|
|
756
765
|
try {
|
|
757
|
-
s.value = await
|
|
766
|
+
s.value = await o.permissions.query(r);
|
|
758
767
|
} catch {
|
|
759
768
|
s.value = void 0;
|
|
760
769
|
} finally {
|
|
@@ -766,7 +775,7 @@ function wB(I, e = {}) {
|
|
|
766
775
|
});
|
|
767
776
|
return l(), B ? {
|
|
768
777
|
state: i,
|
|
769
|
-
isSupported:
|
|
778
|
+
isSupported: t,
|
|
770
779
|
query: l
|
|
771
780
|
} : i;
|
|
772
781
|
}
|
|
@@ -774,18 +783,18 @@ function He(I = {}) {
|
|
|
774
783
|
const {
|
|
775
784
|
navigator: e = JB,
|
|
776
785
|
read: B = !1,
|
|
777
|
-
source:
|
|
778
|
-
copiedDuring:
|
|
786
|
+
source: o,
|
|
787
|
+
copiedDuring: t = 1500,
|
|
779
788
|
legacy: s = !1
|
|
780
|
-
} = I, r = YB(() => e && "clipboard" in e), i = wB("clipboard-read"), d = wB("clipboard-write"), l = JA(() => r.value || s), h = DA(""),
|
|
781
|
-
function
|
|
789
|
+
} = I, r = YB(() => e && "clipboard" in e), i = wB("clipboard-read"), d = wB("clipboard-write"), l = JA(() => r.value || s), h = DA(""), y = DA(!1), D = pe(() => y.value = !1, t, { immediate: !1 });
|
|
790
|
+
function F() {
|
|
782
791
|
r.value && S(i.value) ? e.clipboard.readText().then((R) => {
|
|
783
792
|
h.value = R;
|
|
784
793
|
}) : h.value = M();
|
|
785
794
|
}
|
|
786
|
-
l.value && B && Ug(["copy", "cut"],
|
|
787
|
-
async function
|
|
788
|
-
l.value && R != null && (r.value && S(d.value) ? await e.clipboard.writeText(R) : N(R), h.value = R,
|
|
795
|
+
l.value && B && Ug(["copy", "cut"], F, { passive: !0 });
|
|
796
|
+
async function f(R = Jg(o)) {
|
|
797
|
+
l.value && R != null && (r.value && S(d.value) ? await e.clipboard.writeText(R) : N(R), h.value = R, y.value = !0, D.start());
|
|
789
798
|
}
|
|
790
799
|
function N(R) {
|
|
791
800
|
const W = document.createElement("textarea");
|
|
@@ -801,8 +810,8 @@ function He(I = {}) {
|
|
|
801
810
|
return {
|
|
802
811
|
isSupported: l,
|
|
803
812
|
text: h,
|
|
804
|
-
copied:
|
|
805
|
-
copy:
|
|
813
|
+
copied: y,
|
|
814
|
+
copy: f
|
|
806
815
|
};
|
|
807
816
|
}
|
|
808
817
|
const me = {
|
|
@@ -815,38 +824,38 @@ function HI(I = {}) {
|
|
|
815
824
|
const {
|
|
816
825
|
type: e = "page",
|
|
817
826
|
touch: B = !0,
|
|
818
|
-
resetOnTouchEnds:
|
|
819
|
-
initialValue:
|
|
827
|
+
resetOnTouchEnds: o = !1,
|
|
828
|
+
initialValue: t = { x: 0, y: 0 },
|
|
820
829
|
window: s = pB,
|
|
821
830
|
target: r = s,
|
|
822
831
|
scroll: i = !0,
|
|
823
832
|
eventFilter: d
|
|
824
833
|
} = I;
|
|
825
|
-
let l = null, h = 0,
|
|
826
|
-
const
|
|
834
|
+
let l = null, h = 0, y = 0;
|
|
835
|
+
const D = DA(t.x), F = DA(t.y), f = DA(null), N = typeof e == "function" ? e : me[e], M = (Y) => {
|
|
827
836
|
const O = N(Y);
|
|
828
|
-
l = Y, O && ([
|
|
837
|
+
l = Y, O && ([D.value, F.value] = O, f.value = "mouse"), s && (h = s.scrollX, y = s.scrollY);
|
|
829
838
|
}, S = (Y) => {
|
|
830
839
|
if (Y.touches.length > 0) {
|
|
831
840
|
const O = N(Y.touches[0]);
|
|
832
|
-
O && ([
|
|
841
|
+
O && ([D.value, F.value] = O, f.value = "touch");
|
|
833
842
|
}
|
|
834
843
|
}, R = () => {
|
|
835
844
|
if (!l || !s)
|
|
836
845
|
return;
|
|
837
846
|
const Y = N(l);
|
|
838
|
-
l instanceof MouseEvent && Y && (
|
|
847
|
+
l instanceof MouseEvent && Y && (D.value = Y[0] + s.scrollX - h, F.value = Y[1] + s.scrollY - y);
|
|
839
848
|
}, W = () => {
|
|
840
|
-
|
|
849
|
+
D.value = t.x, F.value = t.y;
|
|
841
850
|
}, m = d ? (Y) => d(() => M(Y), {}) : (Y) => M(Y), X = d ? (Y) => d(() => S(Y), {}) : (Y) => S(Y), _ = d ? () => d(() => R(), {}) : () => R();
|
|
842
851
|
if (r) {
|
|
843
852
|
const Y = { passive: !0 };
|
|
844
|
-
Ug(r, ["mousemove", "dragover"], m, Y), B && e !== "movement" && (Ug(r, ["touchstart", "touchmove"], X, Y),
|
|
853
|
+
Ug(r, ["mousemove", "dragover"], m, Y), B && e !== "movement" && (Ug(r, ["touchstart", "touchmove"], X, Y), o && Ug(r, "touchend", W, Y)), i && e === "page" && Ug(s, "scroll", _, Y);
|
|
845
854
|
}
|
|
846
855
|
return {
|
|
847
|
-
x:
|
|
848
|
-
y:
|
|
849
|
-
sourceType:
|
|
856
|
+
x: D,
|
|
857
|
+
y: F,
|
|
858
|
+
sourceType: f
|
|
850
859
|
};
|
|
851
860
|
}
|
|
852
861
|
const Ke = ["onClick"], ve = /* @__PURE__ */ xA({
|
|
@@ -856,7 +865,7 @@ const Ke = ["onClick"], ve = /* @__PURE__ */ xA({
|
|
|
856
865
|
},
|
|
857
866
|
emits: ["ok"],
|
|
858
867
|
setup(I, { emit: e }) {
|
|
859
|
-
const B = I,
|
|
868
|
+
const B = I, o = e, [t] = zA("pausation-tag-selector"), s = [
|
|
860
869
|
{ label: "0.5S", value: 0.5 },
|
|
861
870
|
{ label: "1S", value: 1 },
|
|
862
871
|
{ label: "1.5S", value: 1.5 },
|
|
@@ -864,15 +873,15 @@ const Ke = ["onClick"], ve = /* @__PURE__ */ xA({
|
|
|
864
873
|
{ label: "2.5S", value: 2.5 }
|
|
865
874
|
];
|
|
866
875
|
return (r, i) => SI((aA(), cA("ul", {
|
|
867
|
-
class: pA(hA(
|
|
876
|
+
class: pA(hA(t)()),
|
|
868
877
|
contenteditable: "false",
|
|
869
878
|
onClick: i[0] || (i[0] = RC(() => {
|
|
870
879
|
}, ["stop"]))
|
|
871
880
|
}, [
|
|
872
881
|
(aA(), cA(cg, null, fB(s, (d, l) => rA("li", {
|
|
873
882
|
key: l,
|
|
874
|
-
class: pA(hA(
|
|
875
|
-
onClick: (h) =>
|
|
883
|
+
class: pA(hA(t)("item")),
|
|
884
|
+
onClick: (h) => o("ok", h, d.value)
|
|
876
885
|
}, _g(d.label), 11, Ke)), 64))
|
|
877
886
|
], 2)), [
|
|
878
887
|
[LI, B.visible]
|
|
@@ -880,8 +889,8 @@ const Ke = ["onClick"], ve = /* @__PURE__ */ xA({
|
|
|
880
889
|
}
|
|
881
890
|
}), LA = (I, e) => {
|
|
882
891
|
const B = I.__vccOpts || I;
|
|
883
|
-
for (const [
|
|
884
|
-
B[
|
|
892
|
+
for (const [o, t] of e)
|
|
893
|
+
B[o] = t;
|
|
885
894
|
return B;
|
|
886
895
|
}, HB = /* @__PURE__ */ LA(ve, [["__scopeId", "data-v-a957cba2"]]), qe = 0, Mg = T.pausation, [uC] = AI(Mg), mB = uC("close"), { x: xe, y: be } = HI(), Te = `<svg class="${mB}" width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
887
896
|
<g id="V1.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
@@ -910,25 +919,25 @@ const Ke = ["onClick"], ve = /* @__PURE__ */ xA({
|
|
|
910
919
|
`
|
|
911
920
|
), e;
|
|
912
921
|
}, je = (I, e) => {
|
|
913
|
-
const B = SC(T.pausation), { onOK:
|
|
914
|
-
|
|
922
|
+
const B = SC(T.pausation), { onOK: o } = e, t = (l, h) => {
|
|
923
|
+
o == null || o(l, h), s();
|
|
915
924
|
}, s = () => {
|
|
916
925
|
d.component && (d.component.props.visible = !1);
|
|
917
926
|
}, r = (l) => {
|
|
918
|
-
var h,
|
|
927
|
+
var h, y;
|
|
919
928
|
if (d.component) {
|
|
920
|
-
let
|
|
929
|
+
let D = be.value, F = xe.value;
|
|
921
930
|
if (l.popupContainer) {
|
|
922
|
-
const { offsetTop:
|
|
923
|
-
|
|
931
|
+
const { offsetTop: f, offsetLeft: N, offsetHeight: M, offsetWidth: S } = l.popupContainer;
|
|
932
|
+
D = f + M + 5 + (((h = l.extraPos) == null ? void 0 : h.top) ?? 0), F = N - (88 - S) / 2 + (((y = l.extraPos) == null ? void 0 : y.left) ?? 0);
|
|
924
933
|
}
|
|
925
|
-
B.setAttribute("style", `top: ${
|
|
926
|
-
d.component.props[
|
|
934
|
+
B.setAttribute("style", `top: ${D}px; left: ${F}px`), Object.entries(l).forEach(([f, N]) => {
|
|
935
|
+
d.component.props[f] = N;
|
|
927
936
|
});
|
|
928
937
|
}
|
|
929
938
|
}, d = G(I, {
|
|
930
939
|
visible: !1,
|
|
931
|
-
onOk:
|
|
940
|
+
onOk: t
|
|
932
941
|
});
|
|
933
942
|
return FC(d, B), document.body.appendChild(B), {
|
|
934
943
|
target: void 0,
|
|
@@ -963,8 +972,8 @@ class We extends pI {
|
|
|
963
972
|
Yg.warning("请输入文稿内容再插入停顿!");
|
|
964
973
|
return;
|
|
965
974
|
}
|
|
966
|
-
const
|
|
967
|
-
this.editor.content.insert(
|
|
975
|
+
const o = Pe(B);
|
|
976
|
+
this.editor.content.insert(o);
|
|
968
977
|
}
|
|
969
978
|
/**
|
|
970
979
|
* 停顿标签点击事件回调
|
|
@@ -972,21 +981,21 @@ class We extends pI {
|
|
|
972
981
|
*/
|
|
973
982
|
_triggerPausationTagClick(B) {
|
|
974
983
|
var r;
|
|
975
|
-
const
|
|
976
|
-
|
|
984
|
+
const o = B.target, [t] = qA(
|
|
985
|
+
o,
|
|
977
986
|
(i) => i.tagName === "svg" && i.classList.contains(mB)
|
|
978
987
|
), [s] = qA(
|
|
979
|
-
|
|
988
|
+
o,
|
|
980
989
|
(i) => i.tagName === "SPAN" && i.dataset.type === Mg
|
|
981
990
|
);
|
|
982
|
-
if (
|
|
983
|
-
|
|
991
|
+
if (t || v(s)) {
|
|
992
|
+
t && this.remove(s), (r = this.modalInstance) == null || r.close();
|
|
984
993
|
return;
|
|
985
994
|
}
|
|
986
995
|
if (v(this.modalInstance)) {
|
|
987
996
|
const i = (d, l) => {
|
|
988
|
-
var
|
|
989
|
-
if (v(this.modalInstance) || v((
|
|
997
|
+
var y;
|
|
998
|
+
if (v(this.modalInstance) || v((y = this.modalInstance) == null ? void 0 : y.target)) return;
|
|
990
999
|
const { target: h } = this.modalInstance;
|
|
991
1000
|
h.dataset.value = String(l), h.firstElementChild.innerHTML = `停顿: ${l}S`;
|
|
992
1001
|
};
|
|
@@ -1016,26 +1025,26 @@ const Ve = { style: { display: "none" } }, Oe = /* @__PURE__ */ xA({
|
|
|
1016
1025
|
},
|
|
1017
1026
|
emits: ["ok", "cancel"],
|
|
1018
1027
|
setup(I, { emit: e }) {
|
|
1019
|
-
const B = I,
|
|
1028
|
+
const B = I, o = e, [t] = zA("pronunciationor"), s = (d) => {
|
|
1020
1029
|
var l;
|
|
1021
1030
|
if (i.value = (l = i.value) == null ? void 0 : l.trim(), !/^[\u4e00-\u9fa5a-zA-Z0-9]+$/.test(i.value)) {
|
|
1022
1031
|
Yg.warning({ id: "message-replacer", content: "不能使用特殊字符替换读音!" });
|
|
1023
1032
|
return;
|
|
1024
1033
|
}
|
|
1025
|
-
|
|
1034
|
+
o("ok", d, i.value ?? "", B.oldText);
|
|
1026
1035
|
}, r = (d) => {
|
|
1027
|
-
|
|
1036
|
+
o("cancel", d);
|
|
1028
1037
|
}, i = DA();
|
|
1029
1038
|
return $g([() => B.visible, () => B.oldText, () => B.modelValue], () => {
|
|
1030
1039
|
i.value = B.modelValue;
|
|
1031
1040
|
}), (d, l) => SI((aA(), OE(hA(_E), {
|
|
1032
|
-
class: pA(hA(
|
|
1041
|
+
class: pA(hA(t)()),
|
|
1033
1042
|
onClick: l[1] || (l[1] = RC(() => {
|
|
1034
1043
|
}, ["stop"]))
|
|
1035
1044
|
}, {
|
|
1036
1045
|
default: ag(() => [
|
|
1037
1046
|
G(hA(uI), {
|
|
1038
|
-
class: pA(hA(
|
|
1047
|
+
class: pA(hA(t)("title"))
|
|
1039
1048
|
}, {
|
|
1040
1049
|
default: ag(() => l[2] || (l[2] = [
|
|
1041
1050
|
$A("读音替换")
|
|
@@ -1044,7 +1053,7 @@ const Ve = { style: { display: "none" } }, Oe = /* @__PURE__ */ xA({
|
|
|
1044
1053
|
}, 8, ["class"]),
|
|
1045
1054
|
G(hA(uI), {
|
|
1046
1055
|
span: 24,
|
|
1047
|
-
class: pA(hA(
|
|
1056
|
+
class: pA(hA(t)("content"))
|
|
1048
1057
|
}, {
|
|
1049
1058
|
default: ag(() => [
|
|
1050
1059
|
G(hA(aB), {
|
|
@@ -1073,7 +1082,7 @@ const Ve = { style: { display: "none" } }, Oe = /* @__PURE__ */ xA({
|
|
|
1073
1082
|
}),
|
|
1074
1083
|
G(hA(uI), {
|
|
1075
1084
|
span: 24,
|
|
1076
|
-
class: pA(hA(
|
|
1085
|
+
class: pA(hA(t)("footer"))
|
|
1077
1086
|
}, {
|
|
1078
1087
|
default: ag(() => [
|
|
1079
1088
|
G(hA($E), {
|
|
@@ -1126,27 +1135,27 @@ const Gg = T.pronunciation, [kg] = AI(Gg), KB = kg("close"), { x: Ze, y: _e } =
|
|
|
1126
1135
|
</g>
|
|
1127
1136
|
</g>
|
|
1128
1137
|
</svg>`, At = (I, e) => {
|
|
1129
|
-
const B = SC(T.pronunciation), { oldText:
|
|
1130
|
-
|
|
1131
|
-
}, d = (
|
|
1132
|
-
s == null || s(
|
|
1138
|
+
const B = SC(T.pronunciation), { oldText: o, onOk: t, onCancel: s, onTryPlay: r } = e, i = (f, N, M) => {
|
|
1139
|
+
t == null || t(f, N, M), l();
|
|
1140
|
+
}, d = (f) => {
|
|
1141
|
+
s == null || s(f), l();
|
|
1133
1142
|
}, l = () => {
|
|
1134
|
-
|
|
1135
|
-
}, h = (
|
|
1136
|
-
|
|
1137
|
-
|
|
1143
|
+
F.component && (F.component.props.visible = !1);
|
|
1144
|
+
}, h = (f) => {
|
|
1145
|
+
F.component && (B.setAttribute("style", `top: ${_e.value}px; left: ${Ze.value}px`), Object.entries(f).forEach(([N, M]) => {
|
|
1146
|
+
F.component.props[N] = M;
|
|
1138
1147
|
}));
|
|
1139
|
-
},
|
|
1148
|
+
}, F = G(I, {
|
|
1140
1149
|
visible: !1,
|
|
1141
1150
|
modelValue: void 0,
|
|
1142
|
-
oldText:
|
|
1151
|
+
oldText: o,
|
|
1143
1152
|
onOk: i,
|
|
1144
1153
|
onCancel: d,
|
|
1145
|
-
onTryPlay: (
|
|
1146
|
-
r == null || r(
|
|
1154
|
+
onTryPlay: (f, N, M) => {
|
|
1155
|
+
r == null || r(f, N, M);
|
|
1147
1156
|
}
|
|
1148
1157
|
});
|
|
1149
|
-
return FC(
|
|
1158
|
+
return FC(F, B), document.body.appendChild(B), {
|
|
1150
1159
|
target: void 0,
|
|
1151
1160
|
close: l,
|
|
1152
1161
|
update: h
|
|
@@ -1170,22 +1179,22 @@ class gt extends pI {
|
|
|
1170
1179
|
}
|
|
1171
1180
|
_triggerPronunciationTagClick(B) {
|
|
1172
1181
|
var r;
|
|
1173
|
-
const
|
|
1174
|
-
|
|
1182
|
+
const o = B.target, [t] = qA(
|
|
1183
|
+
o,
|
|
1175
1184
|
(i) => i.tagName === "svg" && i.classList.contains(KB)
|
|
1176
1185
|
), [s] = qA(
|
|
1177
|
-
|
|
1186
|
+
o,
|
|
1178
1187
|
(i) => i.tagName === "SPAN" && i.dataset.type === Gg
|
|
1179
1188
|
);
|
|
1180
|
-
if (
|
|
1181
|
-
|
|
1189
|
+
if (t || v(s)) {
|
|
1190
|
+
t && this.remove(s), (r = this.modalInstance) == null || r.close();
|
|
1182
1191
|
return;
|
|
1183
1192
|
}
|
|
1184
1193
|
if (v(this.modalInstance)) {
|
|
1185
1194
|
const i = (d, l, h) => {
|
|
1186
1195
|
if (v(this.modalInstance) || v(this.modalInstance.target)) return;
|
|
1187
|
-
const { target:
|
|
1188
|
-
v(
|
|
1196
|
+
const { target: y } = this.modalInstance, D = y.querySelector(`.${kg("replace-text")}`);
|
|
1197
|
+
v(D) || (y.dataset.value = l, D.innerHTML = l);
|
|
1189
1198
|
};
|
|
1190
1199
|
this.modalInstance = At(Xe, {
|
|
1191
1200
|
oldText: s.dataset.raw,
|
|
@@ -1199,24 +1208,24 @@ class gt extends pI {
|
|
|
1199
1208
|
});
|
|
1200
1209
|
}
|
|
1201
1210
|
_insertPronunciationTag(B) {
|
|
1202
|
-
const
|
|
1211
|
+
const o = document.createElement("span"), t = this.editor.cursor.getRangeContent();
|
|
1203
1212
|
vg(
|
|
1204
|
-
|
|
1213
|
+
o,
|
|
1205
1214
|
{ class: kg(), contenteditable: !1 },
|
|
1206
1215
|
{
|
|
1207
1216
|
type: Gg,
|
|
1208
1217
|
id: `${Gg}_${++ze}`,
|
|
1209
1218
|
value: B,
|
|
1210
|
-
raw:
|
|
1219
|
+
raw: t
|
|
1211
1220
|
},
|
|
1212
1221
|
`
|
|
1213
|
-
<span class="${kg("raw")}">${
|
|
1222
|
+
<span class="${kg("raw")}">${t}</span>
|
|
1214
1223
|
<span class="${kg("replace")}">
|
|
1215
1224
|
<span class="${kg("replace-text")}">${B}</span>
|
|
1216
1225
|
${$e}
|
|
1217
1226
|
</span>
|
|
1218
1227
|
`
|
|
1219
|
-
), this.editor.content.update(
|
|
1228
|
+
), this.editor.content.update(o);
|
|
1220
1229
|
}
|
|
1221
1230
|
setup() {
|
|
1222
1231
|
}
|
|
@@ -1255,8 +1264,8 @@ class It extends pI {
|
|
|
1255
1264
|
this._insertOverlapAnchor(B) || this._insertAnchorTag(B.anchor);
|
|
1256
1265
|
}
|
|
1257
1266
|
remove(B) {
|
|
1258
|
-
const { top:
|
|
1259
|
-
i > -1 && this.data[
|
|
1267
|
+
const { top: o, id: t, uid: s } = B.dataset, r = t.split("_")[1], i = this.data[o].findIndex((h) => h.data.uid ? h.data.uid === s : h.id === Number(r));
|
|
1268
|
+
i > -1 && this.data[o].splice(i, 1);
|
|
1260
1269
|
const d = Array.from(B.childNodes);
|
|
1261
1270
|
if (d.every((h) => SA(h))) {
|
|
1262
1271
|
B.replaceWith(B.textContent), this.editor._editorElement.normalize();
|
|
@@ -1266,28 +1275,28 @@ class It extends pI {
|
|
|
1266
1275
|
d.forEach((h) => l.appendChild(h)), B.replaceWith(l), this.editor._editorElement.normalize();
|
|
1267
1276
|
}
|
|
1268
1277
|
_insertOverlapAnchor(B) {
|
|
1269
|
-
const { range:
|
|
1270
|
-
if (v(
|
|
1271
|
-
const
|
|
1278
|
+
const { range: o } = this.editor.cursor;
|
|
1279
|
+
if (v(o)) return !1;
|
|
1280
|
+
const t = (Y) => {
|
|
1272
1281
|
var O;
|
|
1273
1282
|
return Array.prototype.indexOf.call((O = Y.parentNode) == null ? void 0 : O.childNodes, Y);
|
|
1274
1283
|
}, s = (Y) => {
|
|
1275
1284
|
let O = Y;
|
|
1276
|
-
for (; O && !(
|
|
1285
|
+
for (; O && !(CA(O.parentNode) && O.parentNode.tagName === "P"); )
|
|
1277
1286
|
O = O.parentNode;
|
|
1278
1287
|
return O;
|
|
1279
|
-
}, r = (Y) => Y.some((O) =>
|
|
1288
|
+
}, r = (Y) => Y.some((O) => CA(O) && O.classList.contains(Og())), i = () => {
|
|
1280
1289
|
let Y, O;
|
|
1281
1290
|
const QA = R.length === 1;
|
|
1282
|
-
R.forEach((
|
|
1291
|
+
R.forEach((BA, wA) => {
|
|
1283
1292
|
if (wA === 0) {
|
|
1284
|
-
const
|
|
1293
|
+
const uA = () => {
|
|
1285
1294
|
var K, V, j;
|
|
1286
1295
|
const tA = (K = getSelection()) == null ? void 0 : K.getRangeAt(0), RA = tA == null ? void 0 : tA.startContainer, L = tA == null ? void 0 : tA.endContainer;
|
|
1287
1296
|
if (v(tA) || v(L) || v(RA))
|
|
1288
1297
|
return null;
|
|
1289
1298
|
if (RA === L) {
|
|
1290
|
-
if (
|
|
1299
|
+
if (CA(RA) && RA.classList.contains(Og())) {
|
|
1291
1300
|
const J = document.createDocumentFragment(), H = tA.endContainer, nA = H.cloneNode(!1), kA = H.childNodes[tA.endOffset];
|
|
1292
1301
|
for (; H.firstChild && H.firstChild !== kA; )
|
|
1293
1302
|
J.appendChild(H.firstChild);
|
|
@@ -1298,89 +1307,89 @@ class It extends pI {
|
|
|
1298
1307
|
return nA.innerHTML = J.slice(0, tA.startOffset), RA.replaceWith(J.slice(tA.startOffset)), (j = H.parentNode) == null || j.insertBefore(nA, H), H;
|
|
1299
1308
|
}
|
|
1300
1309
|
}
|
|
1301
|
-
return
|
|
1310
|
+
return CA(L) && L.classList.contains(GA) ? L.childNodes[tA.endOffset] : L;
|
|
1302
1311
|
};
|
|
1303
1312
|
[W, m, X, _] = d(
|
|
1304
|
-
|
|
1313
|
+
BA,
|
|
1305
1314
|
h,
|
|
1306
|
-
|
|
1307
|
-
QA ?
|
|
1308
|
-
QA ?
|
|
1309
|
-
QA ?
|
|
1315
|
+
y,
|
|
1316
|
+
QA ? D : BA[0],
|
|
1317
|
+
QA ? F : BA[0].childNodes.length,
|
|
1318
|
+
QA ? uA : null,
|
|
1310
1319
|
QA ? ["start", "end"] : ["start"]
|
|
1311
1320
|
);
|
|
1312
1321
|
return;
|
|
1313
1322
|
}
|
|
1314
1323
|
if (wA === R.length - 1) {
|
|
1315
1324
|
[Y, O, X, _] = d(
|
|
1316
|
-
|
|
1317
|
-
|
|
1325
|
+
BA,
|
|
1326
|
+
BA[0],
|
|
1318
1327
|
0,
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
() =>
|
|
1328
|
+
D,
|
|
1329
|
+
F,
|
|
1330
|
+
() => BA[0].firstChild,
|
|
1322
1331
|
"end"
|
|
1323
1332
|
);
|
|
1324
1333
|
return;
|
|
1325
1334
|
}
|
|
1326
1335
|
d(
|
|
1327
|
-
|
|
1328
|
-
|
|
1336
|
+
BA,
|
|
1337
|
+
BA[0],
|
|
1329
1338
|
0,
|
|
1330
|
-
|
|
1331
|
-
|
|
1339
|
+
BA[0],
|
|
1340
|
+
BA[0].childNodes.length,
|
|
1332
1341
|
null
|
|
1333
1342
|
);
|
|
1334
1343
|
});
|
|
1335
|
-
}, d = (Y, O, QA,
|
|
1344
|
+
}, d = (Y, O, QA, BA, wA, uA, tA) => {
|
|
1336
1345
|
var Z, gA;
|
|
1337
1346
|
const RA = Array.isArray(tA) ? tA : [tA], [L] = Y, K = document.createRange();
|
|
1338
|
-
K.setStart(O, QA), K.setEnd(
|
|
1347
|
+
K.setStart(O, QA), K.setEnd(BA, wA), (Z = getSelection()) == null || Z.removeAllRanges(), (gA = getSelection()) == null || gA.addRange(K);
|
|
1339
1348
|
const V = K.cloneContents(), j = document.createDocumentFragment();
|
|
1340
1349
|
Array.from(V.childNodes).forEach((IA) => {
|
|
1341
|
-
if (!
|
|
1350
|
+
if (!CA(IA) || !IA.classList.contains(Og())) {
|
|
1342
1351
|
j.appendChild(IA);
|
|
1343
1352
|
return;
|
|
1344
1353
|
}
|
|
1345
1354
|
j.append(...Array.from(IA.childNodes));
|
|
1346
1355
|
});
|
|
1347
1356
|
let J = document.createTextNode(""), H = 0, nA = document.createTextNode(""), kA = 0;
|
|
1348
|
-
return RA.includes("start") && (J = j.firstChild, H = 0), RA.includes("end") && (nA = j.lastChild, kA = SA(nA) ? nA.data.length : j.childNodes.length), K.deleteContents(), L.insertBefore(j, typeof
|
|
1357
|
+
return RA.includes("start") && (J = j.firstChild, H = 0), RA.includes("end") && (nA = j.lastChild, kA = SA(nA) ? nA.data.length : j.childNodes.length), K.deleteContents(), L.insertBefore(j, typeof uA == "function" ? uA() : uA), [J, H, nA, kA];
|
|
1349
1358
|
}, l = async (Y) => {
|
|
1350
|
-
var QA,
|
|
1359
|
+
var QA, BA;
|
|
1351
1360
|
const O = document.createRange();
|
|
1352
|
-
O.setStart(W, m), O.setEnd(X, _), (QA = getSelection()) == null || QA.removeAllRanges(), (
|
|
1353
|
-
}, { startContainer: h, startOffset:
|
|
1354
|
-
let QA = [],
|
|
1361
|
+
O.setStart(W, m), O.setEnd(X, _), (QA = getSelection()) == null || QA.removeAllRanges(), (BA = getSelection()) == null || BA.addRange(O), this.editor.cursor.range = O, this._insertAnchorTag(B.anchor, Y);
|
|
1362
|
+
}, { startContainer: h, startOffset: y, endContainer: D, endOffset: F } = o, f = s(D), N = VA(h), M = VA(D), S = N === M ? [N] : [N, ...hC(N, M), M], R = S.map((Y, O) => {
|
|
1363
|
+
let QA = [], BA = 0, wA = Y.childNodes.length;
|
|
1355
1364
|
switch (O) {
|
|
1356
1365
|
case 0: {
|
|
1357
|
-
|
|
1366
|
+
BA = t(s(h)), wA = // 同一段落
|
|
1358
1367
|
S.length - 1 === O && // 非P段落
|
|
1359
|
-
!(
|
|
1368
|
+
!(CA(D) && D.classList.contains(GA)) ? t(s(D)) + 1 : Y.childNodes.length, QA = Array.from(Y.childNodes).slice(BA, wA);
|
|
1360
1369
|
break;
|
|
1361
1370
|
}
|
|
1362
1371
|
case S.length - 1:
|
|
1363
|
-
|
|
1372
|
+
BA = 0, wA = CA(D) && D.classList.contains(GA) ? Y.childNodes.length : t(s(D)) + 1, QA = Array.from(Y.childNodes).slice(0, wA);
|
|
1364
1373
|
break;
|
|
1365
1374
|
default:
|
|
1366
|
-
|
|
1375
|
+
BA = 0, wA = Y.childNodes.length, QA = Array.from(Y.childNodes).slice(BA, wA);
|
|
1367
1376
|
break;
|
|
1368
1377
|
}
|
|
1369
1378
|
return [Y, r(QA)];
|
|
1370
1379
|
});
|
|
1371
1380
|
let W, m = 0, X, _ = 0;
|
|
1372
|
-
return R.some(([Y, O]) => O) ? (i(), l(
|
|
1381
|
+
return R.some(([Y, O]) => O) ? (i(), l(f), !0) : !1;
|
|
1373
1382
|
}
|
|
1374
|
-
_recordAnchor(B,
|
|
1375
|
-
const r = this.data[
|
|
1376
|
-
B.id =
|
|
1383
|
+
_recordAnchor(B, o, t, s) {
|
|
1384
|
+
const r = this.data[t] ?? (this.data[t] = []);
|
|
1385
|
+
B.id = o, B.top = t, r.push({ background: s, data: B, id: o });
|
|
1377
1386
|
}
|
|
1378
1387
|
get _newAnchorId() {
|
|
1379
|
-
const B = Object.values(this.data).flat().map((
|
|
1388
|
+
const B = Object.values(this.data).flat().map((o) => o.id);
|
|
1380
1389
|
return B.length ? Math.max(...B) + 1 : 1;
|
|
1381
1390
|
}
|
|
1382
|
-
_insertAnchorTag(B,
|
|
1383
|
-
const
|
|
1391
|
+
_insertAnchorTag(B, o) {
|
|
1392
|
+
const t = this._newAnchorId, s = String(Date.now()), r = vB[(t - 1) % 10], i = this.editor.cursor.range, { startContainer: d, startOffset: l, endContainer: h, endOffset: y } = i, D = (R) => CA(R) && R.tagName === "DIV" ? R.firstElementChild : CA(R) && R.tagName === "P" ? R : R.parentElement, F = (R) => {
|
|
1384
1393
|
const W = document.createElement("span");
|
|
1385
1394
|
return vg(
|
|
1386
1395
|
W,
|
|
@@ -1390,13 +1399,13 @@ class It extends pI {
|
|
|
1390
1399
|
},
|
|
1391
1400
|
{
|
|
1392
1401
|
type: Sg,
|
|
1393
|
-
id: `${Sg}_${
|
|
1402
|
+
id: `${Sg}_${t}`,
|
|
1394
1403
|
provider: B.provider,
|
|
1395
1404
|
person: B.person,
|
|
1396
1405
|
volume: B.volumn || B.volume,
|
|
1397
1406
|
speed: B.speed,
|
|
1398
1407
|
top: 0,
|
|
1399
|
-
fragId: `anchor_${
|
|
1408
|
+
fragId: `anchor_${t}`,
|
|
1400
1409
|
emotion: B.activeEmotion,
|
|
1401
1410
|
role: B.activeRole ?? "",
|
|
1402
1411
|
name: B.name,
|
|
@@ -1404,52 +1413,52 @@ class It extends pI {
|
|
|
1404
1413
|
},
|
|
1405
1414
|
R
|
|
1406
1415
|
), W;
|
|
1407
|
-
},
|
|
1408
|
-
|
|
1416
|
+
}, f = (R, W, m, X, _ = !1) => {
|
|
1417
|
+
CA(R) && R.tagName === "P" ? (i.setStart(R.firstChild, 0), i.setEnd(R, R.childNodes.length)) : (i.setStart(R, W), i.setEnd(m, X));
|
|
1409
1418
|
const Y = window.getSelection();
|
|
1410
1419
|
Y.removeAllRanges(), Y.addRange(i);
|
|
1411
1420
|
const O = document.createElement("div");
|
|
1412
1421
|
O.appendChild(i.cloneContents());
|
|
1413
|
-
const QA =
|
|
1422
|
+
const QA = F(O.innerHTML);
|
|
1414
1423
|
this.editor.content.update(QA);
|
|
1415
|
-
const
|
|
1416
|
-
return QA.dataset.top = String(
|
|
1417
|
-
}, N =
|
|
1424
|
+
const BA = this._calcTopValue(QA.getBoundingClientRect());
|
|
1425
|
+
return QA.dataset.top = String(BA), B.uid = QA.dataset.uid, _ && this._recordAnchor(B, t, BA, r), QA;
|
|
1426
|
+
}, N = D(d), M = D(h), S = hC(N, M);
|
|
1418
1427
|
if (N === M) {
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1428
|
+
f(
|
|
1429
|
+
CA(d) && d.tagName === "P" ? d.firstChild : d,
|
|
1430
|
+
CA(d) && d.tagName === "P" ? 0 : l,
|
|
1422
1431
|
h,
|
|
1423
|
-
|
|
1432
|
+
y,
|
|
1424
1433
|
!0
|
|
1425
|
-
), this._fixedAnchorSelection(
|
|
1434
|
+
), this._fixedAnchorSelection(o);
|
|
1426
1435
|
return;
|
|
1427
1436
|
}
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
}),
|
|
1437
|
+
f(d, l, N, N.childNodes.length, !0), S.forEach((R) => {
|
|
1438
|
+
f(R, 0, R, R.childNodes.length);
|
|
1439
|
+
}), f(M.firstChild, 0, h, y, !1), this._fixedAnchorSelection(o);
|
|
1431
1440
|
}
|
|
1432
1441
|
_isIntersectOtherAnchors() {
|
|
1433
1442
|
const { range: B } = this.editor.cursor;
|
|
1434
|
-
return Array.from(document.querySelectorAll(`.tag-${T.anchor}`)).some((
|
|
1443
|
+
return Array.from(document.querySelectorAll(`.tag-${T.anchor}`)).some((t) => B == null ? void 0 : B.intersectsNode(t));
|
|
1435
1444
|
}
|
|
1436
1445
|
_calcTopValue(B) {
|
|
1437
1446
|
return B.top - this.editor.editorTop() + 16;
|
|
1438
1447
|
}
|
|
1439
1448
|
_fixedAnchorSelection(B) {
|
|
1440
|
-
var
|
|
1441
|
-
if (!(
|
|
1449
|
+
var f;
|
|
1450
|
+
if (!(CA(B) && B.classList.contains(Og()))) return;
|
|
1442
1451
|
console.log("---开始修复配音区域-- ");
|
|
1443
|
-
const
|
|
1452
|
+
const o = B, t = Array.from(
|
|
1444
1453
|
document.querySelectorAll(`.tag-${T.anchor}`)
|
|
1445
|
-
), s =
|
|
1454
|
+
), s = o.dataset.id, r = Number((f = o.dataset.id) == null ? void 0 : f.split("_")[1]), i = t.indexOf(o), d = this._calcTopValue(o.getBoundingClientRect()), l = [];
|
|
1446
1455
|
if (i < 0) return;
|
|
1447
|
-
for (let N = i; N <
|
|
1448
|
-
l.push(
|
|
1449
|
-
const
|
|
1456
|
+
for (let N = i; N < t.length && s === t[N].dataset.id; N++)
|
|
1457
|
+
l.push(t[N]);
|
|
1458
|
+
const y = Object.values(this.data).flat().find((N) => N.id === r), D = String(Date.now()), F = { ...y, data: { ...y.data, uid: D } };
|
|
1450
1459
|
l.forEach((N) => {
|
|
1451
|
-
N.dataset.uid =
|
|
1452
|
-
}), this._recordAnchor(
|
|
1460
|
+
N.dataset.uid = D, N.dataset.top = String(d);
|
|
1461
|
+
}), this._recordAnchor(F.data, F.id, d, y.background), console.log("---修复配音区域完成-- ");
|
|
1453
1462
|
}
|
|
1454
1463
|
/**
|
|
1455
1464
|
* MutationObserver 监听编辑器内容变化,当内容变化时重新计算 anchor 的 top 值。
|
|
@@ -1465,16 +1474,16 @@ class It extends pI {
|
|
|
1465
1474
|
async _syncAnchorTopValue() {
|
|
1466
1475
|
const B = Array.from(
|
|
1467
1476
|
this.editor.element.querySelectorAll(`span[data-type="${Sg}"]`)
|
|
1468
|
-
),
|
|
1477
|
+
), o = B.reduce((r, i) => {
|
|
1469
1478
|
const d = i.dataset.uid ?? i.dataset.id.split("_")[1];
|
|
1470
1479
|
if (r.has(d))
|
|
1471
1480
|
return i.dataset.top = String(r.get(d)), r;
|
|
1472
1481
|
const l = this._calcTopValue(i.getBoundingClientRect());
|
|
1473
1482
|
return i.dataset.top = String(l), r.set(d, l), r;
|
|
1474
|
-
}, /* @__PURE__ */ new Map()),
|
|
1483
|
+
}, /* @__PURE__ */ new Map()), t = Object.values(this.data).flat().filter((r) => B.some((i) => i.dataset.uid ? i.dataset.uid === r.data.uid : Number(i.dataset.id.split("_")[1]) === r.id));
|
|
1475
1484
|
Object.keys(this.data).forEach((r) => delete this.data[r]);
|
|
1476
|
-
const s =
|
|
1477
|
-
const d = i.data.uid ?? i.id, l =
|
|
1485
|
+
const s = t.reduce((r, i) => {
|
|
1486
|
+
const d = i.data.uid ?? i.id, l = o.get(String(d));
|
|
1478
1487
|
return (r[l] ?? (r[l] = [])).push(i), r;
|
|
1479
1488
|
}, {});
|
|
1480
1489
|
Object.keys(s).forEach((r) => this.data[r] = s[r]);
|
|
@@ -1489,8 +1498,8 @@ class It extends pI {
|
|
|
1489
1498
|
});
|
|
1490
1499
|
}
|
|
1491
1500
|
destroy() {
|
|
1492
|
-
var B,
|
|
1493
|
-
(B = this.observer) == null || B.disconnect(), this.observer = null, (
|
|
1501
|
+
var B, o;
|
|
1502
|
+
(B = this.observer) == null || B.disconnect(), this.observer = null, (o = this.resizeObserver) == null || o.disconnect(), this.resizeObserver = null;
|
|
1494
1503
|
}
|
|
1495
1504
|
}
|
|
1496
1505
|
const Ct = ["onClick"], Bt = /* @__PURE__ */ xA({
|
|
@@ -1502,20 +1511,20 @@ const Ct = ["onClick"], Bt = /* @__PURE__ */ xA({
|
|
|
1502
1511
|
},
|
|
1503
1512
|
emits: ["ok", "cancel"],
|
|
1504
1513
|
setup(I, { emit: e }) {
|
|
1505
|
-
const B = I,
|
|
1506
|
-
|
|
1514
|
+
const B = I, o = e, [t] = zA("homophones"), s = (r, i) => {
|
|
1515
|
+
o("ok", r, i);
|
|
1507
1516
|
};
|
|
1508
1517
|
return (r, i) => SI((aA(), cA("ul", {
|
|
1509
|
-
class: pA(hA(
|
|
1518
|
+
class: pA(hA(t)()),
|
|
1510
1519
|
onClick: i[0] || (i[0] = RC(() => {
|
|
1511
1520
|
}, ["stop"]))
|
|
1512
1521
|
}, [
|
|
1513
1522
|
rA("li", {
|
|
1514
|
-
class: pA(hA(
|
|
1523
|
+
class: pA(hA(t)("word"))
|
|
1515
1524
|
}, "“" + _g(B.word) + "”", 3),
|
|
1516
1525
|
(aA(!0), cA(cg, null, fB(B.data, (d, l) => (aA(), cA("li", {
|
|
1517
1526
|
key: l,
|
|
1518
|
-
class: pA(hA(
|
|
1527
|
+
class: pA(hA(t)("item")),
|
|
1519
1528
|
onClick: (h) => s(h, d)
|
|
1520
1529
|
}, _g(d), 11, Ct))), 128))
|
|
1521
1530
|
], 2)), [
|
|
@@ -1533,7 +1542,7 @@ const Ct = ["onClick"], Bt = /* @__PURE__ */ xA({
|
|
|
1533
1542
|
</g>
|
|
1534
1543
|
</g>
|
|
1535
1544
|
</g>
|
|
1536
|
-
</svg>`, nt = (I, e, B,
|
|
1545
|
+
</svg>`, nt = (I, e, B, o, t) => {
|
|
1537
1546
|
const s = document.createElement("span");
|
|
1538
1547
|
return vg(
|
|
1539
1548
|
s,
|
|
@@ -1544,8 +1553,8 @@ const Ct = ["onClick"], Bt = /* @__PURE__ */ xA({
|
|
|
1544
1553
|
value: e,
|
|
1545
1554
|
formattedValue: B,
|
|
1546
1555
|
raw: I,
|
|
1547
|
-
data:
|
|
1548
|
-
formattedData:
|
|
1556
|
+
data: o.join(),
|
|
1557
|
+
formattedData: t.join()
|
|
1549
1558
|
},
|
|
1550
1559
|
`
|
|
1551
1560
|
<span class="${GI("raw")}">${I}[${e}]</span>
|
|
@@ -1553,32 +1562,32 @@ const Ct = ["onClick"], Bt = /* @__PURE__ */ xA({
|
|
|
1553
1562
|
`
|
|
1554
1563
|
), s;
|
|
1555
1564
|
}, it = (I, e) => {
|
|
1556
|
-
const B = SC(T.homophones), { word:
|
|
1557
|
-
s == null || s(
|
|
1558
|
-
}, d = (
|
|
1559
|
-
r == null || r(
|
|
1565
|
+
const B = SC(T.homophones), { word: o, data: t, onOK: s, onCancel: r } = e, i = (F, f) => {
|
|
1566
|
+
s == null || s(F, f), l();
|
|
1567
|
+
}, d = (F) => {
|
|
1568
|
+
r == null || r(F), l();
|
|
1560
1569
|
}, l = () => {
|
|
1561
|
-
|
|
1562
|
-
}, h = (
|
|
1563
|
-
var
|
|
1564
|
-
if (
|
|
1570
|
+
D.component && (D.component.props.visible = !1);
|
|
1571
|
+
}, h = (F) => {
|
|
1572
|
+
var f, N;
|
|
1573
|
+
if (D.component) {
|
|
1565
1574
|
let M = tt.value, S = et.value;
|
|
1566
|
-
if (
|
|
1567
|
-
const { offsetTop: R, offsetLeft: W, offsetHeight: m, offsetWidth: X } =
|
|
1568
|
-
M = R + m + 5 + (((
|
|
1575
|
+
if (F.popupContainer) {
|
|
1576
|
+
const { offsetTop: R, offsetLeft: W, offsetHeight: m, offsetWidth: X } = F.popupContainer;
|
|
1577
|
+
M = R + m + 5 + (((f = F.extraPos) == null ? void 0 : f.top) ?? 0), S = W - (88 - X) / 2 + (((N = F.extraPos) == null ? void 0 : N.left) ?? 0);
|
|
1569
1578
|
}
|
|
1570
|
-
B.setAttribute("style", `top: ${M}px; left: ${S}px`), Object.entries(
|
|
1571
|
-
|
|
1579
|
+
B.setAttribute("style", `top: ${M}px; left: ${S}px`), Object.entries(F).forEach(([R, W]) => {
|
|
1580
|
+
D.component.props[R] = W;
|
|
1572
1581
|
});
|
|
1573
1582
|
}
|
|
1574
|
-
},
|
|
1583
|
+
}, D = G(I, {
|
|
1575
1584
|
visible: !1,
|
|
1576
|
-
word:
|
|
1577
|
-
data:
|
|
1585
|
+
word: o,
|
|
1586
|
+
data: t,
|
|
1578
1587
|
onOk: i,
|
|
1579
1588
|
onCancel: d
|
|
1580
1589
|
});
|
|
1581
|
-
return FC(
|
|
1590
|
+
return FC(D, B), document.body.appendChild(B), {
|
|
1582
1591
|
target: void 0,
|
|
1583
1592
|
close: l,
|
|
1584
1593
|
update: h
|
|
@@ -1595,9 +1604,9 @@ class rt extends pI {
|
|
|
1595
1604
|
this.editor = B, this.name = `tiny-peony-plugin__${pg}-tag`, this.prefix = pg, this.modalInstance = null, this.data = [], this._triggerHomophonesTagClick = this._triggerHomophonesTagClick.bind(this), document.body.addEventListener("click", this._triggerHomophonesTagClick);
|
|
1596
1605
|
}
|
|
1597
1606
|
add(B) {
|
|
1598
|
-
const
|
|
1599
|
-
v(
|
|
1600
|
-
this._calc(
|
|
1607
|
+
const o = this.editor.cursor.range;
|
|
1608
|
+
v(o) || B.forEach((t) => {
|
|
1609
|
+
this._calc(o.startContainer, o.startOffset, t);
|
|
1601
1610
|
});
|
|
1602
1611
|
}
|
|
1603
1612
|
remove(B) {
|
|
@@ -1605,23 +1614,23 @@ class rt extends pI {
|
|
|
1605
1614
|
}
|
|
1606
1615
|
_triggerHomophonesTagClick(B) {
|
|
1607
1616
|
var r, i, d;
|
|
1608
|
-
const
|
|
1609
|
-
|
|
1617
|
+
const o = B.target, [t] = qA(
|
|
1618
|
+
o,
|
|
1610
1619
|
(l) => l.tagName === "svg" && l.classList.contains(qB)
|
|
1611
1620
|
), [s] = qA(
|
|
1612
|
-
|
|
1621
|
+
o,
|
|
1613
1622
|
(l) => l.tagName === "SPAN" && l.dataset.type === pg
|
|
1614
1623
|
);
|
|
1615
|
-
if (
|
|
1616
|
-
|
|
1624
|
+
if (t || v(s)) {
|
|
1625
|
+
t && this.remove(s), (r = this.modalInstance) == null || r.close();
|
|
1617
1626
|
return;
|
|
1618
1627
|
}
|
|
1619
1628
|
if (v(this.modalInstance)) {
|
|
1620
|
-
const l = (h,
|
|
1629
|
+
const l = (h, y) => {
|
|
1621
1630
|
var M, S;
|
|
1622
1631
|
if (v(this.modalInstance) || v(this.modalInstance.target)) return;
|
|
1623
|
-
const { target:
|
|
1624
|
-
v(
|
|
1632
|
+
const { target: D } = this.modalInstance, F = D.querySelector(`.${GI("raw")}`), f = (M = D.dataset.data) == null ? void 0 : M.split(",").indexOf(y), N = (S = D.dataset.formattedData) == null ? void 0 : S.split(",");
|
|
1633
|
+
v(F) || v(f) || v(N) || (D.dataset.value = y, D.dataset.formattedValue = N[f], F.innerHTML = `${D.dataset.raw}[${y}]`);
|
|
1625
1634
|
};
|
|
1626
1635
|
this.modalInstance = it(Qt, {
|
|
1627
1636
|
word: s.dataset.raw,
|
|
@@ -1641,53 +1650,53 @@ class rt extends pI {
|
|
|
1641
1650
|
});
|
|
1642
1651
|
}
|
|
1643
1652
|
_insertHomophonesTag(B) {
|
|
1644
|
-
const
|
|
1653
|
+
const o = this.editor.content.getParas(), t = (s, r, i) => {
|
|
1645
1654
|
var l;
|
|
1646
1655
|
let d = r;
|
|
1647
1656
|
for (let h = 0; h < s.length; h++) {
|
|
1648
|
-
const
|
|
1657
|
+
const y = s[h], D = (l = y == null ? void 0 : y.dataset) == null ? void 0 : l.type, F = [
|
|
1649
1658
|
T.pausation,
|
|
1650
1659
|
T.pronunciation,
|
|
1651
1660
|
T.homophones
|
|
1652
|
-
].includes(
|
|
1653
|
-
if (
|
|
1654
|
-
d +=
|
|
1661
|
+
].includes(D) ? y.dataset.raw ?? "" : y.textContent ?? "", f = i.wordIndex - (d + 1);
|
|
1662
|
+
if (f >= F.length) {
|
|
1663
|
+
d += F.length;
|
|
1655
1664
|
continue;
|
|
1656
1665
|
}
|
|
1657
|
-
if (
|
|
1658
|
-
if ([T.pausation, T.pronunciation].includes(
|
|
1659
|
-
if (T.homophones ===
|
|
1660
|
-
this._calc(
|
|
1666
|
+
if (CA(y)) {
|
|
1667
|
+
if ([T.pausation, T.pronunciation].includes(D)) return;
|
|
1668
|
+
if (T.homophones === D) {
|
|
1669
|
+
this._calc(y, f, i);
|
|
1661
1670
|
return;
|
|
1662
1671
|
}
|
|
1663
|
-
if (T.anchor ===
|
|
1664
|
-
|
|
1672
|
+
if (T.anchor === D) {
|
|
1673
|
+
t(Array.from(y.childNodes), d, i);
|
|
1665
1674
|
return;
|
|
1666
1675
|
}
|
|
1667
1676
|
}
|
|
1668
|
-
this._calc(
|
|
1677
|
+
this._calc(y, f, i);
|
|
1669
1678
|
return;
|
|
1670
1679
|
}
|
|
1671
1680
|
};
|
|
1672
1681
|
B.forEach((s) => {
|
|
1673
|
-
const r =
|
|
1674
|
-
|
|
1682
|
+
const r = o[s.paraIndex], i = Array.from(r.childNodes);
|
|
1683
|
+
t(i, -1, s);
|
|
1675
1684
|
});
|
|
1676
1685
|
}
|
|
1677
1686
|
// 累计计算并更新索引属性
|
|
1678
|
-
_calc(B,
|
|
1687
|
+
_calc(B, o, t) {
|
|
1679
1688
|
const s = window.getSelection(), r = document.createRange();
|
|
1680
1689
|
if (B.nodeType === Node.TEXT_NODE) {
|
|
1681
1690
|
const i = nt(
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1691
|
+
t.word,
|
|
1692
|
+
t.modify,
|
|
1693
|
+
t.pinyin2[t.pinyin1.indexOf(t.modify)],
|
|
1694
|
+
t.pinyin1,
|
|
1695
|
+
t.pinyin2
|
|
1687
1696
|
);
|
|
1688
|
-
r.selectNode(B), r.setStart(B,
|
|
1697
|
+
r.selectNode(B), r.setStart(B, o), r.setEnd(B, o + 1), r.deleteContents(), r.insertNode(i), s == null || s.removeAllRanges(), s == null || s.addRange(r), this.editor.cursor.toEnd(i);
|
|
1689
1698
|
}
|
|
1690
|
-
|
|
1699
|
+
CA(B) && B.dataset.type === T.homophones && (B.dataset.value = t.modify, B.firstElementChild.innerHTML = `${t.word}[${t.modify}]`);
|
|
1691
1700
|
}
|
|
1692
1701
|
setup() {
|
|
1693
1702
|
}
|
|
@@ -1702,11 +1711,11 @@ const at = {
|
|
|
1702
1711
|
}, yg = Symbol("Editor"), UC = "highlight", [st] = AI("audit-highlight"), yC = st(), xB = (I, e) => Array.from(
|
|
1703
1712
|
I.element.querySelectorAll(`span[data-frag-id="anchor_${e}"]`)
|
|
1704
1713
|
), ct = (I) => I.classList.contains(UC), lt = (I, e) => {
|
|
1705
|
-
xB(I, e).forEach((
|
|
1706
|
-
!ct(
|
|
1714
|
+
xB(I, e).forEach((o) => {
|
|
1715
|
+
!ct(o) && o.classList.add(UC);
|
|
1707
1716
|
});
|
|
1708
1717
|
}, wt = (I, e) => {
|
|
1709
|
-
xB(I, e).forEach((
|
|
1718
|
+
xB(I, e).forEach((o) => o.classList.remove(UC));
|
|
1710
1719
|
}, dt = (I, e) => {
|
|
1711
1720
|
$g(
|
|
1712
1721
|
() => e.listenAnchorId,
|
|
@@ -1721,71 +1730,71 @@ const at = {
|
|
|
1721
1730
|
{ class: yC },
|
|
1722
1731
|
{ type: T.highlight, raw: i }
|
|
1723
1732
|
), d;
|
|
1724
|
-
},
|
|
1733
|
+
}, o = (i) => {
|
|
1725
1734
|
var h;
|
|
1726
|
-
return (((h = I.value) == null ? void 0 : h.content.getTextContent()) ?? []).reduce((
|
|
1727
|
-
const
|
|
1735
|
+
return (((h = I.value) == null ? void 0 : h.content.getTextContent()) ?? []).reduce((y, D, F) => {
|
|
1736
|
+
const f = [];
|
|
1728
1737
|
let N = 0;
|
|
1729
1738
|
for (; N !== -1; )
|
|
1730
|
-
N =
|
|
1731
|
-
content:
|
|
1739
|
+
N = D.indexOf(i, N), N !== -1 && (f.push({
|
|
1740
|
+
content: D,
|
|
1732
1741
|
matchingContent: i,
|
|
1733
|
-
paraIndex:
|
|
1742
|
+
paraIndex: F,
|
|
1734
1743
|
index: N
|
|
1735
1744
|
}), N += i.length);
|
|
1736
|
-
return
|
|
1745
|
+
return y.concat(f);
|
|
1737
1746
|
}, []);
|
|
1738
|
-
},
|
|
1739
|
-
var
|
|
1747
|
+
}, t = (i, d, l) => {
|
|
1748
|
+
var D;
|
|
1740
1749
|
const h = l ?? {
|
|
1741
1750
|
accuSearchIndex: -1,
|
|
1742
1751
|
dynamicMatchingContent: d.matchingContent,
|
|
1743
1752
|
dynamicMatchingContentIndex: d.index,
|
|
1744
1753
|
restIndex: d.index
|
|
1745
|
-
},
|
|
1746
|
-
for (let
|
|
1747
|
-
if (!h.dynamicMatchingContent.length) return
|
|
1748
|
-
const
|
|
1754
|
+
}, y = [];
|
|
1755
|
+
for (let F = 0; F < i.length; F++) {
|
|
1756
|
+
if (!h.dynamicMatchingContent.length) return y;
|
|
1757
|
+
const f = i[F], N = (D = f == null ? void 0 : f.dataset) == null ? void 0 : D.type, M = [T.pausation, T.homophones, T.highlight].includes(
|
|
1749
1758
|
N
|
|
1750
|
-
) ?
|
|
1759
|
+
) ? f.dataset.raw ?? "" : T.pronunciation === N ? f.dataset.value ?? "" : f.textContent ?? "";
|
|
1751
1760
|
if (h.restIndex = h.dynamicMatchingContentIndex - (h.accuSearchIndex + 1), h.restIndex >= M.length) {
|
|
1752
1761
|
h.accuSearchIndex += M.length;
|
|
1753
1762
|
continue;
|
|
1754
1763
|
}
|
|
1755
1764
|
if (T.pausation === N) continue;
|
|
1756
1765
|
if (T.anchor === N) {
|
|
1757
|
-
|
|
1766
|
+
y.push(...t(Array.from(f.childNodes), d, h));
|
|
1758
1767
|
continue;
|
|
1759
1768
|
}
|
|
1760
1769
|
let S, R;
|
|
1761
1770
|
switch (N) {
|
|
1762
1771
|
case T.pronunciation: {
|
|
1763
|
-
S =
|
|
1772
|
+
S = f.querySelector(".tag-pronunciation__replace-text").childNodes[0], R = IC(
|
|
1764
1773
|
S.textContent,
|
|
1765
1774
|
h.dynamicMatchingContent
|
|
1766
1775
|
).length;
|
|
1767
1776
|
break;
|
|
1768
1777
|
}
|
|
1769
1778
|
case T.homophones: {
|
|
1770
|
-
S =
|
|
1779
|
+
S = f.querySelector(".tag-homophones__raw").childNodes[0], R = 1;
|
|
1771
1780
|
break;
|
|
1772
1781
|
}
|
|
1773
1782
|
case T.highlight: {
|
|
1774
|
-
S =
|
|
1783
|
+
S = f.childNodes[0], R = IC(
|
|
1775
1784
|
S.textContent,
|
|
1776
1785
|
h.dynamicMatchingContent
|
|
1777
1786
|
).length;
|
|
1778
1787
|
break;
|
|
1779
1788
|
}
|
|
1780
1789
|
default: {
|
|
1781
|
-
S =
|
|
1790
|
+
S = f, R = IC(
|
|
1782
1791
|
S.textContent,
|
|
1783
1792
|
h.dynamicMatchingContent
|
|
1784
1793
|
).length;
|
|
1785
1794
|
break;
|
|
1786
1795
|
}
|
|
1787
1796
|
}
|
|
1788
|
-
|
|
1797
|
+
y.push({
|
|
1789
1798
|
content: d.matchingContent,
|
|
1790
1799
|
matchedContent: h.dynamicMatchingContent.slice(0, R),
|
|
1791
1800
|
node: S,
|
|
@@ -1803,43 +1812,43 @@ const at = {
|
|
|
1803
1812
|
].includes(N)
|
|
1804
1813
|
}), h.accuSearchIndex = -1, h.dynamicMatchingContent = h.dynamicMatchingContent.slice(R), h.dynamicMatchingContentIndex = 0, h.restIndex = 0;
|
|
1805
1814
|
}
|
|
1806
|
-
return
|
|
1815
|
+
return y;
|
|
1807
1816
|
};
|
|
1808
1817
|
return {
|
|
1809
1818
|
renderHighlight: (i) => {
|
|
1810
1819
|
const d = (l) => {
|
|
1811
|
-
var
|
|
1812
|
-
const h = ((
|
|
1813
|
-
|
|
1814
|
-
const
|
|
1815
|
-
if (v(
|
|
1820
|
+
var D;
|
|
1821
|
+
const h = ((D = I.value) == null ? void 0 : D.content.getParas()) ?? [], y = t(Array.from(h[l.paraIndex].childNodes), l);
|
|
1822
|
+
y.some((F) => !F.isHighlight) || y.forEach((F) => {
|
|
1823
|
+
const f = window.getSelection();
|
|
1824
|
+
if (v(f)) return;
|
|
1816
1825
|
const N = document.createRange();
|
|
1817
|
-
N.setStart(
|
|
1826
|
+
N.setStart(F.node, F.startOffset), N.setEnd(F.node, F.endOffset), N.surroundContents(B(F.matchedContent)), f.removeAllRanges(), f.addRange(N), N.collapse(!1);
|
|
1818
1827
|
});
|
|
1819
1828
|
};
|
|
1820
|
-
|
|
1829
|
+
o(i).forEach(d);
|
|
1821
1830
|
},
|
|
1822
1831
|
unrenderHighlight: () => {
|
|
1823
1832
|
var d;
|
|
1824
1833
|
Array.from(
|
|
1825
1834
|
((d = I.value) == null ? void 0 : d._editorElement.querySelectorAll(`.${yC}`)) ?? []
|
|
1826
1835
|
).forEach((l) => {
|
|
1827
|
-
const h = Array.from(l.childNodes),
|
|
1828
|
-
h.forEach((N) =>
|
|
1836
|
+
const h = Array.from(l.childNodes), y = h[0], D = h.length - 1, F = h[D] !== h[0] && SA(h[D]) ? h[D] : null, f = document.createDocumentFragment();
|
|
1837
|
+
h.forEach((N) => f.appendChild(N)), l.replaceWith(f), lg(y), F && lg(F);
|
|
1829
1838
|
});
|
|
1830
1839
|
}
|
|
1831
1840
|
};
|
|
1832
1841
|
}, ht = Symbol("ArcoConfigProvider"), Dt = "arco", ut = "$arco", gI = (I) => {
|
|
1833
|
-
var e, B,
|
|
1834
|
-
const
|
|
1835
|
-
return `${(
|
|
1842
|
+
var e, B, o;
|
|
1843
|
+
const t = yB(), s = Ag(ht, void 0);
|
|
1844
|
+
return `${(o = (B = s == null ? void 0 : s.prefixCls) != null ? B : (e = t == null ? void 0 : t.appContext.config.globalProperties[ut]) == null ? void 0 : e.classPrefix) != null ? o : Dt}-${I}`;
|
|
1836
1845
|
}, yt = Object.prototype.toString;
|
|
1837
1846
|
function II(I) {
|
|
1838
1847
|
return yt.call(I) === "[object Number]" && I === I;
|
|
1839
1848
|
}
|
|
1840
1849
|
var CI = (I, e) => {
|
|
1841
|
-
for (const [B,
|
|
1842
|
-
I[B] =
|
|
1850
|
+
for (const [B, o] of e)
|
|
1851
|
+
I[B] = o;
|
|
1843
1852
|
return I;
|
|
1844
1853
|
};
|
|
1845
1854
|
const ft = xA({
|
|
@@ -1869,13 +1878,13 @@ const ft = xA({
|
|
|
1869
1878
|
click: (I) => !0
|
|
1870
1879
|
},
|
|
1871
1880
|
setup(I, { emit: e }) {
|
|
1872
|
-
const B = gI("icon"),
|
|
1881
|
+
const B = gI("icon"), o = JA(() => [B, `${B}-right`, { [`${B}-spin`]: I.spin }]), t = JA(() => {
|
|
1873
1882
|
const r = {};
|
|
1874
1883
|
return I.size && (r.fontSize = II(I.size) ? `${I.size}px` : I.size), I.rotate && (r.transform = `rotate(${I.rotate}deg)`), r;
|
|
1875
1884
|
});
|
|
1876
1885
|
return {
|
|
1877
|
-
cls:
|
|
1878
|
-
innerStyle:
|
|
1886
|
+
cls: o,
|
|
1887
|
+
innerStyle: t,
|
|
1879
1888
|
onClick: (r) => {
|
|
1880
1889
|
e("click", r);
|
|
1881
1890
|
}
|
|
@@ -1884,7 +1893,7 @@ const ft = xA({
|
|
|
1884
1893
|
}), Rt = ["stroke-width", "stroke-linecap", "stroke-linejoin"], Ft = /* @__PURE__ */ rA("path", { d: "m16 39.513 15.556-15.557L16 8.4" }, null, -1), Nt = [
|
|
1885
1894
|
Ft
|
|
1886
1895
|
];
|
|
1887
|
-
function Gt(I, e, B,
|
|
1896
|
+
function Gt(I, e, B, o, t, s) {
|
|
1888
1897
|
return aA(), cA("svg", {
|
|
1889
1898
|
viewBox: "0 0 48 48",
|
|
1890
1899
|
fill: "none",
|
|
@@ -1902,8 +1911,8 @@ var CC = /* @__PURE__ */ CI(ft, [["render", Gt]]);
|
|
|
1902
1911
|
const kt = Object.assign(CC, {
|
|
1903
1912
|
install: (I, e) => {
|
|
1904
1913
|
var B;
|
|
1905
|
-
const
|
|
1906
|
-
I.component(
|
|
1914
|
+
const o = (B = e == null ? void 0 : e.iconPrefix) != null ? B : "";
|
|
1915
|
+
I.component(o + CC.name, CC);
|
|
1907
1916
|
}
|
|
1908
1917
|
}), St = xA({
|
|
1909
1918
|
name: "IconCheckCircleFill",
|
|
@@ -1932,13 +1941,13 @@ const kt = Object.assign(CC, {
|
|
|
1932
1941
|
click: (I) => !0
|
|
1933
1942
|
},
|
|
1934
1943
|
setup(I, { emit: e }) {
|
|
1935
|
-
const B = gI("icon"),
|
|
1944
|
+
const B = gI("icon"), o = JA(() => [B, `${B}-check-circle-fill`, { [`${B}-spin`]: I.spin }]), t = JA(() => {
|
|
1936
1945
|
const r = {};
|
|
1937
1946
|
return I.size && (r.fontSize = II(I.size) ? `${I.size}px` : I.size), I.rotate && (r.transform = `rotate(${I.rotate}deg)`), r;
|
|
1938
1947
|
});
|
|
1939
1948
|
return {
|
|
1940
|
-
cls:
|
|
1941
|
-
innerStyle:
|
|
1949
|
+
cls: o,
|
|
1950
|
+
innerStyle: t,
|
|
1942
1951
|
onClick: (r) => {
|
|
1943
1952
|
e("click", r);
|
|
1944
1953
|
}
|
|
@@ -1953,7 +1962,7 @@ const kt = Object.assign(CC, {
|
|
|
1953
1962
|
}, null, -1), Mt = [
|
|
1954
1963
|
Ut
|
|
1955
1964
|
];
|
|
1956
|
-
function pt(I, e, B,
|
|
1965
|
+
function pt(I, e, B, o, t, s) {
|
|
1957
1966
|
return aA(), cA("svg", {
|
|
1958
1967
|
viewBox: "0 0 48 48",
|
|
1959
1968
|
fill: "none",
|
|
@@ -1971,8 +1980,8 @@ var BC = /* @__PURE__ */ CI(St, [["render", pt]]);
|
|
|
1971
1980
|
const Jt = Object.assign(BC, {
|
|
1972
1981
|
install: (I, e) => {
|
|
1973
1982
|
var B;
|
|
1974
|
-
const
|
|
1975
|
-
I.component(
|
|
1983
|
+
const o = (B = e == null ? void 0 : e.iconPrefix) != null ? B : "";
|
|
1984
|
+
I.component(o + BC.name, BC);
|
|
1976
1985
|
}
|
|
1977
1986
|
}), Yt = xA({
|
|
1978
1987
|
name: "IconCloseCircleFill",
|
|
@@ -2001,13 +2010,13 @@ const Jt = Object.assign(BC, {
|
|
|
2001
2010
|
click: (I) => !0
|
|
2002
2011
|
},
|
|
2003
2012
|
setup(I, { emit: e }) {
|
|
2004
|
-
const B = gI("icon"),
|
|
2013
|
+
const B = gI("icon"), o = JA(() => [B, `${B}-close-circle-fill`, { [`${B}-spin`]: I.spin }]), t = JA(() => {
|
|
2005
2014
|
const r = {};
|
|
2006
2015
|
return I.size && (r.fontSize = II(I.size) ? `${I.size}px` : I.size), I.rotate && (r.transform = `rotate(${I.rotate}deg)`), r;
|
|
2007
2016
|
});
|
|
2008
2017
|
return {
|
|
2009
|
-
cls:
|
|
2010
|
-
innerStyle:
|
|
2018
|
+
cls: o,
|
|
2019
|
+
innerStyle: t,
|
|
2011
2020
|
onClick: (r) => {
|
|
2012
2021
|
e("click", r);
|
|
2013
2022
|
}
|
|
@@ -2022,7 +2031,7 @@ const Jt = Object.assign(BC, {
|
|
|
2022
2031
|
}, null, -1), Kt = [
|
|
2023
2032
|
mt
|
|
2024
2033
|
];
|
|
2025
|
-
function vt(I, e, B,
|
|
2034
|
+
function vt(I, e, B, o, t, s) {
|
|
2026
2035
|
return aA(), cA("svg", {
|
|
2027
2036
|
viewBox: "0 0 48 48",
|
|
2028
2037
|
fill: "none",
|
|
@@ -2040,8 +2049,8 @@ var QC = /* @__PURE__ */ CI(Yt, [["render", vt]]);
|
|
|
2040
2049
|
const qt = Object.assign(QC, {
|
|
2041
2050
|
install: (I, e) => {
|
|
2042
2051
|
var B;
|
|
2043
|
-
const
|
|
2044
|
-
I.component(
|
|
2052
|
+
const o = (B = e == null ? void 0 : e.iconPrefix) != null ? B : "";
|
|
2053
|
+
I.component(o + QC.name, QC);
|
|
2045
2054
|
}
|
|
2046
2055
|
}), xt = xA({
|
|
2047
2056
|
name: "IconExclamationCircleFill",
|
|
@@ -2070,13 +2079,13 @@ const qt = Object.assign(QC, {
|
|
|
2070
2079
|
click: (I) => !0
|
|
2071
2080
|
},
|
|
2072
2081
|
setup(I, { emit: e }) {
|
|
2073
|
-
const B = gI("icon"),
|
|
2082
|
+
const B = gI("icon"), o = JA(() => [B, `${B}-exclamation-circle-fill`, { [`${B}-spin`]: I.spin }]), t = JA(() => {
|
|
2074
2083
|
const r = {};
|
|
2075
2084
|
return I.size && (r.fontSize = II(I.size) ? `${I.size}px` : I.size), I.rotate && (r.transform = `rotate(${I.rotate}deg)`), r;
|
|
2076
2085
|
});
|
|
2077
2086
|
return {
|
|
2078
|
-
cls:
|
|
2079
|
-
innerStyle:
|
|
2087
|
+
cls: o,
|
|
2088
|
+
innerStyle: t,
|
|
2080
2089
|
onClick: (r) => {
|
|
2081
2090
|
e("click", r);
|
|
2082
2091
|
}
|
|
@@ -2091,7 +2100,7 @@ const qt = Object.assign(QC, {
|
|
|
2091
2100
|
}, null, -1), Pt = [
|
|
2092
2101
|
Tt
|
|
2093
2102
|
];
|
|
2094
|
-
function jt(I, e, B,
|
|
2103
|
+
function jt(I, e, B, o, t, s) {
|
|
2095
2104
|
return aA(), cA("svg", {
|
|
2096
2105
|
viewBox: "0 0 48 48",
|
|
2097
2106
|
fill: "none",
|
|
@@ -2109,8 +2118,8 @@ var EC = /* @__PURE__ */ CI(xt, [["render", jt]]);
|
|
|
2109
2118
|
const eC = Object.assign(EC, {
|
|
2110
2119
|
install: (I, e) => {
|
|
2111
2120
|
var B;
|
|
2112
|
-
const
|
|
2113
|
-
I.component(
|
|
2121
|
+
const o = (B = e == null ? void 0 : e.iconPrefix) != null ? B : "";
|
|
2122
|
+
I.component(o + EC.name, EC);
|
|
2114
2123
|
}
|
|
2115
2124
|
}), Wt = xA({
|
|
2116
2125
|
name: "IconInfoCircleFill",
|
|
@@ -2139,13 +2148,13 @@ const eC = Object.assign(EC, {
|
|
|
2139
2148
|
click: (I) => !0
|
|
2140
2149
|
},
|
|
2141
2150
|
setup(I, { emit: e }) {
|
|
2142
|
-
const B = gI("icon"),
|
|
2151
|
+
const B = gI("icon"), o = JA(() => [B, `${B}-info-circle-fill`, { [`${B}-spin`]: I.spin }]), t = JA(() => {
|
|
2143
2152
|
const r = {};
|
|
2144
2153
|
return I.size && (r.fontSize = II(I.size) ? `${I.size}px` : I.size), I.rotate && (r.transform = `rotate(${I.rotate}deg)`), r;
|
|
2145
2154
|
});
|
|
2146
2155
|
return {
|
|
2147
|
-
cls:
|
|
2148
|
-
innerStyle:
|
|
2156
|
+
cls: o,
|
|
2157
|
+
innerStyle: t,
|
|
2149
2158
|
onClick: (r) => {
|
|
2150
2159
|
e("click", r);
|
|
2151
2160
|
}
|
|
@@ -2160,7 +2169,7 @@ const eC = Object.assign(EC, {
|
|
|
2160
2169
|
}, null, -1), Xt = [
|
|
2161
2170
|
Ot
|
|
2162
2171
|
];
|
|
2163
|
-
function zt(I, e, B,
|
|
2172
|
+
function zt(I, e, B, o, t, s) {
|
|
2164
2173
|
return aA(), cA("svg", {
|
|
2165
2174
|
viewBox: "0 0 48 48",
|
|
2166
2175
|
fill: "none",
|
|
@@ -2178,27 +2187,27 @@ var tC = /* @__PURE__ */ CI(Wt, [["render", zt]]);
|
|
|
2178
2187
|
const fC = Object.assign(tC, {
|
|
2179
2188
|
install: (I, e) => {
|
|
2180
2189
|
var B;
|
|
2181
|
-
const
|
|
2182
|
-
I.component(
|
|
2190
|
+
const o = (B = e == null ? void 0 : e.iconPrefix) != null ? B : "";
|
|
2191
|
+
I.component(o + tC.name, tC);
|
|
2183
2192
|
}
|
|
2184
2193
|
});
|
|
2185
2194
|
var Zt = Object.create, bB = Object.defineProperty, _t = Object.getOwnPropertyDescriptor, $t = Object.getOwnPropertyNames, Ao = Object.getPrototypeOf, go = Object.prototype.hasOwnProperty, oC = ((I) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(I, { get: (e, B) => (typeof require < "u" ? require : e)[B] }) : I)(function(I) {
|
|
2186
2195
|
if (typeof require < "u") return require.apply(this, arguments);
|
|
2187
2196
|
throw Error('Dynamic require of "' + I + '" is not supported');
|
|
2188
|
-
}), Io = (I, e) => () => (e || I((e = { exports: {} }).exports, e), e.exports), Co = (I, e, B,
|
|
2189
|
-
if (e && typeof e == "object" || typeof e == "function") for (let
|
|
2197
|
+
}), Io = (I, e) => () => (e || I((e = { exports: {} }).exports, e), e.exports), Co = (I, e, B, o) => {
|
|
2198
|
+
if (e && typeof e == "object" || typeof e == "function") for (let t of $t(e)) !go.call(I, t) && t !== B && bB(I, t, { get: () => e[t], enumerable: !(o = _t(e, t)) || o.enumerable });
|
|
2190
2199
|
return I;
|
|
2191
2200
|
}, Bo = (I, e, B) => (B = I != null ? Zt(Ao(I)) : {}, Co(!I || !I.__esModule ? bB(B, "default", { value: I, enumerable: !0 }) : B, I)), Qo = Io((I, e) => {
|
|
2192
2201
|
var B = (() => {
|
|
2193
|
-
var
|
|
2194
|
-
var
|
|
2195
|
-
return typeof __filename < "u" && (
|
|
2202
|
+
var t;
|
|
2203
|
+
var o = typeof document < "u" ? (t = document.currentScript) == null ? void 0 : t.src : void 0;
|
|
2204
|
+
return typeof __filename < "u" && (o || (o = __filename)), function(s = {}) {
|
|
2196
2205
|
var r, i = Object.assign({}, s), d, l, h = new Promise((A, g) => {
|
|
2197
2206
|
d = A, l = g;
|
|
2198
|
-
}),
|
|
2207
|
+
}), y = typeof window == "object", D = typeof importScripts == "function", F = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string", f = Object.assign({}, i), N = "./this.program", M = (A, g) => {
|
|
2199
2208
|
throw g;
|
|
2200
2209
|
}, S = "", R, W, m;
|
|
2201
|
-
if (
|
|
2210
|
+
if (F) {
|
|
2202
2211
|
var X = oC("fs"), _ = oC("path");
|
|
2203
2212
|
S = __dirname + "/", R = (A, g) => (A = qg(A) ? new URL(A) : _.normalize(A), X.readFileSync(A, g ? void 0 : "utf8")), m = (A) => {
|
|
2204
2213
|
var g = R(A, !0);
|
|
@@ -2210,10 +2219,10 @@ var Zt = Object.create, bB = Object.defineProperty, _t = Object.getOwnPropertyDe
|
|
|
2210
2219
|
}, !i.thisProgram && process.argv.length > 1 && (N = process.argv[1].replace(/\\/g, "/")), process.argv.slice(2), M = (A, g) => {
|
|
2211
2220
|
throw process.exitCode = A, g;
|
|
2212
2221
|
};
|
|
2213
|
-
} else (
|
|
2222
|
+
} else (y || D) && (D ? S = self.location.href : typeof document < "u" && document.currentScript && (S = document.currentScript.src), o && (S = o), S.startsWith("blob:") ? S = "" : S = S.substr(0, S.replace(/[?#].*/, "").lastIndexOf("/") + 1), R = (A) => {
|
|
2214
2223
|
var g = new XMLHttpRequest();
|
|
2215
2224
|
return g.open("GET", A, !1), g.send(null), g.responseText;
|
|
2216
|
-
},
|
|
2225
|
+
}, D && (m = (A) => {
|
|
2217
2226
|
var g = new XMLHttpRequest();
|
|
2218
2227
|
return g.open("GET", A, !1), g.responseType = "arraybuffer", g.send(null), new Uint8Array(g.response);
|
|
2219
2228
|
}), W = (A, g, C) => {
|
|
@@ -2227,11 +2236,11 @@ var Zt = Object.create, bB = Object.defineProperty, _t = Object.getOwnPropertyDe
|
|
|
2227
2236
|
}, Q.onerror = C, Q.send(null);
|
|
2228
2237
|
});
|
|
2229
2238
|
var Y = i.print || console.log.bind(console), O = i.printErr || console.error.bind(console);
|
|
2230
|
-
Object.assign(i,
|
|
2239
|
+
Object.assign(i, f), f = null, i.arguments && i.arguments, i.thisProgram && (N = i.thisProgram), i.quit && (M = i.quit);
|
|
2231
2240
|
var QA;
|
|
2232
2241
|
i.wasmBinary && (QA = i.wasmBinary);
|
|
2233
|
-
function
|
|
2234
|
-
if (typeof
|
|
2242
|
+
function BA(A) {
|
|
2243
|
+
if (typeof F < "u" && F) {
|
|
2235
2244
|
var g = Buffer.from(A, "base64");
|
|
2236
2245
|
return new Uint8Array(g.buffer, g.byteOffset, g.length);
|
|
2237
2246
|
}
|
|
@@ -2239,11 +2248,11 @@ var Zt = Object.create, bB = Object.defineProperty, _t = Object.getOwnPropertyDe
|
|
|
2239
2248
|
return Q;
|
|
2240
2249
|
}
|
|
2241
2250
|
function wA(A) {
|
|
2242
|
-
if (QI(A)) return
|
|
2251
|
+
if (QI(A)) return BA(A.slice(wg.length));
|
|
2243
2252
|
}
|
|
2244
|
-
var
|
|
2253
|
+
var uA, tA = !1, RA, L, K, V, j, J, H, nA, kA;
|
|
2245
2254
|
function Z() {
|
|
2246
|
-
var A =
|
|
2255
|
+
var A = uA.buffer;
|
|
2247
2256
|
i.HEAP8 = L = new Int8Array(A), i.HEAP16 = V = new Int16Array(A), i.HEAPU8 = K = new Uint8Array(A), i.HEAPU16 = j = new Uint16Array(A), i.HEAP32 = J = new Int32Array(A), i.HEAPU32 = H = new Uint32Array(A), i.HEAPF32 = nA = new Float32Array(A), i.HEAPF64 = kA = new Float64Array(A);
|
|
2248
2257
|
}
|
|
2249
2258
|
var gA = [], IA = [], EA = [];
|
|
@@ -2315,7 +2324,7 @@ var Zt = Object.create, bB = Object.defineProperty, _t = Object.getOwnPropertyDe
|
|
|
2315
2324
|
function _B() {
|
|
2316
2325
|
var A = ZB();
|
|
2317
2326
|
function g(Q, n) {
|
|
2318
|
-
return KA = Q.exports,
|
|
2327
|
+
return KA = Q.exports, uA = KA.F, Z(), JC = KA.I, Qg(KA.G), gg(), KA;
|
|
2319
2328
|
}
|
|
2320
2329
|
ZA();
|
|
2321
2330
|
function C(Q) {
|
|
@@ -2647,15 +2656,15 @@ var Zt = Object.create, bB = Object.defineProperty, _t = Object.getOwnPropertyDe
|
|
|
2647
2656
|
}), hg([A, g, C], Q ? [Q] : [], (z) => {
|
|
2648
2657
|
var fA;
|
|
2649
2658
|
z = z[0];
|
|
2650
|
-
var dA,
|
|
2651
|
-
Q ? (dA = z.registeredClass,
|
|
2659
|
+
var dA, yA;
|
|
2660
|
+
Q ? (dA = z.registeredClass, yA = dA.instancePrototype) : yA = nI.prototype;
|
|
2652
2661
|
var FA = iI(p, function(...AC) {
|
|
2653
2662
|
if (Object.getPrototypeOf(this) !== U) throw new Fg("Use 'new' to construct " + p);
|
|
2654
2663
|
if (x.constructor_body === void 0) throw new Fg(p + " has no accessible constructor");
|
|
2655
2664
|
var iB = x.constructor_body[AC.length];
|
|
2656
2665
|
if (iB === void 0) throw new Fg(`Tried to invoke ctor of ${p} with invalid number of parameters (${AC.length}) - expected (${Object.keys(x.constructor_body).toString()}) parameters instead!`);
|
|
2657
2666
|
return iB.apply(this, AC);
|
|
2658
|
-
}), U = Object.create(
|
|
2667
|
+
}), U = Object.create(yA, { constructor: { value: FA } });
|
|
2659
2668
|
FA.prototype = U;
|
|
2660
2669
|
var x = new uQ(p, FA, U, q, dA, a, w, k);
|
|
2661
2670
|
x.baseClass && ((fA = x.baseClass).__derivedClasses ?? (fA.__derivedClasses = []), x.baseClass.__derivedClasses.push(x));
|
|
@@ -2736,7 +2745,7 @@ return ret;
|
|
|
2736
2745
|
var q = k.registeredClass.constructor;
|
|
2737
2746
|
return q[g] === void 0 ? (b.argCount = C - 1, q[g] = b) : (bI(q, g, p), q[g].overloadTable[C - 1] = b), hg([], u, (P) => {
|
|
2738
2747
|
var z = [P[0], null].concat(P.slice(1)), dA = PI(p, z, null, a, c, w);
|
|
2739
|
-
if (q[g].overloadTable === void 0 ? (dA.argCount = C - 1, q[g] = dA) : q[g].overloadTable[C - 1] = dA, k.registeredClass.__derivedClasses) for (let
|
|
2748
|
+
if (q[g].overloadTable === void 0 ? (dA.argCount = C - 1, q[g] = dA) : q[g].overloadTable[C - 1] = dA, k.registeredClass.__derivedClasses) for (let yA of k.registeredClass.__derivedClasses) yA.constructor.hasOwnProperty(g) || (yA.constructor[g] = dA);
|
|
2740
2749
|
return [];
|
|
2741
2750
|
}), [];
|
|
2742
2751
|
});
|
|
@@ -2761,8 +2770,8 @@ return ret;
|
|
|
2761
2770
|
}
|
|
2762
2771
|
var P = p.registeredClass.instancePrototype, z = P[g];
|
|
2763
2772
|
return z === void 0 || z.overloadTable === void 0 && z.className !== p.name && z.argCount === C - 2 ? (q.argCount = C - 2, q.className = p.name, P[g] = q) : (bI(P, g, b), P[g].overloadTable[C - 2] = q), hg([], k, (dA) => {
|
|
2764
|
-
var
|
|
2765
|
-
return P[g].overloadTable === void 0 ? (
|
|
2773
|
+
var yA = PI(b, dA, p, a, c, u);
|
|
2774
|
+
return P[g].overloadTable === void 0 ? (yA.argCount = C - 2, P[g] = yA) : P[g].overloadTable[C - 2] = yA, [];
|
|
2766
2775
|
}), [];
|
|
2767
2776
|
});
|
|
2768
2777
|
}, WI = [], rg = [], KQ = (A) => {
|
|
@@ -3079,7 +3088,7 @@ return ret;
|
|
|
3079
3088
|
return g === -1 ? A : A.substr(g + 1);
|
|
3080
3089
|
}, join: (...A) => sA.normalize(A.join("/")), join2: (A, g) => sA.normalize(A + "/" + g) }, dE = () => {
|
|
3081
3090
|
if (typeof crypto == "object" && typeof crypto.getRandomValues == "function") return (Q) => crypto.getRandomValues(Q);
|
|
3082
|
-
if (
|
|
3091
|
+
if (F) try {
|
|
3083
3092
|
var A = oC("crypto"), g = A.randomFillSync;
|
|
3084
3093
|
if (g) return (Q) => A.randomFillSync(Q);
|
|
3085
3094
|
var C = A.randomBytes;
|
|
@@ -3116,7 +3125,7 @@ return ret;
|
|
|
3116
3125
|
var hE = () => {
|
|
3117
3126
|
if (!ZI.length) {
|
|
3118
3127
|
var A = null;
|
|
3119
|
-
if (
|
|
3128
|
+
if (F) {
|
|
3120
3129
|
var g = 256, C = Buffer.alloc(g), Q = 0, n = process.stdin.fd;
|
|
3121
3130
|
try {
|
|
3122
3131
|
Q = X.readSync(n, C);
|
|
@@ -3910,8 +3919,8 @@ return ret;
|
|
|
3910
3919
|
cacheLength() {
|
|
3911
3920
|
var P = new XMLHttpRequest();
|
|
3912
3921
|
if (P.open("HEAD", C, !1), P.send(null), !(P.status >= 200 && P.status < 300 || P.status === 304)) throw new Error("Couldn't load " + C + ". Status: " + P.status);
|
|
3913
|
-
var z = Number(P.getResponseHeader("Content-length")), dA,
|
|
3914
|
-
|
|
3922
|
+
var z = Number(P.getResponseHeader("Content-length")), dA, yA = (dA = P.getResponseHeader("Accept-Ranges")) && dA === "bytes", FA = (dA = P.getResponseHeader("Content-Encoding")) && dA === "gzip", U = 1024 * 1024;
|
|
3923
|
+
yA || (U = z);
|
|
3915
3924
|
var x = (iA, TA) => {
|
|
3916
3925
|
if (iA > TA) throw new Error("invalid range (" + iA + ", " + TA + ") or no bytes requested!");
|
|
3917
3926
|
if (TA > z - 1) throw new Error("only " + z + " bytes available! programmer error!");
|
|
@@ -3933,7 +3942,7 @@ return ret;
|
|
|
3933
3942
|
}
|
|
3934
3943
|
}
|
|
3935
3944
|
if (typeof XMLHttpRequest < "u") {
|
|
3936
|
-
if (!
|
|
3945
|
+
if (!D) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
|
|
3937
3946
|
var c = new a(), w = { isDevice: !1, contents: c };
|
|
3938
3947
|
} else var w = { isDevice: !1, url: C };
|
|
3939
3948
|
var u = E.createFile(A, g, w, Q, n);
|
|
@@ -3945,15 +3954,15 @@ return ret;
|
|
|
3945
3954
|
var P = u.stream_ops[q];
|
|
3946
3955
|
k[q] = (...z) => (E.forceLoadFile(u), P(...z));
|
|
3947
3956
|
});
|
|
3948
|
-
function b(q, P, z, dA,
|
|
3957
|
+
function b(q, P, z, dA, yA) {
|
|
3949
3958
|
var FA = q.node.contents;
|
|
3950
|
-
if (
|
|
3951
|
-
var U = Math.min(FA.length -
|
|
3952
|
-
if (FA.slice) for (var x = 0; x < U; x++) P[z + x] = FA[
|
|
3953
|
-
else for (var x = 0; x < U; x++) P[z + x] = FA.get(
|
|
3959
|
+
if (yA >= FA.length) return 0;
|
|
3960
|
+
var U = Math.min(FA.length - yA, dA);
|
|
3961
|
+
if (FA.slice) for (var x = 0; x < U; x++) P[z + x] = FA[yA + x];
|
|
3962
|
+
else for (var x = 0; x < U; x++) P[z + x] = FA.get(yA + x);
|
|
3954
3963
|
return U;
|
|
3955
3964
|
}
|
|
3956
|
-
return k.read = (q, P, z, dA,
|
|
3965
|
+
return k.read = (q, P, z, dA, yA) => (E.forceLoadFile(u), b(q, P, z, dA, yA)), k.mmap = (q, P, z, dA, yA) => {
|
|
3957
3966
|
E.forceLoadFile(u);
|
|
3958
3967
|
var FA = CB(P);
|
|
3959
3968
|
if (!FA) throw new E.ErrnoError(48);
|
|
@@ -4100,7 +4109,7 @@ return ret;
|
|
|
4100
4109
|
var x = HE(new Date(U.tm_year + 1900, 0, 1), U.tm_yday), NA = new Date(x.getFullYear(), 0, 4), iA = new Date(x.getFullYear() + 1, 0, 4), TA = z(NA), fA = z(iA);
|
|
4101
4110
|
return P(TA, x) <= 0 ? P(fA, x) <= 0 ? x.getFullYear() + 1 : x.getFullYear() : x.getFullYear() - 1;
|
|
4102
4111
|
}
|
|
4103
|
-
var
|
|
4112
|
+
var yA = { "%a": (U) => k[U.tm_wday].substring(0, 3), "%A": (U) => k[U.tm_wday], "%b": (U) => p[U.tm_mon].substring(0, 3), "%B": (U) => p[U.tm_mon], "%C": (U) => {
|
|
4104
4113
|
var x = U.tm_year + 1900;
|
|
4105
4114
|
return q(x / 100 | 0, 2);
|
|
4106
4115
|
}, "%d": (U) => q(U.tm_mday, 2), "%e": (U) => b(U.tm_mday, 2, " "), "%g": (U) => dA(U).toString().substring(2), "%G": dA, "%H": (U) => q(U.tm_hour, 2), "%I": (U) => {
|
|
@@ -4131,7 +4140,7 @@ return ret;
|
|
|
4131
4140
|
return x = Math.abs(x) / 60, x = x / 60 * 100 + x % 60, (NA ? "+" : "-") + ("0000" + x).slice(-4);
|
|
4132
4141
|
}, "%Z": (U) => U.tm_zone, "%%": () => "%" };
|
|
4133
4142
|
c = c.replace(/%%/g, "\0\0");
|
|
4134
|
-
for (var u in
|
|
4143
|
+
for (var u in yA) c.includes(u) && (c = c.replace(new RegExp(u, "g"), yA[u](a)));
|
|
4135
4144
|
c = c.replace(/\0\0/g, "%");
|
|
4136
4145
|
var FA = wI(c, !1);
|
|
4137
4146
|
return FA.length > g ? 0 : (mE(FA, A), FA.length - 1);
|
|
@@ -4170,7 +4179,7 @@ return ret;
|
|
|
4170
4179
|
}), TB = (I) => Object.prototype.toString.call(I), nC = (I) => TB(I) === "[object String]", Eo = (I) => TB(I) === "[object Array]", eo = (I, e) => {
|
|
4171
4180
|
let B = { ...I };
|
|
4172
4181
|
e = Eo(e) ? e : [e];
|
|
4173
|
-
for (let
|
|
4182
|
+
for (let o of e) delete B[o];
|
|
4174
4183
|
return B;
|
|
4175
4184
|
}, to = typeof globalThis == "object" && globalThis !== null && globalThis.Object === Object && globalThis, oo = typeof self == "object" && self !== null && self.Object === Object && self;
|
|
4176
4185
|
to || oo || Function("return this")();
|
|
@@ -4192,8 +4201,8 @@ const no = [
|
|
|
4192
4201
|
error: [qt, "--danger-6"],
|
|
4193
4202
|
syncConfirm: [eC, "--warning-6"]
|
|
4194
4203
|
}, ro = () => {
|
|
4195
|
-
const I = (
|
|
4196
|
-
const [r, i] = io[
|
|
4204
|
+
const I = (t, s) => {
|
|
4205
|
+
const [r, i] = io[t], { title: d } = s;
|
|
4197
4206
|
return () => [
|
|
4198
4207
|
DI("span", { class: "shim-icon" }),
|
|
4199
4208
|
DI(r, {
|
|
@@ -4202,18 +4211,18 @@ const no = [
|
|
|
4202
4211
|
}),
|
|
4203
4212
|
DI("span", { class: "normal-title method-render" }, d)
|
|
4204
4213
|
];
|
|
4205
|
-
}, e = (
|
|
4214
|
+
}, e = (t, s) => () => DI(
|
|
4206
4215
|
"div",
|
|
4207
4216
|
{
|
|
4208
4217
|
style: { padding: "0 0 4px" }
|
|
4209
4218
|
},
|
|
4210
4219
|
s.content
|
|
4211
|
-
), B = (
|
|
4212
|
-
const { title: i, content: d, modalClass: l } = s, h = nC(i) ? I(
|
|
4220
|
+
), B = (t, s, r) => {
|
|
4221
|
+
const { title: i, content: d, modalClass: l } = s, h = nC(i) ? I(t, s) : i, y = nC(d) ? e(t, s) : d, D = [
|
|
4213
4222
|
"common-modal",
|
|
4214
|
-
["info", "success", "warning", "error", "confirm", "syncConfirm"].includes(
|
|
4223
|
+
["info", "success", "warning", "error", "confirm", "syncConfirm"].includes(t) && `common-modal__${t}`,
|
|
4215
4224
|
s.hideHeaderBorder !== !1 && "hide-header-border"
|
|
4216
|
-
],
|
|
4225
|
+
], F = {
|
|
4217
4226
|
simple: !1,
|
|
4218
4227
|
titleAlign: "start",
|
|
4219
4228
|
closable: !1,
|
|
@@ -4221,22 +4230,22 @@ const no = [
|
|
|
4221
4230
|
draggable: !0,
|
|
4222
4231
|
...eo(s, ["title", "content", "modalClass"]),
|
|
4223
4232
|
title: h,
|
|
4224
|
-
content:
|
|
4225
|
-
class:
|
|
4233
|
+
content: y,
|
|
4234
|
+
class: D,
|
|
4226
4235
|
modalClass: nC(l) || Array.isArray(l) ? l : ""
|
|
4227
4236
|
};
|
|
4228
|
-
return
|
|
4237
|
+
return t === "syncConfirm" ? new Promise((f) => {
|
|
4229
4238
|
sB.confirm(
|
|
4230
4239
|
{
|
|
4231
|
-
...
|
|
4232
|
-
onOk: () =>
|
|
4233
|
-
onCancel: () =>
|
|
4240
|
+
...F,
|
|
4241
|
+
onOk: () => f(!0),
|
|
4242
|
+
onCancel: () => f(!1)
|
|
4234
4243
|
},
|
|
4235
4244
|
r
|
|
4236
4245
|
);
|
|
4237
|
-
}) : sB[
|
|
4246
|
+
}) : sB[t](F, r);
|
|
4238
4247
|
};
|
|
4239
|
-
return { Modal: no.reduce((
|
|
4248
|
+
return { Modal: no.reduce((t, s) => (t[s] = (r, i) => B(s, r, i), t), {}) };
|
|
4240
4249
|
}, iC = /* @__PURE__ */ xA({
|
|
4241
4250
|
name: "CommonModal",
|
|
4242
4251
|
props: {
|
|
@@ -4259,15 +4268,15 @@ const no = [
|
|
|
4259
4268
|
slots: e,
|
|
4260
4269
|
attrs: B
|
|
4261
4270
|
}) {
|
|
4262
|
-
const
|
|
4271
|
+
const o = {
|
|
4263
4272
|
titleAlign: "start",
|
|
4264
4273
|
closable: !1,
|
|
4265
4274
|
draggable: !0,
|
|
4266
4275
|
maskClosable: !1
|
|
4267
|
-
},
|
|
4276
|
+
}, t = DA(`cmid-${Math.random().toString(32).substring(2, 10)}`);
|
|
4268
4277
|
$g(() => B.visible, (d) => {
|
|
4269
4278
|
d && NC(() => {
|
|
4270
|
-
const l = document.querySelector(`#${
|
|
4279
|
+
const l = document.querySelector(`#${t.value} .arco-modal-body`);
|
|
4271
4280
|
l && (l.scrollTop = 0);
|
|
4272
4281
|
});
|
|
4273
4282
|
});
|
|
@@ -4291,9 +4300,9 @@ const no = [
|
|
|
4291
4300
|
}
|
|
4292
4301
|
};
|
|
4293
4302
|
return () => G(PA("a-modal"), UI({
|
|
4294
|
-
id:
|
|
4303
|
+
id: t.value,
|
|
4295
4304
|
class: ["common-modal", `common-modal-footer__${I.footerAlign}`, I.hideHeaderBorder && "hide-header-border", I.hideFooterBorder && "hide-footer-border"]
|
|
4296
|
-
},
|
|
4305
|
+
}, o), {
|
|
4297
4306
|
...i
|
|
4298
4307
|
});
|
|
4299
4308
|
}
|
|
@@ -4303,32 +4312,32 @@ const no = [
|
|
|
4303
4312
|
I.component(iC.name, iC);
|
|
4304
4313
|
const e = {};
|
|
4305
4314
|
for (const B of Object.keys(rC))
|
|
4306
|
-
e[B] = (
|
|
4315
|
+
e[B] = (o, t = I._context) => rC[B](o, t);
|
|
4307
4316
|
I.config.globalProperties.$modal = e;
|
|
4308
4317
|
}
|
|
4309
4318
|
}), HA = (I, e, B) => {
|
|
4310
|
-
const
|
|
4311
|
-
return [
|
|
4312
|
-
|
|
4319
|
+
const o = XE({ value: I }), { value: t } = zE(o);
|
|
4320
|
+
return [t, (r) => {
|
|
4321
|
+
o.value = r, e == null || e(o.value);
|
|
4313
4322
|
}];
|
|
4314
4323
|
}, kI = "tag-range-highlight", so = () => {
|
|
4315
4324
|
const I = Ag(yg), [e, B] = HA({
|
|
4316
4325
|
index: -1,
|
|
4317
4326
|
offset: -1
|
|
4318
|
-
}), [
|
|
4327
|
+
}), [o, t] = HA({
|
|
4319
4328
|
index: -1,
|
|
4320
4329
|
offset: -1
|
|
4321
4330
|
}), s = () => {
|
|
4322
4331
|
if (console.log("---highlight "), v(I) || v(I.editorCore.value)) return;
|
|
4323
4332
|
const { cursor: d, content: l } = I.editorCore.value, { range: h } = d;
|
|
4324
4333
|
if (v(h)) return;
|
|
4325
|
-
const { startContainer:
|
|
4334
|
+
const { startContainer: y, endContainer: D, startOffset: F, endOffset: f } = h, N = VA(h.startContainer), M = VA(h.endContainer), S = hC(N, M), R = l.getParas(), W = N === M;
|
|
4326
4335
|
B({
|
|
4327
4336
|
index: R.indexOf(N),
|
|
4328
|
-
offset: W &&
|
|
4329
|
-
}),
|
|
4337
|
+
offset: W && F > f ? f : F
|
|
4338
|
+
}), t({
|
|
4330
4339
|
index: R.indexOf(M),
|
|
4331
|
-
offset: W ?
|
|
4340
|
+
offset: W ? f > F ? f : F : f
|
|
4332
4341
|
});
|
|
4333
4342
|
const m = (_) => {
|
|
4334
4343
|
const Y = document.createElement("span");
|
|
@@ -4345,25 +4354,25 @@ const no = [
|
|
|
4345
4354
|
), Y;
|
|
4346
4355
|
}, X = (_, Y, O, QA) => {
|
|
4347
4356
|
var tA;
|
|
4348
|
-
|
|
4349
|
-
const
|
|
4350
|
-
|
|
4357
|
+
CA(_) && _.tagName === "P" ? (h.setStart(_.firstChild, 0), h.setEnd(_, _.childNodes.length)) : (h.setStart(_, Y), h.setEnd(O, QA));
|
|
4358
|
+
const BA = window.getSelection();
|
|
4359
|
+
BA.removeAllRanges(), BA.addRange(h);
|
|
4351
4360
|
const wA = document.createElement("div");
|
|
4352
4361
|
wA.appendChild(h.cloneContents());
|
|
4353
|
-
const
|
|
4354
|
-
(tA = I.editorCore.value) == null || tA.content.update(
|
|
4362
|
+
const uA = m(wA.innerHTML);
|
|
4363
|
+
(tA = I.editorCore.value) == null || tA.content.update(uA);
|
|
4355
4364
|
};
|
|
4356
4365
|
if (N === M) {
|
|
4357
|
-
const _ =
|
|
4366
|
+
const _ = CA(y) && y.tagName === "P";
|
|
4358
4367
|
X(
|
|
4359
|
-
_ ?
|
|
4360
|
-
_ ? 0 :
|
|
4361
|
-
|
|
4362
|
-
|
|
4368
|
+
_ ? y.firstChild : y,
|
|
4369
|
+
_ ? 0 : F,
|
|
4370
|
+
D,
|
|
4371
|
+
f
|
|
4363
4372
|
);
|
|
4364
4373
|
return;
|
|
4365
4374
|
}
|
|
4366
|
-
X(
|
|
4375
|
+
X(y, F, N, N.childNodes.length), S.forEach((_) => X(_, 0, _, _.childNodes.length)), X(M.firstChild, 0, D, f);
|
|
4367
4376
|
}, r = () => {
|
|
4368
4377
|
var l;
|
|
4369
4378
|
Array.from(
|
|
@@ -4374,7 +4383,7 @@ const no = [
|
|
|
4374
4383
|
highlightRange: s,
|
|
4375
4384
|
unhighlightRange: r,
|
|
4376
4385
|
revertRange: () => {
|
|
4377
|
-
var
|
|
4386
|
+
var y, D, F;
|
|
4378
4387
|
if (v(I) || v(I.editorCore.value)) return;
|
|
4379
4388
|
r();
|
|
4380
4389
|
const { content: d } = I.editorCore.value, l = d.getParas(), h = document.createRange();
|
|
@@ -4382,16 +4391,16 @@ const no = [
|
|
|
4382
4391
|
l[e.value.index].firstChild,
|
|
4383
4392
|
e.value.offset ?? 0
|
|
4384
4393
|
), h.setEnd(
|
|
4385
|
-
l[
|
|
4386
|
-
|
|
4387
|
-
), (
|
|
4394
|
+
l[o.value.index].firstChild,
|
|
4395
|
+
o.value.offset ?? 0
|
|
4396
|
+
), (y = getSelection()) == null || y.removeAllRanges(), (D = getSelection()) == null || D.addRange(h), I.editorCore.value.cursor._recordRange(), console.log("--- ", (F = getSelection()) == null ? void 0 : F.getRangeAt(0), I.editorCore.value.cursor.range);
|
|
4388
4397
|
}
|
|
4389
4398
|
};
|
|
4390
4399
|
}, co = (I, e, B) => {
|
|
4391
|
-
const
|
|
4400
|
+
const o = DA(), t = DA(), s = DA(0), r = DA(!1);
|
|
4392
4401
|
let i;
|
|
4393
|
-
const { renderHighlight: d, unrenderHighlight: l } = dt(
|
|
4394
|
-
|
|
4402
|
+
const { renderHighlight: d, unrenderHighlight: l } = dt(o, e), h = () => {
|
|
4403
|
+
o.value = new Fe(I.value, {
|
|
4395
4404
|
plugins: e.simple ? [] : [
|
|
4396
4405
|
We,
|
|
4397
4406
|
gt,
|
|
@@ -4401,32 +4410,32 @@ const no = [
|
|
|
4401
4410
|
maxLength: e.maxLength,
|
|
4402
4411
|
onChange: (L) => {
|
|
4403
4412
|
var K;
|
|
4404
|
-
s.value = L, r.value = !!((K =
|
|
4413
|
+
s.value = L, r.value = !!((K = o.value) != null && K.element.querySelector(
|
|
4405
4414
|
`span[data-type=${T.pausation}]`
|
|
4406
4415
|
)), B("update:textCount", L), B("change", L);
|
|
4407
4416
|
},
|
|
4408
4417
|
onUndoChange: (L) => {
|
|
4409
4418
|
var K;
|
|
4410
|
-
v((K =
|
|
4419
|
+
v((K = t.value.plugin[T.anchor]) == null ? void 0 : K.data) || (t.value.plugin[T.anchor].data = JSON.parse(L));
|
|
4411
4420
|
}
|
|
4412
|
-
}),
|
|
4421
|
+
}), t.value = {
|
|
4413
4422
|
base: {
|
|
4414
|
-
content:
|
|
4415
|
-
cursor:
|
|
4416
|
-
undo:
|
|
4417
|
-
command:
|
|
4423
|
+
content: o.value.content,
|
|
4424
|
+
cursor: o.value.cursor,
|
|
4425
|
+
undo: o.value.undo,
|
|
4426
|
+
command: o.value.command
|
|
4418
4427
|
},
|
|
4419
4428
|
plugin: {
|
|
4420
|
-
[T.pausation]:
|
|
4421
|
-
[T.pronunciation]:
|
|
4422
|
-
[T.homophones]:
|
|
4423
|
-
[T.anchor]:
|
|
4429
|
+
[T.pausation]: o.value.plugin.pausation,
|
|
4430
|
+
[T.pronunciation]: o.value.plugin.pronunciation,
|
|
4431
|
+
[T.homophones]: o.value.plugin.homophones,
|
|
4432
|
+
[T.anchor]: o.value.plugin.anchor
|
|
4424
4433
|
}
|
|
4425
4434
|
}, i = new MutationObserver(([L]) => {
|
|
4426
4435
|
var K, V;
|
|
4427
|
-
Object.keys(((V = (K =
|
|
4436
|
+
Object.keys(((V = (K = t.value) == null ? void 0 : K.plugin[T.anchor]) == null ? void 0 : V.data) ?? []).forEach((j) => {
|
|
4428
4437
|
var kA, Z;
|
|
4429
|
-
const J = ((Z = (kA =
|
|
4438
|
+
const J = ((Z = (kA = t.value) == null ? void 0 : kA.plugin[T.anchor]) == null ? void 0 : Z.data[j]) ?? [], [H, nA] = J.reduce(
|
|
4430
4439
|
(gA, IA) => {
|
|
4431
4440
|
const EA = Array.from(
|
|
4432
4441
|
document.body.querySelectorAll(`span[data-frag-id="anchor_${IA.id}"]`)
|
|
@@ -4435,34 +4444,34 @@ const no = [
|
|
|
4435
4444
|
},
|
|
4436
4445
|
[[], []]
|
|
4437
4446
|
);
|
|
4438
|
-
|
|
4447
|
+
t.value.plugin[T.anchor].data[j] = H, nA.forEach((gA) => B("anchorRemove", gA.data));
|
|
4439
4448
|
});
|
|
4440
4449
|
}), i.observe(I.value, {
|
|
4441
4450
|
childList: !0,
|
|
4442
4451
|
subtree: !0,
|
|
4443
4452
|
characterData: !0
|
|
4444
4453
|
});
|
|
4445
|
-
},
|
|
4454
|
+
}, y = () => {
|
|
4446
4455
|
var L;
|
|
4447
|
-
(L =
|
|
4448
|
-
},
|
|
4456
|
+
(L = o.value) == null || L.destroy(), o.value = void 0, t.value = void 0, i == null || i.disconnect(), i = null;
|
|
4457
|
+
}, D = (L) => {
|
|
4449
4458
|
const K = { ...at, ...L ?? {} };
|
|
4450
|
-
return K.withAuditHighlight ?
|
|
4451
|
-
},
|
|
4459
|
+
return K.withAuditHighlight ? o.value.content.getContent() : tA(K);
|
|
4460
|
+
}, F = async (L) => o.value.content.setContent(L), f = async (L) => {
|
|
4452
4461
|
var K, V;
|
|
4453
|
-
e.simple ? (K =
|
|
4462
|
+
e.simple ? (K = o.value) == null || K.content.appendContent(L) : (V = o.value) == null || V.appendContent(L);
|
|
4454
4463
|
}, N = () => {
|
|
4455
4464
|
var L;
|
|
4456
|
-
return ((L =
|
|
4457
|
-
}, M = (L) =>
|
|
4465
|
+
return ((L = o.value) == null ? void 0 : L.content.getTextContent()) ?? [];
|
|
4466
|
+
}, M = (L) => o.value.content.insert(L), S = () => o.value.content.delete(), R = (L) => o.value.content.update(L), W = () => o.value.cursor.isCaret(), m = () => o.value.cursor.isRange(), X = () => {
|
|
4458
4467
|
var j;
|
|
4459
|
-
const L = (j =
|
|
4468
|
+
const L = (j = t.value) == null ? void 0 : j.base.cursor.range;
|
|
4460
4469
|
if (v(L)) return !1;
|
|
4461
4470
|
const [K] = qA(L.startContainer, (J) => J.tagName === "P" && J.classList.contains(GA)), [V] = qA(L.endContainer, (J) => J.tagName === "P" && J.classList.contains(GA));
|
|
4462
4471
|
return !(v(K) || v(V) || K === V);
|
|
4463
4472
|
}, _ = (L) => {
|
|
4464
4473
|
var J, H;
|
|
4465
|
-
const K = (J =
|
|
4474
|
+
const K = (J = t.value) == null ? void 0 : J.base.cursor.range, V = (H = o.value) == null ? void 0 : H.content.getParas(), j = V == null ? void 0 : V.map((nA) => Array.from(nA.querySelectorAll(`span[data-type="${L}"]`))).flat();
|
|
4466
4475
|
return v(K) || v(V) || v(j) ? !1 : j.some((nA) => K.intersectsNode(nA));
|
|
4467
4476
|
}, Y = (L) => {
|
|
4468
4477
|
var K;
|
|
@@ -4472,10 +4481,10 @@ const no = [
|
|
|
4472
4481
|
const V = Se(L);
|
|
4473
4482
|
let j = [];
|
|
4474
4483
|
if (!V.length) return "";
|
|
4475
|
-
const J = (kA =
|
|
4484
|
+
const J = (kA = o.value) == null ? void 0 : kA.cursor.range;
|
|
4476
4485
|
let H = -1;
|
|
4477
4486
|
if (K && (J != null && J.collapse)) {
|
|
4478
|
-
const [Z] = qA(J == null ? void 0 : J.startContainer, (gA) =>
|
|
4487
|
+
const [Z] = qA(J == null ? void 0 : J.startContainer, (gA) => CA(gA) && gA.dataset.type === T.anchor);
|
|
4479
4488
|
H = V.findIndex((gA) => gA === Z), j = H > -1 ? V.slice(H) : V;
|
|
4480
4489
|
}
|
|
4481
4490
|
return j.map((Z, gA) => {
|
|
@@ -4491,9 +4500,9 @@ const no = [
|
|
|
4491
4500
|
var j;
|
|
4492
4501
|
const K = L.uid ? `span[data-uid="${L.uid}"]` : `span[data-id="anchor_${L.id}"]`, V = (j = I.value) == null ? void 0 : j.querySelector(K);
|
|
4493
4502
|
return [V.dataset.emotion, V.dataset.role];
|
|
4494
|
-
},
|
|
4503
|
+
}, BA = () => {
|
|
4495
4504
|
var V;
|
|
4496
|
-
return (((V =
|
|
4505
|
+
return (((V = o.value) == null ? void 0 : V.content.getParas()) ?? []).filter(
|
|
4497
4506
|
(j) => {
|
|
4498
4507
|
var J;
|
|
4499
4508
|
return (J = j.textContent) == null ? void 0 : J.trim();
|
|
@@ -4501,31 +4510,31 @@ const no = [
|
|
|
4501
4510
|
).map((j) => Array.from(j.childNodes)).flat().every((j) => (console.log(`
|
|
4502
4511
|
---node:
|
|
4503
4512
|
isText: ${SA(j) && ["", " ", null].includes(j.textContent)}
|
|
4504
|
-
isHTMLElement: ${
|
|
4505
|
-
isHTMLElement: ${
|
|
4506
|
-
`), console.log("---node ", j), SA(j) && ["", " ", null].includes(j.textContent) ||
|
|
4513
|
+
isHTMLElement: ${CA(j) && j.dataset.type === T.anchor}
|
|
4514
|
+
isHTMLElement: ${CA(j) && j.tagName === "BR"}
|
|
4515
|
+
`), console.log("---node ", j), SA(j) && ["", " ", null].includes(j.textContent) || CA(j) && j.dataset.type === T.anchor || CA(j) && j.tagName === "BR"));
|
|
4507
4516
|
}, wA = (L) => {
|
|
4508
4517
|
L.forEach((K) => {
|
|
4509
4518
|
var j;
|
|
4510
|
-
(((j =
|
|
4519
|
+
(((j = t.value) == null ? void 0 : j.plugin.anchor.data[K.top]) ?? (t.value.plugin.anchor.data[K.top] = [])).push({ background: vB[(K.id - 1) % 10], data: K, id: K.id });
|
|
4511
4520
|
});
|
|
4512
|
-
},
|
|
4521
|
+
}, uA = () => {
|
|
4513
4522
|
ao.confirm({
|
|
4514
4523
|
title: "请确认",
|
|
4515
4524
|
content: "确定清空全部内容吗?",
|
|
4516
4525
|
onOk: () => {
|
|
4517
|
-
|
|
4526
|
+
F(""), setTimeout(() => {
|
|
4518
4527
|
var J, H;
|
|
4519
4528
|
const L = window.getSelection(), K = L != null && L.rangeCount ? L == null ? void 0 : L.getRangeAt(0) : null;
|
|
4520
|
-
if (v(L) || K &&
|
|
4529
|
+
if (v(L) || K && CA(K.commonAncestorContainer) && K.commonAncestorContainer.classList.contains(GA))
|
|
4521
4530
|
return;
|
|
4522
|
-
const V = document.createRange(), j = (H = (J =
|
|
4531
|
+
const V = document.createRange(), j = (H = (J = o.value) == null ? void 0 : J.content.getParas()) == null ? void 0 : H[0];
|
|
4523
4532
|
v(j) || (V.selectNodeContents(j), V.collapse(!1), L.removeAllRanges(), L.addRange(V));
|
|
4524
4533
|
});
|
|
4525
4534
|
}
|
|
4526
4535
|
});
|
|
4527
4536
|
}, tA = (L) => {
|
|
4528
|
-
const K =
|
|
4537
|
+
const K = o.value.content.getContent(), V = document.createElement("div");
|
|
4529
4538
|
return V.innerHTML = K, L.withAuditHighlight || Array.from(
|
|
4530
4539
|
V.querySelectorAll(`.${yC}`)
|
|
4531
4540
|
).forEach((J) => {
|
|
@@ -4539,20 +4548,20 @@ const no = [
|
|
|
4539
4548
|
}, RA = (L) => {
|
|
4540
4549
|
var V;
|
|
4541
4550
|
const K = Array.isArray(L) ? L : [L];
|
|
4542
|
-
if (!((V =
|
|
4551
|
+
if (!((V = o.value) != null && V.cursor.isRangeInEditor()) || !W()) {
|
|
4543
4552
|
Yg.warning("请选择要插入的位置!");
|
|
4544
4553
|
return;
|
|
4545
4554
|
}
|
|
4546
|
-
YI(
|
|
4555
|
+
YI(o.value, JI(o.value, K));
|
|
4547
4556
|
};
|
|
4548
|
-
return mg(h), RB(
|
|
4549
|
-
editorCore:
|
|
4550
|
-
editorAction:
|
|
4557
|
+
return mg(h), RB(y), {
|
|
4558
|
+
editorCore: o,
|
|
4559
|
+
editorAction: t,
|
|
4551
4560
|
count: s,
|
|
4552
4561
|
hasPausationTag: r,
|
|
4553
|
-
getContent:
|
|
4554
|
-
setContent:
|
|
4555
|
-
appendContent:
|
|
4562
|
+
getContent: D,
|
|
4563
|
+
setContent: F,
|
|
4564
|
+
appendContent: f,
|
|
4556
4565
|
getTextContent: N,
|
|
4557
4566
|
insertContent: M,
|
|
4558
4567
|
deleteContent: S,
|
|
@@ -4563,9 +4572,9 @@ const no = [
|
|
|
4563
4572
|
isSelectionContainsTag: _,
|
|
4564
4573
|
getAnchorTtsMark: O,
|
|
4565
4574
|
getAnchorTtsEmotionAndRole: QA,
|
|
4566
|
-
isAllMarkedByAnchor:
|
|
4575
|
+
isAllMarkedByAnchor: BA,
|
|
4567
4576
|
addExtraAnchors: wA,
|
|
4568
|
-
clearContent:
|
|
4577
|
+
clearContent: uA,
|
|
4569
4578
|
insertContentAtCursor: RA,
|
|
4570
4579
|
renderHighlight: d,
|
|
4571
4580
|
unrenderHighlight: l
|
|
@@ -4573,34 +4582,34 @@ const no = [
|
|
|
4573
4582
|
}, lo = "data:image/png;base64,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lzqLgAiIgAiIgAiIgAhkm4AEarYJa34REAEREAEREAEREIG0CEigpoVLnUVABERABERABERABLJNQAI124Q1vwiIgAiIgAiIgAiIQFoEJFDTwqXOIiACIiACIiACIiAC2SYggZptwppfBERABERABERABEQgLQISqGnhUmcREAEREAEREAEREIFsE5BAzTZhzS8CIiACIiACIiACIpAWAQnUtHCpswiIgAiIgAiIgAiIQLYJSKBmm7DmFwEREAEREAEREAERSIuABGpauNRZBERABERABERABESuZgeMAAAaXklEQVQg2wQkULNNWPOLgAiIgAiIgAiIgAikRUACNS1c6iwCIiACIiACIiACIpBtAhKo2Sas+UVABERABERABERABNIiIIGaFi51FgEREAEREAEREAERyDYBCdRsE9b8IiACIiACIiACIiACaRGQQE0LlzqLgAiIgAiIgAiIgAhkm4AEarYJa34REAEREAEREAEREIG0CEigpoVLnUVABERABERABERABLJNQAI124Q1vwiIgAiIgAiIgAiIQFoEJFDTwqXOIiACIiACIiACIiAC2SYggZptwppfBERABERABERABEQgLQISqGnhUmcREAEREAEREAEREIFsE5BAzTZhzS8CIiACIiACIiACIpAWAQnUtHCpswiIgAiIgAiIgAiIQLYJSKBmm7DmFwEREAEREAEREAERSIuABGpauNRZBERABERABERABEQg2wQkULNNWPOLgAiIgAiIgAiIgAikRUACNS1c6iwCIiACIiACIiACIpBtAhKo2Sas+UVABERABERABERABNIiIIGaFi51FgEREAEREAEREAERyDYBCdRsE9b8IiACIiACIiACIiACaRGQQE0LlzqLgAiIgAiIgAiIgAhkm4AEarYJa34REAEREAEREAEREIG0CEigpoVLnUVABERABERABERABLJNQAI124Q1vwiIgAiIgAiIgAiIQFoEJFDTwqXOIiACIiACIiACIiAC2SYggZptwppfBERABERABERABEQgLQISqGnhUmcREAEREAEREAEREIFsE5BAzTZhzS8CIiACIiACIiACIpAWAQnUtHCpswiIgAiIgAiIgAiIQLYJSKBmm7DmFwEREAEREAEREAERSIuABGpauNRZBERABERABERABEQg2wQkULNNWPOLgAiIgAiI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s65U+lJoVMY67gHAn/jGQCZ+JlF40To2VjOPWtmHlstEFiwKEgZBZVquNJX74p4k+sLBey2PZQjINO8tr88vBzwmt/oQ8/d00aBISlUc0T3BbBTCmTRarM0je/rGJuNKSzC/nLH4wXgag+H4XPBeudcMPEv2fIznehorAiKQAwQkUHNgE7QEERABERABERABERCBAwQkUPU0iIAIiIAIiIAIiIAI5BQBCdSc2g4tRgREQAREQAREQAREQAJVz4AIiIAIiIAIiIAIiEBOEZBAzant0GJEQAREQAREQAREQAQkUPUMiIAIiIAIiIAIiIAI5BQBCdSc2g4tRgREQAREQAREQAREQAJVz4AIiIAIiIAIiIAIiEBOEZBAzant0GJEQAREQAREQAREQAQkUPUMiIAIiIAIiIAIiIAI5BQBCdSc2g4tRgREQAREQAREQAREQAJVz4AIiIAIiIAIiIAIiEBOEZBAzant0GJEQAREQAREQAREQAQkUPUMiIAIiIAIiIAIiIAI5BQBCdSc2g4tRgREQAREQAREQAREQAJVz4AIiIAIiIAIiIAIiEBOEZBAzant0GJEQAREQAREQAREQAQkUPUMiIAIiIAIiIAIiIAI5BQBCdSc2g4tRgREQAREQAREQAREQAJVz4AIiIAIiIAIiIAIiEBOEZBAzant0GJEQAREQAREQAREQAQkUPUMiIAIiIAIiIAIiIAI5BQBCdSc2g4tRgREQAREQAREQAREQAJVz4AIiIAIiIAIiIAIiEBOEZBAzant0GJEQAREQAREQAREQAQkUPUMiIAIiIAIiIAIiIAI5BQBCdSc2g4tRgREQAREQAREQAREQAJVz4AIiIAIiIAIiIAIiEBOEZBAzant0GJEQAREQAREQAREQAT+P/dWXtNA9tK8AAAAAElFTkSuQmCC", wo = { style: { display: "none" } }, ho = { class: "pausation" }, Do = "c-editor-container__core-content-editor-content", uo = /* @__PURE__ */ xA({
|
|
4574
4583
|
__name: "contextMenu",
|
|
4575
4584
|
setup(I) {
|
|
4576
|
-
const [e] = zA("quick-context-menu"), B = Ag(yg), { x:
|
|
4585
|
+
const [e] = zA("quick-context-menu"), B = Ag(yg), { x: o, y: t } = HI(), s = (S, R) => {
|
|
4577
4586
|
var W, m;
|
|
4578
|
-
(m = (W = B == null ? void 0 : B.editorAction.value) == null ? void 0 : W.plugin.pausation) == null || m.add({ delay: R }),
|
|
4587
|
+
(m = (W = B == null ? void 0 : B.editorAction.value) == null ? void 0 : W.plugin.pausation) == null || m.add({ delay: R }), y(!1);
|
|
4579
4588
|
}, r = async () => {
|
|
4580
4589
|
let S = "", R = [];
|
|
4581
4590
|
S = await (window.microApp ? window.rawWindow.navigator : window.navigator).clipboard.readText(), R = (S == null ? void 0 : S.split(/(?:\r?\n){2,}/).map((m) => m.trim()).filter((m) => m)) ?? [], YI(
|
|
4582
4591
|
B.editorCore.value,
|
|
4583
4592
|
JI(B.editorCore.value, R)
|
|
4584
|
-
),
|
|
4585
|
-
}, i = DA(), d = DA(!1), l = DA({ zIndex: -10 }), h = Be(),
|
|
4593
|
+
), y(!1);
|
|
4594
|
+
}, i = DA(), d = DA(!1), l = DA({ zIndex: -10 }), h = Be(), y = (S) => {
|
|
4586
4595
|
d.value = S ?? !d.value, N(!1);
|
|
4587
|
-
},
|
|
4596
|
+
}, D = (S) => {
|
|
4588
4597
|
const R = S.target, [W] = qA(R, (m) => m.classList.contains(Do));
|
|
4589
|
-
W && (S.preventDefault(), S.stopPropagation(), l.value = { top: `${
|
|
4590
|
-
},
|
|
4598
|
+
W && (S.preventDefault(), S.stopPropagation(), l.value = { top: `${t.value}px`, left: `${o.value}px` }, y(!0));
|
|
4599
|
+
}, F = (S) => {
|
|
4591
4600
|
var R;
|
|
4592
|
-
(R = i.value) != null && R.contains(S.target) || (l.value = { zIndex: -10 },
|
|
4593
|
-
},
|
|
4601
|
+
(R = i.value) != null && R.contains(S.target) || (l.value = { zIndex: -10 }, y(!1));
|
|
4602
|
+
}, f = DA(), N = (S) => {
|
|
4594
4603
|
var R;
|
|
4595
|
-
(R =
|
|
4604
|
+
(R = f.value) == null || R.$el.setAttribute("style", S ? "display: block" : "display: none");
|
|
4596
4605
|
}, M = (S) => {
|
|
4597
4606
|
const R = S.target, [W] = qA(R, (m) => m.dataset.type === "pausation" || m.classList.contains("pausation"));
|
|
4598
4607
|
N(!!W);
|
|
4599
4608
|
};
|
|
4600
4609
|
return mg(() => {
|
|
4601
|
-
document.addEventListener("contextmenu",
|
|
4610
|
+
document.addEventListener("contextmenu", D), document.addEventListener("click", F), document.addEventListener("mouseover", M);
|
|
4602
4611
|
}), RB(() => {
|
|
4603
|
-
document.removeEventListener("contextmenu",
|
|
4612
|
+
document.removeEventListener("contextmenu", D), document.removeEventListener("click", F), document.removeEventListener("mouseover", M);
|
|
4604
4613
|
}), (S, R) => SI((aA(), cA("div", {
|
|
4605
4614
|
ref_key: "contextMenuRef",
|
|
4606
4615
|
ref: i,
|
|
@@ -4626,7 +4635,7 @@ const no = [
|
|
|
4626
4635
|
R[0] || (R[0] = rA("span", { class: "fill" }, null, -1)),
|
|
4627
4636
|
G(HB, {
|
|
4628
4637
|
ref_key: "pausationorRef",
|
|
4629
|
-
ref:
|
|
4638
|
+
ref: f,
|
|
4630
4639
|
visible: !0,
|
|
4631
4640
|
class: "pausationor",
|
|
4632
4641
|
onOk: s
|
|
@@ -4839,18 +4848,18 @@ function gn(I, e) {
|
|
|
4839
4848
|
}
|
|
4840
4849
|
const In = /* @__PURE__ */ LA($o, [["render", gn]]), jB = () => {
|
|
4841
4850
|
const { copy: I, isSupported: e } = He({ legacy: !0 });
|
|
4842
|
-
return { textCopyFun: (
|
|
4851
|
+
return { textCopyFun: (o, t = !0) => {
|
|
4843
4852
|
if (!e) {
|
|
4844
4853
|
Yg.error("您的浏览器不支持Clipboard API");
|
|
4845
4854
|
return;
|
|
4846
4855
|
}
|
|
4847
4856
|
if (!window.microApp)
|
|
4848
|
-
I(
|
|
4857
|
+
I(o);
|
|
4849
4858
|
else {
|
|
4850
4859
|
const s = document.createElement("input");
|
|
4851
|
-
document.body.appendChild(s), s.setAttribute("value",
|
|
4860
|
+
document.body.appendChild(s), s.setAttribute("value", o), s.select(), document.execCommand("copy") && document.execCommand("copy"), document.body.removeChild(s);
|
|
4852
4861
|
}
|
|
4853
|
-
|
|
4862
|
+
t && Yg.success("复制成功");
|
|
4854
4863
|
} };
|
|
4855
4864
|
}, [sC] = zA("refine-content"), Cn = /* @__PURE__ */ xA({
|
|
4856
4865
|
name: "RefineContent",
|
|
@@ -4865,8 +4874,8 @@ const In = /* @__PURE__ */ LA($o, [["render", gn]]), jB = () => {
|
|
|
4865
4874
|
},
|
|
4866
4875
|
setup: (I) => {
|
|
4867
4876
|
const e = Ag(yg), B = Ag(BI) ?? {}, {
|
|
4868
|
-
textCopyFun:
|
|
4869
|
-
} = jB(),
|
|
4877
|
+
textCopyFun: o
|
|
4878
|
+
} = jB(), t = JA(() => {
|
|
4870
4879
|
var l, h;
|
|
4871
4880
|
return (B == null ? void 0 : B.contentVisible.value) && ((h = (l = I.modelValue[I.modelValue.length - 1]) == null ? void 0 : l.content) == null ? void 0 : h.length);
|
|
4872
4881
|
}), s = () => {
|
|
@@ -4884,16 +4893,16 @@ const In = /* @__PURE__ */ LA($o, [["render", gn]]), jB = () => {
|
|
|
4884
4893
|
range: h
|
|
4885
4894
|
} = e.editorCore.value.cursor;
|
|
4886
4895
|
if (v(h)) return;
|
|
4887
|
-
const
|
|
4888
|
-
if (v(
|
|
4889
|
-
const
|
|
4890
|
-
|
|
4891
|
-
const
|
|
4892
|
-
|
|
4896
|
+
const y = VA(h.endContainer);
|
|
4897
|
+
if (v(y) || v(y.parentNode)) return;
|
|
4898
|
+
const D = document.createRange();
|
|
4899
|
+
D.setStart(h.endContainer, h.endOffset), D.setEndAfter(y);
|
|
4900
|
+
const F = D.extractContents(), f = (((m = B.activedContent.value) == null ? void 0 : m.content) ?? "").split(Zg), N = document.createDocumentFragment();
|
|
4901
|
+
f.forEach((X) => {
|
|
4893
4902
|
N.appendChild(l(X));
|
|
4894
4903
|
});
|
|
4895
|
-
const M = N.lastChild, S =
|
|
4896
|
-
S.insertBefore(N,
|
|
4904
|
+
const M = N.lastChild, S = y.parentNode;
|
|
4905
|
+
S.insertBefore(N, y.nextSibling), S.insertBefore(F, M.nextSibling);
|
|
4897
4906
|
const R = window.getSelection();
|
|
4898
4907
|
if (!R) return;
|
|
4899
4908
|
const W = document.createRange();
|
|
@@ -4902,11 +4911,11 @@ const In = /* @__PURE__ */ LA($o, [["render", gn]]), jB = () => {
|
|
|
4902
4911
|
const {
|
|
4903
4912
|
content: l,
|
|
4904
4913
|
contentPage: h,
|
|
4905
|
-
setRefineContent:
|
|
4906
|
-
setActivedRefineContent:
|
|
4907
|
-
setContentPage:
|
|
4908
|
-
} = B,
|
|
4909
|
-
|
|
4914
|
+
setRefineContent: y,
|
|
4915
|
+
setActivedRefineContent: D,
|
|
4916
|
+
setContentPage: F
|
|
4917
|
+
} = B, f = l.value.filter((M, S) => S !== h.value - 1), N = f[h.value - 1] ? h.value : h.value - 1;
|
|
4918
|
+
F(N), y(f), D(l.value[h.value - 1]);
|
|
4910
4919
|
}, d = DA();
|
|
4911
4920
|
return $g(() => {
|
|
4912
4921
|
var l;
|
|
@@ -4924,7 +4933,7 @@ const In = /* @__PURE__ */ LA($o, [["render", gn]]), jB = () => {
|
|
|
4924
4933
|
return G("div", {
|
|
4925
4934
|
class: sC(),
|
|
4926
4935
|
style: {
|
|
4927
|
-
display:
|
|
4936
|
+
display: t.value ? "block" : "none"
|
|
4928
4937
|
}
|
|
4929
4938
|
}, [G("section", {
|
|
4930
4939
|
ref: d,
|
|
@@ -4969,7 +4978,7 @@ const In = /* @__PURE__ */ LA($o, [["render", gn]]), jB = () => {
|
|
|
4969
4978
|
}), G(PA("a-button"), {
|
|
4970
4979
|
onClick: () => {
|
|
4971
4980
|
var h;
|
|
4972
|
-
return
|
|
4981
|
+
return o((((h = B == null ? void 0 : B.activedContent.value) == null ? void 0 : h.content) ?? "").replaceAll(Zg, `
|
|
4973
4982
|
|
|
4974
4983
|
`));
|
|
4975
4984
|
}
|
|
@@ -5046,11 +5055,11 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5046
5055
|
setup: (I, {
|
|
5047
5056
|
emit: e
|
|
5048
5057
|
}) => {
|
|
5049
|
-
const B = Ag(BI) ?? {},
|
|
5058
|
+
const B = Ag(BI) ?? {}, o = JA(() => (B == null ? void 0 : B.contentState.value) === bA.未生成 ? "请输入优化文本的指令" : "AI撰写中..."), t = JA(() => {
|
|
5050
5059
|
var r;
|
|
5051
5060
|
return (r = B == null ? void 0 : B.prompt.value) == null ? void 0 : r.length;
|
|
5052
5061
|
}), s = () => {
|
|
5053
|
-
|
|
5062
|
+
t.value && (B.setShortVisible(!1), B == null || B.genRefineContent({
|
|
5054
5063
|
generateType: Hg.重置,
|
|
5055
5064
|
prompt: I.modelValue
|
|
5056
5065
|
}));
|
|
@@ -5063,7 +5072,7 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5063
5072
|
}, [G(PA("a-input"), {
|
|
5064
5073
|
modelValue: I.modelValue,
|
|
5065
5074
|
disabled: B == null ? void 0 : B.generating.value,
|
|
5066
|
-
placeholder:
|
|
5075
|
+
placeholder: o.value,
|
|
5067
5076
|
onInput: (r) => e("update:modelValue", r),
|
|
5068
5077
|
onPressEnter: s
|
|
5069
5078
|
}, {
|
|
@@ -5107,55 +5116,55 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5107
5116
|
var l, h;
|
|
5108
5117
|
if ((l = i.children) != null && l.length) {
|
|
5109
5118
|
if (I.shortcutPosition.value === Cg.底部) {
|
|
5110
|
-
const
|
|
5119
|
+
const y = Number.parseFloat(getComputedStyle(I.scrollElm.value).height), D = ((h = I.scrollElm.value) == null ? void 0 : h.scrollTop) ?? 0, F = y + D, f = Number.parseFloat(getComputedStyle(I.refineGeneratorRef.value).top), N = Number.parseFloat(getComputedStyle(I.refineGeneratorRef.value).height), M = aC.length * Xg + zg * 2, S = i.children.length * Xg, R = (aC.length - d) * Xg + zg, W = (
|
|
5111
5120
|
// 弹窗定位 + 高度
|
|
5112
|
-
|
|
5121
|
+
f + N + // 指令列表高度 + marginTop 8px
|
|
5113
5122
|
M + 8 + // 子指令列表高度 + bottomTop 8px
|
|
5114
5123
|
S + zg - // 子指令列表移动距离 + 指令列表 paddingTop 8px
|
|
5115
5124
|
R
|
|
5116
5125
|
);
|
|
5117
|
-
I.setSubShortcutPosition(
|
|
5126
|
+
I.setSubShortcutPosition(F > W ? Bg.顶部对齐 : Bg.底部对齐);
|
|
5118
5127
|
} else
|
|
5119
5128
|
I.setSubShortcutPosition(Bg.底部对齐);
|
|
5120
|
-
r(d),
|
|
5129
|
+
r(d), t(!0);
|
|
5121
5130
|
}
|
|
5122
|
-
}, [
|
|
5131
|
+
}, [o, t] = FI(), [s, r] = HA(-1);
|
|
5123
5132
|
return () => {
|
|
5124
|
-
const i = (l, h,
|
|
5125
|
-
var
|
|
5133
|
+
const i = (l, h, y = !0) => {
|
|
5134
|
+
var D, F;
|
|
5126
5135
|
return G(cg, null, [G("li", {
|
|
5127
5136
|
class: yI("shortcut-item"),
|
|
5128
5137
|
onClick: () => e(l, h),
|
|
5129
|
-
onMouseenter:
|
|
5130
|
-
onMouseleave:
|
|
5138
|
+
onMouseenter: y ? () => B(l, h) : DC,
|
|
5139
|
+
onMouseleave: y ? () => t(!1) : DC
|
|
5131
5140
|
}, [G(PA("a-space"), {
|
|
5132
5141
|
style: "justify-content: space-between",
|
|
5133
5142
|
fill: !0
|
|
5134
5143
|
}, {
|
|
5135
5144
|
default: () => {
|
|
5136
|
-
var
|
|
5145
|
+
var f;
|
|
5137
5146
|
return [G(PA("a-space"), {
|
|
5138
5147
|
size: 12
|
|
5139
5148
|
}, {
|
|
5140
5149
|
default: () => [G(l.icon, null, null), G("span", null, [l.label])]
|
|
5141
|
-
}), (
|
|
5150
|
+
}), (f = l.children) != null && f.length ? G(kt, null, null) : null];
|
|
5142
5151
|
}
|
|
5143
|
-
})]), (
|
|
5152
|
+
})]), (D = l.children) != null && D.length ? G("div", {
|
|
5144
5153
|
class: "sub-wrapper",
|
|
5145
5154
|
style: {
|
|
5146
|
-
display:
|
|
5155
|
+
display: o.value && s.value === h ? "block" : "none",
|
|
5147
5156
|
// top: `${32 * index - 8}px`,
|
|
5148
5157
|
top: I.subShortcutPosition.value === Bg.顶部对齐 ? `${0 + Xg * h}px` : `${0 + (h + 1 - l.children.length) * Xg}px`,
|
|
5149
5158
|
padding: I.shortcutPosition.value === Cg.底部 ? "8px" : "0 8px"
|
|
5150
5159
|
},
|
|
5151
|
-
onMouseenter: () =>
|
|
5152
|
-
onMouseleave: () =>
|
|
5160
|
+
onMouseenter: () => t(!0),
|
|
5161
|
+
onMouseleave: () => t(!1)
|
|
5153
5162
|
}, [G("ul", {
|
|
5154
5163
|
class: yI("shortcut", "sub"),
|
|
5155
5164
|
style: {
|
|
5156
5165
|
padding: `${zg}px 0`
|
|
5157
5166
|
}
|
|
5158
|
-
}, [(
|
|
5167
|
+
}, [(F = l.children) == null ? void 0 : F.map((f, N) => i(f, N, !1))])]) : null]);
|
|
5159
5168
|
};
|
|
5160
5169
|
return G("div", {
|
|
5161
5170
|
class: yI(),
|
|
@@ -5177,7 +5186,7 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5177
5186
|
props: {},
|
|
5178
5187
|
emits: {},
|
|
5179
5188
|
setup: () => {
|
|
5180
|
-
const I = Ag(yg), e = Ag(BI), B = DA(), [
|
|
5189
|
+
const I = Ag(yg), e = Ag(BI), B = DA(), [o, t] = HA(!1, (M) => {
|
|
5181
5190
|
M || r({
|
|
5182
5191
|
zIndex: -10
|
|
5183
5192
|
});
|
|
@@ -5210,7 +5219,7 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5210
5219
|
});
|
|
5211
5220
|
}, l = (M) => {
|
|
5212
5221
|
var S;
|
|
5213
|
-
i = M,
|
|
5222
|
+
i = M, o.value && ((S = B.value) != null && S.contains(M.target) || (e.unhighlightRange(), t(!1)));
|
|
5214
5223
|
}, h = async (M) => {
|
|
5215
5224
|
if (await new Promise((R) => setTimeout(R, 100)), v(I) || v(I.editorCore.value)) return;
|
|
5216
5225
|
const {
|
|
@@ -5223,15 +5232,15 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5223
5232
|
!S.isRangeInEditor() || // 调优组件可见时,工具栏隐藏
|
|
5224
5233
|
e.visible.value
|
|
5225
5234
|
) {
|
|
5226
|
-
|
|
5235
|
+
t(!1);
|
|
5227
5236
|
return;
|
|
5228
5237
|
}
|
|
5229
|
-
d(),
|
|
5230
|
-
},
|
|
5231
|
-
|
|
5232
|
-
}),
|
|
5238
|
+
d(), t(!0);
|
|
5239
|
+
}, y = NI(() => {
|
|
5240
|
+
o.value && d();
|
|
5241
|
+
}), D = NI(async (M) => {
|
|
5233
5242
|
var R, W;
|
|
5234
|
-
if (!
|
|
5243
|
+
if (!o.value || (R = B.value) != null && R.contains(i.target)) return;
|
|
5235
5244
|
const S = (W = I == null ? void 0 : I.editorCore.value) == null ? void 0 : W.cursor;
|
|
5236
5245
|
// 空上下文
|
|
5237
5246
|
(v(I) || // 空编辑器实例
|
|
@@ -5239,35 +5248,35 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5239
5248
|
v(S == null ? void 0 : S.range) || // 无范围选区
|
|
5240
5249
|
S != null && S.isCaret() || // 未在编辑器区域划选选区
|
|
5241
5250
|
!(S != null && S.isRangeInEditor()) || // 调优组件可见时,工具栏隐藏
|
|
5242
|
-
e.visible.value) &&
|
|
5251
|
+
e.visible.value) && t(!1);
|
|
5243
5252
|
});
|
|
5244
5253
|
mg(() => {
|
|
5245
5254
|
var M;
|
|
5246
|
-
document.addEventListener("mousedown", l), document.addEventListener("mouseup", h), document.addEventListener("selectionchange",
|
|
5255
|
+
document.addEventListener("mousedown", l), document.addEventListener("mouseup", h), document.addEventListener("selectionchange", D), (M = e.scrollElm.value) == null || M.addEventListener("scroll", y);
|
|
5247
5256
|
}), GC(() => {
|
|
5248
5257
|
var M;
|
|
5249
|
-
document.removeEventListener("mousedown", l), document.removeEventListener("mouseup", h), document.removeEventListener("selectionchange",
|
|
5258
|
+
document.removeEventListener("mousedown", l), document.removeEventListener("mouseup", h), document.removeEventListener("selectionchange", D), (M = e.scrollElm.value) == null || M.removeEventListener("scroll", y);
|
|
5250
5259
|
});
|
|
5251
|
-
const
|
|
5252
|
-
e.highlightRange(),
|
|
5260
|
+
const F = () => {
|
|
5261
|
+
e.highlightRange(), t(!1), e.showRefineGenerator(), NC(() => {
|
|
5253
5262
|
e.calcModalPosition();
|
|
5254
5263
|
});
|
|
5255
5264
|
}, {
|
|
5256
|
-
textCopyFun:
|
|
5265
|
+
textCopyFun: f
|
|
5257
5266
|
} = jB(), N = () => {
|
|
5258
5267
|
var M;
|
|
5259
|
-
|
|
5268
|
+
f(((M = I.editorCore.value) == null ? void 0 : M.cursor.getRangeContent()) ?? ""), t(!1);
|
|
5260
5269
|
};
|
|
5261
5270
|
return () => G("div", {
|
|
5262
5271
|
ref: B,
|
|
5263
5272
|
class: cC(),
|
|
5264
5273
|
style: {
|
|
5265
5274
|
...s.value,
|
|
5266
|
-
display:
|
|
5275
|
+
display: o.value ? "flex" : "none"
|
|
5267
5276
|
}
|
|
5268
5277
|
}, [G("div", {
|
|
5269
5278
|
class: cC("item", "refine"),
|
|
5270
|
-
onClick:
|
|
5279
|
+
onClick: F
|
|
5271
5280
|
}, [G(WB, {
|
|
5272
5281
|
style: {
|
|
5273
5282
|
color: "rgba(var(--primary-6))",
|
|
@@ -5287,41 +5296,41 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5287
5296
|
}
|
|
5288
5297
|
}), fI = 144, hB = 200, hn = (I) => {
|
|
5289
5298
|
Ag(yg);
|
|
5290
|
-
const { refineGeneratorRef: e, scrollElm: B } = I, [
|
|
5299
|
+
const { refineGeneratorRef: e, scrollElm: B } = I, [o, t] = HA(
|
|
5291
5300
|
Lg.底部
|
|
5292
5301
|
), [s, r] = HA(Cg.底部), [i, d] = HA(
|
|
5293
5302
|
Bg.顶部对齐
|
|
5294
5303
|
), l = () => {
|
|
5295
5304
|
if (!I.visible.value) return;
|
|
5296
|
-
const
|
|
5305
|
+
const y = I.scrollElm.value, D = Number.parseFloat(getComputedStyle(y).height), f = y.scrollTop + D, N = Number.parseFloat(getComputedStyle(e.value).top), M = Number.parseFloat(
|
|
5297
5306
|
getComputedStyle(I.refineGeneratorRef.value).height
|
|
5298
5307
|
);
|
|
5299
5308
|
console.log(
|
|
5300
5309
|
"---handleModalPositionByScroll ",
|
|
5301
5310
|
`
|
|
5302
|
-
generatorPosition: ${
|
|
5303
|
-
shortcutPosition: ${
|
|
5304
|
-
subShortcutPosition: ${
|
|
5311
|
+
generatorPosition: ${f > N + M ? Lg.底部 : Lg.顶部}
|
|
5312
|
+
shortcutPosition: ${f > N + M + fI ? Cg.底部 : Cg.顶部}
|
|
5313
|
+
subShortcutPosition: ${f > N + M + fI + hB ? Bg.顶部对齐 : Bg.底部对齐}
|
|
5305
5314
|
`
|
|
5306
|
-
),
|
|
5307
|
-
|
|
5315
|
+
), t(
|
|
5316
|
+
f > N + M ? Lg.底部 : Lg.顶部
|
|
5308
5317
|
), r(
|
|
5309
|
-
|
|
5318
|
+
f > N + M + fI + 8 ? Cg.底部 : Cg.顶部
|
|
5310
5319
|
), d(
|
|
5311
|
-
|
|
5320
|
+
f > N + M + fI + hB ? Bg.顶部对齐 : Bg.底部对齐
|
|
5312
5321
|
);
|
|
5313
5322
|
}, h = NI(l);
|
|
5314
5323
|
return mg(() => {
|
|
5315
|
-
var
|
|
5316
|
-
(
|
|
5324
|
+
var y;
|
|
5325
|
+
(y = B.value) == null || y.addEventListener("scroll", h);
|
|
5317
5326
|
}), GC(() => {
|
|
5318
|
-
var
|
|
5319
|
-
(
|
|
5327
|
+
var y;
|
|
5328
|
+
(y = B.value) == null || y.removeEventListener("scroll", h);
|
|
5320
5329
|
}), {
|
|
5321
|
-
generatorPosition:
|
|
5330
|
+
generatorPosition: o,
|
|
5322
5331
|
shortcutPosition: s,
|
|
5323
5332
|
subShortcutPosition: i,
|
|
5324
|
-
setGeneratorPosition:
|
|
5333
|
+
setGeneratorPosition: t,
|
|
5325
5334
|
setShortcutPosition: r,
|
|
5326
5335
|
setSubShortcutPosition: d,
|
|
5327
5336
|
calcModalPosition: l
|
|
@@ -5339,34 +5348,34 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5339
5348
|
const {
|
|
5340
5349
|
highlightRange: e,
|
|
5341
5350
|
unhighlightRange: B,
|
|
5342
|
-
revertRange:
|
|
5343
|
-
} = so(),
|
|
5351
|
+
revertRange: o
|
|
5352
|
+
} = so(), t = Ag(yg), {
|
|
5344
5353
|
agentId: s,
|
|
5345
5354
|
createSession: r,
|
|
5346
5355
|
sendSessionMessage: i,
|
|
5347
5356
|
abortSession: d
|
|
5348
|
-
} =
|
|
5357
|
+
} = t.refineContext, [l, h] = HA(void 0), y = () => (i.abort(), d({
|
|
5349
5358
|
sessionId: l.value
|
|
5350
|
-
})),
|
|
5359
|
+
})), D = DA(), [F, f] = HA({
|
|
5351
5360
|
zIndex: -10
|
|
5352
5361
|
}), [N, M] = HA(!1, (lA) => {
|
|
5353
|
-
lA || (l.value && [bA.等待生成, bA.正在生成].includes(K.value) &&
|
|
5362
|
+
lA || (l.value && [bA.等待生成, bA.正在生成].includes(K.value) && y(), h(void 0), QA(!1), wA(void 0), L(!1), V(bA.未生成), J(0), nA([]), Z(void 0), tA(!0), f({
|
|
5354
5363
|
zIndex: -10
|
|
5355
5364
|
}));
|
|
5356
5365
|
}), S = () => {
|
|
5357
5366
|
var ZA, gg, Eg, wg;
|
|
5358
|
-
if (v(
|
|
5359
|
-
const lA = UB((ZA = X.value) == null ? void 0 : ZA.getBoundingClientRect(), (gg = Array.from(
|
|
5360
|
-
|
|
5367
|
+
if (v(t) || v(t.editorCore.value)) return;
|
|
5368
|
+
const lA = UB((ZA = X.value) == null ? void 0 : ZA.getBoundingClientRect(), (gg = Array.from(t.editorCore.value._editorElement.querySelectorAll(".tag-range-highlight")).pop()) == null ? void 0 : gg.getBoundingClientRect(), 1);
|
|
5369
|
+
f({
|
|
5361
5370
|
top: `${lA.top + (((Eg = X.value) == null ? void 0 : Eg.scrollTop) ?? 0)}px`,
|
|
5362
5371
|
left: 0,
|
|
5363
|
-
width: `${(wg =
|
|
5372
|
+
width: `${(wg = t.editorCore.value) == null ? void 0 : wg._editorElement.offsetWidth}px`
|
|
5364
5373
|
});
|
|
5365
5374
|
}, R = () => {
|
|
5366
|
-
v(
|
|
5375
|
+
v(t) || v(t.editorCore.value) || (S(), M(!0));
|
|
5367
5376
|
}, W = (lA) => {
|
|
5368
5377
|
var ZA;
|
|
5369
|
-
N.value && ((ZA =
|
|
5378
|
+
N.value && ((ZA = D.value) != null && ZA.contains(lA.target) || (B(), M(!1)));
|
|
5370
5379
|
}, m = NI(() => {
|
|
5371
5380
|
N.value && S();
|
|
5372
5381
|
}), [X, _] = HA(void 0);
|
|
@@ -5377,14 +5386,14 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5377
5386
|
var lA;
|
|
5378
5387
|
document.removeEventListener("mousedown", W), (lA = X.value) == null || lA.removeEventListener("scroll", m);
|
|
5379
5388
|
});
|
|
5380
|
-
const Y = ge(I.width) ? `${I.width}px` : I.width, [O, QA] = FI(), [
|
|
5389
|
+
const Y = ge(I.width) ? `${I.width}px` : I.width, [O, QA] = FI(), [BA, wA] = HA(void 0), [uA, tA] = FI(!0), [RA, L] = FI(), [K, V] = HA(bA.未生成), [j, J] = HA(0), [H, nA] = HA([]), [kA, Z] = HA(void 0), IA = {
|
|
5381
5390
|
name: "RefineGenerator",
|
|
5382
|
-
refineGeneratorRef:
|
|
5391
|
+
refineGeneratorRef: D,
|
|
5383
5392
|
visible: N,
|
|
5384
5393
|
width: Y,
|
|
5385
5394
|
generating: O,
|
|
5386
|
-
prompt:
|
|
5387
|
-
shortcutVisible:
|
|
5395
|
+
prompt: BA,
|
|
5396
|
+
shortcutVisible: uA,
|
|
5388
5397
|
content: H,
|
|
5389
5398
|
activedContent: kA,
|
|
5390
5399
|
contentVisible: RA,
|
|
@@ -5450,12 +5459,12 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5450
5459
|
setContentVisible: L,
|
|
5451
5460
|
setContentState: V,
|
|
5452
5461
|
showRefineGenerator: R,
|
|
5453
|
-
abortSession:
|
|
5462
|
+
abortSession: y,
|
|
5454
5463
|
/** highlight range */
|
|
5455
5464
|
scrollElm: X,
|
|
5456
5465
|
highlightRange: e,
|
|
5457
5466
|
unhighlightRange: B,
|
|
5458
|
-
revertRange:
|
|
5467
|
+
revertRange: o
|
|
5459
5468
|
}, {
|
|
5460
5469
|
generatorPosition: EA,
|
|
5461
5470
|
shortcutPosition: mA,
|
|
@@ -5476,10 +5485,10 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5476
5485
|
calcModalPosition: jA
|
|
5477
5486
|
}), {
|
|
5478
5487
|
innerRender: () => G(cg, null, [G(dn, null, null), G("div", {
|
|
5479
|
-
ref:
|
|
5488
|
+
ref: D,
|
|
5480
5489
|
class: "c-refine-generator-wrapper",
|
|
5481
5490
|
style: {
|
|
5482
|
-
...
|
|
5491
|
+
...F.value,
|
|
5483
5492
|
display: N.value ? "block" : "none"
|
|
5484
5493
|
}
|
|
5485
5494
|
}, [G("div", {
|
|
@@ -5493,8 +5502,8 @@ const WB = /* @__PURE__ */ LA(an, [["render", cn]]), [dB] = zA("refine-input"),
|
|
|
5493
5502
|
modelValue: H.value,
|
|
5494
5503
|
"onUpdate:modelValue": (lA) => H.value = lA
|
|
5495
5504
|
}, null), G(ln, {
|
|
5496
|
-
modelValue:
|
|
5497
|
-
"onUpdate:modelValue": (lA) =>
|
|
5505
|
+
modelValue: BA.value,
|
|
5506
|
+
"onUpdate:modelValue": (lA) => BA.value = lA
|
|
5498
5507
|
}, null)]), G(wn, null, null)])])]),
|
|
5499
5508
|
innerSetVisible: M
|
|
5500
5509
|
};
|
|
@@ -5650,17 +5659,17 @@ const DB = /* @__PURE__ */ LA(kn, [["render", Sn]]), [vA] = zA("editor-container
|
|
|
5650
5659
|
slots: e,
|
|
5651
5660
|
emit: B
|
|
5652
5661
|
}) => {
|
|
5653
|
-
const
|
|
5662
|
+
const o = DA(), t = DA(), {
|
|
5654
5663
|
editorCore: s,
|
|
5655
5664
|
editorAction: r,
|
|
5656
5665
|
count: i,
|
|
5657
5666
|
hasPausationTag: d,
|
|
5658
5667
|
getContent: l,
|
|
5659
5668
|
setContent: h,
|
|
5660
|
-
appendContent:
|
|
5661
|
-
getTextContent:
|
|
5662
|
-
insertContent:
|
|
5663
|
-
deleteContent:
|
|
5669
|
+
appendContent: y,
|
|
5670
|
+
getTextContent: D,
|
|
5671
|
+
insertContent: F,
|
|
5672
|
+
deleteContent: f,
|
|
5664
5673
|
updateContent: N,
|
|
5665
5674
|
isCaret: M,
|
|
5666
5675
|
isRange: S,
|
|
@@ -5672,19 +5681,19 @@ const DB = /* @__PURE__ */ LA(kn, [["render", Sn]]), [vA] = zA("editor-container
|
|
|
5672
5681
|
addExtraAnchors: Y,
|
|
5673
5682
|
clearContent: O,
|
|
5674
5683
|
insertContentAtCursor: QA,
|
|
5675
|
-
renderHighlight:
|
|
5684
|
+
renderHighlight: BA,
|
|
5676
5685
|
unrenderHighlight: wA
|
|
5677
|
-
} = co(
|
|
5686
|
+
} = co(o, I, B);
|
|
5678
5687
|
FB(yg, {
|
|
5679
5688
|
name: "Editor",
|
|
5680
5689
|
editorCore: s,
|
|
5681
5690
|
editorAction: r,
|
|
5682
5691
|
getContent: l,
|
|
5683
5692
|
setContent: h,
|
|
5684
|
-
appendContent:
|
|
5685
|
-
getTextContent:
|
|
5686
|
-
insertContent:
|
|
5687
|
-
deleteContent:
|
|
5693
|
+
appendContent: y,
|
|
5694
|
+
getTextContent: D,
|
|
5695
|
+
insertContent: F,
|
|
5696
|
+
deleteContent: f,
|
|
5688
5697
|
updateContent: N,
|
|
5689
5698
|
isCaret: M,
|
|
5690
5699
|
isRange: S,
|
|
@@ -5694,14 +5703,14 @@ const DB = /* @__PURE__ */ LA(kn, [["render", Sn]]), [vA] = zA("editor-container
|
|
|
5694
5703
|
isAllMarkedByAnchor: _,
|
|
5695
5704
|
addExtraAnchors: Y,
|
|
5696
5705
|
clearContent: O,
|
|
5697
|
-
renderHighlight:
|
|
5706
|
+
renderHighlight: BA,
|
|
5698
5707
|
unrenderHighlight: wA,
|
|
5699
5708
|
refineContext: I.refineContext
|
|
5700
5709
|
});
|
|
5701
|
-
const
|
|
5710
|
+
const uA = JA(() => {
|
|
5702
5711
|
var Z, gA;
|
|
5703
5712
|
return ((gA = (Z = r.value) == null ? void 0 : Z.plugin.anchor) == null ? void 0 : gA.data) ?? {};
|
|
5704
|
-
}), tA = JA(() => Object.values(
|
|
5713
|
+
}), tA = JA(() => Object.values(uA.value).flat().length), RA = JA(() => i.value <= 0 && !d.value), L = (Z, gA, IA) => {
|
|
5705
5714
|
let EA = Array.from(document.body.querySelectorAll(IA.uid ? `span[data-uid="${IA.uid}"]` : `span[data-frag-id="anchor_${Z}"]`));
|
|
5706
5715
|
IA.uid || (EA = EA.filter((mA) => !mA.dataset.uid)), EA.forEach((mA) => {
|
|
5707
5716
|
var UA, OA;
|
|
@@ -5771,12 +5780,12 @@ const DB = /* @__PURE__ */ LA(kn, [["render", Sn]]), [vA] = zA("editor-container
|
|
|
5771
5780
|
uid: gA
|
|
5772
5781
|
} = Z, {
|
|
5773
5782
|
id: IA
|
|
5774
|
-
} = Z, EA = Object.keys(
|
|
5783
|
+
} = Z, EA = Object.keys(uA.value);
|
|
5775
5784
|
for (let UA = 0; UA < EA.length; UA++) {
|
|
5776
|
-
const OA = EA[UA], Qg =
|
|
5785
|
+
const OA = EA[UA], Qg = uA.value[OA].findIndex((jA) => jA.data.uid ? jA.data.uid === gA : jA.id === IA);
|
|
5777
5786
|
if (Qg > -1) {
|
|
5778
|
-
const jA =
|
|
5779
|
-
|
|
5787
|
+
const jA = uA.value[OA][Qg];
|
|
5788
|
+
uA.value[OA].splice(Qg, 1, {
|
|
5780
5789
|
...jA,
|
|
5781
5790
|
data: {
|
|
5782
5791
|
...Z
|
|
@@ -5845,7 +5854,7 @@ const DB = /* @__PURE__ */ LA(kn, [["render", Sn]]), [vA] = zA("editor-container
|
|
|
5845
5854
|
display: RA.value ? "block" : "none"
|
|
5846
5855
|
}
|
|
5847
5856
|
}, [I.placeholder]), G("div", {
|
|
5848
|
-
ref:
|
|
5857
|
+
ref: o,
|
|
5849
5858
|
class: vA("core-content-editor-content"),
|
|
5850
5859
|
contenteditable: !I.disabled,
|
|
5851
5860
|
onDragover: (IA) => IA.preventDefault(),
|
|
@@ -5853,26 +5862,26 @@ const DB = /* @__PURE__ */ LA(kn, [["render", Sn]]), [vA] = zA("editor-container
|
|
|
5853
5862
|
}, [G("p", {
|
|
5854
5863
|
class: GA
|
|
5855
5864
|
}, [G("br", null, null)])])])]), I.simple ? null : G("div", {
|
|
5856
|
-
ref:
|
|
5865
|
+
ref: t,
|
|
5857
5866
|
class: vA("core-anchor")
|
|
5858
|
-
}, [tA.value ? K(
|
|
5867
|
+
}, [tA.value ? K(uA.value) : null])]), !I.simple && G(yo, null, null), I.refinable && G(un, {
|
|
5868
|
+
ref: nA
|
|
5869
|
+
}, null)]), !I.simple && G("div", {
|
|
5870
|
+
class: vA("splitor")
|
|
5871
|
+
}, null), !I.simple && !Object.values(uA.value).flat().length ? G("div", {
|
|
5859
5872
|
class: vA("anchor-placeholder")
|
|
5860
5873
|
}, [G("img", {
|
|
5861
5874
|
src: lo
|
|
5862
|
-
}, null)]) : null,
|
|
5863
|
-
class: vA("splitor")
|
|
5864
|
-
}, null), !I.simple && G(yo, null, null), I.refinable && G(un, {
|
|
5865
|
-
ref: nA
|
|
5866
|
-
}, null)]), H(), G("span", {
|
|
5875
|
+
}, null)]) : null, H(), G("span", {
|
|
5867
5876
|
style: "display: none"
|
|
5868
|
-
}, [JSON.stringify(Object.keys(((gA = (Z = r.value) == null ? void 0 : Z.plugin.anchor) == null ? void 0 : gA.data) ?? {}))])]);
|
|
5877
|
+
}, [JSON.stringify(Object.keys(((gA = (Z = r.value) == null ? void 0 : Z.plugin.anchor) == null ? void 0 : gA.data) ?? {})), Object.values(uA.value).flat().length])]);
|
|
5869
5878
|
},
|
|
5870
5879
|
innerGetContent: l,
|
|
5871
5880
|
innerSetContent: h,
|
|
5872
|
-
innerAppendContent:
|
|
5873
|
-
innerGetTextContent:
|
|
5874
|
-
innerInsertContent:
|
|
5875
|
-
innerDeleteContent:
|
|
5881
|
+
innerAppendContent: y,
|
|
5882
|
+
innerGetTextContent: D,
|
|
5883
|
+
innerInsertContent: F,
|
|
5884
|
+
innerDeleteContent: f,
|
|
5876
5885
|
innerUpdateContent: N,
|
|
5877
5886
|
innerIsCaret: M,
|
|
5878
5887
|
innerIsRange: S,
|
|
@@ -5885,7 +5894,7 @@ const DB = /* @__PURE__ */ LA(kn, [["render", Sn]]), [vA] = zA("editor-container
|
|
|
5885
5894
|
innerUpdateAnchor: j,
|
|
5886
5895
|
innerClearContent: O,
|
|
5887
5896
|
innerInsertContentAtCursor: QA,
|
|
5888
|
-
innerRenderHightlight:
|
|
5897
|
+
innerRenderHightlight: BA,
|
|
5889
5898
|
innerUnrenderHightlight: wA
|
|
5890
5899
|
};
|
|
5891
5900
|
},
|