@silurus/ooxml 0.59.3 → 0.60.0
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 +0 -2
- package/dist/docx-FgLcXCmS.js +2073 -0
- package/dist/docx.mjs +1 -1
- package/dist/index.mjs +2 -2
- package/dist/render-worker-host-CI4BVZcT.js +27 -0
- package/dist/{render-worker-host-Bv6bpyhr.js → render-worker-host-DTvVLN37.js} +1 -1
- package/dist/types/docx.d.ts +7 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/{xlsx-9W9zIvga.js → xlsx-BS4Rw1qg.js} +311 -290
- package/dist/xlsx.mjs +1 -1
- package/package.json +1 -1
- package/dist/docx-CPesjmsh.js +0 -1928
- package/dist/render-worker-host-C6mRacrU.js +0 -27
|
@@ -211,22 +211,22 @@ function H(e, t) {
|
|
|
211
211
|
if (r && r.kind === "op" && (r.text === "<" || r.text === ">" || r.text === "<=" || r.text === ">=" || r.text === "=" || r.text === "<>")) {
|
|
212
212
|
B(e);
|
|
213
213
|
let i = ee(e, t);
|
|
214
|
-
return
|
|
214
|
+
return U(r.text, n, i);
|
|
215
215
|
}
|
|
216
216
|
return n;
|
|
217
217
|
}
|
|
218
218
|
function ee(e, t) {
|
|
219
|
-
let n =
|
|
219
|
+
let n = te(e, t);
|
|
220
220
|
for (;;) {
|
|
221
221
|
let r = z(e);
|
|
222
222
|
if (!r || r.kind !== "op" || r.text !== "&") break;
|
|
223
223
|
B(e);
|
|
224
|
-
let i =
|
|
224
|
+
let i = te(e, t);
|
|
225
225
|
n = M(n) + M(i);
|
|
226
226
|
}
|
|
227
227
|
return n;
|
|
228
228
|
}
|
|
229
|
-
function
|
|
229
|
+
function U(e, t, n) {
|
|
230
230
|
let r = typeof t == "string" && isNaN(parseFloat(t)) ? null : j(t), i = typeof n == "string" && isNaN(parseFloat(n)) ? null : j(n);
|
|
231
231
|
if (r !== null && i !== null) switch (e) {
|
|
232
232
|
case "<": return r < i;
|
|
@@ -247,24 +247,24 @@ function te(e, t, n) {
|
|
|
247
247
|
}
|
|
248
248
|
return !1;
|
|
249
249
|
}
|
|
250
|
-
function
|
|
251
|
-
let n =
|
|
250
|
+
function te(e, t) {
|
|
251
|
+
let n = ne(e, t);
|
|
252
252
|
for (;;) {
|
|
253
253
|
let r = z(e);
|
|
254
254
|
if (!r || r.kind !== "op" || r.text !== "+" && r.text !== "-") break;
|
|
255
255
|
B(e);
|
|
256
|
-
let i =
|
|
256
|
+
let i = ne(e, t);
|
|
257
257
|
n = r.text === "+" ? j(n) + j(i) : j(n) - j(i);
|
|
258
258
|
}
|
|
259
259
|
return n;
|
|
260
260
|
}
|
|
261
|
-
function
|
|
262
|
-
let n =
|
|
261
|
+
function ne(e, t) {
|
|
262
|
+
let n = re(e, t);
|
|
263
263
|
for (;;) {
|
|
264
264
|
let r = z(e);
|
|
265
265
|
if (!r || r.kind !== "op" || r.text !== "*" && r.text !== "/") break;
|
|
266
266
|
B(e);
|
|
267
|
-
let i =
|
|
267
|
+
let i = re(e, t);
|
|
268
268
|
if (r.text === "*") n = j(n) * j(i);
|
|
269
269
|
else {
|
|
270
270
|
let e = j(i);
|
|
@@ -273,11 +273,11 @@ function re(e, t) {
|
|
|
273
273
|
}
|
|
274
274
|
return n;
|
|
275
275
|
}
|
|
276
|
-
function
|
|
276
|
+
function re(e, t) {
|
|
277
277
|
let n = z(e);
|
|
278
|
-
return n && n.kind === "op" && n.text === "-" ? (B(e), -j(
|
|
278
|
+
return n && n.kind === "op" && n.text === "-" ? (B(e), -j(re(e, t))) : n && n.kind === "op" && n.text === "+" ? (B(e), j(re(e, t))) : ie(e, t);
|
|
279
279
|
}
|
|
280
|
-
function
|
|
280
|
+
function ie(e, t) {
|
|
281
281
|
let n = B(e);
|
|
282
282
|
if (!n) return 0;
|
|
283
283
|
if (n.kind === "num") return parseFloat(n.text);
|
|
@@ -293,9 +293,9 @@ function ae(e, t) {
|
|
|
293
293
|
B(e);
|
|
294
294
|
let r = B(e);
|
|
295
295
|
if (r?.kind !== "ref" || !r.ref) throw Error("range: expected ref after :");
|
|
296
|
-
return
|
|
296
|
+
return se(n.ref, r.ref, t);
|
|
297
297
|
}
|
|
298
|
-
return
|
|
298
|
+
return oe(n.ref, t);
|
|
299
299
|
}
|
|
300
300
|
if (n.kind === "name") {
|
|
301
301
|
if (z(e)?.kind === "lparen") {
|
|
@@ -304,10 +304,10 @@ function ae(e, t) {
|
|
|
304
304
|
if (z(e)?.kind !== "rparen") for (r.push(V(e, t)); z(e)?.kind === "comma";) B(e), r.push(V(e, t));
|
|
305
305
|
let i = B(e);
|
|
306
306
|
if (!i || i.kind !== "rparen") throw Error("missing )");
|
|
307
|
-
return
|
|
307
|
+
return le(n.text, r, t);
|
|
308
308
|
}
|
|
309
309
|
let r = t.definedNames.get(n.text);
|
|
310
|
-
return r && t.depth < O ? R(
|
|
310
|
+
return r && t.depth < O ? R(ae(r.formula), {
|
|
311
311
|
...t,
|
|
312
312
|
anchorRow: 1,
|
|
313
313
|
anchorCol: 1,
|
|
@@ -316,20 +316,20 @@ function ae(e, t) {
|
|
|
316
316
|
}
|
|
317
317
|
return 0;
|
|
318
318
|
}
|
|
319
|
-
function
|
|
319
|
+
function ae(e) {
|
|
320
320
|
let t = e.match(/^(?:'[^']*'|[A-Za-z_][A-Za-z0-9_.]*)!(.*)$/);
|
|
321
321
|
return t ? t[1] : e;
|
|
322
322
|
}
|
|
323
|
-
function
|
|
323
|
+
function oe(e, t) {
|
|
324
324
|
let n = e.colAbs ? e.col : e.col + (t.col - t.anchorCol), r = e.rowAbs ? e.row : e.row + (t.row - t.anchorRow);
|
|
325
|
-
return
|
|
325
|
+
return ce(t.cellIndex.get(`${r}:${n}`));
|
|
326
326
|
}
|
|
327
|
-
function
|
|
327
|
+
function se(e, t, n) {
|
|
328
328
|
let r = e.colAbs ? e.col : e.col + (n.col - n.anchorCol), i = e.rowAbs ? e.row : e.row + (n.row - n.anchorRow), a = t.colAbs ? t.col : t.col + (n.col - n.anchorCol), o = t.rowAbs ? t.row : t.row + (n.row - n.anchorRow), s = Math.min(r, a), c = Math.max(r, a), l = Math.min(i, o), u = Math.max(i, o), d = [], f = 4096;
|
|
329
|
-
for (let e = l; e <= u && d.length < f; e++) for (let t = s; t <= c && d.length < f; t++) d.push(
|
|
329
|
+
for (let e = l; e <= u && d.length < f; e++) for (let t = s; t <= c && d.length < f; t++) d.push(ce(n.cellIndex.get(`${e}:${t}`)));
|
|
330
330
|
return d;
|
|
331
331
|
}
|
|
332
|
-
function
|
|
332
|
+
function ce(e) {
|
|
333
333
|
if (!e) return null;
|
|
334
334
|
switch (e.value.type) {
|
|
335
335
|
case "number": return e.value.number;
|
|
@@ -339,7 +339,7 @@ function le(e) {
|
|
|
339
339
|
default: return null;
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
|
-
function
|
|
342
|
+
function le(e, t, n) {
|
|
343
343
|
switch (e.toUpperCase()) {
|
|
344
344
|
case "AND": return t.flatMap(E).every((e) => A(e));
|
|
345
345
|
case "OR": return t.flatMap(E).some((e) => A(e));
|
|
@@ -426,10 +426,10 @@ function ue(e, t, n) {
|
|
|
426
426
|
case "COUNT": return t.flatMap(E).filter((e) => typeof e == "number").length;
|
|
427
427
|
case "COUNTA": return t.flatMap(E).filter((e) => e != null && e !== "").length;
|
|
428
428
|
case "COUNTBLANK": return t.flatMap(E).filter((e) => e == null || e === "").length;
|
|
429
|
-
case "COUNTIF": return
|
|
430
|
-
case "SUMIF": return
|
|
429
|
+
case "COUNTIF": return W(E(t[0]), t[1]);
|
|
430
|
+
case "SUMIF": return ue(E(t[0]), t[1], t[2] === void 0 ? null : E(t[2]));
|
|
431
431
|
case "AVERAGEIF": {
|
|
432
|
-
let e = E(t[0]), n =
|
|
432
|
+
let e = E(t[0]), n = ue(e, t[1], t[2] === void 0 ? null : E(t[2])), r = W(e, t[1]);
|
|
433
433
|
return r === 0 ? null : j(n) / r;
|
|
434
434
|
}
|
|
435
435
|
case "LEN": return M(t[0]).length;
|
|
@@ -467,33 +467,33 @@ function ue(e, t, n) {
|
|
|
467
467
|
case "VALUE": return j(t[0]);
|
|
468
468
|
case "ROW": return n.row;
|
|
469
469
|
case "COLUMN": return n.col;
|
|
470
|
-
case "TODAY": return
|
|
471
|
-
case "NOW": return
|
|
472
|
-
case "DATE": return
|
|
473
|
-
case "YEAR": return
|
|
474
|
-
case "MONTH": return
|
|
475
|
-
case "DAY": return
|
|
470
|
+
case "TODAY": return J();
|
|
471
|
+
case "NOW": return de();
|
|
472
|
+
case "DATE": return fe(j(t[0]), j(t[1]), j(t[2]));
|
|
473
|
+
case "YEAR": return pe(j(t[0])).y;
|
|
474
|
+
case "MONTH": return pe(j(t[0])).m;
|
|
475
|
+
case "DAY": return pe(j(t[0])).d;
|
|
476
476
|
case "WEEKDAY": {
|
|
477
|
-
let e =
|
|
477
|
+
let e = Y(j(t[0])).getUTCDay(), n = j(t[1] ?? 1);
|
|
478
478
|
return n === 2 ? e === 0 ? 7 : e : n === 3 ? e === 0 ? 6 : e - 1 : e + 1;
|
|
479
479
|
}
|
|
480
480
|
default: return 0;
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
|
-
function
|
|
484
|
-
let n =
|
|
483
|
+
function W(e, t) {
|
|
484
|
+
let n = G(t), r = 0;
|
|
485
485
|
for (let t of e) n(t) && r++;
|
|
486
486
|
return r;
|
|
487
487
|
}
|
|
488
|
-
function
|
|
489
|
-
let r =
|
|
488
|
+
function ue(e, t, n) {
|
|
489
|
+
let r = G(t), i = n ?? e, a = 0;
|
|
490
490
|
for (let t = 0; t < e.length; t++) if (r(e[t])) {
|
|
491
491
|
let e = i[t];
|
|
492
492
|
typeof e == "number" && (a += e);
|
|
493
493
|
}
|
|
494
494
|
return a;
|
|
495
495
|
}
|
|
496
|
-
function
|
|
496
|
+
function G(e) {
|
|
497
497
|
let t = D(e);
|
|
498
498
|
if (typeof t != "string") {
|
|
499
499
|
let e = typeof t == "number" ? t : null;
|
|
@@ -520,24 +520,24 @@ function W(e) {
|
|
|
520
520
|
}
|
|
521
521
|
};
|
|
522
522
|
}
|
|
523
|
-
var
|
|
524
|
-
function
|
|
523
|
+
var K = 25569, q = 864e5;
|
|
524
|
+
function J() {
|
|
525
525
|
let e = /* @__PURE__ */ new Date(), t = Date.UTC(e.getFullYear(), e.getMonth(), e.getDate());
|
|
526
|
-
return Math.floor(t /
|
|
526
|
+
return Math.floor(t / q) + K;
|
|
527
527
|
}
|
|
528
|
-
function
|
|
529
|
-
return Date.now() /
|
|
528
|
+
function de() {
|
|
529
|
+
return Date.now() / q + K;
|
|
530
530
|
}
|
|
531
|
-
function
|
|
531
|
+
function fe(e, t, n) {
|
|
532
532
|
let r = Date.UTC(e, t - 1, n);
|
|
533
|
-
return Math.floor(r /
|
|
533
|
+
return Math.floor(r / q) + K;
|
|
534
534
|
}
|
|
535
|
-
function
|
|
536
|
-
let t = (Math.floor(e) -
|
|
535
|
+
function Y(e) {
|
|
536
|
+
let t = (Math.floor(e) - K) * q;
|
|
537
537
|
return new Date(t);
|
|
538
538
|
}
|
|
539
|
-
function
|
|
540
|
-
let t =
|
|
539
|
+
function pe(e) {
|
|
540
|
+
let t = Y(e);
|
|
541
541
|
return {
|
|
542
542
|
y: t.getUTCFullYear(),
|
|
543
543
|
m: t.getUTCMonth() + 1,
|
|
@@ -546,7 +546,7 @@ function me(e) {
|
|
|
546
546
|
}
|
|
547
547
|
//#endregion
|
|
548
548
|
//#region packages/xlsx/src/number-format.ts
|
|
549
|
-
function
|
|
549
|
+
function me(e) {
|
|
550
550
|
switch (e.type) {
|
|
551
551
|
case "empty": return "";
|
|
552
552
|
case "text": return e.text;
|
|
@@ -555,15 +555,15 @@ function he(e) {
|
|
|
555
555
|
case "error": return e.error;
|
|
556
556
|
}
|
|
557
557
|
}
|
|
558
|
-
function
|
|
558
|
+
function he(e, t, n) {
|
|
559
559
|
let r = t.cellXfs[e.styleIndex ?? 0]?.numFmtId ?? 0, i = t.numFmts?.find((e) => e.numFmtId === r)?.formatCode ?? null, a = n?.numFmtId ?? r, o = n?.formatCode ?? i;
|
|
560
560
|
if (e.value.type !== "number") {
|
|
561
|
-
let t =
|
|
562
|
-
return o ?
|
|
561
|
+
let t = me(e.value);
|
|
562
|
+
return o ? ge(t, o) : t;
|
|
563
563
|
}
|
|
564
|
-
return
|
|
564
|
+
return Oe(_e(e.formula) ?? e.value.number, a, o);
|
|
565
565
|
}
|
|
566
|
-
function
|
|
566
|
+
function ge(e, t) {
|
|
567
567
|
let n = t.split(";");
|
|
568
568
|
if (n.length < 4) return e;
|
|
569
569
|
let r = n[3];
|
|
@@ -582,12 +582,12 @@ function _e(e, t) {
|
|
|
582
582
|
}
|
|
583
583
|
return i;
|
|
584
584
|
}
|
|
585
|
-
function
|
|
585
|
+
function _e(e) {
|
|
586
586
|
if (!e) return null;
|
|
587
587
|
let t = e.trim().replace(/^=/, "").toUpperCase().replace(/\s+/g, "");
|
|
588
|
-
return t === "TODAY()" ?
|
|
588
|
+
return t === "TODAY()" ? J() : t === "NOW()" ? de() : null;
|
|
589
589
|
}
|
|
590
|
-
var
|
|
590
|
+
var ve = {
|
|
591
591
|
14: "m/d/yyyy",
|
|
592
592
|
15: "d-mmm-yy",
|
|
593
593
|
16: "d-mmm",
|
|
@@ -611,7 +611,7 @@ var ye = {
|
|
|
611
611
|
56: "m\"月\"d\"日\"",
|
|
612
612
|
57: "[$-411]ge.m.d",
|
|
613
613
|
58: "[$-411]ggge\"年\"m\"月\"d\"日\""
|
|
614
|
-
},
|
|
614
|
+
}, ye = [
|
|
615
615
|
"January",
|
|
616
616
|
"February",
|
|
617
617
|
"March",
|
|
@@ -624,7 +624,7 @@ var ye = {
|
|
|
624
624
|
"October",
|
|
625
625
|
"November",
|
|
626
626
|
"December"
|
|
627
|
-
],
|
|
627
|
+
], be = [
|
|
628
628
|
"Sunday",
|
|
629
629
|
"Monday",
|
|
630
630
|
"Tuesday",
|
|
@@ -632,7 +632,7 @@ var ye = {
|
|
|
632
632
|
"Thursday",
|
|
633
633
|
"Friday",
|
|
634
634
|
"Saturday"
|
|
635
|
-
],
|
|
635
|
+
], xe = [
|
|
636
636
|
"日",
|
|
637
637
|
"月",
|
|
638
638
|
"火",
|
|
@@ -640,7 +640,7 @@ var ye = {
|
|
|
640
640
|
"木",
|
|
641
641
|
"金",
|
|
642
642
|
"土"
|
|
643
|
-
],
|
|
643
|
+
], Se = [
|
|
644
644
|
"日曜日",
|
|
645
645
|
"月曜日",
|
|
646
646
|
"火曜日",
|
|
@@ -648,7 +648,7 @@ var ye = {
|
|
|
648
648
|
"木曜日",
|
|
649
649
|
"金曜日",
|
|
650
650
|
"土曜日"
|
|
651
|
-
],
|
|
651
|
+
], Ce = [
|
|
652
652
|
{
|
|
653
653
|
start: new Date(Date.UTC(2019, 4, 1)),
|
|
654
654
|
abbr: "R",
|
|
@@ -680,14 +680,14 @@ var ye = {
|
|
|
680
680
|
long: "明治"
|
|
681
681
|
}
|
|
682
682
|
];
|
|
683
|
-
function
|
|
684
|
-
for (let t of
|
|
683
|
+
function we(e) {
|
|
684
|
+
for (let t of Ce) if (e.getTime() >= t.start.getTime()) return {
|
|
685
685
|
abbr: t.abbr,
|
|
686
686
|
short: t.short,
|
|
687
687
|
long: t.long,
|
|
688
688
|
year: e.getUTCFullYear() - t.start.getUTCFullYear() + 1
|
|
689
689
|
};
|
|
690
|
-
let t =
|
|
690
|
+
let t = Ce[Ce.length - 1];
|
|
691
691
|
return {
|
|
692
692
|
abbr: t.abbr,
|
|
693
693
|
short: t.short,
|
|
@@ -695,11 +695,11 @@ function Te(e) {
|
|
|
695
695
|
year: e.getUTCFullYear()
|
|
696
696
|
};
|
|
697
697
|
}
|
|
698
|
-
function
|
|
698
|
+
function Te(e) {
|
|
699
699
|
return /* @__PURE__ */ new Date((e - 25569) * 86400 * 1e3);
|
|
700
700
|
}
|
|
701
|
-
function
|
|
702
|
-
let n =
|
|
701
|
+
function Ee(e, t) {
|
|
702
|
+
let n = Te(e), r = n.getUTCFullYear(), i = n.getUTCMonth() + 1, a = n.getUTCDate(), o = n.getUTCDay(), s = n.getUTCHours(), c = n.getUTCMinutes(), l = n.getUTCSeconds(), u = t.split(";")[0], d = /am\/pm|a\/p/i.test(u), f = null, p = () => f ??= we(n), m = "", h = 0, g = !1;
|
|
703
703
|
for (; h < u.length;) {
|
|
704
704
|
let t = u[h];
|
|
705
705
|
if (t === "\"") {
|
|
@@ -727,11 +727,11 @@ function De(e, t) {
|
|
|
727
727
|
let e = 0;
|
|
728
728
|
for (; h < u.length && u[h].toLowerCase() === "m";) e++, h++;
|
|
729
729
|
let t = u.slice(h).replace(/\[[^\]]*\]/g, "");
|
|
730
|
-
g || /^:s/i.test(t) ? m += e >= 2 ? String(c).padStart(2, "0") : String(c) : e === 1 ? m += String(i) : e === 2 ? m += String(i).padStart(2, "0") : e === 3 ? m +=
|
|
730
|
+
g || /^:s/i.test(t) ? m += e >= 2 ? String(c).padStart(2, "0") : String(c) : e === 1 ? m += String(i) : e === 2 ? m += String(i).padStart(2, "0") : e === 3 ? m += ye[i - 1].slice(0, 3) : e === 4 ? m += ye[i - 1] : m += ye[i - 1][0], g = !1;
|
|
731
731
|
} else if (t === "d" || t === "D") {
|
|
732
732
|
let e = 0;
|
|
733
733
|
for (; h < u.length && u[h].toLowerCase() === "d";) e++, h++;
|
|
734
|
-
e === 1 ? m += String(a) : e === 2 ? m += String(a).padStart(2, "0") : e === 3 ? m +=
|
|
734
|
+
e === 1 ? m += String(a) : e === 2 ? m += String(a).padStart(2, "0") : e === 3 ? m += be[o].slice(0, 3) : m += be[o], g = !1;
|
|
735
735
|
} else if (t === "h" || t === "H") {
|
|
736
736
|
let e = 0;
|
|
737
737
|
for (; h < u.length && u[h].toLowerCase() === "h";) e++, h++;
|
|
@@ -758,49 +758,49 @@ function De(e, t) {
|
|
|
758
758
|
m += e >= 2 ? String(t).padStart(2, "0") : String(t), g = !1;
|
|
759
759
|
} else if (t === "A" || t === "a") {
|
|
760
760
|
let e = u.slice(h).toUpperCase();
|
|
761
|
-
e.startsWith("AAAA") ? (m +=
|
|
761
|
+
e.startsWith("AAAA") ? (m += Se[o], h += 4) : e.startsWith("AAA") ? (m += xe[o], h += 3) : e.startsWith("AM/PM") ? (m += s < 12 ? "AM" : "PM", h += 5) : e.startsWith("A/P") ? (m += s < 12 ? "A" : "P", h += 3) : (m += t, h++), g = !1;
|
|
762
762
|
} else m += t, h++, t !== ":" && t !== "/" && t !== "-" && t !== "." && t !== " " && (g = !1);
|
|
763
763
|
}
|
|
764
764
|
return m;
|
|
765
765
|
}
|
|
766
|
-
function
|
|
766
|
+
function De(e) {
|
|
767
767
|
if (/\[[hms]+\]/i.test(e)) return !0;
|
|
768
768
|
let t = e.replace(/"[^"]*"/g, "").replace(/\[[^\]]*\]/g, "");
|
|
769
769
|
return /[yd]/i.test(t) || /a{3,}/i.test(t);
|
|
770
770
|
}
|
|
771
|
-
function
|
|
772
|
-
let r =
|
|
773
|
-
if (r) return
|
|
771
|
+
function Oe(e, t, n) {
|
|
772
|
+
let r = ve[t];
|
|
773
|
+
if (r) return Ee(e, r);
|
|
774
774
|
if (n && n.trim().toLowerCase() === "general") return String(e);
|
|
775
|
-
if (n) return
|
|
775
|
+
if (n) return De(n) ? Ee(e, n) : Ne(e, n);
|
|
776
776
|
switch (t) {
|
|
777
777
|
case 0: return String(e);
|
|
778
778
|
case 1: return Math.round(e).toString();
|
|
779
779
|
case 2: return e.toFixed(2);
|
|
780
|
-
case 3: return
|
|
781
|
-
case 4: return
|
|
780
|
+
case 3: return ke(e, 0);
|
|
781
|
+
case 4: return ke(e, 2);
|
|
782
782
|
case 9: return Math.round(e * 100) + "%";
|
|
783
783
|
case 10: return (e * 100).toFixed(2) + "%";
|
|
784
784
|
case 11: return e.toExponential(2);
|
|
785
785
|
case 37:
|
|
786
|
-
case 38: return
|
|
786
|
+
case 38: return ke(e, 0);
|
|
787
787
|
case 39:
|
|
788
|
-
case 40: return
|
|
788
|
+
case 40: return ke(e, 2);
|
|
789
789
|
case 49: return String(e);
|
|
790
790
|
default: return String(e);
|
|
791
791
|
}
|
|
792
792
|
}
|
|
793
|
-
function
|
|
793
|
+
function ke(e, t) {
|
|
794
794
|
return e.toLocaleString("en-US", {
|
|
795
795
|
minimumFractionDigits: t,
|
|
796
796
|
maximumFractionDigits: t
|
|
797
797
|
});
|
|
798
798
|
}
|
|
799
|
-
function
|
|
799
|
+
function Ae(e) {
|
|
800
800
|
let t = e.match(/\.([0#]+)/);
|
|
801
801
|
return t ? t[1].length : 0;
|
|
802
802
|
}
|
|
803
|
-
function
|
|
803
|
+
function je(e) {
|
|
804
804
|
let t = [], n = "", r = !1, i = !1, a = (e) => {
|
|
805
805
|
if (!e) return;
|
|
806
806
|
let n = t[t.length - 1];
|
|
@@ -837,44 +837,44 @@ function Me(e) {
|
|
|
837
837
|
numSpec: n
|
|
838
838
|
};
|
|
839
839
|
}
|
|
840
|
-
function
|
|
841
|
-
let n = t.includes(",") && /[#0]/.test(t), r =
|
|
842
|
-
return n ?
|
|
840
|
+
function Me(e, t) {
|
|
841
|
+
let n = t.includes(",") && /[#0]/.test(t), r = Ae(t);
|
|
842
|
+
return n ? ke(e, r) : t.includes(".") ? e.toFixed(r) : /[#0?]/.test(t) ? Math.round(e).toString() : String(e);
|
|
843
843
|
}
|
|
844
|
-
function
|
|
844
|
+
function Ne(e, t) {
|
|
845
845
|
let n = t.split(";"), r, i = !1;
|
|
846
846
|
e > 0 ? r = n[0] : e < 0 ? n.length > 1 ? (r = n[1], i = !0) : r = n[0] : r = n.length > 2 ? n[2] : n[0];
|
|
847
|
-
let { tokens: a, numSpec: o } =
|
|
847
|
+
let { tokens: a, numSpec: o } = je(r), s = a.some((e) => e.kind === "percent"), c = a.find((e) => e.kind === "sci"), l = i ? Math.abs(e) : e;
|
|
848
848
|
s && (l *= 100);
|
|
849
849
|
let u, d = "";
|
|
850
850
|
if (c) {
|
|
851
|
-
let e =
|
|
851
|
+
let e = Ae(o), [t, n] = l.toExponential(e).split("e");
|
|
852
852
|
u = t;
|
|
853
853
|
let r = parseInt(n, 10);
|
|
854
854
|
d = (r < 0 ? "-" : c.expSign ? "+" : "") + String(Math.abs(r)).padStart(2, "0");
|
|
855
|
-
} else u =
|
|
855
|
+
} else u = Me(l, o);
|
|
856
856
|
let f = "", p = !1;
|
|
857
857
|
for (let e of a) e.kind === "lit" ? f += e.text : e.kind === "percent" ? f += "%" : e.kind === "num" ? (f += u, p = !0) : e.kind === "sci" && (f += "E" + d);
|
|
858
858
|
return !p && (o.length > 0 || c) && (f += u), f;
|
|
859
859
|
}
|
|
860
860
|
//#endregion
|
|
861
861
|
//#region packages/xlsx/src/conditional-format.ts
|
|
862
|
-
function
|
|
862
|
+
function Pe(e, t, n) {
|
|
863
863
|
for (let r of e) if (t >= r.top && t <= r.bottom && n >= r.left && n <= r.right) return !0;
|
|
864
864
|
return !1;
|
|
865
865
|
}
|
|
866
|
-
function
|
|
866
|
+
function Fe(e) {
|
|
867
867
|
return e && e.value.type === "number" ? e.value.number : null;
|
|
868
868
|
}
|
|
869
|
-
function
|
|
869
|
+
function Ie(e) {
|
|
870
870
|
return e && e.value.type === "text" ? e.value.text : null;
|
|
871
871
|
}
|
|
872
|
-
function
|
|
872
|
+
function Le(e, t) {
|
|
873
873
|
let n = [];
|
|
874
|
-
for (let r of e.rows) for (let e of r.cells) e.value.type === "number" &&
|
|
874
|
+
for (let r of e.rows) for (let e of r.cells) e.value.type === "number" && Pe(t, e.row, e.col) && n.push(e.value.number);
|
|
875
875
|
return n;
|
|
876
876
|
}
|
|
877
|
-
function
|
|
877
|
+
function Re(e, t) {
|
|
878
878
|
let n = t.length ? Math.min(...t) : 0, r = t.length ? Math.max(...t) : 0, i = e.value == null ? NaN : parseFloat(e.value);
|
|
879
879
|
switch (e.kind) {
|
|
880
880
|
case "min": return n;
|
|
@@ -892,20 +892,20 @@ function ze(e, t) {
|
|
|
892
892
|
default: return isNaN(i) ? 0 : i;
|
|
893
893
|
}
|
|
894
894
|
}
|
|
895
|
-
function
|
|
895
|
+
function ze(e) {
|
|
896
896
|
let t = [], n = /* @__PURE__ */ new Map();
|
|
897
897
|
for (let t of e.rows) for (let e of t.cells) n.set(`${e.row}:${e.col}`, e);
|
|
898
898
|
let r = /* @__PURE__ */ new Map();
|
|
899
899
|
for (let t of e.definedNames ?? []) r.set(t.name, t);
|
|
900
900
|
for (let n of e.conditionalFormats ?? []) {
|
|
901
|
-
let r =
|
|
901
|
+
let r = Le(e, n.sqref);
|
|
902
902
|
for (let e of n.rules) {
|
|
903
903
|
let i = {
|
|
904
904
|
rule: e,
|
|
905
905
|
sqref: n.sqref
|
|
906
906
|
};
|
|
907
|
-
if (e.type === "colorScale") i.scaleStops = e.stops.map((e) =>
|
|
908
|
-
else if (e.type === "dataBar") i.barMin =
|
|
907
|
+
if (e.type === "colorScale") i.scaleStops = e.stops.map((e) => Re(e, r));
|
|
908
|
+
else if (e.type === "dataBar") i.barMin = Re(e.min, r), i.barMax = Re(e.max, r);
|
|
909
909
|
else if (e.type === "top10") {
|
|
910
910
|
let t = [...r].sort((e, t) => e - t), n = t.length;
|
|
911
911
|
if (n > 0) {
|
|
@@ -924,7 +924,7 @@ function Be(e) {
|
|
|
924
924
|
i.avgStdDev = Math.sqrt(e);
|
|
925
925
|
}
|
|
926
926
|
}
|
|
927
|
-
} else e.type === "iconSet" && (i.iconThresholds = e.cfvos.map((e) =>
|
|
927
|
+
} else e.type === "iconSet" && (i.iconThresholds = e.cfvos.map((e) => Re(e, r)));
|
|
928
928
|
t.push(i);
|
|
929
929
|
}
|
|
930
930
|
}
|
|
@@ -935,7 +935,7 @@ function Be(e) {
|
|
|
935
935
|
definedNames: r
|
|
936
936
|
};
|
|
937
937
|
}
|
|
938
|
-
function
|
|
938
|
+
function Be(e, t, n) {
|
|
939
939
|
switch (t) {
|
|
940
940
|
case "greaterThan": return e > (n[0] ?? 0);
|
|
941
941
|
case "greaterThanOrEqual": return e >= (n[0] ?? 0);
|
|
@@ -948,13 +948,13 @@ function Ve(e, t, n) {
|
|
|
948
948
|
default: return !1;
|
|
949
949
|
}
|
|
950
950
|
}
|
|
951
|
-
function
|
|
951
|
+
function Ve(e) {
|
|
952
952
|
let t = e.trim();
|
|
953
953
|
if (t.length >= 2 && t.startsWith("\"") && t.endsWith("\"")) return { text: t.slice(1, -1).replace(/""/g, "\"") };
|
|
954
954
|
let n = parseFloat(t);
|
|
955
955
|
return isNaN(n) ? { text: t } : { num: n };
|
|
956
956
|
}
|
|
957
|
-
function
|
|
957
|
+
function He(e, t, n) {
|
|
958
958
|
let r = n[0] ?? "", i = n[1] ?? "", a = (e) => e.toLowerCase();
|
|
959
959
|
switch (t) {
|
|
960
960
|
case "equal": return a(e) === a(r);
|
|
@@ -968,21 +968,21 @@ function Ue(e, t, n) {
|
|
|
968
968
|
default: return !1;
|
|
969
969
|
}
|
|
970
970
|
}
|
|
971
|
-
function
|
|
971
|
+
function Ue(e, t, n) {
|
|
972
972
|
let r = e.replace("#", ""), i = t.replace("#", ""), a = parseInt(r.slice(0, 2), 16), o = parseInt(r.slice(2, 4), 16), s = parseInt(r.slice(4, 6), 16), c = parseInt(i.slice(0, 2), 16), l = parseInt(i.slice(2, 4), 16), u = parseInt(i.slice(4, 6), 16), d = Math.round(a + (c - a) * n), f = Math.round(o + (l - o) * n), p = Math.round(s + (u - s) * n);
|
|
973
973
|
return `#${d.toString(16).padStart(2, "0").toUpperCase()}${f.toString(16).padStart(2, "0").toUpperCase()}${p.toString(16).padStart(2, "0").toUpperCase()}`;
|
|
974
974
|
}
|
|
975
|
-
function
|
|
975
|
+
function We(e, t, n) {
|
|
976
976
|
if (!t.length) return "#FFFFFF";
|
|
977
977
|
if (e <= n[0]) return t[0].color;
|
|
978
978
|
if (e >= n[n.length - 1]) return t[t.length - 1].color;
|
|
979
979
|
for (let r = 1; r < n.length; r++) if (e <= n[r]) {
|
|
980
980
|
let i = n[r - 1], a = n[r], o = a === i ? 0 : (e - i) / (a - i);
|
|
981
|
-
return
|
|
981
|
+
return Ue(t[r - 1].color, t[r].color, o);
|
|
982
982
|
}
|
|
983
983
|
return t[t.length - 1].color;
|
|
984
984
|
}
|
|
985
|
-
function
|
|
985
|
+
function Ge(e, t) {
|
|
986
986
|
if (t && (t.fill && !e.fill && (e.fill = t.fill), t.font?.color && e.fontColor == null && (e.fontColor = t.font.color), t.font?.bold && e.fontBold == null && (e.fontBold = !0), t.font?.italic && e.fontItalic == null && (e.fontItalic = !0), t.font?.underline && e.fontUnderline == null && (e.fontUnderline = !0), t.font?.strike && e.fontStrike == null && (e.fontStrike = !0), t.numFmt && e.numFmt == null && (e.numFmt = {
|
|
987
987
|
numFmtId: t.numFmt.numFmtId,
|
|
988
988
|
formatCode: t.numFmt.formatCode || null
|
|
@@ -998,12 +998,12 @@ function Ke(e, t) {
|
|
|
998
998
|
};
|
|
999
999
|
}
|
|
1000
1000
|
}
|
|
1001
|
-
function
|
|
1001
|
+
function Ke(e, t, n, r, i) {
|
|
1002
1002
|
let a = {};
|
|
1003
1003
|
if (!r.compiled.length) return a;
|
|
1004
1004
|
for (let o of r.compiled) {
|
|
1005
|
-
if (!
|
|
1006
|
-
let s = o.rule, c =
|
|
1005
|
+
if (!Pe(o.sqref, t, n)) continue;
|
|
1006
|
+
let s = o.rule, c = Fe(e);
|
|
1007
1007
|
if (s.type === "expression") {
|
|
1008
1008
|
let e = o.sqref[0];
|
|
1009
1009
|
if (!e) continue;
|
|
@@ -1015,19 +1015,19 @@ function qe(e, t, n, r, i) {
|
|
|
1015
1015
|
cellIndex: r.cellIndex,
|
|
1016
1016
|
definedNames: r.definedNames,
|
|
1017
1017
|
depth: 0
|
|
1018
|
-
}) && (
|
|
1018
|
+
}) && (Ge(a, s.dxfId == null ? null : i[s.dxfId]), s.stopIfTrue)) break;
|
|
1019
1019
|
continue;
|
|
1020
1020
|
}
|
|
1021
1021
|
if (s.type === "cellIs") {
|
|
1022
|
-
let t = s.formulas.map(
|
|
1023
|
-
c != null && t.every((e) => e.num != null) ? r =
|
|
1022
|
+
let t = s.formulas.map(Ve), n = Ie(e), r = !1;
|
|
1023
|
+
c != null && t.every((e) => e.num != null) ? r = Be(c, s.operator, t.map((e) => e.num)) : n != null && t.every((e) => e.text != null) && (r = He(n, s.operator, t.map((e) => e.text))), r && Ge(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1024
1024
|
} else if (s.type === "top10") {
|
|
1025
1025
|
if (c == null || o.top10Threshold == null) continue;
|
|
1026
|
-
(o.top10IsTop ? c >= o.top10Threshold : c <= o.top10Threshold) &&
|
|
1026
|
+
(o.top10IsTop ? c >= o.top10Threshold : c <= o.top10Threshold) && Ge(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1027
1027
|
} else if (s.type === "aboveAverage") {
|
|
1028
1028
|
if (c == null || o.avgValue == null) continue;
|
|
1029
1029
|
let e = o.avgStdDev == null ? 0 : o.avgStdDev * (s.stdDev ?? 1), t = o.avgIsAbove ? o.avgValue + e : o.avgValue - e, n = s.equalAverage === !0;
|
|
1030
|
-
(o.avgIsAbove ? n ? c >= t : c > t : n ? c <= t : c < t) &&
|
|
1030
|
+
(o.avgIsAbove ? n ? c >= t : c > t : n ? c <= t : c < t) && Ge(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1031
1031
|
} else if (s.type === "iconSet") {
|
|
1032
1032
|
if (c == null || !o.iconThresholds?.length) continue;
|
|
1033
1033
|
let e = o.iconThresholds, t = e.length, n = 0;
|
|
@@ -1044,7 +1044,7 @@ function qe(e, t, n, r, i) {
|
|
|
1044
1044
|
};
|
|
1045
1045
|
} else if (s.type === "colorScale") {
|
|
1046
1046
|
if (c == null || !o.scaleStops || a.fill) continue;
|
|
1047
|
-
let e =
|
|
1047
|
+
let e = We(c, s.stops, o.scaleStops);
|
|
1048
1048
|
a.fill = {
|
|
1049
1049
|
patternType: "solid",
|
|
1050
1050
|
fgColor: e,
|
|
@@ -1064,22 +1064,22 @@ function qe(e, t, n, r, i) {
|
|
|
1064
1064
|
}
|
|
1065
1065
|
//#endregion
|
|
1066
1066
|
//#region packages/xlsx/src/bidi-line.ts
|
|
1067
|
-
function
|
|
1067
|
+
function qe(e, t) {
|
|
1068
1068
|
return e === 2 ? !0 : e === 1 ? !1 : v(void 0, t) === "rtl";
|
|
1069
1069
|
}
|
|
1070
|
-
var
|
|
1070
|
+
var Je = /[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF\u200F\u202B\u202E\u2067]|[\u{10800}-\u{10FFF}\u{1E800}-\u{1EFFF}]/u, Ye = (e) => {
|
|
1071
1071
|
let t = e.text;
|
|
1072
1072
|
return typeof t == "string" ? t : void 0;
|
|
1073
1073
|
};
|
|
1074
|
-
function
|
|
1074
|
+
function Xe(e) {
|
|
1075
1075
|
for (let t of e) {
|
|
1076
|
-
let e =
|
|
1077
|
-
if (e !== void 0 &&
|
|
1076
|
+
let e = Ye(t);
|
|
1077
|
+
if (e !== void 0 && Je.test(e)) return !0;
|
|
1078
1078
|
}
|
|
1079
1079
|
return !1;
|
|
1080
1080
|
}
|
|
1081
|
-
var
|
|
1082
|
-
function
|
|
1081
|
+
var Ze = "";
|
|
1082
|
+
function Qe(e, t) {
|
|
1083
1083
|
let n = e.length;
|
|
1084
1084
|
if (n === 0) return {
|
|
1085
1085
|
order: [],
|
|
@@ -1088,8 +1088,8 @@ function $e(e, t) {
|
|
|
1088
1088
|
let r = "", i = Array(n);
|
|
1089
1089
|
for (let t = 0; t < n; t++) {
|
|
1090
1090
|
i[t] = r.length;
|
|
1091
|
-
let n =
|
|
1092
|
-
r += n.length > 0 ? n :
|
|
1091
|
+
let n = Ye(e[t]) ?? "";
|
|
1092
|
+
r += n.length > 0 ? n : Ze;
|
|
1093
1093
|
}
|
|
1094
1094
|
let a = m(), { levels: o, paragraphLevel: s } = a.computeLevels(r, t ? "rtl" : "ltr"), c = new Uint8Array(n);
|
|
1095
1095
|
for (let e = 0; e < n; e++) {
|
|
@@ -1105,7 +1105,7 @@ function $e(e, t) {
|
|
|
1105
1105
|
}
|
|
1106
1106
|
//#endregion
|
|
1107
1107
|
//#region packages/xlsx/src/a1.ts
|
|
1108
|
-
function
|
|
1108
|
+
function $e(e) {
|
|
1109
1109
|
let t = /^\$?([A-Z]+)\$?(\d+)$/.exec(e.trim());
|
|
1110
1110
|
if (!t) return null;
|
|
1111
1111
|
let n = t[1], r = 0;
|
|
@@ -1117,24 +1117,24 @@ function et(e) {
|
|
|
1117
1117
|
}
|
|
1118
1118
|
//#endregion
|
|
1119
1119
|
//#region packages/xlsx/src/renderer.ts
|
|
1120
|
-
var
|
|
1121
|
-
function
|
|
1120
|
+
var et = r.map((e) => `"${e}"`).join(", "), tt = a.map((e) => `"${e}"`).join(", "), nt = `"Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${et}, sans-serif`;
|
|
1121
|
+
function rt(e) {
|
|
1122
1122
|
return /song|sung|simsun|nsimsun|batang|gungsuh|mincho|mingliu|pmingliu|fangsong|kaiti|simkai|simfang|stsong|stkaiti|新細明|細明|宋体|明朝|楷体|楷體|仿宋|標楷|游明朝/.test(e);
|
|
1123
1123
|
}
|
|
1124
|
-
function
|
|
1124
|
+
function it(e) {
|
|
1125
1125
|
let t = e ? b(e) : null;
|
|
1126
|
-
if (!t) return
|
|
1127
|
-
let n =
|
|
1128
|
-
return `${c(t, n ? "serif" : "sans").map((e) => `"${e}"`).join(", ")}, "Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${n ?
|
|
1126
|
+
if (!t) return nt;
|
|
1127
|
+
let n = rt((e ?? "").toLowerCase());
|
|
1128
|
+
return `${c(t, n ? "serif" : "sans").map((e) => `"${e}"`).join(", ")}, "Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${n ? tt : et}, ${n ? "serif" : "sans-serif"}`;
|
|
1129
1129
|
}
|
|
1130
|
-
function
|
|
1131
|
-
return e ? `"${e}", ${
|
|
1130
|
+
function at(e) {
|
|
1131
|
+
return e ? `"${e}", ${it(e)}` : nt;
|
|
1132
1132
|
}
|
|
1133
|
-
var
|
|
1134
|
-
function
|
|
1133
|
+
var ot = 11, st = 8;
|
|
1134
|
+
function ct(e, t, n) {
|
|
1135
1135
|
return n - e - t;
|
|
1136
1136
|
}
|
|
1137
|
-
var
|
|
1137
|
+
var lt = "#7a7a7a", ut = /* @__PURE__ */ new Map(), dt = {
|
|
1138
1138
|
"meiryo ui": {
|
|
1139
1139
|
10: 8,
|
|
1140
1140
|
11: 8
|
|
@@ -1144,28 +1144,28 @@ var ut = "#7a7a7a", dt = /* @__PURE__ */ new Map(), ft = {
|
|
|
1144
1144
|
11: 8
|
|
1145
1145
|
}
|
|
1146
1146
|
};
|
|
1147
|
-
function
|
|
1148
|
-
let n = `${e}:${t}`, r =
|
|
1147
|
+
function ft(e, t) {
|
|
1148
|
+
let n = `${e}:${t}`, r = ut.get(n);
|
|
1149
1149
|
if (r !== void 0) return r;
|
|
1150
|
-
let i =
|
|
1151
|
-
if (i !== void 0) return
|
|
1150
|
+
let i = dt[e.toLowerCase()]?.[Math.round(t)];
|
|
1151
|
+
if (i !== void 0) return ut.set(n, i), i;
|
|
1152
1152
|
let a = t * p, o = typeof OffscreenCanvas < "u" ? new OffscreenCanvas(1, 1) : typeof document < "u" ? document.createElement("canvas") : null;
|
|
1153
|
-
if (!o) return
|
|
1153
|
+
if (!o) return st;
|
|
1154
1154
|
let s = o.getContext("2d");
|
|
1155
|
-
if (!s) return
|
|
1156
|
-
s.font = `${a}px ${
|
|
1155
|
+
if (!s) return st;
|
|
1156
|
+
s.font = `${a}px ${at(e)}`;
|
|
1157
1157
|
let c = 0;
|
|
1158
1158
|
for (let e of "0123456789") {
|
|
1159
1159
|
let t = s.measureText(e).width;
|
|
1160
1160
|
t > c && (c = t);
|
|
1161
1161
|
}
|
|
1162
|
-
let l = Math.round(c) ||
|
|
1163
|
-
return
|
|
1162
|
+
let l = Math.round(c) || st;
|
|
1163
|
+
return ut.set(n, l), l;
|
|
1164
1164
|
}
|
|
1165
|
-
function
|
|
1166
|
-
return !e.defaultFontFamily || !e.defaultFontSize ?
|
|
1165
|
+
function pt(e) {
|
|
1166
|
+
return !e.defaultFontFamily || !e.defaultFontSize ? st : ft(e.defaultFontFamily, e.defaultFontSize);
|
|
1167
1167
|
}
|
|
1168
|
-
function X(e, t =
|
|
1168
|
+
function X(e, t = st) {
|
|
1169
1169
|
return Math.trunc((256 * e + 128 / t) / 256 * t);
|
|
1170
1170
|
}
|
|
1171
1171
|
function Z(e) {
|
|
@@ -1419,7 +1419,7 @@ function bt(e, t, n, r, i, a) {
|
|
|
1419
1419
|
}
|
|
1420
1420
|
return o;
|
|
1421
1421
|
}
|
|
1422
|
-
var xt =
|
|
1422
|
+
var xt = $e;
|
|
1423
1423
|
function St(e, t, n, r, i) {
|
|
1424
1424
|
let a = Math.max(4, Math.min(8, Math.min(r, i) * .18));
|
|
1425
1425
|
e.save(), e.fillStyle = "#D40000", e.beginPath(), e.moveTo(t + r - a, n), e.lineTo(t + r, n), e.lineTo(t + r, n + a), e.closePath(), e.fill(), e.restore();
|
|
@@ -1429,7 +1429,7 @@ function Ct(e, t, n) {
|
|
|
1429
1429
|
return `rgb(${Math.round(a * d + c * (1 - d))},${Math.round(o * d + l * (1 - d))},${Math.round(s * d + u * (1 - d))})`;
|
|
1430
1430
|
}
|
|
1431
1431
|
function wt(e, t = 1) {
|
|
1432
|
-
return `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${Math.max(1, Math.round(e.size * p * t))}px ${
|
|
1432
|
+
return `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${Math.max(1, Math.round(e.size * p * t))}px ${at(e.name)}`;
|
|
1433
1433
|
}
|
|
1434
1434
|
function Tt(e, t, n, r, i, a) {
|
|
1435
1435
|
e.save(), e.strokeStyle = i, e.lineWidth = .5, e.beginPath(), a ? (e.moveTo(t, r - 1), e.lineTo(n, r - 1), e.moveTo(t, r + 1), e.lineTo(n, r + 1)) : (e.moveTo(t, r), e.lineTo(n, r)), e.stroke(), e.restore();
|
|
@@ -1464,7 +1464,7 @@ function Dt(e, t) {
|
|
|
1464
1464
|
italic: !1,
|
|
1465
1465
|
underline: !1,
|
|
1466
1466
|
strike: !1,
|
|
1467
|
-
size:
|
|
1467
|
+
size: ot,
|
|
1468
1468
|
color: null,
|
|
1469
1469
|
name: null
|
|
1470
1470
|
},
|
|
@@ -1693,7 +1693,7 @@ function Vt(e) {
|
|
|
1693
1693
|
}
|
|
1694
1694
|
function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
1695
1695
|
if (f <= 0 || m <= 0) return;
|
|
1696
|
-
let { styles: h, cellMap: g, mergeAnchorMap: v, mergeSkipSet: y, cfContext: b, cs: x, dpr: S } = t, C = i.length, w = a.length, T = (e, n) => t.rtl ?
|
|
1696
|
+
let { styles: h, cellMap: g, mergeAnchorMap: v, mergeSkipSet: y, cfContext: b, cs: x, dpr: S } = t, C = i.length, w = a.length, T = (e, n) => t.rtl ? ct(e, n, t.canvasW) : e, E = [], D = -o;
|
|
1697
1697
|
for (let e = 0; e < C; e++) E.push(D), D += i[e];
|
|
1698
1698
|
let O = [], k = -s;
|
|
1699
1699
|
for (let e = 0; e < w; e++) O.push(k), k += a[e];
|
|
@@ -1711,39 +1711,60 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
1711
1711
|
for (let n = u; n < r; n++) e += Math.round(X(t.worksheet.colWidths[n] ?? t.worksheet.defaultColWidth, t.mdw) * x);
|
|
1712
1712
|
f = c - o - e;
|
|
1713
1713
|
}
|
|
1714
|
-
let
|
|
1715
|
-
if (a >= n)
|
|
1714
|
+
let m;
|
|
1715
|
+
if (a >= n) m = l + O[a - n];
|
|
1716
1716
|
else {
|
|
1717
1717
|
let e = 0;
|
|
1718
1718
|
for (let r = a; r < n; r++) e += Math.round(Z(t.worksheet.rowHeights[r] ?? t.worksheet.defaultRowHeight) * x);
|
|
1719
|
-
|
|
1720
|
-
}
|
|
1721
|
-
let
|
|
1722
|
-
f = T(f,
|
|
1723
|
-
let
|
|
1724
|
-
if (yt(e,
|
|
1725
|
-
let t = Math.max(0, (
|
|
1726
|
-
mt(e,
|
|
1727
|
-
}
|
|
1728
|
-
if (un(e, ln(cn(
|
|
1729
|
-
let
|
|
1730
|
-
if (!
|
|
1731
|
-
let
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
let
|
|
1740
|
-
e.fillStyle =
|
|
1741
|
-
let
|
|
1742
|
-
e.save(), e.beginPath(), e.rect(f,
|
|
1743
|
-
let
|
|
1744
|
-
|
|
1745
|
-
let
|
|
1746
|
-
|
|
1719
|
+
m = l - s - e;
|
|
1720
|
+
}
|
|
1721
|
+
let g = d.totalW, _ = d.totalH;
|
|
1722
|
+
f = T(f, g);
|
|
1723
|
+
let v = `${a}:${u}`, y = t.cellMap.get(v), { font: S, fill: D, border: k, xf: A } = Dt(h, y?.styleIndex ?? 0), j = Ke(y, a, u, b, h.dxfs ?? []);
|
|
1724
|
+
if (yt(e, j.fill ?? D, f, m, g, _), j.dataBar && j.dataBar.ratio > 0) {
|
|
1725
|
+
let t = Math.max(0, (g - 4) * j.dataBar.ratio);
|
|
1726
|
+
mt(e, j.dataBar.color, f + 2, m + 2, t, _ - 4, j.dataBar.gradient);
|
|
1727
|
+
}
|
|
1728
|
+
if (un(e, ln(cn(k, a, u, d.right, d.bottom, t.cellMap, h), j.border), f, m, g, _), !y) continue;
|
|
1729
|
+
let M = he(y, h, j.numFmt);
|
|
1730
|
+
if (!M || M === "0" && t.worksheet.showZeros === !1) continue;
|
|
1731
|
+
let N = S.bold || !!j.fontBold, P = S.italic || !!j.fontItalic, F = S.underline || !!j.fontUnderline, I = S.strike || !!j.fontStrike, L = N !== S.bold || P !== S.italic || F !== S.underline || I !== S.strike ? {
|
|
1732
|
+
...S,
|
|
1733
|
+
bold: N,
|
|
1734
|
+
italic: P,
|
|
1735
|
+
underline: F,
|
|
1736
|
+
strike: I
|
|
1737
|
+
} : S;
|
|
1738
|
+
e.font = wt(L, x);
|
|
1739
|
+
let R = t.hyperlinkMap.get(v) ? "#0563C1" : j.fontColor ?? S.color;
|
|
1740
|
+
e.fillStyle = R ? Q(R) : "#000000";
|
|
1741
|
+
let z = y.value.type === "number", B = A.alignH ?? (z ? "right" : "left"), V = A.alignV ?? "bottom", H = A.indent ? Math.round(A.indent * 3 * t.mdw) : 0, ee = 3 + (B === "left" || !A.alignH ? H : 0);
|
|
1742
|
+
e.save(), e.beginPath(), e.rect(f, m, g, _), e.clip();
|
|
1743
|
+
let U;
|
|
1744
|
+
B === "right" ? (U = f + g - 3, e.textAlign = "right") : B === "center" ? (U = f + g / 2, e.textAlign = "center") : (U = f + ee, e.textAlign = "left");
|
|
1745
|
+
let te = y.value.type === "text" ? y.value.runs : void 0, ne = te && te.length > 0;
|
|
1746
|
+
if (A.wrapText && ne) {
|
|
1747
|
+
let t = jt(e, te, L, x, g - ee - 3), n = t.reduce((e, t) => e + Math.round(t.maxFontSize * p * 1.2), 0), r;
|
|
1748
|
+
r = V === "top" ? m + 2 : V === "center" ? m + (_ - n) / 2 : m + _ - n - 2, e.textAlign = "left", e.textBaseline = "top";
|
|
1749
|
+
for (let n of t) {
|
|
1750
|
+
let t = Math.round(n.maxFontSize * p * 1.2), i = n.segments.reduce((e, t) => e + t.width, 0), a;
|
|
1751
|
+
a = B === "right" ? f + g - 3 - i : B === "center" ? f + g / 2 - i / 2 : f + ee;
|
|
1752
|
+
for (let t of n.segments) {
|
|
1753
|
+
e.font = wt(t.font, x);
|
|
1754
|
+
let n = j.fontColor ?? t.font.color;
|
|
1755
|
+
e.fillStyle = n ? Q(n) : "#000000", e.fillText(t.text, a, r), a += t.width;
|
|
1756
|
+
}
|
|
1757
|
+
r += t;
|
|
1758
|
+
}
|
|
1759
|
+
} else if (A.wrapText) {
|
|
1760
|
+
let t = Ot(e, M, g - ee - 3), n = Math.round(S.size * p * 1.2), r = t.length * n, i;
|
|
1761
|
+
i = V === "top" ? m + 2 : V === "center" ? m + (_ - r) / 2 : m + _ - r - 2, e.textBaseline = "top";
|
|
1762
|
+
for (let r = 0; r < t.length; r++) e.fillText(t[r], U, i + r * n);
|
|
1763
|
+
} else {
|
|
1764
|
+
let t;
|
|
1765
|
+
V === "top" ? (e.textBaseline = "top", t = m + 2) : V === "center" ? (e.textBaseline = "middle", t = m + _ / 2) : (e.textBaseline = "bottom", t = m + _ - 2), e.fillText(M, U, t);
|
|
1766
|
+
}
|
|
1767
|
+
e.restore();
|
|
1747
1768
|
}
|
|
1748
1769
|
for (let o = 0; o < w; o++) {
|
|
1749
1770
|
let s = n + o, w = l + O[o], D = a[o];
|
|
@@ -1771,48 +1792,48 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
1771
1792
|
if (l + d <= u || l >= u + f) continue;
|
|
1772
1793
|
let m = `${s}:${a}`;
|
|
1773
1794
|
if (y.has(m)) continue;
|
|
1774
|
-
let O = v.get(m), M = O ? O.totalW : d, N = O ? O.totalH : D, P = T(l, M), F = g.get(m), { font: I, fill: L, border: R, xf: z } = Dt(h, F?.styleIndex ?? 0), B =
|
|
1775
|
-
if (yt(e, V, P, w, M, N) ?
|
|
1795
|
+
let O = v.get(m), M = O ? O.totalW : d, N = O ? O.totalH : D, P = T(l, M), F = g.get(m), { font: I, fill: L, border: R, xf: z } = Dt(h, F?.styleIndex ?? 0), B = Ke(F, s, a, b, h.dxfs ?? []), V = B.fill ?? L, H = t.tableStyleMap.get(m), ee = h.dxfs ?? [], U = (e) => e == null ? void 0 : ee[e], te = U(H?.wholeTableDxf), ne = U(H?.headerRowDxf), re = U(H?.totalRowDxf), ie = U(H?.firstColumnDxf), ae = U(H?.lastColumnDxf), oe = U(H?.stripeDxf), se = H?.isHeader && ne?.fill?.fgColor ? ne : H?.isTotals && re?.fill?.fgColor ? re : H?.isLastCol && ae?.fill?.fgColor ? ae : H?.isFirstCol && ie?.fill?.fgColor ? ie : oe?.fill?.fgColor ? oe : !H?.isHeader && !H?.isTotals && te?.fill?.fgColor ? te : void 0, ce = !1;
|
|
1796
|
+
if (yt(e, V, P, w, M, N) ? ce = !0 : H && se?.fill?.fgColor ? (e.fillStyle = Q(se.fill.fgColor), e.fillRect(P, w, M, N), ce = !0) : H && !H.isCustom && H.isBanded && (e.fillStyle = Vt(H.accent), e.fillRect(P, w, M, N), ce = !0), t.commentCells.has(m) && St(e, P, w, M, N), B.dataBar && B.dataBar.ratio > 0) {
|
|
1776
1797
|
let t = Math.max(0, (M - 4) * B.dataBar.ratio);
|
|
1777
1798
|
mt(e, B.dataBar.color, P + 2, w + 2, t, N - 4, B.dataBar.gradient);
|
|
1778
1799
|
}
|
|
1779
|
-
let
|
|
1780
|
-
if (
|
|
1800
|
+
let le = t.sparklineMap.get(m);
|
|
1801
|
+
if (le && _(e, {
|
|
1781
1802
|
x: P,
|
|
1782
1803
|
y: w,
|
|
1783
1804
|
w: M,
|
|
1784
1805
|
h: N
|
|
1785
|
-
},
|
|
1806
|
+
}, le), t.worksheet.showGridlines !== !1) {
|
|
1786
1807
|
let t = .5 / S;
|
|
1787
1808
|
e.strokeStyle = "#d0d0d0", e.lineWidth = .5, e.beginPath(), k.has(n) || (e.moveTo(P + M + t, w), e.lineTo(P + M + t, w + N)), e.moveTo(P, w + N + t), e.lineTo(P + M, w + N + t), o === 0 && (e.moveTo(P, w + t), e.lineTo(P + M, w + t)), n === 0 && (e.moveTo(P + t, w), e.lineTo(P + t, w + N)), e.stroke();
|
|
1788
1809
|
}
|
|
1789
|
-
let
|
|
1790
|
-
(k.has(n) || j.has(n)) && (
|
|
1791
|
-
...
|
|
1792
|
-
left: j.has(n) ? null :
|
|
1793
|
-
right: k.has(n) ? null :
|
|
1810
|
+
let W = ln(O ? cn(R, s, a, O.right, O.bottom, g, h) : R, B.border);
|
|
1811
|
+
(k.has(n) || j.has(n)) && (W = {
|
|
1812
|
+
...W,
|
|
1813
|
+
left: j.has(n) ? null : W.left,
|
|
1814
|
+
right: k.has(n) ? null : W.right
|
|
1794
1815
|
});
|
|
1795
|
-
let
|
|
1796
|
-
if (
|
|
1797
|
-
let e =
|
|
1798
|
-
|
|
1799
|
-
...
|
|
1816
|
+
let ue = g.get(`${s - 1}:${a}`), G = ce && ue ? Dt(h, ue.styleIndex).border.bottom : null, K = !1;
|
|
1817
|
+
if (G?.style) {
|
|
1818
|
+
let e = W.top, t = mn(e, G);
|
|
1819
|
+
W = {
|
|
1820
|
+
...W,
|
|
1800
1821
|
top: t
|
|
1801
|
-
},
|
|
1822
|
+
}, K = t === G && e !== G;
|
|
1802
1823
|
}
|
|
1803
|
-
let
|
|
1804
|
-
if (
|
|
1824
|
+
let q = !1;
|
|
1825
|
+
if (ce && !j.has(n)) {
|
|
1805
1826
|
let e = g.get(`${s}:${a - 1}`), t = e ? Dt(h, e.styleIndex).border.right : null;
|
|
1806
1827
|
if (t?.style) {
|
|
1807
|
-
let e =
|
|
1808
|
-
|
|
1809
|
-
...
|
|
1828
|
+
let e = W.left, n = mn(e, t);
|
|
1829
|
+
W = {
|
|
1830
|
+
...W,
|
|
1810
1831
|
left: n
|
|
1811
|
-
},
|
|
1832
|
+
}, q = n === t && e !== t;
|
|
1812
1833
|
}
|
|
1813
1834
|
}
|
|
1814
|
-
if (un(e,
|
|
1815
|
-
let t = zt(H,
|
|
1835
|
+
if (un(e, W, P, w, M, N, K, q), H) {
|
|
1836
|
+
let t = zt(H, te, ne, a);
|
|
1816
1837
|
if (t.kind === "dxf") un(e, t.border, P, w, M, N);
|
|
1817
1838
|
else if (t.kind === "accent") {
|
|
1818
1839
|
let n = .5 / S;
|
|
@@ -1820,9 +1841,9 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
1820
1841
|
}
|
|
1821
1842
|
}
|
|
1822
1843
|
if (t.autoFilterCells.has(m) && Lt(e, P, w, d, N), !F) continue;
|
|
1823
|
-
let
|
|
1824
|
-
!
|
|
1825
|
-
let o = H?.isHeader ?
|
|
1844
|
+
let J = he(F, h, B.numFmt);
|
|
1845
|
+
!J || J === "0" && t.worksheet.showZeros === !1 || A.push(() => {
|
|
1846
|
+
let o = H?.isHeader ? ne : H?.isTotals ? re : H?.isLastCol && ae ? ae : H?.isFirstCol && ie ? ie : oe || (H ? te : void 0), c = H ? H.isCustom ? !!o?.font?.bold : H.isHeader || H.isTotals : !1, l = I.bold || !!B.fontBold || c, u = I.italic || !!B.fontItalic, d = I.underline || !!B.fontUnderline, f = I.strike || !!B.fontStrike, _ = l !== I.bold || u !== I.italic || d !== I.underline || f !== I.strike ? {
|
|
1826
1847
|
...I,
|
|
1827
1848
|
bold: l,
|
|
1828
1849
|
italic: u,
|
|
@@ -1832,27 +1853,27 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
1832
1853
|
e.font = wt(_, x);
|
|
1833
1854
|
let b = t.hyperlinkMap.get(m), S = o?.font?.color ?? null, T = b ? "#0563C1" : B.fontColor ?? S ?? I.color;
|
|
1834
1855
|
e.fillStyle = T ? Q(T) : "#000000";
|
|
1835
|
-
let E = F.value.type === "number", D = z.alignH ?? (E ? "right" : "left"), k = z.alignV ?? "bottom", A = z.indent ? Math.round(z.indent * 3 * t.mdw) : 0, j = B.iconSet ? Math.max(8, Math.round(Math.min(M, N) * .55)) : 0, L = j > 0 ? j + 4 : 0, R = 3 + (D === "left" || !z.alignH ? A : 0) + L, V = M, ee = P,
|
|
1856
|
+
let E = F.value.type === "number", D = z.alignH ?? (E ? "right" : "left"), k = z.alignV ?? "bottom", A = z.indent ? Math.round(z.indent * 3 * t.mdw) : 0, j = B.iconSet ? Math.max(8, Math.round(Math.min(M, N) * .55)) : 0, L = j > 0 ? j + 4 : 0, R = 3 + (D === "left" || !z.alignH ? A : 0) + L, V = M, ee = P, U = n;
|
|
1836
1857
|
if (D === "centerContinuous" && !O) for (let e = n + 1; e < C; e++) {
|
|
1837
1858
|
let t = `${s}:${r + e}`;
|
|
1838
1859
|
if (y.has(t) || v.has(t)) break;
|
|
1839
1860
|
let n = g.get(t);
|
|
1840
1861
|
if (n && n.value.type !== "empty" || Dt(h, n?.styleIndex ?? 0).xf.alignH !== "centerContinuous") break;
|
|
1841
|
-
V += i[e],
|
|
1862
|
+
V += i[e], U = e;
|
|
1842
1863
|
}
|
|
1843
|
-
let
|
|
1844
|
-
if (!O && !z.wrapText && !z.textRotation && !E && !
|
|
1845
|
-
let t = e.measureText(
|
|
1864
|
+
let se = D === "centerContinuous" ? ee : P, ce = D === "centerContinuous" ? V : M, le = J.includes("\n");
|
|
1865
|
+
if (!O && !z.wrapText && !z.textRotation && !E && !le) {
|
|
1866
|
+
let t = e.measureText(J).width, a = D === "centerContinuous", o = a ? t + 6 : t + R + 3, c = a ? V : M;
|
|
1846
1867
|
if (o > c) {
|
|
1847
1868
|
let e = o - c, t = 0, l = 0;
|
|
1848
1869
|
if (D === "right" ? l = e : D === "center" || a ? (l = e / 2, t = e / 2) : t = e, t > 0) {
|
|
1849
|
-
let e = t, o = a ?
|
|
1870
|
+
let e = t, o = a ? U + 1 : n + 1;
|
|
1850
1871
|
for (let t = o; t < C && e > 0; t++) {
|
|
1851
1872
|
let n = `${s}:${r + t}`;
|
|
1852
1873
|
if (y.has(n) || v.has(n)) break;
|
|
1853
1874
|
let a = g.get(n);
|
|
1854
1875
|
if (a && a.value.type !== "empty") break;
|
|
1855
|
-
|
|
1876
|
+
ce += i[t], e -= i[t];
|
|
1856
1877
|
}
|
|
1857
1878
|
}
|
|
1858
1879
|
if (l > 0) {
|
|
@@ -1862,60 +1883,60 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
1862
1883
|
if (y.has(n) || v.has(n)) break;
|
|
1863
1884
|
let a = g.get(n);
|
|
1864
1885
|
if (a && a.value.type !== "empty") break;
|
|
1865
|
-
|
|
1886
|
+
se -= i[t], ce += i[t], e -= i[t];
|
|
1866
1887
|
}
|
|
1867
1888
|
}
|
|
1868
1889
|
}
|
|
1869
1890
|
}
|
|
1870
|
-
let
|
|
1871
|
-
if (D === "fill" && !E &&
|
|
1872
|
-
let t = Math.max(1, M - 6), n = e.measureText(
|
|
1891
|
+
let W = J, ue = 0;
|
|
1892
|
+
if (D === "fill" && !E && J.length > 0) {
|
|
1893
|
+
let t = Math.max(1, M - 6), n = e.measureText(J).width;
|
|
1873
1894
|
if (n > 0 && n < t) {
|
|
1874
1895
|
let e = Math.max(1, Math.floor(t / n));
|
|
1875
|
-
|
|
1896
|
+
W = J.repeat(e);
|
|
1876
1897
|
}
|
|
1877
1898
|
}
|
|
1878
|
-
if (D === "distributed" || D === "justify" && !z.wrapText && !
|
|
1879
|
-
let t = Math.max(1, M - 6), n = e.measureText(
|
|
1880
|
-
n < t && (
|
|
1899
|
+
if (D === "distributed" || D === "justify" && !z.wrapText && !le) {
|
|
1900
|
+
let t = Math.max(1, M - 6), n = e.measureText(W).width, r = Math.max(1, [...W].length - 1);
|
|
1901
|
+
n < t && (ue = Math.max(0, (t - n) / r));
|
|
1881
1902
|
}
|
|
1882
|
-
let
|
|
1883
|
-
D === "right" ? (
|
|
1884
|
-
let
|
|
1885
|
-
if (B.iconSet && j > 0 && (e.save(), e.beginPath(), e.rect(P, w, M, N), e.clip(), It(e, B.iconSet.name, B.iconSet.index, P + 2, w + (N - j) / 2, j), e.restore()), e.save(), e.beginPath(), e.rect(
|
|
1886
|
-
let t = Math.round(I.size * p * 1.1), n =
|
|
1903
|
+
let G, K;
|
|
1904
|
+
D === "right" ? (G = P + M - 3, K = "right") : D === "center" ? (G = P + M / 2, K = "center") : D === "centerContinuous" ? (G = ee + V / 2, K = "center") : D === "distributed" || D === "justify" && !z.wrapText && !le ? (G = P + 3, K = "left") : (G = P + R, K = "left");
|
|
1905
|
+
let q = z.textRotation ?? 0, de = q === 255, fe = q > 0 && q !== 255;
|
|
1906
|
+
if (B.iconSet && j > 0 && (e.save(), e.beginPath(), e.rect(P, w, M, N), e.clip(), It(e, B.iconSet.name, B.iconSet.index, P + 2, w + (N - j) / 2, j), e.restore()), e.save(), e.beginPath(), e.rect(se, w, ce, N), e.clip(), de) {
|
|
1907
|
+
let t = Math.round(I.size * p * 1.1), n = J.length * t, r = k === "top" ? w + 2 : k === "center" ? w + (N - n) / 2 : w + N - n - 2;
|
|
1887
1908
|
e.textAlign = "center", e.textBaseline = "top";
|
|
1888
|
-
for (let n of
|
|
1909
|
+
for (let n of J) e.fillText(n, P + M / 2, r), r += t;
|
|
1889
1910
|
e.restore();
|
|
1890
1911
|
return;
|
|
1891
1912
|
}
|
|
1892
|
-
if (
|
|
1893
|
-
let t =
|
|
1894
|
-
e.translate(P + M / 2, w + N / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(
|
|
1913
|
+
if (fe) {
|
|
1914
|
+
let t = q <= 90 ? -(q * Math.PI / 180) : (q - 90) * Math.PI / 180;
|
|
1915
|
+
e.translate(P + M / 2, w + N / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(J, 0, 0), e.restore();
|
|
1895
1916
|
return;
|
|
1896
1917
|
}
|
|
1897
1918
|
if (z.shrinkToFit) {
|
|
1898
|
-
let t = e.measureText(
|
|
1919
|
+
let t = e.measureText(J).width, n = M - R - 3;
|
|
1899
1920
|
if (t > n && t > 0) {
|
|
1900
1921
|
let r = n / t, i = D === "right" ? P + M - 3 : D === "center" ? P + M / 2 : P + R;
|
|
1901
1922
|
e.transform(r, 0, 0, 1, i * (1 - r), 0);
|
|
1902
1923
|
}
|
|
1903
1924
|
}
|
|
1904
|
-
if (e.textAlign =
|
|
1905
|
-
e.letterSpacing = `${
|
|
1925
|
+
if (e.textAlign = K, ue > 0) try {
|
|
1926
|
+
e.letterSpacing = `${ue}px`;
|
|
1906
1927
|
} catch {}
|
|
1907
1928
|
try {
|
|
1908
|
-
e.direction =
|
|
1929
|
+
e.direction = qe(z.readingOrder, J) ? "rtl" : "ltr";
|
|
1909
1930
|
} catch {}
|
|
1910
|
-
let
|
|
1911
|
-
if (z.wrapText &&
|
|
1912
|
-
let t = jt(e,
|
|
1931
|
+
let Y = F.value.type === "text" ? F.value.runs : void 0, pe = Y && Y.length > 0;
|
|
1932
|
+
if (z.wrapText && pe) {
|
|
1933
|
+
let t = jt(e, Y, _, x, M - R - 3), n = t.reduce((e, t) => e + Math.round(t.maxFontSize * p * 1.2), 0), r;
|
|
1913
1934
|
r = k === "top" ? w + 2 : k === "center" ? w + (N - n) / 2 : w + N - n - 2, e.textAlign = "left", e.textBaseline = "top";
|
|
1914
|
-
let i = z.readingOrder === 2 ||
|
|
1935
|
+
let i = z.readingOrder === 2 || Xe(Y), a = i && qe(z.readingOrder, Y.map((e) => e.text).join("")), o = e;
|
|
1915
1936
|
for (let n of t) {
|
|
1916
1937
|
let t = Math.round(n.maxFontSize * p * 1.2), s = n.segments.reduce((e, t) => e + t.width, 0), c;
|
|
1917
1938
|
c = D === "right" ? P + M - 3 - s : D === "center" ? P + M / 2 - s / 2 : P + R;
|
|
1918
|
-
let l = i ?
|
|
1939
|
+
let l = i ? Qe(n.segments, a) : null;
|
|
1919
1940
|
for (let t = 0; t < n.segments.length; t++) {
|
|
1920
1941
|
let i = l ? l.order[t] : t, a = n.segments[i];
|
|
1921
1942
|
if (l) try {
|
|
@@ -1942,19 +1963,19 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
1942
1963
|
o.direction = "ltr";
|
|
1943
1964
|
} catch {}
|
|
1944
1965
|
} else if (z.wrapText) {
|
|
1945
|
-
let t = Ot(e,
|
|
1966
|
+
let t = Ot(e, J, M - R - 3), n = Math.round(I.size * p * 1.2), r = t.length * n, i;
|
|
1946
1967
|
k === "top" ? (i = w + 2, e.textBaseline = "top") : k === "center" ? (i = w + (N - r) / 2, e.textBaseline = "top") : (i = w + N - r - 2, e.textBaseline = "top");
|
|
1947
|
-
for (let r = 0; r < t.length; r++) e.fillText(t[r],
|
|
1948
|
-
} else if (
|
|
1949
|
-
let t =
|
|
1968
|
+
for (let r = 0; r < t.length; r++) e.fillText(t[r], G, i + r * n);
|
|
1969
|
+
} else if (pe) {
|
|
1970
|
+
let t = Y.map((e) => Et(_, e)), n = Y.map((e) => e.font?.vertAlign), r = t.map((e, t) => n[t] === "superscript" || n[t] === "subscript" ? {
|
|
1950
1971
|
...e,
|
|
1951
1972
|
size: e.size * .65
|
|
1952
|
-
} : e), i =
|
|
1973
|
+
} : e), i = Y.map((t, n) => (e.font = wt(r[n], x), e.measureText(t.text).width)), a = i.reduce((e, t) => e + t, 0), o;
|
|
1953
1974
|
o = D === "right" ? P + M - 3 - a : D === "center" ? P + M / 2 - a / 2 : P + R, e.textAlign = "left";
|
|
1954
1975
|
let s;
|
|
1955
1976
|
k === "top" ? (e.textBaseline = "top", s = w + 2) : k === "center" ? (e.textBaseline = "middle", s = w + N / 2) : (e.textBaseline = "bottom", s = w + N - 2);
|
|
1956
|
-
let c = z.readingOrder === 2 ||
|
|
1957
|
-
for (let a = 0; a <
|
|
1977
|
+
let c = z.readingOrder === 2 || Xe(Y) ? Qe(Y, qe(z.readingOrder, Y.map((e) => e.text).join(""))) : null, l = e, u = o;
|
|
1978
|
+
for (let a = 0; a < Y.length; a++) {
|
|
1958
1979
|
let o = c ? c.order[a] : a;
|
|
1959
1980
|
if (c) try {
|
|
1960
1981
|
l.direction = c.rtl[o] ? "rtl" : "ltr";
|
|
@@ -1964,7 +1985,7 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
1964
1985
|
let m = B.fontColor ?? d.color;
|
|
1965
1986
|
e.fillStyle = m ? Q(m) : "#000000";
|
|
1966
1987
|
let h = Math.round(f.size * p), g = 0;
|
|
1967
|
-
n[o] === "superscript" ? g = -Math.round(h * .35) : n[o] === "subscript" && (g = Math.round(h * .1)), e.fillText(
|
|
1988
|
+
n[o] === "superscript" ? g = -Math.round(h * .35) : n[o] === "subscript" && (g = Math.round(h * .1)), e.fillText(Y[o].text, u, s + g);
|
|
1968
1989
|
let _ = Math.round(d.size * p);
|
|
1969
1990
|
if (d.underline) {
|
|
1970
1991
|
let t = (k === "top" ? w + 2 + _ + 1 : k === "center" ? w + N / 2 + Math.round(_ * .55) : w + N - 2 + 1) + g, n = m ? Q(m) : "#000000";
|
|
@@ -1987,8 +2008,8 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
1987
2008
|
size: _.size * .65
|
|
1988
2009
|
} : _;
|
|
1989
2010
|
t && (e.font = wt(i, x));
|
|
1990
|
-
let a = null, o = () => a ??= e.measureText(
|
|
1991
|
-
let e = Math.min(o().width,
|
|
2011
|
+
let a = null, o = () => a ??= e.measureText(J), s = () => {
|
|
2012
|
+
let e = Math.min(o().width, ce - R - 3);
|
|
1992
2013
|
return {
|
|
1993
2014
|
x: D === "right" ? P + M - 3 - e : D === "center" ? P + M / 2 - e / 2 : P + R,
|
|
1994
2015
|
width: e
|
|
@@ -2002,17 +2023,17 @@ function Ht(e, t, n, r, i, a, o, s, c, l, u, d, f, m) {
|
|
|
2002
2023
|
let { x: t, width: n } = s(), i = (k === "top" ? w + 2 + Math.round(c * .5) : k === "center" ? w + N / 2 : w + N - 2 - Math.round(c * .35)) + r;
|
|
2003
2024
|
e.save(), e.strokeStyle = T ? Q(T) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(t, i), e.lineTo(t + n, i), e.stroke(), e.restore();
|
|
2004
2025
|
}
|
|
2005
|
-
if (
|
|
2006
|
-
let t =
|
|
2026
|
+
if (J.includes("\n")) {
|
|
2027
|
+
let t = J.split("\n"), n = Math.round(I.size * p * 1.2), i = t.length * n, a;
|
|
2007
2028
|
k === "top" ? (a = w + 2, e.textBaseline = "top") : k === "center" ? (a = w + (N - i) / 2, e.textBaseline = "top") : (a = w + N - i - 2, e.textBaseline = "top");
|
|
2008
|
-
for (let i = 0; i < t.length; i++) e.fillText(t[i],
|
|
2029
|
+
for (let i = 0; i < t.length; i++) e.fillText(t[i], G, a + i * n + r);
|
|
2009
2030
|
} else {
|
|
2010
2031
|
let t;
|
|
2011
|
-
k === "top" ? (e.textBaseline = "top", t = w + 2) : k === "center" ? (e.textBaseline = "middle", t = w + N / 2) : (e.textBaseline = "bottom", t = w + N - 2), e.fillText(
|
|
2032
|
+
k === "top" ? (e.textBaseline = "top", t = w + 2) : k === "center" ? (e.textBaseline = "middle", t = w + N / 2) : (e.textBaseline = "bottom", t = w + N - 2), e.fillText(W, G, t + r);
|
|
2012
2033
|
}
|
|
2013
2034
|
}
|
|
2014
|
-
e.restore(),
|
|
2015
|
-
text:
|
|
2035
|
+
e.restore(), J && t.onTextRun && t.onTextRun({
|
|
2036
|
+
text: J,
|
|
2016
2037
|
x: P,
|
|
2017
2038
|
y: w,
|
|
2018
2039
|
width: M,
|
|
@@ -2048,7 +2069,7 @@ function Wt(e) {
|
|
|
2048
2069
|
}
|
|
2049
2070
|
let s = {
|
|
2050
2071
|
cellMap: n,
|
|
2051
|
-
cfContext:
|
|
2072
|
+
cfContext: ze(e),
|
|
2052
2073
|
mergeSkipSet: r,
|
|
2053
2074
|
autoFilterCells: i,
|
|
2054
2075
|
hyperlinkMap: a,
|
|
@@ -2059,7 +2080,7 @@ function Wt(e) {
|
|
|
2059
2080
|
return Ut.set(e, s), s;
|
|
2060
2081
|
}
|
|
2061
2082
|
function Gt(e, t, n, r, i = {}) {
|
|
2062
|
-
let a = i.dpr ?? 1, o = i.cellScale ?? 1, s =
|
|
2083
|
+
let a = i.dpr ?? 1, o = i.cellScale ?? 1, s = pt(t), c = e.canvas.width / a, l = e.canvas.height / a;
|
|
2063
2084
|
e.clearRect(0, 0, c, l), e.fillStyle = "#ffffff", e.fillRect(0, 0, c, l);
|
|
2064
2085
|
let u = (e) => Math.round(e * o), d = u(50), f = u(22), { row: p, col: m, rows: h, cols: g } = r, _ = (i.scrollOffsetX ?? 0) * o, v = (i.scrollOffsetY ?? 0) * o, y = i.freezeRows ?? 0, b = i.freezeCols ?? 0, x = [];
|
|
2065
2086
|
for (let e = 1; e <= b; e++) x.push(u(X(t.colWidths[e] ?? t.defaultColWidth, s)));
|
|
@@ -2111,14 +2132,14 @@ function Gt(e, t, n, r, i = {}) {
|
|
|
2111
2132
|
}, L = d, R = f, z = L + C, B = R + w, V = Math.max(0, c - z), H = Math.max(0, l - B);
|
|
2112
2133
|
y > 0 && b > 0 && Ht(e, I, 1, 1, x, S, 0, 0, L, R, L, R, C, w), y > 0 && Ht(e, I, 1, m, T, S, _, 0, z, R, z, R, V, w), b > 0 && Ht(e, I, p, 1, x, E, 0, v, L, B, L, B, C, H), Ht(e, I, p, m, T, E, _, v, z, B, z, B, V, H), t.images && t.images.length > 0 && i.loadedImages && Jt(e, t, i.loadedImages, o, p, m, _, v, z, B, V, H), t.shapeGroups && t.shapeGroups.length > 0 && Yt(e, t, o, p, m, _, v, z, B, V, H, i.loadedImages), t.charts && t.charts.length > 0 && _n(e, t, o, p, m, _, v, z, B, V, H), t.slicers && t.slicers.length > 0 && An(e, t, o, p, m, _, v, z, B, V, H), Kt(e, c, l, p, m, h, g, T, E, _, v, x, S, C, w, d, f, o, a, i.selectedRowRange ?? null, i.selectedColRange ?? null, t.rightToLeft === !0);
|
|
2113
2134
|
let ee = t.rightToLeft === !0;
|
|
2114
|
-
if (y > 0 && (e.save(), e.strokeStyle =
|
|
2115
|
-
e.save(), e.strokeStyle =
|
|
2135
|
+
if (y > 0 && (e.save(), e.strokeStyle = lt, e.lineWidth = .5, e.beginPath(), ee ? (e.moveTo(0, B + .5), e.lineTo(c - d, B + .5)) : (e.moveTo(d, B + .5), e.lineTo(c, B + .5)), e.stroke(), e.restore()), b > 0) {
|
|
2136
|
+
e.save(), e.strokeStyle = lt, e.lineWidth = .5, e.beginPath();
|
|
2116
2137
|
let t = ee ? c - z + .5 : z + .5;
|
|
2117
2138
|
e.moveTo(t, f), e.lineTo(t, l), e.stroke(), e.restore();
|
|
2118
2139
|
}
|
|
2119
2140
|
}
|
|
2120
2141
|
function Kt(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x) {
|
|
2121
|
-
let S = "#f8f9fa", C = "#e8eaed", w = "#caddf6", T = "#c8ccd0", E = "#5b9bd5", D = "#444", O = (e) => !b || e < b.start || e > b.end ? S : b.strong ? w : C, k = (e) => !b || e < b.start || e > b.end ? T : b.strong ? E : T, A = (e) => !y || e < y.start || e > y.end ? S : y.strong ? w : C, j = (e) => !y || e < y.start || e > y.end ? T : y.strong ? E : T, M = `${Math.max(1, Math.round(11 * _))}px ${
|
|
2142
|
+
let S = "#f8f9fa", C = "#e8eaed", w = "#caddf6", T = "#c8ccd0", E = "#5b9bd5", D = "#444", O = (e) => !b || e < b.start || e > b.end ? S : b.strong ? w : C, k = (e) => !b || e < b.start || e > b.end ? T : b.strong ? E : T, A = (e) => !y || e < y.start || e > y.end ? S : y.strong ? w : C, j = (e) => !y || e < y.start || e > y.end ? T : y.strong ? E : T, M = `${Math.max(1, Math.round(11 * _))}px ${nt}`, N = h + p, P = g + m, F = .5 / v, I = (e, n) => x ? ct(e, n, t) : e, L = x ? t - h : 0;
|
|
2122
2143
|
e.fillStyle = S, e.fillRect(L, 0, h, g), e.strokeStyle = T, e.lineWidth = .5, e.beginPath(), e.moveTo(L + F, 0), e.lineTo(L + F, g), e.moveTo(L, F), e.lineTo(L + h, F), e.moveTo(L + h - F, 0), e.lineTo(L + h - F, g), e.moveTo(L, g - F), e.lineTo(L + h, g - F), e.stroke(), e.font = M, e.fillStyle = D;
|
|
2123
2144
|
let R = (t, n, r) => {
|
|
2124
2145
|
let i = I(n, r);
|
|
@@ -2156,7 +2177,7 @@ function Kt(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x) {
|
|
|
2156
2177
|
e.restore();
|
|
2157
2178
|
}
|
|
2158
2179
|
function $(e, t, n) {
|
|
2159
|
-
let r =
|
|
2180
|
+
let r = pt(e), i = 0;
|
|
2160
2181
|
for (let a = 1; a < t; a++) i += Math.round(X(e.colWidths[a] ?? e.defaultColWidth, r) * n);
|
|
2161
2182
|
return i;
|
|
2162
2183
|
}
|
|
@@ -2310,7 +2331,7 @@ function on(e, t, n, r, i) {
|
|
|
2310
2331
|
let a = 7 * i, o = 4 * i, s = Math.max(0, n - a * 2), c = Math.max(0, r - o * 2);
|
|
2311
2332
|
if (s <= 0 || c <= 0) return;
|
|
2312
2333
|
let l = (e) => {
|
|
2313
|
-
let t = (e.size > 0 ? e.size :
|
|
2334
|
+
let t = (e.size > 0 ? e.size : ot) * p * i, n = at(e.fontFace);
|
|
2314
2335
|
return {
|
|
2315
2336
|
font: `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${t}px ${n}`,
|
|
2316
2337
|
px: t
|
|
@@ -2334,7 +2355,7 @@ function on(e, t, n, r, i) {
|
|
|
2334
2355
|
if (g.type === "math") {
|
|
2335
2356
|
let e = Zt.get(g.nodes);
|
|
2336
2357
|
if (!e) continue;
|
|
2337
|
-
let n = (g.fontSize ?? (h ||
|
|
2358
|
+
let n = (g.fontSize ?? (h || ot)) * p * i, l = e.widthEm * n, _ = e.ascentEm * n, v = e.descentEm * n, y = g.color ?? "#000000";
|
|
2338
2359
|
if (g.display) {
|
|
2339
2360
|
m(), d.push({
|
|
2340
2361
|
segs: [{
|
|
@@ -2362,7 +2383,7 @@ function on(e, t, n, r, i) {
|
|
|
2362
2383
|
}), a += l, o = Math.max(o, _ + v), c = Math.max(c, _), f = !0;
|
|
2363
2384
|
continue;
|
|
2364
2385
|
}
|
|
2365
|
-
h = g.size > 0 ? g.size :
|
|
2386
|
+
h = g.size > 0 ? g.size : ot;
|
|
2366
2387
|
let { font: n, px: _ } = l(g), v = g.color ?? "#000000";
|
|
2367
2388
|
o = Math.max(o, _ * 1.2), c = Math.max(c, _ * .85), e.font = n;
|
|
2368
2389
|
let y = g.text.split("\n");
|
|
@@ -2839,9 +2860,9 @@ function Bn(e) {
|
|
|
2839
2860
|
let e = t.slice(0, i);
|
|
2840
2861
|
e.startsWith("'") && e.endsWith("'") && e.length >= 2 && (e = e.slice(1, -1).replace(/''/g, "'")), n = e, r = t.slice(i + 1);
|
|
2841
2862
|
}
|
|
2842
|
-
let [a, o] = r.split(":"), s =
|
|
2863
|
+
let [a, o] = r.split(":"), s = $e(a ?? "");
|
|
2843
2864
|
if (s) {
|
|
2844
|
-
let e = o ?
|
|
2865
|
+
let e = o ? $e(o) : s;
|
|
2845
2866
|
if (e) {
|
|
2846
2867
|
let t = {
|
|
2847
2868
|
row: Math.min(s.row, e.row),
|
|
@@ -2917,7 +2938,7 @@ var Un = class e {
|
|
|
2917
2938
|
static async load(t, n = {}) {
|
|
2918
2939
|
let r = n.mode ?? "main";
|
|
2919
2940
|
if (r === "worker" && (typeof Worker > "u" || typeof OffscreenCanvas > "u")) throw Error("mode: 'worker' requires Worker and OffscreenCanvas support");
|
|
2920
|
-
let i = new e(r === "worker" ? (await import("./render-worker-host-
|
|
2941
|
+
let i = new e(r === "worker" ? (await import("./render-worker-host-CI4BVZcT.js")).createRenderWorker() : new w(), r);
|
|
2921
2942
|
return await i._load(t, n), i;
|
|
2922
2943
|
}
|
|
2923
2944
|
async _load(e, t = {}) {
|
|
@@ -2982,7 +3003,7 @@ var Un = class e {
|
|
|
2982
3003
|
for (let e of i.rows) for (let t of e.cells) o.set(`${t.row}:${t.col}`, t);
|
|
2983
3004
|
return Vn(n, (e, t) => {
|
|
2984
3005
|
let n = o.get(`${e}:${t}`);
|
|
2985
|
-
return n ?
|
|
3006
|
+
return n ? he(n, a) : null;
|
|
2986
3007
|
});
|
|
2987
3008
|
}
|
|
2988
3009
|
async renderViewport(e, t, n, r = {}) {
|
|
@@ -3023,13 +3044,13 @@ function Wn(e, t, n) {
|
|
|
3023
3044
|
if (!e) return !1;
|
|
3024
3045
|
for (let r of e.split(/\s+/)) {
|
|
3025
3046
|
if (!r) continue;
|
|
3026
|
-
let [e, i] = r.split(":"), a =
|
|
3047
|
+
let [e, i] = r.split(":"), a = $e(e);
|
|
3027
3048
|
if (!a) continue;
|
|
3028
3049
|
if (!i) {
|
|
3029
3050
|
if (a.row === t && a.col === n) return !0;
|
|
3030
3051
|
continue;
|
|
3031
3052
|
}
|
|
3032
|
-
let o =
|
|
3053
|
+
let o = $e(i);
|
|
3033
3054
|
if (!o) continue;
|
|
3034
3055
|
let s = Math.min(a.row, o.row), c = Math.max(a.row, o.row), l = Math.min(a.col, o.col), u = Math.max(a.col, o.col);
|
|
3035
3056
|
if (t >= s && t <= c && n >= l && n <= u) return !0;
|
|
@@ -3183,7 +3204,7 @@ var rr = class {
|
|
|
3183
3204
|
return this.isRtl ? this.maxScrollLeft - e : e;
|
|
3184
3205
|
}
|
|
3185
3206
|
screenX(e, t) {
|
|
3186
|
-
return this.isRtl ?
|
|
3207
|
+
return this.isRtl ? ct(e, t, this.canvasArea.clientWidth) : e;
|
|
3187
3208
|
}
|
|
3188
3209
|
resetHorizontalScroll() {
|
|
3189
3210
|
this.effectiveH = 0, this.scrollHost.scrollLeft = this.isRtl ? this.maxScrollLeft : 0;
|
|
@@ -3220,7 +3241,7 @@ var rr = class {
|
|
|
3220
3241
|
}
|
|
3221
3242
|
let p = 0, m = [];
|
|
3222
3243
|
for (let e = 1; e <= u; e++) {
|
|
3223
|
-
let t = X(n.colWidths[e] ?? n.defaultColWidth,
|
|
3244
|
+
let t = X(n.colWidths[e] ?? n.defaultColWidth, pt(n));
|
|
3224
3245
|
m.push(t), p += t;
|
|
3225
3246
|
}
|
|
3226
3247
|
let h;
|
|
@@ -3255,7 +3276,7 @@ var rr = class {
|
|
|
3255
3276
|
let e = s - p + this.effectiveScrollLeft / r;
|
|
3256
3277
|
g = -1;
|
|
3257
3278
|
let t = 0;
|
|
3258
|
-
for (let r = u + 1; r <= 16384; r++) if (t += X(n.colWidths[r] ?? n.defaultColWidth,
|
|
3279
|
+
for (let r = u + 1; r <= 16384; r++) if (t += X(n.colWidths[r] ?? n.defaultColWidth, pt(n)), e < t) {
|
|
3259
3280
|
g = r;
|
|
3260
3281
|
break;
|
|
3261
3282
|
}
|
|
@@ -3269,7 +3290,7 @@ var rr = class {
|
|
|
3269
3290
|
getCellRect(e, t) {
|
|
3270
3291
|
let n = this.currentWorksheet;
|
|
3271
3292
|
if (!n) return null;
|
|
3272
|
-
let r = this.opts.cellScale ?? 1, i =
|
|
3293
|
+
let r = this.opts.cellScale ?? 1, i = pt(n), a = (e) => Math.round(e * r), o = (e) => a(X(n.colWidths[e] ?? n.defaultColWidth, i)), s = (e) => a(Z(n.rowHeights[e] ?? n.defaultRowHeight)), c = n.freezeRows ?? 0, l = n.freezeCols ?? 0, u;
|
|
3273
3294
|
if (t <= l) {
|
|
3274
3295
|
let e = a(50);
|
|
3275
3296
|
for (let n = 1; n < t; n++) e += o(n);
|
|
@@ -3310,7 +3331,7 @@ var rr = class {
|
|
|
3310
3331
|
};
|
|
3311
3332
|
}
|
|
3312
3333
|
select(e) {
|
|
3313
|
-
let t =
|
|
3334
|
+
let t = $e(e);
|
|
3314
3335
|
t && (this.hideValidationPanel(), this.selectionMode = "cells", this.anchorCell = {
|
|
3315
3336
|
row: t.row,
|
|
3316
3337
|
col: t.col
|
|
@@ -3353,7 +3374,7 @@ var rr = class {
|
|
|
3353
3374
|
if (d < 0) return { kind: "corner" };
|
|
3354
3375
|
let f = 0, p = [];
|
|
3355
3376
|
for (let e = 1; e <= u; e++) {
|
|
3356
|
-
let t = X(n.colWidths[e] ?? n.defaultColWidth,
|
|
3377
|
+
let t = X(n.colWidths[e] ?? n.defaultColWidth, pt(n));
|
|
3357
3378
|
p.push(t), f += t;
|
|
3358
3379
|
}
|
|
3359
3380
|
if (d < f) {
|
|
@@ -3365,7 +3386,7 @@ var rr = class {
|
|
|
3365
3386
|
return null;
|
|
3366
3387
|
}
|
|
3367
3388
|
let m = d - f + this.effectiveScrollLeft / r, h = 0;
|
|
3368
|
-
for (let e = u + 1; e <= 16384; e++) if (h += X(n.colWidths[e] ?? n.defaultColWidth,
|
|
3389
|
+
for (let e = u + 1; e <= 16384; e++) if (h += X(n.colWidths[e] ?? n.defaultColWidth, pt(n)), m < h) return {
|
|
3369
3390
|
kind: "col",
|
|
3370
3391
|
col: e
|
|
3371
3392
|
};
|
|
@@ -3400,7 +3421,7 @@ var rr = class {
|
|
|
3400
3421
|
let e = this.opts.cellScale ?? 1, t = this.currentWorksheet, n = t?.freezeRows ?? 0, r = t?.freezeCols ?? 0, i = (t) => Math.round(t * e), a = i(50), o = i(22), s = 0;
|
|
3401
3422
|
if (t) for (let e = 1; e <= n; e++) s += i(Z(t.rowHeights[e] ?? t.defaultRowHeight));
|
|
3402
3423
|
let c = 0;
|
|
3403
|
-
if (t) for (let e = 1; e <= r; e++) c += i(X(t.colWidths[e] ?? t.defaultColWidth,
|
|
3424
|
+
if (t) for (let e = 1; e <= r; e++) c += i(X(t.colWidths[e] ?? t.defaultColWidth, pt(t)));
|
|
3404
3425
|
let l, u, d, f, p = 1, m = 1;
|
|
3405
3426
|
if (this.selectionMode === "all") l = a, u = o, d = this.canvasArea.clientWidth - a, f = this.canvasArea.clientHeight - o;
|
|
3406
3427
|
else if (this.selectionMode === "rows") {
|
|
@@ -3525,7 +3546,7 @@ var rr = class {
|
|
|
3525
3546
|
buildCommentMap(e) {
|
|
3526
3547
|
this.commentMap = /* @__PURE__ */ new Map();
|
|
3527
3548
|
for (let t of e.comments ?? []) {
|
|
3528
|
-
let e =
|
|
3549
|
+
let e = $e(t.cellRef);
|
|
3529
3550
|
e && this.commentMap.set(`${e.row}:${e.col}`, t);
|
|
3530
3551
|
}
|
|
3531
3552
|
}
|
|
@@ -3754,7 +3775,7 @@ var rr = class {
|
|
|
3754
3775
|
}
|
|
3755
3776
|
}
|
|
3756
3777
|
updateSpacerSize(e) {
|
|
3757
|
-
let t = this.opts.cellScale ?? 1, n =
|
|
3778
|
+
let t = this.opts.cellScale ?? 1, n = pt(e), r = (e) => Math.round(e * t), i = e.freezeRows ?? 0, a = e.freezeCols ?? 0, o = Math.max(50, i), s = Math.max(26, a);
|
|
3758
3779
|
for (let t of e.rows) {
|
|
3759
3780
|
t.index > o && (o = t.index);
|
|
3760
3781
|
for (let e of t.cells) e.col > s && (s = e.col);
|
|
@@ -3771,13 +3792,13 @@ var rr = class {
|
|
|
3771
3792
|
let e = this.currentWorksheet, t = this.canvasArea.clientWidth, n = this.canvasArea.clientHeight;
|
|
3772
3793
|
if (t <= 0 || n <= 0) return;
|
|
3773
3794
|
let r = this.opts.cellScale ?? 1, i = window.devicePixelRatio ?? 1, a = e.freezeRows ?? 0, o = e.freezeCols ?? 0, s = 0;
|
|
3774
|
-
for (let t = 1; t <= o; t++) s += X(e.colWidths[t] ?? e.defaultColWidth,
|
|
3795
|
+
for (let t = 1; t <= o; t++) s += X(e.colWidths[t] ?? e.defaultColWidth, pt(e));
|
|
3775
3796
|
let c = 0;
|
|
3776
3797
|
for (let t = 1; t <= a; t++) c += Z(e.rowHeights[t] ?? e.defaultRowHeight);
|
|
3777
|
-
let l = this.effectiveScrollLeft / r, u = this.scrollHost.scrollTop / r, d = nr(e,
|
|
3798
|
+
let l = this.effectiveScrollLeft / r, u = this.scrollHost.scrollTop / r, d = nr(e, pt(e)), { index: f, partial: p } = d.col.indexAt(l + d.col.offsetOf(o + 1)), { index: m, partial: h } = d.row.indexAt(u + d.row.offsetOf(a + 1)), g = t / r - 50 - s, _ = n / r - 22 - c, v = 0;
|
|
3778
3799
|
{
|
|
3779
3800
|
let t = -p, n = f;
|
|
3780
|
-
for (; t < g + p && n <= 16384;) t += X(e.colWidths[n] ?? e.defaultColWidth,
|
|
3801
|
+
for (; t < g + p && n <= 16384;) t += X(e.colWidths[n] ?? e.defaultColWidth, pt(e)), v++, n++;
|
|
3781
3802
|
v += 2;
|
|
3782
3803
|
}
|
|
3783
3804
|
let y = 0;
|