@silurus/ooxml 0.76.2 → 0.77.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 +144 -32
- package/dist/{canvas-viewer-mechanics-CwVSOYke.js → canvas-viewer-mechanics-D5zXbOrS.js} +319 -153
- package/dist/{document-pull-client-B-3_7_YS.js → document-pull-client-CC8pPuzi.js} +2361 -2253
- package/dist/{docx-C6B98B4-.js → docx-Dg9N9OX4.js} +623 -202
- package/dist/docx.mjs +4 -4
- package/dist/docx_parser_bg.wasm +0 -0
- package/dist/index.mjs +3 -3
- package/dist/{line-distribute-C1r2zvji.js → line-distribute-BtfPlM2A.js} +133 -72
- package/dist/{line-metrics-BdCACYlq.js → line-metrics-B66x33iy.js} +1446 -1340
- package/dist/node.mjs +7 -7
- package/dist/pptx-BFP7Isgf.js +2123 -0
- package/dist/pptx.mjs +5 -5
- package/dist/pptx_parser_bg.wasm +0 -0
- package/dist/{render-CLcpSi0m.js → render-D-cOpMLV.js} +1 -1
- package/dist/render-worker-host-BzpMoFRr.js +27 -0
- package/dist/render-worker-host-CdZ5hW2X.js +27 -0
- package/dist/render-worker-host-quqYq02i.js +27 -0
- package/dist/{resource-measurement-E_S_iau4.js → resource-measurement-CVfVTQrt.js} +1 -1
- package/dist/{session-B4Y54cbT.js → session-DxAVpIP-.js} +2 -2
- package/dist/{slide-pull-client-WCuYCjio.js → slide-pull-client-Lag44QA8.js} +1173 -876
- package/dist/types/docx.d.ts +172 -28
- package/dist/types/index.d.ts +498 -88
- package/dist/types/node.d.ts +133 -22
- package/dist/types/pptx.d.ts +166 -10
- package/dist/types/xlsx.d.ts +248 -54
- package/dist/{worksheet-pull-client-YzjJMOns.js → worksheet-pull-client-D74b_23i.js} +2 -2
- package/dist/{xlsx-EykJ9tPV.js → xlsx-Bik59Raj.js} +2090 -1224
- package/dist/xlsx.mjs +5 -5
- package/dist/xlsx_parser_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/pptx-CKAk5e-J.js +0 -1735
- package/dist/render-worker-host-Bkf1jUcW.js +0 -27
- package/dist/render-worker-host-CKOmXdyr.js +0 -27
- package/dist/render-worker-host-Dpv-nKHY.js +0 -27
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hn as e } from "./line-metrics-B66x33iy.js";
|
|
2
2
|
//#region packages/core/src/errors/cfb-sniff.ts
|
|
3
3
|
var t = [
|
|
4
4
|
208,
|
|
@@ -86,20 +86,20 @@ var h = [
|
|
|
86
86
|
177,
|
|
87
87
|
26,
|
|
88
88
|
225
|
|
89
|
-
], g = 4294967290, _ = 4294967294, ee = 512, v = 128, y = 4e6, te = 8e6, b = 65536,
|
|
90
|
-
function
|
|
89
|
+
], g = 4294967290, _ = 4294967294, ee = 512, v = 128, y = 4e6, te = 8e6, b = 65536, ne = 1e6;
|
|
90
|
+
function x(e, t) {
|
|
91
91
|
if (e.length < ee) return null;
|
|
92
92
|
for (let t = 0; t < h.length; t++) if (e[t] !== h[t]) return null;
|
|
93
|
-
let n = new DataView(e.buffer, e.byteOffset, e.byteLength), r =
|
|
93
|
+
let n = new DataView(e.buffer, e.byteOffset, e.byteLength), r = re(n);
|
|
94
94
|
if (r === null) return null;
|
|
95
|
-
let i =
|
|
95
|
+
let i = w(n, e.length, r);
|
|
96
96
|
if (i === null) return null;
|
|
97
|
-
let a =
|
|
97
|
+
let a = ie(n, e.length, r, i, t);
|
|
98
98
|
if (a === null || a.target === null) return null;
|
|
99
99
|
let { target: o, root: s } = a;
|
|
100
|
-
return o.size === 0 ? new Uint8Array() : o.size < r.miniStreamCutoff ? s === null ? null :
|
|
100
|
+
return o.size === 0 ? new Uint8Array() : o.size < r.miniStreamCutoff ? s === null ? null : oe(n, e.length, r, i, s, o) : E(n, e.length, r, i, o.startSector, o.size);
|
|
101
101
|
}
|
|
102
|
-
function
|
|
102
|
+
function re(e) {
|
|
103
103
|
let t = e.getUint16(30, !0);
|
|
104
104
|
if (t !== 9 && t !== 12) return null;
|
|
105
105
|
let n = e.getUint16(32, !0);
|
|
@@ -113,50 +113,50 @@ function ne(e) {
|
|
|
113
113
|
numDifatSectors: e.getUint32(72, !0)
|
|
114
114
|
} : null;
|
|
115
115
|
}
|
|
116
|
-
function
|
|
116
|
+
function S(e, t) {
|
|
117
117
|
return (e + 1) * t;
|
|
118
118
|
}
|
|
119
|
-
function
|
|
119
|
+
function C(e) {
|
|
120
120
|
return e >= 0 && e <= g;
|
|
121
121
|
}
|
|
122
|
-
function
|
|
122
|
+
function w(e, t, n) {
|
|
123
123
|
let { sectorSize: r } = n, i = [];
|
|
124
124
|
for (let t = 0; t < 109; t++) {
|
|
125
125
|
let n = e.getUint32(76 + t * 4, !0);
|
|
126
|
-
|
|
126
|
+
C(n) && i.push(n);
|
|
127
127
|
}
|
|
128
128
|
let a = r / 4 - 1, o = n.firstDifatSector, s = /* @__PURE__ */ new Set(), c = 0;
|
|
129
|
-
for (;
|
|
130
|
-
if (c++ >
|
|
129
|
+
for (; C(o);) {
|
|
130
|
+
if (c++ > ne) return null;
|
|
131
131
|
if (s.has(o)) break;
|
|
132
132
|
s.add(o);
|
|
133
|
-
let n =
|
|
133
|
+
let n = S(o, r);
|
|
134
134
|
if (n < 0 || n + r > t) return null;
|
|
135
135
|
for (let t = 0; t < a; t++) {
|
|
136
136
|
let r = e.getUint32(n + t * 4, !0);
|
|
137
|
-
|
|
137
|
+
C(r) && i.push(r);
|
|
138
138
|
}
|
|
139
139
|
o = e.getUint32(n + a * 4, !0);
|
|
140
140
|
}
|
|
141
141
|
return i;
|
|
142
142
|
}
|
|
143
|
-
function
|
|
143
|
+
function T(e, t, n, r, i) {
|
|
144
144
|
let a = n / 4, o = Math.floor(i / a), s = i % a;
|
|
145
145
|
if (o >= r.length) return null;
|
|
146
146
|
let c = r[o];
|
|
147
|
-
if (!
|
|
148
|
-
let l =
|
|
147
|
+
if (!C(c)) return null;
|
|
148
|
+
let l = S(c, n) + s * 4;
|
|
149
149
|
return l < 0 || l + 4 > t ? null : e.getUint32(l, !0);
|
|
150
150
|
}
|
|
151
|
-
function
|
|
151
|
+
function ie(e, t, n, r, i) {
|
|
152
152
|
let { sectorSize: a } = n, o = Math.floor(a / v);
|
|
153
153
|
if (o < 1) return null;
|
|
154
154
|
let s = null, c = null, l = /* @__PURE__ */ new Set(), u = n.firstDirSector, d = 0, f = 0;
|
|
155
|
-
for (;
|
|
155
|
+
for (; C(u);) {
|
|
156
156
|
if (d++ > y) return null;
|
|
157
157
|
if (l.has(u)) break;
|
|
158
158
|
l.add(u);
|
|
159
|
-
let n =
|
|
159
|
+
let n = S(u, a);
|
|
160
160
|
if (n < 0 || n + a > t) return null;
|
|
161
161
|
for (let t = 0; t < o; t++) {
|
|
162
162
|
if (f++ > b) return {
|
|
@@ -173,12 +173,12 @@ function re(e, t, n, r, i) {
|
|
|
173
173
|
};
|
|
174
174
|
continue;
|
|
175
175
|
}
|
|
176
|
-
|
|
176
|
+
ae(e, r) === i && (s = {
|
|
177
177
|
startSector: o,
|
|
178
178
|
size: l
|
|
179
179
|
});
|
|
180
180
|
}
|
|
181
|
-
let p =
|
|
181
|
+
let p = T(e, t, a, r, u);
|
|
182
182
|
if (p === null) break;
|
|
183
183
|
u = p;
|
|
184
184
|
}
|
|
@@ -187,7 +187,7 @@ function re(e, t, n, r, i) {
|
|
|
187
187
|
root: c
|
|
188
188
|
};
|
|
189
189
|
}
|
|
190
|
-
function
|
|
190
|
+
function ae(e, t) {
|
|
191
191
|
let n = e.getUint16(t + 64, !0);
|
|
192
192
|
if (n < 2 || n > 64) return "";
|
|
193
193
|
let r = n / 2 - 1, i = "";
|
|
@@ -198,56 +198,56 @@ function ie(e, t) {
|
|
|
198
198
|
}
|
|
199
199
|
return i;
|
|
200
200
|
}
|
|
201
|
-
function
|
|
201
|
+
function E(e, t, n, r, i, a) {
|
|
202
202
|
let { sectorSize: o } = n, s = new Uint8Array(a), c = 0, l = i, u = /* @__PURE__ */ new Set(), d = 0;
|
|
203
|
-
for (;
|
|
203
|
+
for (; C(l) && c < a;) {
|
|
204
204
|
if (d++ > y || u.has(l)) return null;
|
|
205
205
|
u.add(l);
|
|
206
|
-
let n =
|
|
206
|
+
let n = S(l, o);
|
|
207
207
|
if (n < 0 || n + o > t) return null;
|
|
208
208
|
let i = Math.min(o, a - c);
|
|
209
209
|
s.set(new Uint8Array(e.buffer, e.byteOffset + n, i), c), c += i;
|
|
210
|
-
let f =
|
|
210
|
+
let f = T(e, t, o, r, l);
|
|
211
211
|
if (f === null) return null;
|
|
212
212
|
l = f;
|
|
213
213
|
}
|
|
214
214
|
return c === a ? s : null;
|
|
215
215
|
}
|
|
216
|
-
function
|
|
217
|
-
let { sectorSize: o, miniSectorSize: s } = n, c =
|
|
216
|
+
function oe(e, t, n, r, i, a) {
|
|
217
|
+
let { sectorSize: o, miniSectorSize: s } = n, c = E(e, t, n, r, i.startSector, i.size);
|
|
218
218
|
if (c === null) return null;
|
|
219
219
|
let l = new Uint8Array(a.size), u = 0, d = a.startSector, f = /* @__PURE__ */ new Set(), p = 0, m = o / 4;
|
|
220
|
-
for (;
|
|
220
|
+
for (; C(d) && u < a.size;) {
|
|
221
221
|
if (p++ > te || f.has(d)) return null;
|
|
222
222
|
f.add(d);
|
|
223
223
|
let i = d * s;
|
|
224
224
|
if (i < 0 || i + s > c.length) return null;
|
|
225
225
|
let o = Math.min(s, a.size - u);
|
|
226
226
|
l.set(c.subarray(i, i + o), u), u += o;
|
|
227
|
-
let h =
|
|
227
|
+
let h = se(e, t, n, r, m, d);
|
|
228
228
|
if (h === null) return null;
|
|
229
229
|
d = h;
|
|
230
230
|
}
|
|
231
231
|
return u === a.size ? l : null;
|
|
232
232
|
}
|
|
233
|
-
function
|
|
233
|
+
function se(e, t, n, r, i, a) {
|
|
234
234
|
let { sectorSize: o } = n, s = Math.floor(a / i), c = a % i, l = n.firstMiniFatSector, u = /* @__PURE__ */ new Set();
|
|
235
235
|
for (let n = 0; n < s; n++) {
|
|
236
|
-
if (!
|
|
236
|
+
if (!C(l) || u.has(l)) return null;
|
|
237
237
|
u.add(l);
|
|
238
|
-
let n =
|
|
238
|
+
let n = T(e, t, o, r, l);
|
|
239
239
|
if (n === null) return null;
|
|
240
240
|
l = n;
|
|
241
241
|
}
|
|
242
|
-
if (!
|
|
243
|
-
let d =
|
|
242
|
+
if (!C(l)) return null;
|
|
243
|
+
let d = S(l, o) + c * 4;
|
|
244
244
|
if (d < 0 || d + 4 > t) return null;
|
|
245
245
|
let f = e.getUint32(d, !0);
|
|
246
246
|
return f === _ ? _ : f;
|
|
247
247
|
}
|
|
248
248
|
//#endregion
|
|
249
249
|
//#region packages/core/src/crypto/encryption-info.ts
|
|
250
|
-
function
|
|
250
|
+
function D(e) {
|
|
251
251
|
if (typeof atob == "function") {
|
|
252
252
|
let t = atob(e), n = new Uint8Array(t.length);
|
|
253
253
|
for (let e = 0; e < t.length; e++) n[e] = t.charCodeAt(e);
|
|
@@ -257,19 +257,19 @@ function k(e) {
|
|
|
257
257
|
if (t) return new Uint8Array(t.from(e, "base64"));
|
|
258
258
|
throw Error("no base64 decoder available");
|
|
259
259
|
}
|
|
260
|
-
function
|
|
260
|
+
function O(e, t, n) {
|
|
261
261
|
let r = RegExp(`<(?:[\\w]+:)?${t}\\b[^>]*>`).exec(e);
|
|
262
262
|
if (!r) return null;
|
|
263
263
|
let i = r[0], a = RegExp(`\\b${n}\\s*=\\s*"([^"]*)"`).exec(i);
|
|
264
264
|
return a ? a[1] : null;
|
|
265
265
|
}
|
|
266
|
-
function
|
|
266
|
+
function k(e) {
|
|
267
267
|
if (e === null) return null;
|
|
268
268
|
let t = Number(e);
|
|
269
269
|
return Number.isFinite(t) ? t : null;
|
|
270
270
|
}
|
|
271
|
-
function
|
|
272
|
-
let n =
|
|
271
|
+
function A(e, t) {
|
|
272
|
+
let n = k(O(e, t, "saltSize")), r = k(O(e, t, "blockSize")), i = k(O(e, t, "keyBits")), a = k(O(e, t, "hashSize")), o = O(e, t, "cipherAlgorithm"), s = O(e, t, "cipherChaining"), c = O(e, t, "hashAlgorithm"), l = O(e, t, "saltValue");
|
|
273
273
|
return n === null || r === null || i === null || a === null || !o || !s || !c || l === null ? null : {
|
|
274
274
|
saltSize: n,
|
|
275
275
|
blockSize: r,
|
|
@@ -278,14 +278,14 @@ function M(e, t) {
|
|
|
278
278
|
cipherAlgorithm: o,
|
|
279
279
|
cipherChaining: s,
|
|
280
280
|
hashAlgorithm: c,
|
|
281
|
-
saltValue:
|
|
281
|
+
saltValue: D(l)
|
|
282
282
|
};
|
|
283
283
|
}
|
|
284
|
-
function
|
|
284
|
+
function j(e) {
|
|
285
285
|
if (e.length < 8) return { kind: "unknown" };
|
|
286
286
|
let t = new DataView(e.buffer, e.byteOffset, e.byteLength), n = t.getUint16(0, !0), r = t.getUint16(2, !0);
|
|
287
287
|
if (n === 4 && r === 4) {
|
|
288
|
-
let t =
|
|
288
|
+
let t = M(e.subarray(8));
|
|
289
289
|
return t ? {
|
|
290
290
|
kind: "agile",
|
|
291
291
|
descriptor: t
|
|
@@ -293,21 +293,21 @@ function N(e) {
|
|
|
293
293
|
}
|
|
294
294
|
return r === 16 && (n === 3 || n === 4) ? { kind: "extensible" } : r === 2 && (n === 2 || n === 3 || n === 4) ? { kind: "standard" } : { kind: "unknown" };
|
|
295
295
|
}
|
|
296
|
-
function
|
|
297
|
-
let t = new TextDecoder("utf-8").decode(e), n =
|
|
296
|
+
function M(e) {
|
|
297
|
+
let t = new TextDecoder("utf-8").decode(e), n = A(t, "keyData"), r = A(t, "encryptedKey");
|
|
298
298
|
if (!n || !r) return null;
|
|
299
|
-
let i =
|
|
299
|
+
let i = k(O(t, "encryptedKey", "spinCount")), a = O(t, "encryptedKey", "encryptedVerifierHashInput"), o = O(t, "encryptedKey", "encryptedVerifierHashValue"), s = O(t, "encryptedKey", "encryptedKeyValue");
|
|
300
300
|
if (i === null || a === null || o === null || s === null) return null;
|
|
301
301
|
let c = {
|
|
302
302
|
...r,
|
|
303
303
|
spinCount: i,
|
|
304
|
-
encryptedVerifierHashInput:
|
|
305
|
-
encryptedVerifierHashValue:
|
|
306
|
-
encryptedKeyValue:
|
|
307
|
-
}, l = null, u =
|
|
304
|
+
encryptedVerifierHashInput: D(a),
|
|
305
|
+
encryptedVerifierHashValue: D(o),
|
|
306
|
+
encryptedKeyValue: D(s)
|
|
307
|
+
}, l = null, u = O(t, "dataIntegrity", "encryptedHmacKey"), d = O(t, "dataIntegrity", "encryptedHmacValue");
|
|
308
308
|
return u !== null && d !== null && (l = {
|
|
309
|
-
encryptedHmacKey:
|
|
310
|
-
encryptedHmacValue:
|
|
309
|
+
encryptedHmacKey: D(u),
|
|
310
|
+
encryptedHmacValue: D(d)
|
|
311
311
|
}), {
|
|
312
312
|
keyData: n,
|
|
313
313
|
passwordKeyEncryptor: c,
|
|
@@ -316,7 +316,7 @@ function P(e) {
|
|
|
316
316
|
}
|
|
317
317
|
//#endregion
|
|
318
318
|
//#region packages/core/src/crypto/agile.ts
|
|
319
|
-
var
|
|
319
|
+
var N = {
|
|
320
320
|
verifierHashInput: new Uint8Array([
|
|
321
321
|
254,
|
|
322
322
|
167,
|
|
@@ -367,120 +367,120 @@ var F = {
|
|
|
367
367
|
132,
|
|
368
368
|
51
|
|
369
369
|
])
|
|
370
|
-
},
|
|
370
|
+
}, ce = 54, P = 4096, F = class extends Error {
|
|
371
371
|
reason;
|
|
372
372
|
constructor(e, t) {
|
|
373
373
|
super(t), this.name = "AgileDecryptError", this.reason = e;
|
|
374
374
|
}
|
|
375
375
|
};
|
|
376
|
-
function
|
|
376
|
+
function I() {
|
|
377
377
|
let e = globalThis.crypto;
|
|
378
|
-
if (!e || !e.subtle) throw new
|
|
378
|
+
if (!e || !e.subtle) throw new F("unsupported-encryption", "WebCrypto (globalThis.crypto.subtle) is unavailable; cannot decrypt.");
|
|
379
379
|
return e.subtle;
|
|
380
380
|
}
|
|
381
|
-
function
|
|
381
|
+
function L(e) {
|
|
382
382
|
switch (e.toUpperCase().replace(/[-_]/g, "")) {
|
|
383
383
|
case "SHA512": return "SHA-512";
|
|
384
384
|
case "SHA384": return "SHA-384";
|
|
385
385
|
case "SHA256": return "SHA-256";
|
|
386
386
|
case "SHA1": return "SHA-1";
|
|
387
|
-
default: throw new
|
|
387
|
+
default: throw new F("unsupported-encryption", `Unsupported hashAlgorithm "${e}" (only SHA-1/256/384/512).`);
|
|
388
388
|
}
|
|
389
389
|
}
|
|
390
|
-
function
|
|
391
|
-
if (e.cipherAlgorithm.toUpperCase() !== "AES") throw new
|
|
392
|
-
if (e.cipherChaining.toLowerCase() !== "chainingmodecbc") throw new
|
|
393
|
-
if (e.keyBits !== 128 && e.keyBits !== 192 && e.keyBits !== 256) throw new
|
|
390
|
+
function R(e) {
|
|
391
|
+
if (e.cipherAlgorithm.toUpperCase() !== "AES") throw new F("unsupported-encryption", `Unsupported cipherAlgorithm "${e.cipherAlgorithm}" (only AES).`);
|
|
392
|
+
if (e.cipherChaining.toLowerCase() !== "chainingmodecbc") throw new F("unsupported-encryption", `Unsupported cipherChaining "${e.cipherChaining}" (only ChainingModeCBC).`);
|
|
393
|
+
if (e.keyBits !== 128 && e.keyBits !== 192 && e.keyBits !== 256) throw new F("unsupported-encryption", `Unsupported keyBits ${e.keyBits} (only 128/192/256).`);
|
|
394
394
|
}
|
|
395
|
-
function
|
|
395
|
+
function z(...e) {
|
|
396
396
|
let t = e.reduce((e, t) => e + t.length, 0), n = new Uint8Array(t), r = 0;
|
|
397
397
|
for (let t of e) n.set(t, r), r += t.length;
|
|
398
398
|
return n;
|
|
399
399
|
}
|
|
400
|
-
function
|
|
400
|
+
function B(e) {
|
|
401
401
|
let t = new Uint8Array(4);
|
|
402
402
|
return new DataView(t.buffer).setUint32(0, e >>> 0, !0), t;
|
|
403
403
|
}
|
|
404
|
-
function
|
|
404
|
+
function le(e) {
|
|
405
405
|
let t = new Uint8Array(e.length * 2), n = new DataView(t.buffer);
|
|
406
406
|
for (let t = 0; t < e.length; t++) n.setUint16(t * 2, e.charCodeAt(t), !0);
|
|
407
407
|
return t;
|
|
408
408
|
}
|
|
409
|
-
async function
|
|
410
|
-
return new Uint8Array(await
|
|
409
|
+
async function V(e, t) {
|
|
410
|
+
return new Uint8Array(await I().digest(e, t));
|
|
411
411
|
}
|
|
412
|
-
function
|
|
412
|
+
function H(e, t) {
|
|
413
413
|
if (e.length > t) return e.slice(0, t);
|
|
414
414
|
let n = new Uint8Array(t);
|
|
415
|
-
return n.set(e), e.length < t && n.fill(
|
|
415
|
+
return n.set(e), e.length < t && n.fill(ce, e.length), n;
|
|
416
416
|
}
|
|
417
|
-
async function
|
|
418
|
-
let i =
|
|
419
|
-
for (let e = 0; e < n; e++) a = await
|
|
420
|
-
return
|
|
417
|
+
async function U(e, t, n, r) {
|
|
418
|
+
let i = L(t.hashAlgorithm), a = await V(i, z(t.saltValue, le(e)));
|
|
419
|
+
for (let e = 0; e < n; e++) a = await V(i, z(B(e), a));
|
|
420
|
+
return H(await V(i, z(a, r)), t.keyBits / 8);
|
|
421
421
|
}
|
|
422
|
-
async function
|
|
423
|
-
return
|
|
422
|
+
async function W(e, t, n) {
|
|
423
|
+
return H(n ? await V(L(e.hashAlgorithm), z(t, n)) : t, e.blockSize);
|
|
424
424
|
}
|
|
425
|
-
async function
|
|
425
|
+
async function G(e, t, n) {
|
|
426
426
|
let r = t.length;
|
|
427
427
|
if (n.length === 0) return new Uint8Array();
|
|
428
|
-
if (n.length % r !== 0) throw new
|
|
429
|
-
let i = await
|
|
428
|
+
if (n.length % r !== 0) throw new F("corrupt", "ciphertext length is not a multiple of the block size");
|
|
429
|
+
let i = await I().importKey("raw", e, { name: "AES-CBC" }, !1, ["decrypt"]), a = await I().importKey("raw", e, { name: "AES-CBC" }, !1, ["encrypt"]), o = n.subarray(n.length - r), s = ue(new Uint8Array(r).fill(r), o), c = z(n, new Uint8Array(await I().encrypt({
|
|
430
430
|
name: "AES-CBC",
|
|
431
431
|
iv: new Uint8Array(r)
|
|
432
|
-
}, a, s)).subarray(0, r)), l = new Uint8Array(await
|
|
432
|
+
}, a, s)).subarray(0, r)), l = new Uint8Array(await I().decrypt({
|
|
433
433
|
name: "AES-CBC",
|
|
434
434
|
iv: t
|
|
435
435
|
}, i, c));
|
|
436
436
|
return l.length >= n.length ? l.subarray(0, n.length) : l;
|
|
437
437
|
}
|
|
438
|
-
function
|
|
438
|
+
function ue(e, t) {
|
|
439
439
|
let n = new Uint8Array(e.length);
|
|
440
440
|
for (let r = 0; r < e.length; r++) n[r] = e[r] ^ t[r];
|
|
441
441
|
return n;
|
|
442
442
|
}
|
|
443
|
-
async function
|
|
444
|
-
|
|
445
|
-
let n =
|
|
446
|
-
return
|
|
443
|
+
async function de(e, t) {
|
|
444
|
+
R(t);
|
|
445
|
+
let n = L(t.hashAlgorithm), r = await G(await U(e, t, t.spinCount, N.verifierHashInput), await W(t, t.saltValue, null), t.encryptedVerifierHashInput), i = await G(await U(e, t, t.spinCount, N.verifierHashValue), await W(t, t.saltValue, null), t.encryptedVerifierHashValue);
|
|
446
|
+
return fe((await V(n, r)).subarray(0, t.hashSize), i.subarray(0, t.hashSize));
|
|
447
447
|
}
|
|
448
|
-
function
|
|
448
|
+
function fe(e, t) {
|
|
449
449
|
if (e.length !== t.length) return !1;
|
|
450
450
|
let n = 0;
|
|
451
451
|
for (let r = 0; r < e.length; r++) n |= e[r] ^ t[r];
|
|
452
452
|
return n === 0;
|
|
453
453
|
}
|
|
454
|
-
async function
|
|
455
|
-
return await
|
|
454
|
+
async function pe(e, t) {
|
|
455
|
+
return await G(await U(e, t, t.spinCount, N.keyValue), await W(t, t.saltValue, null), t.encryptedKeyValue);
|
|
456
456
|
}
|
|
457
|
-
async function
|
|
458
|
-
if (
|
|
457
|
+
async function me(e, t, n) {
|
|
458
|
+
if (R(t), e.length < 8) throw new F("corrupt", "EncryptedPackage is shorter than its size prefix");
|
|
459
459
|
let r = new DataView(e.buffer, e.byteOffset, e.byteLength), i = Number(r.getBigUint64(0, !0)), a = e.subarray(8);
|
|
460
|
-
if (i > a.length) throw new
|
|
460
|
+
if (i > a.length) throw new F("corrupt", "EncryptedPackage size prefix exceeds the ciphertext");
|
|
461
461
|
let o = n.slice(0, t.keyBits / 8), s = new Uint8Array(i), c = 0, l = 0;
|
|
462
|
-
for (let e = 0; e < a.length; e +=
|
|
463
|
-
let n = a.subarray(e, e +
|
|
462
|
+
for (let e = 0; e < a.length; e += P) {
|
|
463
|
+
let n = a.subarray(e, e + P), r = await G(o, await W(t, t.saltValue, B(l)), n), u = Math.min(r.length, i - c);
|
|
464
464
|
if (s.set(r.subarray(0, u), c), c += u, l++, c >= i) break;
|
|
465
465
|
}
|
|
466
|
-
if (c !== i) throw new
|
|
466
|
+
if (c !== i) throw new F("corrupt", "decrypted output is shorter than the declared size");
|
|
467
467
|
return s;
|
|
468
468
|
}
|
|
469
|
-
async function
|
|
469
|
+
async function he(e, t, n) {
|
|
470
470
|
let { keyData: r, passwordKeyEncryptor: i } = e;
|
|
471
|
-
if (
|
|
472
|
-
return
|
|
471
|
+
if (R(r), R(i), !await de(n, i)) throw new F("invalid-password", "The supplied password is incorrect.");
|
|
472
|
+
return me(t, r, await pe(n, i));
|
|
473
473
|
}
|
|
474
474
|
//#endregion
|
|
475
475
|
//#region packages/core/src/crypto/decrypt-ooxml.ts
|
|
476
|
-
var
|
|
477
|
-
async function
|
|
478
|
-
let n =
|
|
476
|
+
var ge = "EncryptionInfo", _e = "EncryptedPackage";
|
|
477
|
+
async function ve(e, t) {
|
|
478
|
+
let n = x(e, ge), r = x(e, _e);
|
|
479
479
|
if (n === null || r === null) return {
|
|
480
480
|
ok: !1,
|
|
481
481
|
reason: "corrupt"
|
|
482
482
|
};
|
|
483
|
-
let i =
|
|
483
|
+
let i = j(n);
|
|
484
484
|
if (i.kind !== "agile") return {
|
|
485
485
|
ok: !1,
|
|
486
486
|
reason: "unsupported-encryption"
|
|
@@ -488,10 +488,10 @@ async function me(e, t) {
|
|
|
488
488
|
try {
|
|
489
489
|
return {
|
|
490
490
|
ok: !0,
|
|
491
|
-
data: await
|
|
491
|
+
data: await he(i.descriptor, r, t)
|
|
492
492
|
};
|
|
493
493
|
} catch (e) {
|
|
494
|
-
return e instanceof
|
|
494
|
+
return e instanceof F ? {
|
|
495
495
|
ok: !1,
|
|
496
496
|
reason: e.reason
|
|
497
497
|
} : {
|
|
@@ -502,7 +502,7 @@ async function me(e, t) {
|
|
|
502
502
|
}
|
|
503
503
|
//#endregion
|
|
504
504
|
//#region packages/core/src/errors/cfb-guard.ts
|
|
505
|
-
function
|
|
505
|
+
function ye(t) {
|
|
506
506
|
let n = l(t instanceof Uint8Array ? t : new Uint8Array(t));
|
|
507
507
|
if (n !== null) switch (n) {
|
|
508
508
|
case "encrypted": throw new e("encrypted", "This file is password-protected (MS-OFFCRYPTO). Pass LoadOptions.password to decrypt it.");
|
|
@@ -511,12 +511,12 @@ function he(t) {
|
|
|
511
511
|
default: throw new e("not-ooxml", "This file is an OLE2/Compound File container of an unrecognised kind, not an OOXML (ZIP) document.");
|
|
512
512
|
}
|
|
513
513
|
}
|
|
514
|
-
async function
|
|
514
|
+
async function be(t, n) {
|
|
515
515
|
let r = t instanceof Uint8Array ? t : new Uint8Array(t), i = l(r);
|
|
516
516
|
if (i === null) return r;
|
|
517
517
|
if (i === "encrypted") {
|
|
518
518
|
if (n === void 0) throw new e("encrypted", "This file is password-protected (MS-OFFCRYPTO). Pass LoadOptions.password to decrypt it.");
|
|
519
|
-
let t = await
|
|
519
|
+
let t = await ve(r, n);
|
|
520
520
|
if (t.ok) return t.data;
|
|
521
521
|
switch (t.reason) {
|
|
522
522
|
case "invalid-password": throw new e("invalid-password", "The supplied password is incorrect.");
|
|
@@ -525,14 +525,14 @@ async function ge(t, n) {
|
|
|
525
525
|
default: throw t.reason, new e("not-ooxml", "This encrypted file could not be decrypted.");
|
|
526
526
|
}
|
|
527
527
|
}
|
|
528
|
-
return
|
|
528
|
+
return ye(r), r;
|
|
529
529
|
}
|
|
530
|
-
function
|
|
530
|
+
function xe(e) {
|
|
531
531
|
return e.byteOffset === 0 && e.byteLength === e.buffer.byteLength && e.buffer instanceof ArrayBuffer ? e.buffer : e.slice().buffer;
|
|
532
532
|
}
|
|
533
533
|
//#endregion
|
|
534
534
|
//#region packages/core/src/autoResize.ts
|
|
535
|
-
function
|
|
535
|
+
function Se(e, t, n = {}) {
|
|
536
536
|
let r = n.pauseWhenHidden ?? !0, i = null, a = 0, o = 0, s = null, c = !1, l = !1, u = () => {
|
|
537
537
|
if (!l && !(r && typeof document < "u" && document.hidden)) {
|
|
538
538
|
if (s) {
|
|
@@ -569,11 +569,11 @@ function ve(e, t, n = {}) {
|
|
|
569
569
|
}
|
|
570
570
|
//#endregion
|
|
571
571
|
//#region packages/core/src/worker/bridge.ts
|
|
572
|
-
function
|
|
572
|
+
function K() {
|
|
573
573
|
let e = /* @__PURE__ */ Error("worker request aborted");
|
|
574
574
|
return e.name = "AbortError", e;
|
|
575
575
|
}
|
|
576
|
-
var
|
|
576
|
+
var Ce = class {
|
|
577
577
|
_worker;
|
|
578
578
|
_opts;
|
|
579
579
|
_pending = /* @__PURE__ */ new Map();
|
|
@@ -630,7 +630,7 @@ var ye = class {
|
|
|
630
630
|
return;
|
|
631
631
|
}
|
|
632
632
|
if (a?.aborted) {
|
|
633
|
-
o("abort"), c(
|
|
633
|
+
o("abort"), c(K());
|
|
634
634
|
return;
|
|
635
635
|
}
|
|
636
636
|
let l, u;
|
|
@@ -646,7 +646,7 @@ var ye = class {
|
|
|
646
646
|
e && (this._pending.delete(r), e.onOrphanedResponse && this._orphaned.set(r, e.onOrphanedResponse), e.cleanup(), o("timeout"), e.reject(/* @__PURE__ */ Error(`worker request timed out after ${i}ms`)));
|
|
647
647
|
}, i)), a && (u = () => {
|
|
648
648
|
let e = this._pending.get(r);
|
|
649
|
-
e && (this._pending.delete(r), e.onOrphanedResponse && this._orphaned.set(r, e.onOrphanedResponse), e.cleanup(), o("abort"), e.reject(
|
|
649
|
+
e && (this._pending.delete(r), e.onOrphanedResponse && this._orphaned.set(r, e.onOrphanedResponse), e.cleanup(), o("abort"), e.reject(K()));
|
|
650
650
|
}, a.addEventListener("abort", u));
|
|
651
651
|
try {
|
|
652
652
|
this._worker.postMessage(e(r), t);
|
|
@@ -687,7 +687,7 @@ var ye = class {
|
|
|
687
687
|
};
|
|
688
688
|
//#endregion
|
|
689
689
|
//#region packages/core/src/worker/rejected-load.ts
|
|
690
|
-
function
|
|
690
|
+
function we(e, t) {
|
|
691
691
|
if (t) try {
|
|
692
692
|
t();
|
|
693
693
|
return;
|
|
@@ -698,17 +698,17 @@ function be(e, t) {
|
|
|
698
698
|
}
|
|
699
699
|
//#endregion
|
|
700
700
|
//#region packages/core/src/interaction/zoom.ts
|
|
701
|
-
var
|
|
702
|
-
function
|
|
703
|
-
return e * Math.exp(-t *
|
|
701
|
+
var Te = .01;
|
|
702
|
+
function Ee(e, t) {
|
|
703
|
+
return e * Math.exp(-t * Te);
|
|
704
704
|
}
|
|
705
|
-
function
|
|
705
|
+
function De(e, t, n, r, i) {
|
|
706
706
|
let a = n > 0 ? r / n : 1, o = (e + t) * a - t, s = i.maxScroll > 0 ? i.maxScroll : 0;
|
|
707
707
|
return o < 0 ? 0 : o > s ? s : o;
|
|
708
708
|
}
|
|
709
709
|
//#endregion
|
|
710
710
|
//#region packages/core/src/interaction/zoomable.ts
|
|
711
|
-
var
|
|
711
|
+
var q = Object.freeze([
|
|
712
712
|
.25,
|
|
713
713
|
.33,
|
|
714
714
|
.5,
|
|
@@ -724,22 +724,22 @@ var Z = Object.freeze([
|
|
|
724
724
|
2.5,
|
|
725
725
|
3,
|
|
726
726
|
4
|
|
727
|
-
]),
|
|
728
|
-
function
|
|
729
|
-
for (let t of
|
|
730
|
-
return
|
|
727
|
+
]), J = .005;
|
|
728
|
+
function Oe(e) {
|
|
729
|
+
for (let t of q) if (t > e + J) return t;
|
|
730
|
+
return q[q.length - 1];
|
|
731
731
|
}
|
|
732
|
-
function
|
|
733
|
-
for (let t =
|
|
734
|
-
let n =
|
|
735
|
-
if (n < e -
|
|
732
|
+
function ke(e) {
|
|
733
|
+
for (let t = q.length - 1; t >= 0; t--) {
|
|
734
|
+
let n = q[t];
|
|
735
|
+
if (n < e - J) return n;
|
|
736
736
|
}
|
|
737
|
-
return
|
|
737
|
+
return q[0];
|
|
738
738
|
}
|
|
739
|
-
function
|
|
739
|
+
function Ae(e, t, n) {
|
|
740
740
|
return e < t ? t : e > n ? n : e;
|
|
741
741
|
}
|
|
742
|
-
function
|
|
742
|
+
function je(e, t) {
|
|
743
743
|
let { contentWidth: n, contentHeight: r, containerWidth: i, containerHeight: a } = e;
|
|
744
744
|
if (n <= 0 || i <= 0) return 0;
|
|
745
745
|
let o = i / n;
|
|
@@ -750,7 +750,7 @@ function De(e, t) {
|
|
|
750
750
|
}
|
|
751
751
|
//#endregion
|
|
752
752
|
//#region packages/core/src/search/text-index.ts
|
|
753
|
-
function
|
|
753
|
+
function Y(e) {
|
|
754
754
|
let t = e.toLowerCase();
|
|
755
755
|
if (t.length === e.length) return t;
|
|
756
756
|
let n = "";
|
|
@@ -760,17 +760,17 @@ function $(e) {
|
|
|
760
760
|
}
|
|
761
761
|
return n;
|
|
762
762
|
}
|
|
763
|
-
function
|
|
763
|
+
function Me(e) {
|
|
764
764
|
let t = Array(e.length), n = 0, r = "";
|
|
765
765
|
for (let i = 0; i < e.length; i++) t[i] = n, r += e[i].text, n += e[i].text.length;
|
|
766
766
|
return {
|
|
767
767
|
text: r,
|
|
768
|
-
folded:
|
|
768
|
+
folded: Y(r),
|
|
769
769
|
runStart: t,
|
|
770
770
|
runCount: e.length
|
|
771
771
|
};
|
|
772
772
|
}
|
|
773
|
-
function
|
|
773
|
+
function Ne(e, t) {
|
|
774
774
|
let { runStart: n } = e, r = 0, i = n.length - 1;
|
|
775
775
|
for (; r < i;) {
|
|
776
776
|
let e = r + i + 1 >> 1;
|
|
@@ -778,8 +778,8 @@ function ke(e, t) {
|
|
|
778
778
|
}
|
|
779
779
|
return r;
|
|
780
780
|
}
|
|
781
|
-
function
|
|
782
|
-
let { runStart: r, runCount: i, text: a } = e, o = [], s =
|
|
781
|
+
function Pe(e, t, n) {
|
|
782
|
+
let { runStart: r, runCount: i, text: a } = e, o = [], s = Ne(e, t), c = t;
|
|
783
783
|
for (; c < n && s < i;) {
|
|
784
784
|
let e = s + 1 < i ? r[s + 1] : a.length, t = Math.min(n, e), l = c - r[s], u = t - r[s];
|
|
785
785
|
u > l && o.push({
|
|
@@ -790,30 +790,184 @@ function Ae(e, t, n) {
|
|
|
790
790
|
}
|
|
791
791
|
return o;
|
|
792
792
|
}
|
|
793
|
-
function
|
|
793
|
+
function Fe(e, t, n = {}) {
|
|
794
794
|
if (t.length === 0) return [];
|
|
795
|
-
let r = n.caseSensitive ?? !1, i = r ? e.text : e.folded, a = r ? t :
|
|
795
|
+
let r = n.caseSensitive ?? !1, i = r ? e.text : e.folded, a = r ? t : Y(t), o = [], s = 0, c = 0;
|
|
796
796
|
for (;;) {
|
|
797
797
|
let t = i.indexOf(a, s);
|
|
798
798
|
if (t === -1) break;
|
|
799
799
|
o.push({
|
|
800
800
|
matchIndex: c,
|
|
801
|
-
slices:
|
|
801
|
+
slices: Pe(e, t, t + a.length)
|
|
802
802
|
}), c++, s = t + a.length;
|
|
803
803
|
}
|
|
804
804
|
return o;
|
|
805
805
|
}
|
|
806
806
|
//#endregion
|
|
807
807
|
//#region packages/core/src/search/find-cursor.ts
|
|
808
|
-
function
|
|
808
|
+
function Ie(e, t) {
|
|
809
809
|
return t <= 0 ? -1 : e < 0 ? 0 : (e + 1) % t;
|
|
810
810
|
}
|
|
811
|
-
function
|
|
811
|
+
function Le(e, t) {
|
|
812
812
|
return t <= 0 ? -1 : e < 0 ? t - 1 : (e - 1 + t) % t;
|
|
813
813
|
}
|
|
814
814
|
//#endregion
|
|
815
|
+
//#region packages/core/src/internal/chart-context.ts
|
|
816
|
+
var X = 65536;
|
|
817
|
+
function Re(e, t) {
|
|
818
|
+
let n = Math.min(e.length, t);
|
|
819
|
+
if (n > 0 && n < e.length) {
|
|
820
|
+
let t = e.charCodeAt(n - 1), r = e.charCodeAt(n);
|
|
821
|
+
t >= 55296 && t <= 56319 && r >= 56320 && r <= 57343 && n--;
|
|
822
|
+
}
|
|
823
|
+
return e.slice(0, n);
|
|
824
|
+
}
|
|
825
|
+
function ze(e) {
|
|
826
|
+
let t = e ?? 16384;
|
|
827
|
+
if (!Number.isFinite(t) || t < 0) throw RangeError("maxTextCharacters must be a finite non-negative number.");
|
|
828
|
+
return Math.min(X, Math.floor(t));
|
|
829
|
+
}
|
|
830
|
+
function Be(e, t) {
|
|
831
|
+
let n = ze(t), r = [], i = 0, a = !1, o = !1, s = (e, t) => {
|
|
832
|
+
if (t && o) {
|
|
833
|
+
if (i >= n) return a = !0, !1;
|
|
834
|
+
r.push("\n"), i++;
|
|
835
|
+
}
|
|
836
|
+
o = !0;
|
|
837
|
+
let s = Re(e, Math.max(0, n - i));
|
|
838
|
+
return r.push(s), i += s.length, s.length < e.length ? (a = !0, !1) : !0;
|
|
839
|
+
};
|
|
840
|
+
if (!s(`Chart type: ${e.chartType}`, !0) || e.title !== null && !s(`Title: ${e.title}`, !0)) return {
|
|
841
|
+
text: r.join(""),
|
|
842
|
+
truncated: a,
|
|
843
|
+
textCharacters: i,
|
|
844
|
+
maxTextCharacters: n
|
|
845
|
+
};
|
|
846
|
+
if (e.categories.length > 0) {
|
|
847
|
+
if (!s("Categories: ", !0)) return {
|
|
848
|
+
text: r.join(""),
|
|
849
|
+
truncated: a,
|
|
850
|
+
textCharacters: i,
|
|
851
|
+
maxTextCharacters: n
|
|
852
|
+
};
|
|
853
|
+
for (let [t, o] of e.categories.entries()) if (!s(`${t === 0 ? "" : ", "}${o}`, !1)) return {
|
|
854
|
+
text: r.join(""),
|
|
855
|
+
truncated: a,
|
|
856
|
+
textCharacters: i,
|
|
857
|
+
maxTextCharacters: n
|
|
858
|
+
};
|
|
859
|
+
}
|
|
860
|
+
for (let t of e.series) {
|
|
861
|
+
if (!s(`Series ${t.name || "(unnamed)"}: `, !0)) break;
|
|
862
|
+
for (let [e, o] of t.values.entries()) if (!s(`${e === 0 ? "" : ", "}${o === null ? "" : o}`, !1)) return {
|
|
863
|
+
text: r.join(""),
|
|
864
|
+
truncated: a,
|
|
865
|
+
textCharacters: i,
|
|
866
|
+
maxTextCharacters: n
|
|
867
|
+
};
|
|
868
|
+
if (a) break;
|
|
869
|
+
}
|
|
870
|
+
return {
|
|
871
|
+
text: r.join(""),
|
|
872
|
+
truncated: a,
|
|
873
|
+
textCharacters: i,
|
|
874
|
+
maxTextCharacters: n
|
|
875
|
+
};
|
|
876
|
+
}
|
|
877
|
+
//#endregion
|
|
815
878
|
//#region packages/core/src/internal/canvas-viewer-mechanics.ts
|
|
816
|
-
var
|
|
879
|
+
var Ve = 65536, He = 1024;
|
|
880
|
+
function Z(e, t, n) {
|
|
881
|
+
let r = e ?? t;
|
|
882
|
+
if (!Number.isFinite(r) || r < 0) throw RangeError(`${n} must be a finite non-negative number.`);
|
|
883
|
+
return Math.min(t, Math.floor(r));
|
|
884
|
+
}
|
|
885
|
+
function Q(e, t) {
|
|
886
|
+
let n = Math.min(e.length, t);
|
|
887
|
+
if (n > 0 && n < e.length) {
|
|
888
|
+
let t = e.charCodeAt(n - 1), r = e.charCodeAt(n);
|
|
889
|
+
t >= 55296 && t <= 56319 && r >= 56320 && r <= 57343 && n--;
|
|
890
|
+
}
|
|
891
|
+
return e.slice(0, n);
|
|
892
|
+
}
|
|
893
|
+
function* Ue(e) {
|
|
894
|
+
let t = e.firstChild ?? e.childNodes[0] ?? null;
|
|
895
|
+
for (; t;) {
|
|
896
|
+
if (t.nodeType === 3 && (yield t), t.firstChild) {
|
|
897
|
+
t = t.firstChild;
|
|
898
|
+
continue;
|
|
899
|
+
}
|
|
900
|
+
for (; t && t !== e && !t.nextSibling;) t = t.parentNode;
|
|
901
|
+
if (!t || t === e) break;
|
|
902
|
+
t = t.nextSibling;
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
function We(e, t, n, r, i) {
|
|
906
|
+
for (let a of r) {
|
|
907
|
+
let r = !1;
|
|
908
|
+
try {
|
|
909
|
+
r = a.intersectsNode(n);
|
|
910
|
+
} catch {}
|
|
911
|
+
if (r) for (let r of Ue(n)) {
|
|
912
|
+
let n = r.data, o, s;
|
|
913
|
+
if (a.startContainer === r) o = a.startOffset;
|
|
914
|
+
else try {
|
|
915
|
+
o = a.comparePoint(r, 0) === 0 ? 0 : null;
|
|
916
|
+
} catch {
|
|
917
|
+
o = null;
|
|
918
|
+
}
|
|
919
|
+
if (a.endContainer === r) s = a.endOffset;
|
|
920
|
+
else try {
|
|
921
|
+
s = a.comparePoint(r, n.length) === 0 ? n.length : null;
|
|
922
|
+
} catch {
|
|
923
|
+
s = null;
|
|
924
|
+
}
|
|
925
|
+
if (o === null || s === null || s <= o) continue;
|
|
926
|
+
let c = i - t;
|
|
927
|
+
if (c <= 0) return t;
|
|
928
|
+
let l = n.slice(Math.max(0, o), Math.min(n.length, s, Math.max(0, o) + c));
|
|
929
|
+
if (e.push(l), t += l.length, t >= i) return t;
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
return t;
|
|
933
|
+
}
|
|
934
|
+
function Ge(e, t, n, r = {}) {
|
|
935
|
+
if (!t || t.isCollapsed || t.rangeCount === 0) return null;
|
|
936
|
+
let i = [...e.matches?.("[data-ooxml-selection-surface]") ? [e] : [], ...e.querySelectorAll("[data-ooxml-selection-surface]")];
|
|
937
|
+
if (i.length === 0) return null;
|
|
938
|
+
let a = (e) => i.some((t) => t.contains(e)), o = [];
|
|
939
|
+
for (let n = 0; n < t.rangeCount; n++) {
|
|
940
|
+
let r = t.getRangeAt(n);
|
|
941
|
+
if (!e.contains(r.startContainer) || !e.contains(r.endContainer) || !a(r.startContainer) || !a(r.endContainer)) return null;
|
|
942
|
+
o.push(r);
|
|
943
|
+
}
|
|
944
|
+
let s = Z(r.maxChars, Ve, "maxTextCharacters"), c = Z(r.maxLocators, He, "maxRunLocators"), l = [], u = !1, d = s + 2, f = [], p = 0;
|
|
945
|
+
for (let t of e.querySelectorAll("[data-ooxml-selection-run]")) {
|
|
946
|
+
if (!o.some((e) => {
|
|
947
|
+
try {
|
|
948
|
+
return e.intersectsNode(t);
|
|
949
|
+
} catch {
|
|
950
|
+
return !1;
|
|
951
|
+
}
|
|
952
|
+
})) continue;
|
|
953
|
+
let e = n(t);
|
|
954
|
+
if (e !== null && (l.length >= c ? u = !0 : l.push(structuredClone(e)), p < d && (p = We(f, p, t, o, d)), u && p >= d)) break;
|
|
955
|
+
}
|
|
956
|
+
if (l.length === 0 && !u) return null;
|
|
957
|
+
let m = f.join("");
|
|
958
|
+
if (m.length === 0) return null;
|
|
959
|
+
let h = Q(m, s), g = m.length > s;
|
|
960
|
+
return {
|
|
961
|
+
text: h,
|
|
962
|
+
locators: l,
|
|
963
|
+
truncated: g || u,
|
|
964
|
+
truncationReasons: [...g ? ["text"] : [], ...u ? ["runs"] : []],
|
|
965
|
+
textCharacters: h.length,
|
|
966
|
+
maxTextCharacters: s,
|
|
967
|
+
maxLocators: c
|
|
968
|
+
};
|
|
969
|
+
}
|
|
970
|
+
var Ke = class {
|
|
817
971
|
wrapper;
|
|
818
972
|
originalParent;
|
|
819
973
|
originalNextSibling;
|
|
@@ -834,19 +988,31 @@ var Pe = class {
|
|
|
834
988
|
(this.options.restoreMode ?? "display") === "style-and-bitmap" ? (this.originalStyle === null ? this.canvas.removeAttribute("style") : this.canvas.setAttribute("style", this.originalStyle), this.canvas.width = this.originalWidth, this.canvas.height = this.originalHeight) : this.canvas.style.display = this.originalDisplay, this.wrapper.remove();
|
|
835
989
|
}
|
|
836
990
|
}
|
|
837
|
-
},
|
|
991
|
+
}, qe = "position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;user-select:text;-webkit-user-select:text;", Je = "position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;", Ye = "position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;";
|
|
992
|
+
function $(e, t) {
|
|
993
|
+
if (!t) return null;
|
|
994
|
+
let n = (e.ownerDocument ?? document).createElement("div");
|
|
995
|
+
return n.style.cssText = Ye, e.appendChild(n), n;
|
|
996
|
+
}
|
|
997
|
+
function Xe(e, t) {
|
|
998
|
+
if (!e || (e.innerHTML = "", !t || !Number.isFinite(t.x) || !Number.isFinite(t.y) || !Number.isFinite(t.width) || !Number.isFinite(t.height) || t.width <= 0 || t.height <= 0)) return;
|
|
999
|
+
let n = (e.ownerDocument ?? document).createElement("div"), r = Number.isFinite(t.rotation) ? t.rotation ?? 0 : 0;
|
|
1000
|
+
n.style.cssText = `position:absolute;left:${t.x * 100}%;top:${t.y * 100}%;width:${t.width * 100}%;height:${t.height * 100}%;box-sizing:border-box;border:2px solid #1a73e8;background:color-mix(in srgb, #1a73e8 6%, transparent);transform:rotate(${r}deg);transform-origin:center;pointer-events:none;`, e.appendChild(n);
|
|
1001
|
+
}
|
|
1002
|
+
var Ze = class {
|
|
838
1003
|
textLayer;
|
|
839
1004
|
highlightLayer;
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
1005
|
+
elementLayer;
|
|
1006
|
+
constructor(e, t, n = !1) {
|
|
1007
|
+
let r = e.ownerDocument ?? document;
|
|
1008
|
+
this.textLayer = t ? r.createElement("div") : null, this.textLayer && (this.textLayer.style.cssText = qe, e.appendChild(this.textLayer)), this.highlightLayer = r.createElement("div"), this.highlightLayer.style.cssText = Je, e.appendChild(this.highlightLayer), this.elementLayer = $(e, n);
|
|
843
1009
|
}
|
|
844
1010
|
};
|
|
845
|
-
function
|
|
1011
|
+
function Qe(e, t, n) {
|
|
846
1012
|
if (n && t !== void 0 && t !== n.mode) throw Error(`${e}: opts.mode='${t}' conflicts with the borrowed engine's mode='${n.mode}'. Omit opts.mode when borrowing an engine — the engine owns its render mode.`);
|
|
847
1013
|
return n?.mode ?? t ?? "main";
|
|
848
1014
|
}
|
|
849
|
-
var
|
|
1015
|
+
var $e = class {
|
|
850
1016
|
generation = 0;
|
|
851
1017
|
resource;
|
|
852
1018
|
ownsResource;
|
|
@@ -898,7 +1064,7 @@ var ze = class {
|
|
|
898
1064
|
e.destroy();
|
|
899
1065
|
} catch {}
|
|
900
1066
|
}
|
|
901
|
-
},
|
|
1067
|
+
}, et = class {
|
|
902
1068
|
generation = 0;
|
|
903
1069
|
destroyed = !1;
|
|
904
1070
|
bitmapContext;
|
|
@@ -925,7 +1091,7 @@ var ze = class {
|
|
|
925
1091
|
destroy() {
|
|
926
1092
|
this.destroyed || (this.destroyed = !0, this.generation++);
|
|
927
1093
|
}
|
|
928
|
-
},
|
|
1094
|
+
}, tt = class {
|
|
929
1095
|
closed = !1;
|
|
930
1096
|
constructor(e, t) {
|
|
931
1097
|
this.viewerName = e, this.onError = t;
|
|
@@ -940,4 +1106,4 @@ var ze = class {
|
|
|
940
1106
|
}
|
|
941
1107
|
};
|
|
942
1108
|
//#endregion
|
|
943
|
-
export { be as _,
|
|
1109
|
+
export { Ce as C, xe as E, we as S, be as T, je as _, $e as a, De as b, Xe as c, Be as d, Ie as f, Ae as g, Fe as h, et as i, Qe as l, Me as m, Ze as n, $ as o, Le as p, tt as r, Ge as s, Ke as t, X as u, Oe as v, Se as w, Ee as x, ke as y };
|