@forevka/wordcanvas 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -1
- package/dist-lib/assets/{worker-BsOsK39A.js → worker-D8rUOKfg.js} +9603 -9451
- package/dist-lib/assets/worker-wXuuyshQ.js +2258 -0
- package/dist-lib/{blockFactory-Bcy0U40y.js → blockFactory-CUI4Rqiq.js} +50 -42
- package/dist-lib/{browser-5Sv4CuNy.js → browser-DkKxreJM.js} +404 -383
- package/dist-lib/builder.js +364 -109
- package/dist-lib/editorApp-DLXMmtu5.js +8023 -0
- package/dist-lib/export.js +3820 -3768
- package/dist-lib/generate-toc.js +4 -4
- package/dist-lib/import.js +4 -1538
- package/dist-lib/{lists-BegzmTmD.js → lists-Sc5I40JO.js} +2 -2
- package/dist-lib/pipeline-CbxmCE84.js +1705 -0
- package/dist-lib/recalc-docx.js +2 -2
- package/dist-lib/recalcToc-g1hFKSNs.js +3935 -0
- package/dist-lib/toc-B6VpkJge.js +213 -0
- package/dist-lib/{webmcp-B7Gvd58E.js → webmcp-6WxRNKCc.js} +2 -2
- package/dist-lib/{wordcanvas-BAxBeErX.js → wordcanvas-CFqpDK0k.js} +1 -1
- package/dist-lib/wordcanvas.js +1 -1
- package/dist-node/{chunk-GXFDF7UY.js → chunk-22JHAERT.js} +95 -23
- package/dist-node/chunk-22JHAERT.js.map +7 -0
- package/dist-node/{chunk-2RCPB7UZ.js → chunk-6AJJMHKY.js} +1 -1
- package/dist-node/chunk-6AJJMHKY.js.map +7 -0
- package/dist-node/{chunk-XDUDPPJW.js → chunk-CDN6WU2P.js} +89 -26
- package/dist-node/chunk-CDN6WU2P.js.map +7 -0
- package/dist-node/{chunk-TBSXA2I4.js → chunk-EGSAVPCC.js} +1 -1
- package/dist-node/chunk-EGSAVPCC.js.map +7 -0
- package/dist-node/{chunk-IJLL6IFJ.js → chunk-RNB336F3.js} +116 -5
- package/dist-node/{chunk-IJLL6IFJ.js.map → chunk-RNB336F3.js.map} +2 -2
- package/dist-node/{engine-FRCX7PXF.js → engine-5FGDJD2H.js} +3 -3
- package/dist-node/export.js +92 -31
- package/dist-node/export.js.map +2 -2
- package/dist-node/generate-toc.js +5 -5
- package/dist-node/import.js +3 -3
- package/dist-node/recalc-docx.js +4 -4
- package/dist-node/recalc-docx.js.map +1 -1
- package/package.json +1 -1
- package/types/model.d.ts +231 -225
- package/types/recalc-docx.d.ts +27 -27
- package/dist-lib/assets/worker-BbFAIxdy.js +0 -2163
- package/dist-lib/editorApp-DvjFPHiy.js +0 -7582
- package/dist-lib/recalcToc-uaLWt59L.js +0 -3835
- package/dist-lib/toc-CZel_Kk3.js +0 -127
- package/dist-node/chunk-2RCPB7UZ.js.map +0 -7
- package/dist-node/chunk-GXFDF7UY.js.map +0 -7
- package/dist-node/chunk-TBSXA2I4.js.map +0 -7
- package/dist-node/chunk-XDUDPPJW.js.map +0 -7
- /package/dist-node/{engine-FRCX7PXF.js.map → engine-5FGDJD2H.js.map} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const
|
|
1
|
+
const je = [
|
|
2
2
|
"header",
|
|
3
3
|
"footer",
|
|
4
4
|
"headerFirst",
|
|
5
5
|
"headerEven",
|
|
6
6
|
"footerFirst",
|
|
7
7
|
"footerEven"
|
|
8
|
-
], er = new Intl.Segmenter(void 0, { granularity: "grapheme" }), rr = new Intl.Segmenter(void 0, { granularity: "word" }),
|
|
8
|
+
], er = new Intl.Segmenter(void 0, { granularity: "grapheme" }), rr = new Intl.Segmenter(void 0, { granularity: "word" }), jr = (r) => r.runs.some((e) => e.text.length > 0) && r.runs.every((e) => e.text.length === 0 || e.style.hidden === !0), Be = (r, e) => {
|
|
9
9
|
const n = [];
|
|
10
10
|
for (const t of r)
|
|
11
11
|
if (t.kind === "paragraph") n.push(t);
|
|
@@ -13,11 +13,11 @@ const Le = [
|
|
|
13
13
|
for (const s of t.rows)
|
|
14
14
|
for (const o of s.cells) n.push(...Be(o.blocks, e));
|
|
15
15
|
return n;
|
|
16
|
-
},
|
|
16
|
+
}, hr = (r, e) => Be(r.section[e] ?? [], !0), qr = (r) => Be(r.blocks, !0), nr = (r) => [
|
|
17
17
|
...Be(r.blocks, !0),
|
|
18
|
-
...
|
|
18
|
+
...je.flatMap((e) => hr(r, e)),
|
|
19
19
|
...Object.values(r.footnotes ?? {}).flat()
|
|
20
|
-
],
|
|
20
|
+
], vr = (r, e) => nr(r).find((n) => n.id === e), Gr = (r, e) => nr(r).findIndex((n) => n.id === e), tr = (r, e) => e === "body" ? r.blocks : r.section[e] ?? [];
|
|
21
21
|
function Ye(r, e, n) {
|
|
22
22
|
for (let t = 0; t < r.length; t++) {
|
|
23
23
|
const s = r[t];
|
|
@@ -26,28 +26,28 @@ function Ye(r, e, n) {
|
|
|
26
26
|
return e === "body" ? { kind: "top", bi: t } : { kind: "band", band: e, bi: t };
|
|
27
27
|
} else if (s.kind === "table")
|
|
28
28
|
for (let o = 0; o < s.rows.length; o++) {
|
|
29
|
-
const
|
|
30
|
-
for (let
|
|
31
|
-
const
|
|
32
|
-
for (let f = 0; f <
|
|
33
|
-
const c =
|
|
29
|
+
const i = s.rows[o];
|
|
30
|
+
for (let a = 0; a < i.cells.length; a++) {
|
|
31
|
+
const l = i.cells[a];
|
|
32
|
+
for (let f = 0; f < l.blocks.length; f++) {
|
|
33
|
+
const c = l.blocks[f];
|
|
34
34
|
if (c.kind === "paragraph" && c.id === n)
|
|
35
|
-
return { kind: "cell", where: e, bi: t, ri: o, ci:
|
|
35
|
+
return { kind: "cell", where: e, bi: t, ri: o, ci: a, pi: f };
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
return null;
|
|
41
41
|
}
|
|
42
|
-
function
|
|
42
|
+
function Se(r, e) {
|
|
43
43
|
const n = Ye(r.blocks, "body", e);
|
|
44
44
|
if (n) return n;
|
|
45
|
-
for (const t of
|
|
45
|
+
for (const t of je) {
|
|
46
46
|
const s = Ye(r.section[t] ?? [], t, e);
|
|
47
47
|
if (s) return s;
|
|
48
48
|
}
|
|
49
49
|
for (const [t, s] of Object.entries(r.footnotes ?? {})) {
|
|
50
|
-
const o = s.findIndex((
|
|
50
|
+
const o = s.findIndex((i) => i.id === e);
|
|
51
51
|
if (o >= 0) return { kind: "footnote", noteId: t, pi: o };
|
|
52
52
|
}
|
|
53
53
|
return null;
|
|
@@ -57,22 +57,22 @@ function Oe(r, e) {
|
|
|
57
57
|
}
|
|
58
58
|
function ke(r, e, n) {
|
|
59
59
|
if (e.kind === "footnote") {
|
|
60
|
-
const
|
|
61
|
-
return
|
|
60
|
+
const l = r.footnotes[e.noteId].slice();
|
|
61
|
+
return l[e.pi] = n, { ...r, footnotes: { ...r.footnotes, [e.noteId]: l } };
|
|
62
62
|
}
|
|
63
63
|
if (e.kind === "band") {
|
|
64
|
-
const
|
|
65
|
-
return
|
|
64
|
+
const l = (r.section[e.band] ?? []).slice();
|
|
65
|
+
return l[e.bi] = n, { ...r, section: { ...r.section, [e.band]: l } };
|
|
66
66
|
}
|
|
67
67
|
if (e.kind === "top") {
|
|
68
|
-
const
|
|
69
|
-
return
|
|
68
|
+
const l = r.blocks.slice();
|
|
69
|
+
return l[e.bi] = n, { ...r, blocks: l };
|
|
70
70
|
}
|
|
71
|
-
const t = tr(r, e.where).slice(), s = t[e.bi], o = s.rows.slice(),
|
|
72
|
-
return
|
|
71
|
+
const t = tr(r, e.where).slice(), s = t[e.bi], o = s.rows.slice(), i = { cells: o[e.ri].cells.slice() }, a = { ...i.cells[e.ci], blocks: i.cells[e.ci].blocks.slice() };
|
|
72
|
+
return a.blocks[e.pi] = n, i.cells[e.ci] = a, o[e.ri] = i, t[e.bi] = { ...s, rows: o, revision: s.revision + 1 }, e.where === "body" ? { ...r, blocks: t } : { ...r, section: { ...r.section, [e.where]: t } };
|
|
73
73
|
}
|
|
74
|
-
const Vr = (r, e) =>
|
|
75
|
-
const n =
|
|
74
|
+
const Vr = (r, e) => Se(r, e)?.kind === "cell", Ne = (r) => r.map((e) => e.text).join(""), Yr = (r, e) => {
|
|
75
|
+
const n = vr(r, e);
|
|
76
76
|
return n ? Ne(n.runs) : "";
|
|
77
77
|
};
|
|
78
78
|
function Jr(r, e) {
|
|
@@ -117,15 +117,16 @@ function dr(r, e) {
|
|
|
117
117
|
function kr(r, e) {
|
|
118
118
|
return r.fontFamily === e.fontFamily && r.fontSizePx === e.fontSizePx && r.bold === e.bold && r.italic === e.italic && r.underline === e.underline && r.strikethrough === e.strikethrough && r.color === e.color && !!r.hidden == !!e.hidden && // hidden runs must never merge with visible ones
|
|
119
119
|
(r.letterSpacingPx ?? 0) === (e.letterSpacingPx ?? 0) && r.highlightColor === e.highlightColor && r.verticalAlign === e.verticalAlign && r.link === e.link && r.footnoteRef === e.footnoteRef && // adjacent refs must never merge into one run
|
|
120
|
-
r.sdtId === e.sdtId
|
|
120
|
+
r.sdtId === e.sdtId && // content-control boundaries survive normalization
|
|
121
|
+
r.fieldId === e.fieldId;
|
|
121
122
|
}
|
|
122
123
|
function ne(r, e) {
|
|
123
124
|
const n = r.filter((s) => s.text.length > 0);
|
|
124
125
|
if (n.length === 0) return [{ text: "", style: r[0]?.style ?? e }];
|
|
125
126
|
const t = [{ ...n[0] }];
|
|
126
127
|
for (let s = 1; s < n.length; s++) {
|
|
127
|
-
const o = n[s],
|
|
128
|
-
kr(
|
|
128
|
+
const o = n[s], i = t[t.length - 1];
|
|
129
|
+
kr(i.style, o.style) ? i.text += o.text : t.push({ ...o });
|
|
129
130
|
}
|
|
130
131
|
return t;
|
|
131
132
|
}
|
|
@@ -133,8 +134,8 @@ function J(r, e) {
|
|
|
133
134
|
const n = [], t = [];
|
|
134
135
|
let s = 0;
|
|
135
136
|
for (const o of r) {
|
|
136
|
-
const
|
|
137
|
-
|
|
137
|
+
const i = s + o.text.length;
|
|
138
|
+
i <= e ? n.push(o) : s >= e ? t.push(o) : (n.push({ text: o.text.slice(0, e - s), style: o.style }), t.push({ text: o.text.slice(e - s), style: o.style })), s = i;
|
|
138
139
|
}
|
|
139
140
|
return [n, t];
|
|
140
141
|
}
|
|
@@ -142,7 +143,7 @@ function gr(r, e, n) {
|
|
|
142
143
|
const [, t] = J(r, e), [s] = J(t, n - e);
|
|
143
144
|
return s;
|
|
144
145
|
}
|
|
145
|
-
function
|
|
146
|
+
function le(r, e) {
|
|
146
147
|
return dr(r, e) ?? {
|
|
147
148
|
fontFamily: "Georgia, serif",
|
|
148
149
|
fontSizePx: 16,
|
|
@@ -153,64 +154,64 @@ function ae(r, e) {
|
|
|
153
154
|
color: "#202124"
|
|
154
155
|
};
|
|
155
156
|
}
|
|
156
|
-
function
|
|
157
|
-
const s = t ??
|
|
158
|
-
return ne([...o, { text: n, style: s }, ...
|
|
157
|
+
function wr(r, e, n, t) {
|
|
158
|
+
const s = t ?? le(r, e), [o, i] = J(r, e);
|
|
159
|
+
return ne([...o, { text: n, style: s }, ...i], s);
|
|
159
160
|
}
|
|
160
|
-
function
|
|
161
|
+
function br(r, e, n) {
|
|
161
162
|
const [t, s] = J(r, e);
|
|
162
|
-
return ne([...t, ...n, ...s],
|
|
163
|
+
return ne([...t, ...n, ...s], le(r, e));
|
|
163
164
|
}
|
|
164
165
|
function Ir(r, e, n) {
|
|
165
166
|
const [t, s] = J(r, e), [, o] = J(s, n - e);
|
|
166
|
-
return ne([...t, ...o],
|
|
167
|
+
return ne([...t, ...o], le(r, e));
|
|
167
168
|
}
|
|
168
169
|
function Zr(r, e, n, t) {
|
|
169
|
-
const [s, o] = J(r, e), [
|
|
170
|
-
return ne([...s, ...
|
|
170
|
+
const [s, o] = J(r, e), [i, a] = J(o, n - e), l = i.map((f) => ({ text: f.text, style: { ...f.style, ...t } }));
|
|
171
|
+
return ne([...s, ...l, ...a], le(r, e));
|
|
171
172
|
}
|
|
172
173
|
function _r(r, e, n, t) {
|
|
173
|
-
const [s, o] = J(r, e), [
|
|
174
|
+
const [s, o] = J(r, e), [i, a] = J(o, n - e), l = i.map((h) => h.text).join(""), f = t(l);
|
|
174
175
|
let c = 0;
|
|
175
|
-
const u = f.length ===
|
|
176
|
-
const
|
|
177
|
-
return c +=
|
|
178
|
-
}) :
|
|
179
|
-
return ne([...s, ...u, ...
|
|
176
|
+
const u = f.length === l.length ? i.map((h) => {
|
|
177
|
+
const v = f.slice(c, c + h.text.length);
|
|
178
|
+
return c += h.text.length, { text: v, style: h.style };
|
|
179
|
+
}) : i;
|
|
180
|
+
return ne([...s, ...u, ...a], le(r, e));
|
|
180
181
|
}
|
|
181
|
-
const
|
|
182
|
+
const H = (r) => r;
|
|
182
183
|
function ge(r, e) {
|
|
183
|
-
const n =
|
|
184
|
+
const n = Se(r, e);
|
|
184
185
|
if (!n) throw new Error(`paragraph ${e} not found`);
|
|
185
186
|
return { loc: n, block: Oe(r, n) };
|
|
186
187
|
}
|
|
187
|
-
function
|
|
188
|
+
function $(r, e) {
|
|
188
189
|
return e === "body" ? r.blocks : r.section[e] ?? [];
|
|
189
190
|
}
|
|
190
|
-
function
|
|
191
|
+
function ie(r, e, n) {
|
|
191
192
|
return e === "body" ? { ...r, blocks: n } : { ...r, section: { ...r.section, [e]: n } };
|
|
192
193
|
}
|
|
193
194
|
function qe(r, e) {
|
|
194
|
-
for (const n of ["body", ...
|
|
195
|
-
const t =
|
|
195
|
+
for (const n of ["body", ...je]) {
|
|
196
|
+
const t = $(r, n).findIndex((s) => s.id === e);
|
|
196
197
|
if (t >= 0) return { where: n, index: t };
|
|
197
198
|
}
|
|
198
199
|
return null;
|
|
199
200
|
}
|
|
200
201
|
function se(r, e) {
|
|
201
|
-
const n = qe(r, e), t = n ?
|
|
202
|
+
const n = qe(r, e), t = n ? $(r, n.where)[n.index] : void 0;
|
|
202
203
|
if (!n || !t || t.kind !== "table") throw new Error(`table ${e} not found`);
|
|
203
204
|
return { where: n.where, bi: n.index, block: t };
|
|
204
205
|
}
|
|
205
206
|
function oe(r, e, n, t) {
|
|
206
|
-
const s =
|
|
207
|
-
return s[n] = { ...t, revision: t.revision + 1 },
|
|
207
|
+
const s = $(r, e).slice();
|
|
208
|
+
return s[n] = { ...t, revision: t.revision + 1 }, ie(r, e, s);
|
|
208
209
|
}
|
|
209
210
|
function pe(r, e, n, t, s, o) {
|
|
210
|
-
const
|
|
211
|
-
return f.cells[s] = { ...f.cells[s], blocks: o },
|
|
211
|
+
const i = $(r, e).slice(), a = i[n], l = a.rows.slice(), f = { cells: l[t].cells.slice() };
|
|
212
|
+
return f.cells[s] = { ...f.cells[s], blocks: o }, l[t] = f, i[n] = { ...a, rows: l, revision: a.revision + 1 }, ie(r, e, i);
|
|
212
213
|
}
|
|
213
|
-
function
|
|
214
|
+
function Pe(r) {
|
|
214
215
|
for (const e of r)
|
|
215
216
|
for (const n of e.cells)
|
|
216
217
|
for (const t of n.blocks) if (t.kind === "paragraph") return t;
|
|
@@ -218,19 +219,19 @@ function Se(r) {
|
|
|
218
219
|
function mr(r, e) {
|
|
219
220
|
const n = qe(r, e);
|
|
220
221
|
if (n) {
|
|
221
|
-
const t =
|
|
222
|
+
const t = $(r, n.where)[n.index];
|
|
222
223
|
return t?.kind === "image" ? { kind: "top", where: n.where, index: n.index, image: t } : null;
|
|
223
224
|
}
|
|
224
225
|
for (let t = 0; t < r.blocks.length; t++) {
|
|
225
226
|
const s = r.blocks[t];
|
|
226
227
|
if (s.kind === "table")
|
|
227
228
|
for (let o = 0; o < s.rows.length; o++) {
|
|
228
|
-
const
|
|
229
|
-
for (let
|
|
230
|
-
const
|
|
231
|
-
for (let f = 0; f <
|
|
232
|
-
const c =
|
|
233
|
-
if (c.kind === "image" && c.id === e) return { kind: "cell", bi: t, ri: o, ci:
|
|
229
|
+
const i = s.rows[o];
|
|
230
|
+
for (let a = 0; a < i.cells.length; a++) {
|
|
231
|
+
const l = i.cells[a];
|
|
232
|
+
for (let f = 0; f < l.blocks.length; f++) {
|
|
233
|
+
const c = l.blocks[f];
|
|
234
|
+
if (c.kind === "image" && c.id === e) return { kind: "cell", bi: t, ri: o, ci: a, ii: f, image: c };
|
|
234
235
|
}
|
|
235
236
|
}
|
|
236
237
|
}
|
|
@@ -244,9 +245,9 @@ function yr(r) {
|
|
|
244
245
|
let s = 0;
|
|
245
246
|
for (const o of t.cells) {
|
|
246
247
|
for (; (n[s] ?? 0) > 0; ) s++;
|
|
247
|
-
const
|
|
248
|
-
if (
|
|
249
|
-
s +=
|
|
248
|
+
const i = Math.max(1, o.colSpan ?? 1), a = Math.max(1, o.rowSpan ?? 1);
|
|
249
|
+
if (a > 1) for (let l = 0; l < i; l++) n[s + l] = a;
|
|
250
|
+
s += i;
|
|
250
251
|
}
|
|
251
252
|
e = Math.max(e, s);
|
|
252
253
|
for (let o = 0; o < n.length; o++) n[o] > 0 && n[o]--;
|
|
@@ -263,29 +264,29 @@ function ue(r, e) {
|
|
|
263
264
|
function en(r, e) {
|
|
264
265
|
switch (e.type) {
|
|
265
266
|
case "insertText": {
|
|
266
|
-
const { loc: n, block: t } = ge(r, e.at.blockId), s =
|
|
267
|
+
const { loc: n, block: t } = ge(r, e.at.blockId), s = wr(t.runs, e.at.offset, e.text, e.style), o = e.text.length;
|
|
267
268
|
return {
|
|
268
269
|
doc: ke(r, n, ue(t, s)),
|
|
269
270
|
inverse: { type: "deleteRange", blockId: t.id, start: e.at.offset, end: e.at.offset + o },
|
|
270
|
-
mapPosition: (
|
|
271
|
+
mapPosition: (i) => i.blockId === t.id && i.offset >= e.at.offset ? { blockId: i.blockId, offset: i.offset + o } : i,
|
|
271
272
|
dirtyBlockIds: [t.id]
|
|
272
273
|
};
|
|
273
274
|
}
|
|
274
275
|
case "insertRuns": {
|
|
275
|
-
const { loc: n, block: t } = ge(r, e.at.blockId), s = Ne(e.runs).length, o =
|
|
276
|
+
const { loc: n, block: t } = ge(r, e.at.blockId), s = Ne(e.runs).length, o = br(t.runs, e.at.offset, e.runs);
|
|
276
277
|
return {
|
|
277
278
|
doc: ke(r, n, ue(t, o)),
|
|
278
279
|
inverse: { type: "deleteRange", blockId: t.id, start: e.at.offset, end: e.at.offset + s },
|
|
279
|
-
mapPosition: (
|
|
280
|
+
mapPosition: (i) => i.blockId === t.id && i.offset >= e.at.offset ? { blockId: i.blockId, offset: i.offset + s } : i,
|
|
280
281
|
dirtyBlockIds: [t.id]
|
|
281
282
|
};
|
|
282
283
|
}
|
|
283
284
|
case "deleteRange": {
|
|
284
|
-
const { loc: n, block: t } = ge(r, e.blockId), s = gr(t.runs, e.start, e.end), o = Ir(t.runs, e.start, e.end),
|
|
285
|
+
const { loc: n, block: t } = ge(r, e.blockId), s = gr(t.runs, e.start, e.end), o = Ir(t.runs, e.start, e.end), i = e.end - e.start;
|
|
285
286
|
return {
|
|
286
287
|
doc: ke(r, n, ue(t, o)),
|
|
287
288
|
inverse: { type: "insertRuns", at: { blockId: t.id, offset: e.start }, runs: s },
|
|
288
|
-
mapPosition: (
|
|
289
|
+
mapPosition: (a) => a.blockId !== t.id || a.offset <= e.start ? a : { blockId: a.blockId, offset: a.offset >= e.end ? a.offset - i : e.start },
|
|
289
290
|
dirtyBlockIds: [t.id]
|
|
290
291
|
};
|
|
291
292
|
}
|
|
@@ -294,15 +295,15 @@ function en(r, e) {
|
|
|
294
295
|
return {
|
|
295
296
|
doc: ke(r, n, ue(t, e.runs)),
|
|
296
297
|
inverse: { type: "setRuns", blockId: t.id, runs: t.runs },
|
|
297
|
-
mapPosition:
|
|
298
|
+
mapPosition: H,
|
|
298
299
|
// callers use setRuns for length-preserving restyles
|
|
299
300
|
dirtyBlockIds: [t.id]
|
|
300
301
|
};
|
|
301
302
|
}
|
|
302
303
|
case "setParaStyle": {
|
|
303
304
|
const { loc: n, block: t } = ge(r, e.blockId), s = {};
|
|
304
|
-
for (const
|
|
305
|
-
s[
|
|
305
|
+
for (const i of Object.keys(e.patch))
|
|
306
|
+
s[i] = t.style[i];
|
|
306
307
|
const o = {
|
|
307
308
|
...t,
|
|
308
309
|
style: { ...t.style, ...e.patch },
|
|
@@ -311,30 +312,30 @@ function en(r, e) {
|
|
|
311
312
|
return {
|
|
312
313
|
doc: ke(r, n, o),
|
|
313
314
|
inverse: { type: "setParaStyle", blockId: t.id, patch: s },
|
|
314
|
-
mapPosition:
|
|
315
|
+
mapPosition: H,
|
|
315
316
|
dirtyBlockIds: [t.id]
|
|
316
317
|
};
|
|
317
318
|
}
|
|
318
319
|
case "splitParagraph": {
|
|
319
|
-
const n =
|
|
320
|
+
const n = Se(r, e.at.blockId);
|
|
320
321
|
if (!n) throw new Error(`paragraph ${e.at.blockId} not found`);
|
|
321
|
-
const t = Oe(r, n), [s, o] = J(t.runs, e.at.offset),
|
|
322
|
+
const t = Oe(r, n), [s, o] = J(t.runs, e.at.offset), i = le(t.runs, e.at.offset), a = ue(t, ne(s, i)), l = {
|
|
322
323
|
kind: "paragraph",
|
|
323
324
|
id: e.newBlockId,
|
|
324
325
|
revision: 0,
|
|
325
|
-
runs: ne(o,
|
|
326
|
+
runs: ne(o, i),
|
|
326
327
|
style: e.newStyle ?? { ...t.style }
|
|
327
328
|
};
|
|
328
329
|
let f;
|
|
329
330
|
if (n.kind === "cell") {
|
|
330
|
-
const u =
|
|
331
|
-
u.splice(n.pi, 1,
|
|
331
|
+
const u = $(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
|
|
332
|
+
u.splice(n.pi, 1, a, l), f = pe(r, n.where, n.bi, n.ri, n.ci, u);
|
|
332
333
|
} else if (n.kind === "footnote") {
|
|
333
334
|
const c = r.footnotes[n.noteId].slice();
|
|
334
|
-
c.splice(n.pi, 1,
|
|
335
|
+
c.splice(n.pi, 1, a, l), f = { ...r, footnotes: { ...r.footnotes, [n.noteId]: c } };
|
|
335
336
|
} else {
|
|
336
|
-
const c = n.kind === "band" ? n.band : "body", u =
|
|
337
|
-
u.splice(n.bi, 1,
|
|
337
|
+
const c = n.kind === "band" ? n.band : "body", u = $(r, c).slice();
|
|
338
|
+
u.splice(n.bi, 1, a, l), f = ie(r, c, u);
|
|
338
339
|
}
|
|
339
340
|
return {
|
|
340
341
|
doc: f,
|
|
@@ -344,71 +345,71 @@ function en(r, e) {
|
|
|
344
345
|
};
|
|
345
346
|
}
|
|
346
347
|
case "mergeParagraphs": {
|
|
347
|
-
const n =
|
|
348
|
+
const n = Se(r, e.firstBlockId);
|
|
348
349
|
if (!n) throw new Error(`paragraph ${e.firstBlockId} not found`);
|
|
349
350
|
const t = Oe(r, n);
|
|
350
351
|
let s;
|
|
351
352
|
if (n.kind === "cell") {
|
|
352
|
-
const f =
|
|
353
|
+
const f = $(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks[n.pi + 1];
|
|
353
354
|
if (!f || f.kind !== "paragraph")
|
|
354
355
|
throw new Error("mergeParagraphs: no next paragraph in cell");
|
|
355
356
|
s = f;
|
|
356
357
|
} else if (n.kind === "footnote") {
|
|
357
|
-
const
|
|
358
|
-
if (!
|
|
359
|
-
s =
|
|
358
|
+
const l = r.footnotes[n.noteId][n.pi + 1];
|
|
359
|
+
if (!l) throw new Error("mergeParagraphs: no next paragraph in footnote");
|
|
360
|
+
s = l;
|
|
360
361
|
} else {
|
|
361
|
-
const
|
|
362
|
+
const l = n.kind === "band" ? n.band : "body", f = $(r, l)[n.bi + 1];
|
|
362
363
|
if (!f || f.kind !== "paragraph")
|
|
363
364
|
throw new Error("mergeParagraphs: no next paragraph");
|
|
364
365
|
s = f;
|
|
365
366
|
}
|
|
366
|
-
const o = Ne(t.runs).length,
|
|
367
|
+
const o = Ne(t.runs).length, i = ue(
|
|
367
368
|
t,
|
|
368
|
-
ne([...t.runs, ...s.runs],
|
|
369
|
+
ne([...t.runs, ...s.runs], le(t.runs, o))
|
|
369
370
|
);
|
|
370
|
-
let
|
|
371
|
+
let a;
|
|
371
372
|
if (n.kind === "cell") {
|
|
372
|
-
const f =
|
|
373
|
-
f.splice(n.pi, 2,
|
|
373
|
+
const f = $(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
|
|
374
|
+
f.splice(n.pi, 2, i), a = pe(r, n.where, n.bi, n.ri, n.ci, f);
|
|
374
375
|
} else if (n.kind === "footnote") {
|
|
375
|
-
const
|
|
376
|
-
|
|
376
|
+
const l = r.footnotes[n.noteId].slice();
|
|
377
|
+
l.splice(n.pi, 2, i), a = { ...r, footnotes: { ...r.footnotes, [n.noteId]: l } };
|
|
377
378
|
} else {
|
|
378
|
-
const
|
|
379
|
-
f.splice(n.bi, 2,
|
|
379
|
+
const l = n.kind === "band" ? n.band : "body", f = $(r, l).slice();
|
|
380
|
+
f.splice(n.bi, 2, i), a = ie(r, l, f);
|
|
380
381
|
}
|
|
381
382
|
return {
|
|
382
|
-
doc:
|
|
383
|
+
doc: a,
|
|
383
384
|
inverse: {
|
|
384
385
|
type: "splitParagraph",
|
|
385
386
|
at: { blockId: t.id, offset: o },
|
|
386
387
|
newBlockId: s.id,
|
|
387
388
|
newStyle: s.style
|
|
388
389
|
},
|
|
389
|
-
mapPosition: (
|
|
390
|
+
mapPosition: (l) => l.blockId === s.id ? { blockId: t.id, offset: o + l.offset } : l,
|
|
390
391
|
dirtyBlockIds: [t.id, s.id]
|
|
391
392
|
};
|
|
392
393
|
}
|
|
393
394
|
case "insertBlock": {
|
|
394
|
-
const n = e.where ?? "body", t =
|
|
395
|
+
const n = e.where ?? "body", t = $(r, n).slice();
|
|
395
396
|
return t.splice(e.index, 0, e.block), {
|
|
396
|
-
doc:
|
|
397
|
+
doc: ie(r, n, t),
|
|
397
398
|
inverse: { type: "removeBlock", blockId: e.block.id },
|
|
398
|
-
mapPosition:
|
|
399
|
+
mapPosition: H,
|
|
399
400
|
dirtyBlockIds: [e.block.id]
|
|
400
401
|
};
|
|
401
402
|
}
|
|
402
403
|
case "removeBlock": {
|
|
403
404
|
const n = qe(r, e.blockId);
|
|
404
405
|
if (!n) throw new Error(`block ${e.blockId} not found`);
|
|
405
|
-
const t =
|
|
406
|
+
const t = $(r, n.where).slice(), s = t[n.index];
|
|
406
407
|
t.splice(n.index, 1);
|
|
407
408
|
const o = t[Math.min(n.index, t.length - 1)];
|
|
408
409
|
return {
|
|
409
|
-
doc:
|
|
410
|
+
doc: ie(r, n.where, t),
|
|
410
411
|
inverse: { type: "insertBlock", index: n.index, block: s, where: n.where },
|
|
411
|
-
mapPosition: (
|
|
412
|
+
mapPosition: (i) => i.blockId === e.blockId && o ? { blockId: o.id, offset: 0 } : i,
|
|
412
413
|
dirtyBlockIds: [e.blockId]
|
|
413
414
|
};
|
|
414
415
|
}
|
|
@@ -416,21 +417,21 @@ function en(r, e) {
|
|
|
416
417
|
const n = mr(r, e.blockId);
|
|
417
418
|
if (!n) throw new Error(`image ${e.blockId} not found`);
|
|
418
419
|
const t = n.image, s = {};
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
let
|
|
420
|
+
e.patch.widthPx !== void 0 && (s.widthPx = t.widthPx), e.patch.heightPx !== void 0 && (s.heightPx = t.heightPx), e.patch.align !== void 0 && (s.align = t.align), e.patch.wrap !== void 0 && (s.wrap = t.wrap ?? null), e.patch.anchor !== void 0 && (s.anchor = t.anchor ?? null);
|
|
421
|
+
const o = { ...t, revision: t.revision + 1 };
|
|
422
|
+
e.patch.widthPx !== void 0 && (o.widthPx = e.patch.widthPx), e.patch.heightPx !== void 0 && (o.heightPx = e.patch.heightPx), e.patch.align !== void 0 && (o.align = e.patch.align), e.patch.wrap !== void 0 && (e.patch.wrap === null ? delete o.wrap : o.wrap = e.patch.wrap), e.patch.anchor !== void 0 && (e.patch.anchor === null ? delete o.anchor : o.anchor = e.patch.anchor);
|
|
423
|
+
let i;
|
|
423
424
|
if (n.kind === "top") {
|
|
424
|
-
const
|
|
425
|
-
|
|
425
|
+
const a = $(r, n.where).slice();
|
|
426
|
+
a[n.index] = o, i = ie(r, n.where, a);
|
|
426
427
|
} else {
|
|
427
|
-
const
|
|
428
|
-
|
|
428
|
+
const l = r.blocks[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
|
|
429
|
+
l[n.ii] = o, i = pe(r, "body", n.bi, n.ri, n.ci, l);
|
|
429
430
|
}
|
|
430
431
|
return {
|
|
431
|
-
doc:
|
|
432
|
+
doc: i,
|
|
432
433
|
inverse: { type: "setImageProps", blockId: e.blockId, patch: s },
|
|
433
|
-
mapPosition:
|
|
434
|
+
mapPosition: H,
|
|
434
435
|
dirtyBlockIds: [e.blockId]
|
|
435
436
|
};
|
|
436
437
|
}
|
|
@@ -439,20 +440,20 @@ function en(r, e) {
|
|
|
439
440
|
return {
|
|
440
441
|
doc: oe(r, n, t, { ...s, colFractions: e.fractions }),
|
|
441
442
|
inverse: { type: "setTableColFractions", blockId: e.blockId, fractions: o },
|
|
442
|
-
mapPosition:
|
|
443
|
+
mapPosition: H,
|
|
443
444
|
dirtyBlockIds: [e.blockId]
|
|
444
445
|
};
|
|
445
446
|
}
|
|
446
447
|
case "setTableRow": {
|
|
447
448
|
const { where: n, bi: t, block: s } = se(r, e.tableId), o = s.rows[e.rowIndex];
|
|
448
449
|
if (!o) throw new Error("setTableRow: no such row");
|
|
449
|
-
const
|
|
450
|
-
|
|
451
|
-
const
|
|
450
|
+
const i = new Set(o.cells.flatMap((f) => f.blocks.map((c) => c.id))), a = s.rows.slice();
|
|
451
|
+
a[e.rowIndex] = e.row;
|
|
452
|
+
const l = Pe([e.row]);
|
|
452
453
|
return {
|
|
453
|
-
doc: oe(r, n, t, { ...s, rows:
|
|
454
|
+
doc: oe(r, n, t, { ...s, rows: a }),
|
|
454
455
|
inverse: { type: "setTableRow", tableId: e.tableId, rowIndex: e.rowIndex, row: o },
|
|
455
|
-
mapPosition: (f) =>
|
|
456
|
+
mapPosition: (f) => i.has(f.blockId) ? e.row.cells.some((u) => u.blocks.some((h) => h.id === f.blockId)) || !l ? f : { blockId: l.id, offset: 0 } : f,
|
|
456
457
|
dirtyBlockIds: [e.tableId]
|
|
457
458
|
};
|
|
458
459
|
}
|
|
@@ -461,20 +462,20 @@ function en(r, e) {
|
|
|
461
462
|
return o.splice(e.rowIndex, 0, e.row), {
|
|
462
463
|
doc: oe(r, n, t, { ...s, rows: o }),
|
|
463
464
|
inverse: { type: "removeTableRow", tableId: e.tableId, rowIndex: e.rowIndex },
|
|
464
|
-
mapPosition:
|
|
465
|
+
mapPosition: H,
|
|
465
466
|
dirtyBlockIds: [e.tableId]
|
|
466
467
|
};
|
|
467
468
|
}
|
|
468
469
|
case "removeTableRow": {
|
|
469
470
|
const { where: n, bi: t, block: s } = se(r, e.tableId), o = s.rows[e.rowIndex];
|
|
470
471
|
if (!o) throw new Error("removeTableRow: no such row");
|
|
471
|
-
const
|
|
472
|
-
|
|
473
|
-
const
|
|
472
|
+
const i = s.rows.slice();
|
|
473
|
+
i.splice(e.rowIndex, 1);
|
|
474
|
+
const a = new Set(o.cells.flatMap((c) => c.blocks.map((u) => u.id))), l = i[Math.min(e.rowIndex, i.length - 1)], f = l ? Pe([l]) : void 0;
|
|
474
475
|
return {
|
|
475
|
-
doc: oe(r, n, t, { ...s, rows:
|
|
476
|
+
doc: oe(r, n, t, { ...s, rows: i }),
|
|
476
477
|
inverse: { type: "insertTableRow", tableId: e.tableId, rowIndex: e.rowIndex, row: o },
|
|
477
|
-
mapPosition: (c) =>
|
|
478
|
+
mapPosition: (c) => a.has(c.blockId) && f ? { blockId: f.id, offset: 0 } : c,
|
|
478
479
|
dirtyBlockIds: [e.tableId]
|
|
479
480
|
};
|
|
480
481
|
}
|
|
@@ -483,7 +484,7 @@ function en(r, e) {
|
|
|
483
484
|
return e.def ? t[e.listId] = e.def : delete t[e.listId], {
|
|
484
485
|
doc: { ...r, lists: t },
|
|
485
486
|
inverse: { type: "setListDefinition", listId: e.listId, def: n },
|
|
486
|
-
mapPosition:
|
|
487
|
+
mapPosition: H,
|
|
487
488
|
// Indents come from the definition → every paragraph in the list must
|
|
488
489
|
// re-measure; their (revision,width) line-cache keys change with width.
|
|
489
490
|
dirtyBlockIds: []
|
|
@@ -492,50 +493,50 @@ function en(r, e) {
|
|
|
492
493
|
case "setTableStructure": {
|
|
493
494
|
const { where: n, bi: t, block: s } = se(r, e.tableId), o = new Set(
|
|
494
495
|
s.rows.flatMap((f) => f.cells.flatMap((c) => c.blocks.map((u) => u.id)))
|
|
495
|
-
),
|
|
496
|
-
e.colFractions ?
|
|
497
|
-
const
|
|
498
|
-
return s.colFractions && (
|
|
499
|
-
doc: oe(r, n, t,
|
|
500
|
-
inverse:
|
|
496
|
+
), i = Pe(e.rows), a = { ...s, rows: e.rows };
|
|
497
|
+
e.colFractions ? a.colFractions = e.colFractions : delete a.colFractions;
|
|
498
|
+
const l = { type: "setTableStructure", tableId: e.tableId, rows: s.rows };
|
|
499
|
+
return s.colFractions && (l.colFractions = s.colFractions), {
|
|
500
|
+
doc: oe(r, n, t, a),
|
|
501
|
+
inverse: l,
|
|
501
502
|
mapPosition: (f) => o.has(f.blockId) ? e.rows.some(
|
|
502
|
-
(u) => u.cells.some((
|
|
503
|
-
) || !
|
|
503
|
+
(u) => u.cells.some((h) => h.blocks.some((v) => v.id === f.blockId))
|
|
504
|
+
) || !i ? f : { blockId: i.id, offset: 0 } : f,
|
|
504
505
|
dirtyBlockIds: [e.tableId]
|
|
505
506
|
};
|
|
506
507
|
}
|
|
507
508
|
case "insertTableColumn": {
|
|
508
509
|
const { where: n, bi: t, block: s } = se(r, e.tableId), o = { type: "setTableStructure", tableId: e.tableId, rows: s.rows };
|
|
509
510
|
s.colFractions && (o.colFractions = s.colFractions);
|
|
510
|
-
const
|
|
511
|
+
const i = s.rows.map((l, f) => {
|
|
511
512
|
const c = [];
|
|
512
|
-
let u = 0,
|
|
513
|
-
for (const
|
|
514
|
-
const d =
|
|
515
|
-
if (!
|
|
516
|
-
c.push({ ...
|
|
517
|
-
else if (!
|
|
513
|
+
let u = 0, h = !1;
|
|
514
|
+
for (const v of l.cells) {
|
|
515
|
+
const d = v.colSpan ?? 1;
|
|
516
|
+
if (!h && e.colIndex > u && e.colIndex < u + d)
|
|
517
|
+
c.push({ ...v, colSpan: d + 1 }), h = !0;
|
|
518
|
+
else if (!h && e.colIndex === u) {
|
|
518
519
|
const g = e.cells[f];
|
|
519
|
-
g && c.push(g), c.push(
|
|
520
|
+
g && c.push(g), c.push(v), h = !0;
|
|
520
521
|
} else
|
|
521
|
-
c.push(
|
|
522
|
+
c.push(v);
|
|
522
523
|
u += d;
|
|
523
524
|
}
|
|
524
|
-
if (!
|
|
525
|
-
const
|
|
526
|
-
|
|
525
|
+
if (!h) {
|
|
526
|
+
const v = e.cells[f];
|
|
527
|
+
v && c.push(v);
|
|
527
528
|
}
|
|
528
529
|
return { cells: c };
|
|
529
530
|
});
|
|
530
|
-
let
|
|
531
|
-
if (!
|
|
532
|
-
const
|
|
533
|
-
|
|
531
|
+
let a = e.fractions;
|
|
532
|
+
if (!a) {
|
|
533
|
+
const l = Ce(s), f = 1 / (l.length + 1);
|
|
534
|
+
a = l.map((c) => c * (1 - f)), a.splice(e.colIndex, 0, f);
|
|
534
535
|
}
|
|
535
536
|
return {
|
|
536
|
-
doc: oe(r, n, t, { ...s, rows:
|
|
537
|
+
doc: oe(r, n, t, { ...s, rows: i, colFractions: a }),
|
|
537
538
|
inverse: o,
|
|
538
|
-
mapPosition:
|
|
539
|
+
mapPosition: H,
|
|
539
540
|
dirtyBlockIds: [e.tableId]
|
|
540
541
|
};
|
|
541
542
|
}
|
|
@@ -544,7 +545,7 @@ function en(r, e) {
|
|
|
544
545
|
return {
|
|
545
546
|
doc: { ...r, stylesheet: e.stylesheet },
|
|
546
547
|
inverse: { type: "setStylesheet", stylesheet: n },
|
|
547
|
-
mapPosition:
|
|
548
|
+
mapPosition: H,
|
|
548
549
|
dirtyBlockIds: []
|
|
549
550
|
// restyling paragraphs happens via setRuns/setParaStyle ops
|
|
550
551
|
};
|
|
@@ -565,7 +566,7 @@ function en(r, e) {
|
|
|
565
566
|
return e.geometry.columns ? s.columns = e.geometry.columns : delete s.columns, e.geometry.pageNumberStart !== null ? s.pageNumberStart = e.geometry.pageNumberStart : delete s.pageNumberStart, {
|
|
566
567
|
doc: { ...r, section: s },
|
|
567
568
|
inverse: { type: "setSectionProps", geometry: t },
|
|
568
|
-
mapPosition:
|
|
569
|
+
mapPosition: H,
|
|
569
570
|
dirtyBlockIds: []
|
|
570
571
|
// geometry change → full re-walk; line caches keyed by width
|
|
571
572
|
};
|
|
@@ -573,11 +574,11 @@ function en(r, e) {
|
|
|
573
574
|
case "setFootnote": {
|
|
574
575
|
const n = r.footnotes?.[e.noteId] ?? null, t = { ...r.footnotes ?? {} };
|
|
575
576
|
e.paras ? t[e.noteId] = e.paras : delete t[e.noteId];
|
|
576
|
-
const s = new Set((n ?? []).map((
|
|
577
|
+
const s = new Set((n ?? []).map((i) => i.id)), o = r.blocks.find((i) => i.kind === "paragraph");
|
|
577
578
|
return {
|
|
578
579
|
doc: { ...r, footnotes: t },
|
|
579
580
|
inverse: { type: "setFootnote", noteId: e.noteId, paras: n },
|
|
580
|
-
mapPosition: (
|
|
581
|
+
mapPosition: (i) => s.has(i.blockId) ? (e.paras ?? []).some((l) => l.id === i.blockId) || !o ? i : { blockId: o.id, offset: 0 } : i,
|
|
581
582
|
dirtyBlockIds: []
|
|
582
583
|
};
|
|
583
584
|
}
|
|
@@ -586,17 +587,37 @@ function en(r, e) {
|
|
|
586
587
|
return e.props ? t[e.id] = e.props : delete t[e.id], {
|
|
587
588
|
doc: { ...r, sdts: t },
|
|
588
589
|
inverse: { type: "setSdtProps", id: e.id, props: n },
|
|
589
|
-
mapPosition:
|
|
590
|
+
mapPosition: H,
|
|
590
591
|
dirtyBlockIds: []
|
|
591
592
|
// run markers change via setRuns/applyStylePatch ops
|
|
592
593
|
};
|
|
593
594
|
}
|
|
595
|
+
case "setField": {
|
|
596
|
+
const n = r.fields?.[e.id] ?? null, t = { ...r.fields ?? {} };
|
|
597
|
+
return e.def ? t[e.id] = e.def : delete t[e.id], {
|
|
598
|
+
doc: { ...r, fields: t },
|
|
599
|
+
inverse: { type: "setField", id: e.id, def: n },
|
|
600
|
+
mapPosition: H,
|
|
601
|
+
dirtyBlockIds: []
|
|
602
|
+
// run/block fieldId markers change via setRuns/insert ops
|
|
603
|
+
};
|
|
604
|
+
}
|
|
605
|
+
case "setTocInstruction": {
|
|
606
|
+
const n = r.tocInstruction ?? null, t = { ...r };
|
|
607
|
+
return e.instruction !== null ? t.tocInstruction = e.instruction : delete t.tocInstruction, {
|
|
608
|
+
doc: t,
|
|
609
|
+
inverse: { type: "setTocInstruction", instruction: n },
|
|
610
|
+
mapPosition: H,
|
|
611
|
+
dirtyBlockIds: []
|
|
612
|
+
// entries are regenerated via insert/removeBlock ops in the same tx
|
|
613
|
+
};
|
|
614
|
+
}
|
|
594
615
|
case "setBookmark": {
|
|
595
616
|
const n = r.bookmarks?.[e.name] ?? null, t = { ...r.bookmarks ?? {} };
|
|
596
617
|
return e.range ? t[e.name] = e.range : delete t[e.name], {
|
|
597
618
|
doc: { ...r, bookmarks: t },
|
|
598
619
|
inverse: { type: "setBookmark", name: e.name, range: n },
|
|
599
|
-
mapPosition:
|
|
620
|
+
mapPosition: H,
|
|
600
621
|
dirtyBlockIds: []
|
|
601
622
|
};
|
|
602
623
|
}
|
|
@@ -604,45 +625,45 @@ function en(r, e) {
|
|
|
604
625
|
const n = r.section[e.band] ?? null, t = { ...r.section };
|
|
605
626
|
e.blocks ? t[e.band] = e.blocks : delete t[e.band];
|
|
606
627
|
const s = new Set(
|
|
607
|
-
(n ?? []).filter((
|
|
608
|
-
), o = r.blocks.find((
|
|
628
|
+
(n ?? []).filter((i) => i.kind === "paragraph").map((i) => i.id)
|
|
629
|
+
), o = r.blocks.find((i) => i.kind === "paragraph");
|
|
609
630
|
return {
|
|
610
631
|
doc: { ...r, section: t },
|
|
611
632
|
inverse: { type: "setSectionBand", band: e.band, blocks: n },
|
|
612
|
-
mapPosition: (
|
|
633
|
+
mapPosition: (i) => s.has(i.blockId) ? (e.blocks ?? []).some((l) => l.id === i.blockId) || !o ? i : { blockId: o.id, offset: 0 } : i,
|
|
613
634
|
dirtyBlockIds: []
|
|
614
635
|
};
|
|
615
636
|
}
|
|
616
637
|
case "removeTableColumn": {
|
|
617
638
|
const { where: n, bi: t, block: s } = se(r, e.tableId), o = { type: "setTableStructure", tableId: e.tableId, rows: s.rows };
|
|
618
639
|
s.colFractions && (o.colFractions = s.colFractions);
|
|
619
|
-
const
|
|
640
|
+
const i = Ce(s), a = /* @__PURE__ */ new Set(), l = s.rows.map((v) => {
|
|
620
641
|
const d = [];
|
|
621
642
|
let g = 0;
|
|
622
|
-
for (const
|
|
623
|
-
const I =
|
|
643
|
+
for (const b of v.cells) {
|
|
644
|
+
const I = b.colSpan ?? 1;
|
|
624
645
|
if (e.colIndex >= g && e.colIndex < g + I)
|
|
625
646
|
if (I > 1) {
|
|
626
|
-
const y = { ...
|
|
647
|
+
const y = { ...b };
|
|
627
648
|
I - 1 > 1 ? y.colSpan = I - 1 : delete y.colSpan, d.push(y);
|
|
628
649
|
} else
|
|
629
|
-
for (const y of
|
|
650
|
+
for (const y of b.blocks) a.add(y.id);
|
|
630
651
|
else
|
|
631
|
-
d.push(
|
|
652
|
+
d.push(b);
|
|
632
653
|
g += I;
|
|
633
654
|
}
|
|
634
655
|
return { cells: d };
|
|
635
|
-
}), f =
|
|
656
|
+
}), f = i.filter((v, d) => d !== e.colIndex), c = f.reduce((v, d) => v + d, 0) || 1, u = f.map((v) => v / c), h = Pe(l);
|
|
636
657
|
return {
|
|
637
|
-
doc: oe(r, n, t, { ...s, rows:
|
|
658
|
+
doc: oe(r, n, t, { ...s, rows: l, colFractions: u }),
|
|
638
659
|
inverse: o,
|
|
639
|
-
mapPosition: (
|
|
660
|
+
mapPosition: (v) => a.has(v.blockId) && h ? { blockId: h.id, offset: 0 } : v,
|
|
640
661
|
dirtyBlockIds: [e.tableId]
|
|
641
662
|
};
|
|
642
663
|
}
|
|
643
664
|
}
|
|
644
665
|
}
|
|
645
|
-
var R = Uint8Array,
|
|
666
|
+
var R = Uint8Array, q = Uint16Array, Ge = Int32Array, Fe = new R([
|
|
646
667
|
0,
|
|
647
668
|
0,
|
|
648
669
|
0,
|
|
@@ -712,37 +733,37 @@ var R = Uint8Array, L = Uint16Array, Ge = Int32Array, Fe = new R([
|
|
|
712
733
|
0,
|
|
713
734
|
0
|
|
714
735
|
]), We = new R([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), sr = function(r, e) {
|
|
715
|
-
for (var n = new
|
|
736
|
+
for (var n = new q(31), t = 0; t < 31; ++t)
|
|
716
737
|
n[t] = e += 1 << r[t - 1];
|
|
717
738
|
for (var s = new Ge(n[30]), t = 1; t < 30; ++t)
|
|
718
739
|
for (var o = n[t]; o < n[t + 1]; ++o)
|
|
719
740
|
s[o] = o - n[t] << 5 | t;
|
|
720
741
|
return { b: n, r: s };
|
|
721
|
-
}, or = sr(Fe, 2),
|
|
722
|
-
|
|
723
|
-
var
|
|
742
|
+
}, or = sr(Fe, 2), ir = or.b, De = or.r;
|
|
743
|
+
ir[28] = 258, De[258] = 28;
|
|
744
|
+
var lr = sr(Re, 0), xr = lr.b, Je = lr.r, He = new q(32768);
|
|
724
745
|
for (var m = 0; m < 32768; ++m) {
|
|
725
746
|
var re = (m & 43690) >> 1 | (m & 21845) << 1;
|
|
726
747
|
re = (re & 52428) >> 2 | (re & 13107) << 2, re = (re & 61680) >> 4 | (re & 3855) << 4, He[m] = ((re & 65280) >> 8 | (re & 255) << 8) >> 1;
|
|
727
748
|
}
|
|
728
749
|
var X = (function(r, e, n) {
|
|
729
|
-
for (var t = r.length, s = 0, o = new
|
|
750
|
+
for (var t = r.length, s = 0, o = new q(e); s < t; ++s)
|
|
730
751
|
r[s] && ++o[r[s] - 1];
|
|
731
|
-
var
|
|
752
|
+
var i = new q(e);
|
|
732
753
|
for (s = 1; s < e; ++s)
|
|
733
|
-
|
|
734
|
-
var
|
|
754
|
+
i[s] = i[s - 1] + o[s - 1] << 1;
|
|
755
|
+
var a;
|
|
735
756
|
if (n) {
|
|
736
|
-
|
|
737
|
-
var
|
|
757
|
+
a = new q(1 << e);
|
|
758
|
+
var l = 15 - e;
|
|
738
759
|
for (s = 0; s < t; ++s)
|
|
739
760
|
if (r[s])
|
|
740
|
-
for (var f = s << 4 | r[s], c = e - r[s], u =
|
|
741
|
-
|
|
761
|
+
for (var f = s << 4 | r[s], c = e - r[s], u = i[r[s] - 1]++ << c, h = u | (1 << c) - 1; u <= h; ++u)
|
|
762
|
+
a[He[u] >> l] = f;
|
|
742
763
|
} else
|
|
743
|
-
for (
|
|
744
|
-
r[s] && (
|
|
745
|
-
return
|
|
764
|
+
for (a = new q(t), s = 0; s < t; ++s)
|
|
765
|
+
r[s] && (a[s] = He[i[r[s] - 1]++] >> 15 - r[s]);
|
|
766
|
+
return a;
|
|
746
767
|
}), te = new R(288);
|
|
747
768
|
for (var m = 0; m < 144; ++m)
|
|
748
769
|
te[m] = 8;
|
|
@@ -755,7 +776,7 @@ for (var m = 280; m < 288; ++m)
|
|
|
755
776
|
var Ie = new R(32);
|
|
756
777
|
for (var m = 0; m < 32; ++m)
|
|
757
778
|
Ie[m] = 5;
|
|
758
|
-
var
|
|
779
|
+
var Pr = /* @__PURE__ */ X(te, 9, 0), Sr = /* @__PURE__ */ X(te, 9, 1), Br = /* @__PURE__ */ X(Ie, 5, 0), Fr = /* @__PURE__ */ X(Ie, 5, 1), Me = function(r) {
|
|
759
780
|
for (var e = r[0], n = 1; n < r.length; ++n)
|
|
760
781
|
r[n] > e && (e = r[n]);
|
|
761
782
|
return e;
|
|
@@ -795,106 +816,106 @@ var Sr = /* @__PURE__ */ X(te, 9, 0), Pr = /* @__PURE__ */ X(te, 9, 1), Br = /*
|
|
|
795
816
|
var s = r.length, o = t ? t.length : 0;
|
|
796
817
|
if (!s || e.f && !e.l)
|
|
797
818
|
return n || new R(0);
|
|
798
|
-
var
|
|
799
|
-
|
|
800
|
-
var f = function(
|
|
819
|
+
var i = !n, a = i || e.i != 2, l = e.i;
|
|
820
|
+
i && (n = new R(s * 3));
|
|
821
|
+
var f = function(ve) {
|
|
801
822
|
var de = n.length;
|
|
802
|
-
if (
|
|
803
|
-
var fe = new R(Math.max(de * 2,
|
|
823
|
+
if (ve > de) {
|
|
824
|
+
var fe = new R(Math.max(de * 2, ve));
|
|
804
825
|
fe.set(n), n = fe;
|
|
805
826
|
}
|
|
806
|
-
}, c = e.f || 0, u = e.p || 0,
|
|
827
|
+
}, c = e.f || 0, u = e.p || 0, h = e.b || 0, v = e.l, d = e.d, g = e.m, b = e.n, I = s * 8;
|
|
807
828
|
do {
|
|
808
|
-
if (!
|
|
829
|
+
if (!v) {
|
|
809
830
|
c = Y(r, u, 1);
|
|
810
831
|
var y = Y(r, u + 1, 3);
|
|
811
832
|
if (u += 3, y)
|
|
812
833
|
if (y == 1)
|
|
813
|
-
|
|
834
|
+
v = Sr, d = Fr, g = 9, b = 5;
|
|
814
835
|
else if (y == 2) {
|
|
815
|
-
var C = Y(r, u, 31) + 257, F = Y(r, u + 10, 15) + 4,
|
|
836
|
+
var C = Y(r, u, 31) + 257, F = Y(r, u + 10, 15) + 4, w = C + Y(r, u + 5, 31) + 1;
|
|
816
837
|
u += 14;
|
|
817
|
-
for (var k = new R(
|
|
838
|
+
for (var k = new R(w), M = new R(19), T = 0; T < F; ++T)
|
|
818
839
|
M[We[T]] = Y(r, u + T * 3, 7);
|
|
819
840
|
u += F * 3;
|
|
820
|
-
for (var O = Me(M), ee = (1 << O) - 1,
|
|
821
|
-
var W =
|
|
841
|
+
for (var O = Me(M), ee = (1 << O) - 1, U = X(M, O, 1), T = 0; T < w; ) {
|
|
842
|
+
var W = U[Y(r, u, ee)];
|
|
822
843
|
u += W & 15;
|
|
823
|
-
var
|
|
824
|
-
if (
|
|
825
|
-
k[T++] =
|
|
844
|
+
var S = W >> 4;
|
|
845
|
+
if (S < 16)
|
|
846
|
+
k[T++] = S;
|
|
826
847
|
else {
|
|
827
848
|
var E = 0, x = 0;
|
|
828
|
-
for (
|
|
849
|
+
for (S == 16 ? (x = 3 + Y(r, u, 3), u += 2, E = k[T - 1]) : S == 17 ? (x = 3 + Y(r, u, 7), u += 3) : S == 18 && (x = 11 + Y(r, u, 127), u += 7); x--; )
|
|
829
850
|
k[T++] = E;
|
|
830
851
|
}
|
|
831
852
|
}
|
|
832
853
|
var D = k.subarray(0, C), A = k.subarray(C);
|
|
833
|
-
g = Me(D),
|
|
854
|
+
g = Me(D), b = Me(A), v = X(D, g, 1), d = X(A, b, 1);
|
|
834
855
|
} else
|
|
835
856
|
N(1);
|
|
836
857
|
else {
|
|
837
|
-
var
|
|
858
|
+
var S = Ve(u) + 4, B = r[S - 4] | r[S - 3] << 8, p = S + B;
|
|
838
859
|
if (p > s) {
|
|
839
|
-
|
|
860
|
+
l && N(0);
|
|
840
861
|
break;
|
|
841
862
|
}
|
|
842
|
-
|
|
863
|
+
a && f(h + B), n.set(r.subarray(S, p), h), e.b = h += B, e.p = u = p * 8, e.f = c;
|
|
843
864
|
continue;
|
|
844
865
|
}
|
|
845
866
|
if (u > I) {
|
|
846
|
-
|
|
867
|
+
l && N(0);
|
|
847
868
|
break;
|
|
848
869
|
}
|
|
849
870
|
}
|
|
850
|
-
|
|
851
|
-
for (var
|
|
852
|
-
var E =
|
|
871
|
+
a && f(h + 131072);
|
|
872
|
+
for (var he = (1 << g) - 1, G = (1 << b) - 1, Z = u; ; Z = u) {
|
|
873
|
+
var E = v[Ee(r, u) & he], L = E >> 4;
|
|
853
874
|
if (u += E & 15, u > I) {
|
|
854
|
-
|
|
875
|
+
l && N(0);
|
|
855
876
|
break;
|
|
856
877
|
}
|
|
857
|
-
if (E || N(2),
|
|
858
|
-
n[
|
|
859
|
-
else if (
|
|
860
|
-
Z = u,
|
|
878
|
+
if (E || N(2), L < 256)
|
|
879
|
+
n[h++] = L;
|
|
880
|
+
else if (L == 256) {
|
|
881
|
+
Z = u, v = null;
|
|
861
882
|
break;
|
|
862
883
|
} else {
|
|
863
|
-
var j =
|
|
864
|
-
if (
|
|
865
|
-
var T =
|
|
866
|
-
j = Y(r, u, (1 <<
|
|
884
|
+
var j = L - 254;
|
|
885
|
+
if (L > 264) {
|
|
886
|
+
var T = L - 257, P = Fe[T];
|
|
887
|
+
j = Y(r, u, (1 << P) - 1) + ir[T], u += P;
|
|
867
888
|
}
|
|
868
|
-
var K = d[Ee(r, u) &
|
|
889
|
+
var K = d[Ee(r, u) & G], ae = K >> 4;
|
|
869
890
|
K || N(3), u += K & 15;
|
|
870
|
-
var A = xr[
|
|
871
|
-
if (
|
|
872
|
-
var
|
|
873
|
-
A += Ee(r, u) & (1 <<
|
|
891
|
+
var A = xr[ae];
|
|
892
|
+
if (ae > 3) {
|
|
893
|
+
var P = Re[ae];
|
|
894
|
+
A += Ee(r, u) & (1 << P) - 1, u += P;
|
|
874
895
|
}
|
|
875
896
|
if (u > I) {
|
|
876
|
-
|
|
897
|
+
l && N(0);
|
|
877
898
|
break;
|
|
878
899
|
}
|
|
879
|
-
|
|
880
|
-
var ce =
|
|
881
|
-
if (
|
|
900
|
+
a && f(h + 131072);
|
|
901
|
+
var ce = h + j;
|
|
902
|
+
if (h < A) {
|
|
882
903
|
var ye = o - A, xe = Math.min(A, ce);
|
|
883
|
-
for (ye +
|
|
884
|
-
n[
|
|
904
|
+
for (ye + h < 0 && N(3); h < xe; ++h)
|
|
905
|
+
n[h] = t[ye + h];
|
|
885
906
|
}
|
|
886
|
-
for (;
|
|
887
|
-
n[
|
|
907
|
+
for (; h < ce; ++h)
|
|
908
|
+
n[h] = n[h - A];
|
|
888
909
|
}
|
|
889
910
|
}
|
|
890
|
-
e.l =
|
|
911
|
+
e.l = v, e.p = Z, e.b = h, e.f = c, v && (c = 1, e.m = g, e.d = d, e.n = b);
|
|
891
912
|
} while (!c);
|
|
892
|
-
return
|
|
913
|
+
return h != n.length && i ? me(n, 0, h) : n.subarray(0, h);
|
|
893
914
|
}, _ = function(r, e, n) {
|
|
894
915
|
n <<= e & 7;
|
|
895
916
|
var t = e / 8 | 0;
|
|
896
917
|
r[t] |= n, r[t + 1] |= n >> 8;
|
|
897
|
-
},
|
|
918
|
+
}, we = function(r, e, n) {
|
|
898
919
|
n <<= e & 7;
|
|
899
920
|
var t = e / 8 | 0;
|
|
900
921
|
r[t] |= n, r[t + 1] |= n >> 8, r[t + 2] |= n >> 16;
|
|
@@ -905,165 +926,165 @@ var Sr = /* @__PURE__ */ X(te, 9, 0), Pr = /* @__PURE__ */ X(te, 9, 1), Br = /*
|
|
|
905
926
|
if (!s)
|
|
906
927
|
return { t: cr, l: 0 };
|
|
907
928
|
if (s == 1) {
|
|
908
|
-
var
|
|
909
|
-
return
|
|
929
|
+
var i = new R(n[0].s + 1);
|
|
930
|
+
return i[n[0].s] = 1, { t: i, l: 1 };
|
|
910
931
|
}
|
|
911
932
|
n.sort(function(p, C) {
|
|
912
933
|
return p.f - C.f;
|
|
913
934
|
}), n.push({ s: -1, f: 25001 });
|
|
914
|
-
var
|
|
915
|
-
for (n[0] = { s: -1, f:
|
|
916
|
-
|
|
917
|
-
for (var
|
|
918
|
-
o[t].s >
|
|
919
|
-
var
|
|
935
|
+
var a = n[0], l = n[1], f = 0, c = 1, u = 2;
|
|
936
|
+
for (n[0] = { s: -1, f: a.f + l.f, l: a, r: l }; c != s - 1; )
|
|
937
|
+
a = n[n[f].f < n[u].f ? f++ : u++], l = n[f != c && n[f].f < n[u].f ? f++ : u++], n[c++] = { s: -1, f: a.f + l.f, l: a, r: l };
|
|
938
|
+
for (var h = o[0].s, t = 1; t < s; ++t)
|
|
939
|
+
o[t].s > h && (h = o[t].s);
|
|
940
|
+
var v = new q(h + 1), d = $e(n[c - 1], v, 0);
|
|
920
941
|
if (d > e) {
|
|
921
|
-
var t = 0, g = 0,
|
|
942
|
+
var t = 0, g = 0, b = d - e, I = 1 << b;
|
|
922
943
|
for (o.sort(function(C, F) {
|
|
923
|
-
return
|
|
944
|
+
return v[F.s] - v[C.s] || C.f - F.f;
|
|
924
945
|
}); t < s; ++t) {
|
|
925
946
|
var y = o[t].s;
|
|
926
|
-
if (
|
|
927
|
-
g += I - (1 << d -
|
|
947
|
+
if (v[y] > e)
|
|
948
|
+
g += I - (1 << d - v[y]), v[y] = e;
|
|
928
949
|
else
|
|
929
950
|
break;
|
|
930
951
|
}
|
|
931
|
-
for (g >>=
|
|
932
|
-
var
|
|
933
|
-
|
|
952
|
+
for (g >>= b; g > 0; ) {
|
|
953
|
+
var S = o[t].s;
|
|
954
|
+
v[S] < e ? g -= 1 << e - v[S]++ - 1 : ++t;
|
|
934
955
|
}
|
|
935
956
|
for (; t >= 0 && g; --t) {
|
|
936
957
|
var B = o[t].s;
|
|
937
|
-
|
|
958
|
+
v[B] == e && (--v[B], ++g);
|
|
938
959
|
}
|
|
939
960
|
d = e;
|
|
940
961
|
}
|
|
941
|
-
return { t: new R(
|
|
962
|
+
return { t: new R(v), l: d };
|
|
942
963
|
}, $e = function(r, e, n) {
|
|
943
964
|
return r.s == -1 ? Math.max($e(r.l, e, n + 1), $e(r.r, e, n + 1)) : e[r.s] = n;
|
|
944
965
|
}, Ke = function(r) {
|
|
945
966
|
for (var e = r.length; e && !r[--e]; )
|
|
946
967
|
;
|
|
947
|
-
for (var n = new
|
|
948
|
-
n[t++] =
|
|
949
|
-
},
|
|
950
|
-
if (r[
|
|
968
|
+
for (var n = new q(++e), t = 0, s = r[0], o = 1, i = function(l) {
|
|
969
|
+
n[t++] = l;
|
|
970
|
+
}, a = 1; a <= e; ++a)
|
|
971
|
+
if (r[a] == s && a != e)
|
|
951
972
|
++o;
|
|
952
973
|
else {
|
|
953
974
|
if (!s && o > 2) {
|
|
954
975
|
for (; o > 138; o -= 138)
|
|
955
|
-
|
|
956
|
-
o > 2 && (
|
|
976
|
+
i(32754);
|
|
977
|
+
o > 2 && (i(o > 10 ? o - 11 << 5 | 28690 : o - 3 << 5 | 12305), o = 0);
|
|
957
978
|
} else if (o > 3) {
|
|
958
|
-
for (
|
|
959
|
-
|
|
960
|
-
o > 2 && (
|
|
979
|
+
for (i(s), --o; o > 6; o -= 6)
|
|
980
|
+
i(8304);
|
|
981
|
+
o > 2 && (i(o - 3 << 5 | 8208), o = 0);
|
|
961
982
|
}
|
|
962
983
|
for (; o--; )
|
|
963
|
-
|
|
964
|
-
o = 1, s = r[
|
|
984
|
+
i(s);
|
|
985
|
+
o = 1, s = r[a];
|
|
965
986
|
}
|
|
966
987
|
return { c: n.subarray(0, t), n: e };
|
|
967
|
-
},
|
|
988
|
+
}, be = function(r, e) {
|
|
968
989
|
for (var n = 0, t = 0; t < e.length; ++t)
|
|
969
990
|
n += r[t] * e[t];
|
|
970
991
|
return n;
|
|
971
|
-
},
|
|
992
|
+
}, ar = function(r, e, n) {
|
|
972
993
|
var t = n.length, s = Ve(e + 2);
|
|
973
994
|
r[s] = t & 255, r[s + 1] = t >> 8, r[s + 2] = r[s] ^ 255, r[s + 3] = r[s + 1] ^ 255;
|
|
974
995
|
for (var o = 0; o < t; ++o)
|
|
975
996
|
r[s + o + 4] = n[o];
|
|
976
997
|
return (s + 4 + t) * 8;
|
|
977
|
-
}, Qe = function(r, e, n, t, s, o,
|
|
998
|
+
}, Qe = function(r, e, n, t, s, o, i, a, l, f, c) {
|
|
978
999
|
_(e, c++, n), ++s[256];
|
|
979
|
-
for (var u = Ae(s, 15),
|
|
980
|
-
++F[y[
|
|
981
|
-
for (var
|
|
982
|
-
++F[p[
|
|
1000
|
+
for (var u = Ae(s, 15), h = u.t, v = u.l, d = Ae(o, 15), g = d.t, b = d.l, I = Ke(h), y = I.c, S = I.n, B = Ke(g), p = B.c, C = B.n, F = new q(19), w = 0; w < y.length; ++w)
|
|
1001
|
+
++F[y[w] & 31];
|
|
1002
|
+
for (var w = 0; w < p.length; ++w)
|
|
1003
|
+
++F[p[w] & 31];
|
|
983
1004
|
for (var k = Ae(F, 7), M = k.t, T = k.l, O = 19; O > 4 && !M[We[O - 1]]; --O)
|
|
984
1005
|
;
|
|
985
|
-
var ee = f + 5 << 3,
|
|
986
|
-
if (
|
|
987
|
-
return
|
|
1006
|
+
var ee = f + 5 << 3, U = be(s, te) + be(o, Ie) + i, W = be(s, h) + be(o, g) + i + 14 + 3 * O + be(F, M) + 2 * F[16] + 3 * F[17] + 7 * F[18];
|
|
1007
|
+
if (l >= 0 && ee <= U && ee <= W)
|
|
1008
|
+
return ar(e, c, r.subarray(l, l + f));
|
|
988
1009
|
var E, x, D, A;
|
|
989
|
-
if (_(e, c, 1 + (W <
|
|
990
|
-
E = X(
|
|
991
|
-
var
|
|
992
|
-
_(e, c,
|
|
993
|
-
for (var
|
|
994
|
-
_(e, c + 3 *
|
|
1010
|
+
if (_(e, c, 1 + (W < U)), c += 2, W < U) {
|
|
1011
|
+
E = X(h, v, 0), x = h, D = X(g, b, 0), A = g;
|
|
1012
|
+
var he = X(M, T, 0);
|
|
1013
|
+
_(e, c, S - 257), _(e, c + 5, C - 1), _(e, c + 10, O - 4), c += 14;
|
|
1014
|
+
for (var w = 0; w < O; ++w)
|
|
1015
|
+
_(e, c + 3 * w, M[We[w]]);
|
|
995
1016
|
c += 3 * O;
|
|
996
|
-
for (var
|
|
997
|
-
for (var
|
|
998
|
-
var j =
|
|
999
|
-
_(e, c,
|
|
1017
|
+
for (var G = [y, p], Z = 0; Z < 2; ++Z)
|
|
1018
|
+
for (var L = G[Z], w = 0; w < L.length; ++w) {
|
|
1019
|
+
var j = L[w] & 31;
|
|
1020
|
+
_(e, c, he[j]), c += M[j], j > 15 && (_(e, c, L[w] >> 5 & 127), c += L[w] >> 12);
|
|
1000
1021
|
}
|
|
1001
1022
|
} else
|
|
1002
|
-
E =
|
|
1003
|
-
for (var
|
|
1004
|
-
var
|
|
1005
|
-
if (
|
|
1006
|
-
var j =
|
|
1007
|
-
|
|
1008
|
-
var K =
|
|
1009
|
-
|
|
1023
|
+
E = Pr, x = te, D = Br, A = Ie;
|
|
1024
|
+
for (var w = 0; w < a; ++w) {
|
|
1025
|
+
var P = t[w];
|
|
1026
|
+
if (P > 255) {
|
|
1027
|
+
var j = P >> 18 & 31;
|
|
1028
|
+
we(e, c, E[j + 257]), c += x[j + 257], j > 7 && (_(e, c, P >> 23 & 31), c += Fe[j]);
|
|
1029
|
+
var K = P & 31;
|
|
1030
|
+
we(e, c, D[K]), c += A[K], K > 3 && (we(e, c, P >> 5 & 8191), c += Re[K]);
|
|
1010
1031
|
} else
|
|
1011
|
-
|
|
1032
|
+
we(e, c, E[P]), c += x[P];
|
|
1012
1033
|
}
|
|
1013
|
-
return
|
|
1034
|
+
return we(e, c, E[256]), c + x[256];
|
|
1014
1035
|
}, pr = /* @__PURE__ */ new Ge([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), cr = /* @__PURE__ */ new R(0), Cr = function(r, e, n, t, s, o) {
|
|
1015
|
-
var
|
|
1036
|
+
var i = o.z || r.length, a = new R(t + i + 5 * (1 + Math.ceil(i / 7e3)) + s), l = a.subarray(t, a.length - s), f = o.l, c = (o.r || 0) & 7;
|
|
1016
1037
|
if (e) {
|
|
1017
|
-
c && (
|
|
1018
|
-
for (var u = pr[e - 1],
|
|
1038
|
+
c && (l[0] = o.r >> 3);
|
|
1039
|
+
for (var u = pr[e - 1], h = u >> 13, v = u & 8191, d = (1 << n) - 1, g = o.p || new q(32768), b = o.h || new q(d + 1), I = Math.ceil(n / 3), y = 2 * I, S = function(Te) {
|
|
1019
1040
|
return (r[Te] ^ r[Te + 1] << I ^ r[Te + 2] << y) & d;
|
|
1020
|
-
}, B = new Ge(25e3), p = new
|
|
1021
|
-
var ee =
|
|
1022
|
-
if (g[
|
|
1023
|
-
var E =
|
|
1041
|
+
}, B = new Ge(25e3), p = new q(288), C = new q(32), F = 0, w = 0, k = o.i || 0, M = 0, T = o.w || 0, O = 0; k + 2 < i; ++k) {
|
|
1042
|
+
var ee = S(k), U = k & 32767, W = b[ee];
|
|
1043
|
+
if (g[U] = W, b[ee] = U, T <= k) {
|
|
1044
|
+
var E = i - k;
|
|
1024
1045
|
if ((F > 7e3 || M > 24576) && (E > 423 || !f)) {
|
|
1025
|
-
c = Qe(r,
|
|
1046
|
+
c = Qe(r, l, 0, B, p, C, w, M, O, k - O, c), M = F = w = 0, O = k;
|
|
1026
1047
|
for (var x = 0; x < 286; ++x)
|
|
1027
1048
|
p[x] = 0;
|
|
1028
1049
|
for (var x = 0; x < 30; ++x)
|
|
1029
1050
|
C[x] = 0;
|
|
1030
1051
|
}
|
|
1031
|
-
var D = 2, A = 0,
|
|
1032
|
-
if (E > 2 && ee ==
|
|
1033
|
-
for (var Z = Math.min(
|
|
1034
|
-
if (r[k + D] == r[k + D -
|
|
1035
|
-
for (var
|
|
1052
|
+
var D = 2, A = 0, he = v, G = U - W & 32767;
|
|
1053
|
+
if (E > 2 && ee == S(k - G))
|
|
1054
|
+
for (var Z = Math.min(h, E) - 1, L = Math.min(32767, k), j = Math.min(258, E); G <= L && --he && U != W; ) {
|
|
1055
|
+
if (r[k + D] == r[k + D - G]) {
|
|
1056
|
+
for (var P = 0; P < j && r[k + P] == r[k + P - G]; ++P)
|
|
1036
1057
|
;
|
|
1037
|
-
if (
|
|
1038
|
-
if (D =
|
|
1058
|
+
if (P > D) {
|
|
1059
|
+
if (D = P, A = G, P > Z)
|
|
1039
1060
|
break;
|
|
1040
|
-
for (var K = Math.min(
|
|
1041
|
-
var ce = k -
|
|
1042
|
-
xe >
|
|
1061
|
+
for (var K = Math.min(G, P - 2), ae = 0, x = 0; x < K; ++x) {
|
|
1062
|
+
var ce = k - G + x & 32767, ye = g[ce], xe = ce - ye & 32767;
|
|
1063
|
+
xe > ae && (ae = xe, W = ce);
|
|
1043
1064
|
}
|
|
1044
1065
|
}
|
|
1045
1066
|
}
|
|
1046
|
-
|
|
1067
|
+
U = W, W = g[U], G += U - W & 32767;
|
|
1047
1068
|
}
|
|
1048
1069
|
if (A) {
|
|
1049
1070
|
B[M++] = 268435456 | De[D] << 18 | Je[A];
|
|
1050
|
-
var
|
|
1051
|
-
|
|
1071
|
+
var ve = De[D] & 31, de = Je[A] & 31;
|
|
1072
|
+
w += Fe[ve] + Re[de], ++p[257 + ve], ++C[de], T = k + D, ++F;
|
|
1052
1073
|
} else
|
|
1053
1074
|
B[M++] = r[k], ++p[r[k]];
|
|
1054
1075
|
}
|
|
1055
1076
|
}
|
|
1056
|
-
for (k = Math.max(k, T); k <
|
|
1077
|
+
for (k = Math.max(k, T); k < i; ++k)
|
|
1057
1078
|
B[M++] = r[k], ++p[r[k]];
|
|
1058
|
-
c = Qe(r,
|
|
1079
|
+
c = Qe(r, l, f, B, p, C, w, M, O, k - O, c), f || (o.r = c & 7 | l[c / 8 | 0] << 3, c -= 7, o.h = b, o.p = g, o.i = k, o.w = T);
|
|
1059
1080
|
} else {
|
|
1060
|
-
for (var k = o.w || 0; k <
|
|
1081
|
+
for (var k = o.w || 0; k < i + f; k += 65535) {
|
|
1061
1082
|
var fe = k + 65535;
|
|
1062
|
-
fe >=
|
|
1083
|
+
fe >= i && (l[c / 8 | 0] = f, fe = i), c = ar(l, c + 1, r.subarray(k, fe));
|
|
1063
1084
|
}
|
|
1064
|
-
o.i =
|
|
1085
|
+
o.i = i;
|
|
1065
1086
|
}
|
|
1066
|
-
return me(
|
|
1087
|
+
return me(a, 0, t + Ve(c) + s);
|
|
1067
1088
|
}, Mr = /* @__PURE__ */ (function() {
|
|
1068
1089
|
for (var r = new Int32Array(256), e = 0; e < 256; ++e) {
|
|
1069
1090
|
for (var n = e, t = 9; --t; )
|
|
@@ -1085,8 +1106,8 @@ var Sr = /* @__PURE__ */ X(te, 9, 0), Pr = /* @__PURE__ */ X(te, 9, 1), Br = /*
|
|
|
1085
1106
|
};
|
|
1086
1107
|
}, Ar = function(r, e, n, t, s) {
|
|
1087
1108
|
if (!s && (s = { l: 1 }, e.dictionary)) {
|
|
1088
|
-
var o = e.dictionary.subarray(-32768),
|
|
1089
|
-
|
|
1109
|
+
var o = e.dictionary.subarray(-32768), i = new R(o.length + r.length);
|
|
1110
|
+
i.set(o), i.set(r, o.length), r = i, s.w = o.length;
|
|
1090
1111
|
}
|
|
1091
1112
|
return Cr(r, e.level == null ? 6 : e.level, e.mem == null ? s.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(r.length))) * 1.5) : 20 : 12 + e.mem, n, t, s);
|
|
1092
1113
|
}, fr = function(r, e) {
|
|
@@ -1114,8 +1135,8 @@ function Or(r, e) {
|
|
|
1114
1135
|
}
|
|
1115
1136
|
var ur = function(r, e, n, t) {
|
|
1116
1137
|
for (var s in r) {
|
|
1117
|
-
var o = r[s],
|
|
1118
|
-
Array.isArray(o) && (
|
|
1138
|
+
var o = r[s], i = e + s, a = t;
|
|
1139
|
+
Array.isArray(o) && (a = fr(t, o[1]), o = o[0]), ArrayBuffer.isView(o) ? n[i] = [o, a] : (n[i += "/"] = [new R(0), a], ur(o, i, n, t));
|
|
1119
1140
|
}
|
|
1120
1141
|
}, Xe = typeof TextEncoder < "u" && /* @__PURE__ */ new TextEncoder(), Ue = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), Nr = 0;
|
|
1121
1142
|
try {
|
|
@@ -1134,15 +1155,15 @@ function Ze(r, e) {
|
|
|
1134
1155
|
var n;
|
|
1135
1156
|
if (Xe)
|
|
1136
1157
|
return Xe.encode(r);
|
|
1137
|
-
for (var t = r.length, s = new R(r.length + (r.length >> 1)), o = 0,
|
|
1158
|
+
for (var t = r.length, s = new R(r.length + (r.length >> 1)), o = 0, i = function(f) {
|
|
1138
1159
|
s[o++] = f;
|
|
1139
1160
|
}, n = 0; n < t; ++n) {
|
|
1140
1161
|
if (o + 5 > s.length) {
|
|
1141
|
-
var
|
|
1142
|
-
|
|
1162
|
+
var a = new R(o + 8 + (t - n << 1));
|
|
1163
|
+
a.set(s), s = a;
|
|
1143
1164
|
}
|
|
1144
|
-
var
|
|
1145
|
-
|
|
1165
|
+
var l = r.charCodeAt(n);
|
|
1166
|
+
l < 128 || e ? i(l) : l < 2048 ? (i(192 | l >> 6), i(128 | l & 63)) : l > 55295 && l < 57344 ? (l = 65536 + (l & 1047552) | r.charCodeAt(++n) & 1023, i(240 | l >> 18), i(128 | l >> 12 & 63), i(128 | l >> 6 & 63), i(128 | l & 63)) : (i(224 | l >> 12), i(128 | l >> 6 & 63), i(128 | l & 63));
|
|
1146
1167
|
}
|
|
1147
1168
|
return me(s, 0, o);
|
|
1148
1169
|
}
|
|
@@ -1161,23 +1182,23 @@ function Dr(r, e) {
|
|
|
1161
1182
|
var Hr = function(r, e) {
|
|
1162
1183
|
return e + 30 + Q(r, e + 26) + Q(r, e + 28);
|
|
1163
1184
|
}, $r = function(r, e, n) {
|
|
1164
|
-
var t = Q(r, e + 28), s = Q(r, e + 30), o = Dr(r.subarray(e + 46, e + 46 + t), !(Q(r, e + 8) & 2048)),
|
|
1165
|
-
return [Q(r, e + 10),
|
|
1166
|
-
}, Ur = function(r, e, n, t, s, o,
|
|
1167
|
-
var
|
|
1185
|
+
var t = Q(r, e + 28), s = Q(r, e + 30), o = Dr(r.subarray(e + 46, e + 46 + t), !(Q(r, e + 8) & 2048)), i = e + 46 + t, a = Ur(r, i, s, n, V(r, e + 20), V(r, e + 24), V(r, e + 42)), l = a[0], f = a[1], c = a[2];
|
|
1186
|
+
return [Q(r, e + 10), l, f, o, i + s + Q(r, e + 32), c];
|
|
1187
|
+
}, Ur = function(r, e, n, t, s, o, i) {
|
|
1188
|
+
var a = s == 4294967295, l = o == 4294967295, f = i == 4294967295, c = e + n, u = a + l + f;
|
|
1168
1189
|
if (t && u) {
|
|
1169
1190
|
for (; e + 4 < c; e += 4 + Q(r, e + 2))
|
|
1170
1191
|
if (Q(r, e) == 1)
|
|
1171
1192
|
return [
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
f ? ze(r, e + 4 + 8 * (
|
|
1193
|
+
a ? ze(r, e + 4 + 8 * l) : s,
|
|
1194
|
+
l ? ze(r, e + 4) : o,
|
|
1195
|
+
f ? ze(r, e + 4 + 8 * (l + a)) : i,
|
|
1175
1196
|
1
|
|
1176
1197
|
];
|
|
1177
1198
|
t < 2 && N(13);
|
|
1178
1199
|
}
|
|
1179
|
-
return [s, o,
|
|
1180
|
-
},
|
|
1200
|
+
return [s, o, i, 0];
|
|
1201
|
+
}, Le = function(r) {
|
|
1181
1202
|
var e = 0;
|
|
1182
1203
|
if (r)
|
|
1183
1204
|
for (var n in r) {
|
|
@@ -1185,17 +1206,17 @@ var Hr = function(r, e) {
|
|
|
1185
1206
|
t > 65535 && N(9), e += t + 4;
|
|
1186
1207
|
}
|
|
1187
1208
|
return e;
|
|
1188
|
-
}, _e = function(r, e, n, t, s, o,
|
|
1189
|
-
var
|
|
1190
|
-
z(r, e,
|
|
1191
|
-
var
|
|
1192
|
-
if ((
|
|
1209
|
+
}, _e = function(r, e, n, t, s, o, i, a) {
|
|
1210
|
+
var l = t.length, f = n.extra, c = a && a.length, u = Le(f);
|
|
1211
|
+
z(r, e, i != null ? 33639248 : 67324752), e += 4, i != null && (r[e++] = 20, r[e++] = n.os), r[e] = 20, e += 2, r[e++] = n.flag << 1 | (o < 0 && 8), r[e++] = s && 8, r[e++] = n.compression & 255, r[e++] = n.compression >> 8;
|
|
1212
|
+
var h = new Date(n.mtime == null ? Date.now() : n.mtime), v = h.getFullYear() - 1980;
|
|
1213
|
+
if ((v < 0 || v > 119) && N(10), z(r, e, v << 25 | h.getMonth() + 1 << 21 | h.getDate() << 16 | h.getHours() << 11 | h.getMinutes() << 5 | h.getSeconds() >> 1), e += 4, o != -1 && (z(r, e, n.crc), z(r, e + 4, o < 0 ? -o - 2 : o), z(r, e + 8, n.size)), z(r, e + 12, l), z(r, e + 14, u), e += 16, i != null && (z(r, e, c), z(r, e + 6, n.attrs), z(r, e + 10, i), e += 14), r.set(t, e), e += l, u)
|
|
1193
1214
|
for (var d in f) {
|
|
1194
|
-
var g = f[d],
|
|
1195
|
-
z(r, e, +d), z(r, e + 2,
|
|
1215
|
+
var g = f[d], b = g.length;
|
|
1216
|
+
z(r, e, +d), z(r, e + 2, b), r.set(g, e + 4), e += 4 + b;
|
|
1196
1217
|
}
|
|
1197
|
-
return c && (r.set(
|
|
1198
|
-
},
|
|
1218
|
+
return c && (r.set(a, e), e += c), e;
|
|
1219
|
+
}, Lr = function(r, e, n, t, s) {
|
|
1199
1220
|
z(r, e, 101010256), z(r, e + 8, n), z(r, e + 10, n), z(r, e + 12, t), z(r, e + 16, s);
|
|
1200
1221
|
};
|
|
1201
1222
|
function rn(r, e) {
|
|
@@ -1203,28 +1224,28 @@ function rn(r, e) {
|
|
|
1203
1224
|
var n = {}, t = [];
|
|
1204
1225
|
ur(r, "", n, e);
|
|
1205
1226
|
var s = 0, o = 0;
|
|
1206
|
-
for (var
|
|
1207
|
-
var
|
|
1208
|
-
|
|
1209
|
-
var I = c ? zr(
|
|
1210
|
-
|
|
1211
|
-
size:
|
|
1212
|
-
crc:
|
|
1227
|
+
for (var i in n) {
|
|
1228
|
+
var a = n[i], l = a[0], f = a[1], c = f.level == 0 ? 0 : 8, u = Ze(i), h = u.length, v = f.comment, d = v && Ze(v), g = d && d.length, b = Le(f.extra);
|
|
1229
|
+
h > 65535 && N(11);
|
|
1230
|
+
var I = c ? zr(l, f) : l, y = I.length, S = Er();
|
|
1231
|
+
S.p(l), t.push(fr(f, {
|
|
1232
|
+
size: l.length,
|
|
1233
|
+
crc: S.d(),
|
|
1213
1234
|
c: I,
|
|
1214
1235
|
f: u,
|
|
1215
1236
|
m: d,
|
|
1216
|
-
u:
|
|
1237
|
+
u: h != i.length || d && v.length != g,
|
|
1217
1238
|
o: s,
|
|
1218
1239
|
compression: c
|
|
1219
|
-
})), s += 30 +
|
|
1240
|
+
})), s += 30 + h + b + y, o += 76 + 2 * (h + b) + (g || 0) + y;
|
|
1220
1241
|
}
|
|
1221
1242
|
for (var B = new R(o + 22), p = s, C = o - s, F = 0; F < t.length; ++F) {
|
|
1222
1243
|
var u = t[F];
|
|
1223
1244
|
_e(B, u.o, u, u.f, u.u, u.c.length);
|
|
1224
|
-
var
|
|
1225
|
-
B.set(u.c, u.o +
|
|
1245
|
+
var w = 30 + u.f.length + Le(u.extra);
|
|
1246
|
+
B.set(u.c, u.o + w), _e(B, s, u, u.f, u.u, u.c.length, u.o, u.m), s += 16 + w + (u.m ? u.m.length : 0);
|
|
1226
1247
|
}
|
|
1227
|
-
return
|
|
1248
|
+
return Lr(B, s, t.length, C, p), B;
|
|
1228
1249
|
}
|
|
1229
1250
|
function nn(r, e) {
|
|
1230
1251
|
for (var n = {}, t = r.length - 22; V(r, t) != 101010256; --t)
|
|
@@ -1232,53 +1253,53 @@ function nn(r, e) {
|
|
|
1232
1253
|
var s = Q(r, t + 8);
|
|
1233
1254
|
if (!s)
|
|
1234
1255
|
return {};
|
|
1235
|
-
var o = V(r, t + 16),
|
|
1236
|
-
if (
|
|
1237
|
-
var
|
|
1238
|
-
|
|
1256
|
+
var o = V(r, t + 16), i = V(r, t - 20) == 117853008;
|
|
1257
|
+
if (i) {
|
|
1258
|
+
var a = V(r, t - 12);
|
|
1259
|
+
i = V(r, a) == 101075792, i && (s = V(r, a + 32), o = V(r, a + 48));
|
|
1239
1260
|
}
|
|
1240
|
-
for (var
|
|
1241
|
-
var c = $r(r, o,
|
|
1242
|
-
o = g, (!
|
|
1261
|
+
for (var l = e && e.filter, f = 0; f < s; ++f) {
|
|
1262
|
+
var c = $r(r, o, i), u = c[0], h = c[1], v = c[2], d = c[3], g = c[4], b = c[5], I = Hr(r, b);
|
|
1263
|
+
o = g, (!l || l({
|
|
1243
1264
|
name: d,
|
|
1244
|
-
size:
|
|
1245
|
-
originalSize:
|
|
1265
|
+
size: h,
|
|
1266
|
+
originalSize: v,
|
|
1246
1267
|
compression: u
|
|
1247
|
-
})) && (u ? u == 8 ? n[d] = Or(r.subarray(I, I +
|
|
1268
|
+
})) && (u ? u == 8 ? n[d] = Or(r.subarray(I, I + h), { out: new R(v) }) : N(14, "unknown compression type " + u) : n[d] = me(r, I, I + h));
|
|
1248
1269
|
}
|
|
1249
1270
|
return n;
|
|
1250
1271
|
}
|
|
1251
1272
|
export {
|
|
1252
1273
|
ne as A,
|
|
1253
|
-
|
|
1254
|
-
|
|
1274
|
+
je as B,
|
|
1275
|
+
hr as C,
|
|
1255
1276
|
Qr as D,
|
|
1256
1277
|
Xr as E,
|
|
1257
1278
|
Ce as F,
|
|
1258
1279
|
Dr as a,
|
|
1259
1280
|
en as b,
|
|
1260
|
-
|
|
1281
|
+
vr as c,
|
|
1261
1282
|
Zr as d,
|
|
1262
1283
|
Gr as e,
|
|
1263
1284
|
dr as f,
|
|
1264
1285
|
yr as g,
|
|
1265
|
-
|
|
1286
|
+
$ as h,
|
|
1266
1287
|
Vr as i,
|
|
1267
1288
|
tr as j,
|
|
1268
1289
|
Jr as k,
|
|
1269
|
-
|
|
1290
|
+
Se as l,
|
|
1270
1291
|
_r as m,
|
|
1271
1292
|
Yr as n,
|
|
1272
1293
|
qe as o,
|
|
1273
1294
|
nr as p,
|
|
1274
|
-
|
|
1275
|
-
|
|
1295
|
+
mr as q,
|
|
1296
|
+
jr as r,
|
|
1276
1297
|
Ze as s,
|
|
1277
1298
|
Ne as t,
|
|
1278
1299
|
nn as u,
|
|
1279
|
-
|
|
1300
|
+
gr as v,
|
|
1280
1301
|
rr as w,
|
|
1281
|
-
|
|
1302
|
+
Kr as x,
|
|
1282
1303
|
qr as y,
|
|
1283
1304
|
rn as z
|
|
1284
1305
|
};
|