@silurus/ooxml 0.25.0 → 0.27.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 +5 -3
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{xlsx-hfpAt0PA.cjs → xlsx-B6wdX3-M.cjs} +5 -5
- package/dist/{xlsx-C_hFLsOb.js → xlsx-R5CcrPHg.js} +270 -241
- package/dist/xlsx.cjs +1 -1
- package/dist/xlsx.mjs +1 -1
- package/package.json +1 -1
|
@@ -304,11 +304,11 @@ function A(e, t, n) {
|
|
|
304
304
|
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;
|
|
305
305
|
if (e.value.type !== "number") {
|
|
306
306
|
let t = ie(e.value);
|
|
307
|
-
return o ?
|
|
307
|
+
return o ? ae(t, o) : t;
|
|
308
308
|
}
|
|
309
|
-
return
|
|
309
|
+
return z(j(e.formula) ?? e.value.number, a, o);
|
|
310
310
|
}
|
|
311
|
-
function
|
|
311
|
+
function ae(e, t) {
|
|
312
312
|
let n = t.split(";");
|
|
313
313
|
if (n.length < 4) return e;
|
|
314
314
|
let r = n[3];
|
|
@@ -327,12 +327,12 @@ function j(e, t) {
|
|
|
327
327
|
}
|
|
328
328
|
return i;
|
|
329
329
|
}
|
|
330
|
-
function
|
|
330
|
+
function j(e) {
|
|
331
331
|
if (!e) return null;
|
|
332
332
|
let t = e.trim().replace(/^=/, "").toUpperCase().replace(/\s+/g, "");
|
|
333
333
|
return t === "TODAY()" ? et() : t === "NOW()" ? tt() : null;
|
|
334
334
|
}
|
|
335
|
-
var
|
|
335
|
+
var oe = {
|
|
336
336
|
14: "m/d/yyyy",
|
|
337
337
|
15: "d-mmm-yy",
|
|
338
338
|
16: "d-mmm",
|
|
@@ -356,7 +356,7 @@ var ae = {
|
|
|
356
356
|
56: "m\"月\"d\"日\"",
|
|
357
357
|
57: "[$-411]ge.m.d",
|
|
358
358
|
58: "[$-411]ggge\"年\"m\"月\"d\"日\""
|
|
359
|
-
},
|
|
359
|
+
}, M = [
|
|
360
360
|
"January",
|
|
361
361
|
"February",
|
|
362
362
|
"March",
|
|
@@ -369,7 +369,7 @@ var ae = {
|
|
|
369
369
|
"October",
|
|
370
370
|
"November",
|
|
371
371
|
"December"
|
|
372
|
-
],
|
|
372
|
+
], N = [
|
|
373
373
|
"Sunday",
|
|
374
374
|
"Monday",
|
|
375
375
|
"Tuesday",
|
|
@@ -377,7 +377,7 @@ var ae = {
|
|
|
377
377
|
"Thursday",
|
|
378
378
|
"Friday",
|
|
379
379
|
"Saturday"
|
|
380
|
-
],
|
|
380
|
+
], P = [
|
|
381
381
|
"日",
|
|
382
382
|
"月",
|
|
383
383
|
"火",
|
|
@@ -385,7 +385,7 @@ var ae = {
|
|
|
385
385
|
"木",
|
|
386
386
|
"金",
|
|
387
387
|
"土"
|
|
388
|
-
],
|
|
388
|
+
], F = [
|
|
389
389
|
"日曜日",
|
|
390
390
|
"月曜日",
|
|
391
391
|
"火曜日",
|
|
@@ -393,7 +393,7 @@ var ae = {
|
|
|
393
393
|
"木曜日",
|
|
394
394
|
"金曜日",
|
|
395
395
|
"土曜日"
|
|
396
|
-
],
|
|
396
|
+
], I = [
|
|
397
397
|
{
|
|
398
398
|
start: new Date(Date.UTC(2019, 4, 1)),
|
|
399
399
|
abbr: "R",
|
|
@@ -425,14 +425,14 @@ var ae = {
|
|
|
425
425
|
long: "明治"
|
|
426
426
|
}
|
|
427
427
|
];
|
|
428
|
-
function
|
|
429
|
-
for (let t of
|
|
428
|
+
function L(e) {
|
|
429
|
+
for (let t of I) if (e.getTime() >= t.start.getTime()) return {
|
|
430
430
|
abbr: t.abbr,
|
|
431
431
|
short: t.short,
|
|
432
432
|
long: t.long,
|
|
433
433
|
year: e.getUTCFullYear() - t.start.getUTCFullYear() + 1
|
|
434
434
|
};
|
|
435
|
-
let t =
|
|
435
|
+
let t = I[I.length - 1];
|
|
436
436
|
return {
|
|
437
437
|
abbr: t.abbr,
|
|
438
438
|
short: t.short,
|
|
@@ -440,11 +440,11 @@ function R(e) {
|
|
|
440
440
|
year: e.getUTCFullYear()
|
|
441
441
|
};
|
|
442
442
|
}
|
|
443
|
-
function
|
|
443
|
+
function R(e) {
|
|
444
444
|
return /* @__PURE__ */ new Date((e - 25569) * 86400 * 1e3);
|
|
445
445
|
}
|
|
446
|
-
function
|
|
447
|
-
let n =
|
|
446
|
+
function se(e, t) {
|
|
447
|
+
let n = R(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 ??= L(n), m = "", h = 0, g = !1;
|
|
448
448
|
for (; h < u.length;) {
|
|
449
449
|
let t = u[h];
|
|
450
450
|
if (t === "\"") {
|
|
@@ -472,11 +472,11 @@ function oe(e, t) {
|
|
|
472
472
|
let e = 0;
|
|
473
473
|
for (; h < u.length && u[h].toLowerCase() === "m";) e++, h++;
|
|
474
474
|
let t = u.slice(h).replace(/\[[^\]]*\]/g, "");
|
|
475
|
-
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 +=
|
|
475
|
+
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 += M[i - 1].slice(0, 3) : e === 4 ? m += M[i - 1] : m += M[i - 1][0], g = !1;
|
|
476
476
|
} else if (t === "d" || t === "D") {
|
|
477
477
|
let e = 0;
|
|
478
478
|
for (; h < u.length && u[h].toLowerCase() === "d";) e++, h++;
|
|
479
|
-
e === 1 ? m += String(a) : e === 2 ? m += String(a).padStart(2, "0") : e === 3 ? m +=
|
|
479
|
+
e === 1 ? m += String(a) : e === 2 ? m += String(a).padStart(2, "0") : e === 3 ? m += N[o].slice(0, 3) : m += N[o], g = !1;
|
|
480
480
|
} else if (t === "h" || t === "H") {
|
|
481
481
|
let e = 0;
|
|
482
482
|
for (; h < u.length && u[h].toLowerCase() === "h";) e++, h++;
|
|
@@ -503,48 +503,48 @@ function oe(e, t) {
|
|
|
503
503
|
m += e >= 2 ? String(t).padStart(2, "0") : String(t), g = !1;
|
|
504
504
|
} else if (t === "A" || t === "a") {
|
|
505
505
|
let e = u.slice(h).toUpperCase();
|
|
506
|
-
e.startsWith("AAAA") ? (m +=
|
|
506
|
+
e.startsWith("AAAA") ? (m += F[o], h += 4) : e.startsWith("AAA") ? (m += P[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;
|
|
507
507
|
} else m += t, h++, t !== ":" && t !== "/" && t !== "-" && t !== "." && t !== " " && (g = !1);
|
|
508
508
|
}
|
|
509
509
|
return m;
|
|
510
510
|
}
|
|
511
|
-
function
|
|
511
|
+
function ce(e) {
|
|
512
512
|
if (/\[[hms]+\]/i.test(e)) return !0;
|
|
513
513
|
let t = e.replace(/"[^"]*"/g, "").replace(/\[[^\]]*\]/g, "");
|
|
514
514
|
return /[yd]/i.test(t) || /a{3,}/i.test(t);
|
|
515
515
|
}
|
|
516
|
-
function
|
|
517
|
-
let r =
|
|
518
|
-
if (r) return
|
|
519
|
-
if (n) return
|
|
516
|
+
function z(e, t, n) {
|
|
517
|
+
let r = oe[t];
|
|
518
|
+
if (r) return se(e, r);
|
|
519
|
+
if (n) return ce(n) ? se(e, n) : ue(e, n);
|
|
520
520
|
switch (t) {
|
|
521
521
|
case 0: return String(e);
|
|
522
522
|
case 1: return Math.round(e).toString();
|
|
523
523
|
case 2: return e.toFixed(2);
|
|
524
|
-
case 3: return
|
|
525
|
-
case 4: return
|
|
524
|
+
case 3: return B(e, 0);
|
|
525
|
+
case 4: return B(e, 2);
|
|
526
526
|
case 9: return Math.round(e * 100) + "%";
|
|
527
527
|
case 10: return (e * 100).toFixed(2) + "%";
|
|
528
528
|
case 11: return e.toExponential(2);
|
|
529
529
|
case 37:
|
|
530
|
-
case 38: return
|
|
530
|
+
case 38: return B(e, 0);
|
|
531
531
|
case 39:
|
|
532
|
-
case 40: return
|
|
532
|
+
case 40: return B(e, 2);
|
|
533
533
|
case 49: return String(e);
|
|
534
534
|
default: return String(e);
|
|
535
535
|
}
|
|
536
536
|
}
|
|
537
|
-
function
|
|
537
|
+
function B(e, t) {
|
|
538
538
|
return e.toLocaleString("en-US", {
|
|
539
539
|
minimumFractionDigits: t,
|
|
540
540
|
maximumFractionDigits: t
|
|
541
541
|
});
|
|
542
542
|
}
|
|
543
|
-
function
|
|
543
|
+
function V(e) {
|
|
544
544
|
let t = e.match(/\.([0#]+)/);
|
|
545
545
|
return t ? t[1].length : 0;
|
|
546
546
|
}
|
|
547
|
-
function
|
|
547
|
+
function H(e) {
|
|
548
548
|
let t = [], n = "", r = !1, i = !1, a = (e) => {
|
|
549
549
|
if (!e) return;
|
|
550
550
|
let n = t[t.length - 1];
|
|
@@ -581,39 +581,39 @@ function U(e) {
|
|
|
581
581
|
numSpec: n
|
|
582
582
|
};
|
|
583
583
|
}
|
|
584
|
-
function ce(e, t) {
|
|
585
|
-
let n = t.includes(",") && /[#0]/.test(t), r = H(t);
|
|
586
|
-
return n ? V(e, r) : t.includes(".") ? e.toFixed(r) : /[#0?]/.test(t) ? Math.round(e).toString() : String(e);
|
|
587
|
-
}
|
|
588
584
|
function le(e, t) {
|
|
585
|
+
let n = t.includes(",") && /[#0]/.test(t), r = V(t);
|
|
586
|
+
return n ? B(e, r) : t.includes(".") ? e.toFixed(r) : /[#0?]/.test(t) ? Math.round(e).toString() : String(e);
|
|
587
|
+
}
|
|
588
|
+
function ue(e, t) {
|
|
589
589
|
let n = t.split(";"), r;
|
|
590
590
|
r = e > 0 ? n[0] : e < 0 ? n.length > 1 ? n[1] : n[0] : n.length > 2 ? n[2] : n[0];
|
|
591
|
-
let { tokens: i, numSpec: a } =
|
|
591
|
+
let { tokens: i, numSpec: a } = H(r), o = i.some((e) => e.kind === "percent"), s = i.find((e) => e.kind === "sci"), c = e;
|
|
592
592
|
o && (c *= 100);
|
|
593
593
|
let l, u = "";
|
|
594
594
|
if (s) {
|
|
595
|
-
let e =
|
|
595
|
+
let e = V(a), [t, n] = c.toExponential(e).split("e");
|
|
596
596
|
l = t;
|
|
597
597
|
let r = parseInt(n, 10);
|
|
598
598
|
u = (r < 0 ? "-" : s.expSign ? "+" : "") + String(Math.abs(r)).padStart(2, "0");
|
|
599
|
-
} else l =
|
|
599
|
+
} else l = le(c, a);
|
|
600
600
|
let d = "", f = !1;
|
|
601
601
|
for (let e of i) e.kind === "lit" ? d += e.text : e.kind === "percent" ? d += "%" : e.kind === "num" ? (d += l, f = !0) : e.kind === "sci" && (d += "E" + u);
|
|
602
602
|
return !f && (a.length > 0 || s) && (d += l), d;
|
|
603
603
|
}
|
|
604
|
-
function
|
|
604
|
+
function de(e, t, n) {
|
|
605
605
|
let r = [];
|
|
606
|
-
for (let i of t.split("\n")) r.push(...
|
|
606
|
+
for (let i of t.split("\n")) r.push(...U(e, i, n));
|
|
607
607
|
return r;
|
|
608
608
|
}
|
|
609
|
-
function
|
|
609
|
+
function fe(e) {
|
|
610
610
|
return e >= 12288 && e <= 40959 || e >= 63744 && e <= 64255 || e >= 44032 && e <= 55215 || e >= 65280 && e <= 65519;
|
|
611
611
|
}
|
|
612
|
-
function
|
|
612
|
+
function U(e, t, n) {
|
|
613
613
|
let r = [], i = [], a = 0;
|
|
614
614
|
for (; a < t.length;) {
|
|
615
615
|
let e = t[a], n = e.codePointAt(0) ?? 0;
|
|
616
|
-
if (
|
|
616
|
+
if (fe(n)) i.push(e), a += n > 65535 ? 2 : 1;
|
|
617
617
|
else if (e === " ") {
|
|
618
618
|
let e = a;
|
|
619
619
|
for (; e < t.length && t[e] === " ";) e++;
|
|
@@ -622,7 +622,7 @@ function W(e, t, n) {
|
|
|
622
622
|
let e = a;
|
|
623
623
|
for (; e < t.length;) {
|
|
624
624
|
let n = t[e], r = n.codePointAt(0) ?? 0;
|
|
625
|
-
if (n === " " ||
|
|
625
|
+
if (n === " " || fe(r)) break;
|
|
626
626
|
e += r > 65535 ? 2 : 1;
|
|
627
627
|
}
|
|
628
628
|
i.push(t.slice(a, e)), a = e;
|
|
@@ -639,7 +639,7 @@ function W(e, t, n) {
|
|
|
639
639
|
}
|
|
640
640
|
return r.push(o), r;
|
|
641
641
|
}
|
|
642
|
-
function
|
|
642
|
+
function pe(e, t, n, r, i) {
|
|
643
643
|
let a = [], o = [], s = 0, c = 0, l = () => {
|
|
644
644
|
o.length !== 0 && (a.push({
|
|
645
645
|
segments: o,
|
|
@@ -679,7 +679,7 @@ function fe(e, t, n, r, i) {
|
|
|
679
679
|
}
|
|
680
680
|
return l(), a;
|
|
681
681
|
}
|
|
682
|
-
function
|
|
682
|
+
function me(e) {
|
|
683
683
|
let t = "";
|
|
684
684
|
for (; e > 0;) {
|
|
685
685
|
let n = (e - 1) % 26;
|
|
@@ -687,19 +687,19 @@ function G(e) {
|
|
|
687
687
|
}
|
|
688
688
|
return t;
|
|
689
689
|
}
|
|
690
|
-
function
|
|
690
|
+
function W(e, t, n) {
|
|
691
691
|
for (let r of e) if (t >= r.top && t <= r.bottom && n >= r.left && n <= r.right) return !0;
|
|
692
692
|
return !1;
|
|
693
693
|
}
|
|
694
|
-
function
|
|
694
|
+
function he(e) {
|
|
695
695
|
return e && e.value.type === "number" ? e.value.number : null;
|
|
696
696
|
}
|
|
697
|
-
function
|
|
697
|
+
function ge(e) {
|
|
698
698
|
return e && e.value.type === "text" ? e.value.text : null;
|
|
699
699
|
}
|
|
700
|
-
function
|
|
700
|
+
function G(e, t) {
|
|
701
701
|
let n = [];
|
|
702
|
-
for (let r of e.rows) for (let e of r.cells) e.value.type === "number" &&
|
|
702
|
+
for (let r of e.rows) for (let e of r.cells) e.value.type === "number" && W(t, e.row, e.col) && n.push(e.value.number);
|
|
703
703
|
return n;
|
|
704
704
|
}
|
|
705
705
|
function _e(e, t) {
|
|
@@ -726,7 +726,7 @@ function ve(e) {
|
|
|
726
726
|
let r = /* @__PURE__ */ new Map();
|
|
727
727
|
for (let t of e.definedNames ?? []) r.set(t.name, t);
|
|
728
728
|
for (let n of e.conditionalFormats ?? []) {
|
|
729
|
-
let r =
|
|
729
|
+
let r = G(e, n.sqref);
|
|
730
730
|
for (let e of n.rules) {
|
|
731
731
|
let i = {
|
|
732
732
|
rule: e,
|
|
@@ -822,8 +822,8 @@ function Te(e, t, n, r, i) {
|
|
|
822
822
|
let a = {};
|
|
823
823
|
if (!r.compiled.length) return a;
|
|
824
824
|
for (let o of r.compiled) {
|
|
825
|
-
if (!
|
|
826
|
-
let s = o.rule, c =
|
|
825
|
+
if (!W(o.sqref, t, n)) continue;
|
|
826
|
+
let s = o.rule, c = he(e);
|
|
827
827
|
if (s.type === "expression") {
|
|
828
828
|
let e = o.sqref[0];
|
|
829
829
|
if (!e) continue;
|
|
@@ -839,7 +839,7 @@ function Te(e, t, n, r, i) {
|
|
|
839
839
|
continue;
|
|
840
840
|
}
|
|
841
841
|
if (s.type === "cellIs") {
|
|
842
|
-
let t = s.formulas.map(be), n =
|
|
842
|
+
let t = s.formulas.map(be), n = ge(e), r = !1;
|
|
843
843
|
c != null && t.every((e) => e.num != null) ? r = ye(c, s.operator, t.map((e) => e.num)) : n != null && t.every((e) => e.text != null) && (r = xe(n, s.operator, t.map((e) => e.text))), r && we(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
844
844
|
} else if (s.type === "top10") {
|
|
845
845
|
if (c == null || o.top10Threshold == null) continue;
|
|
@@ -1499,26 +1499,26 @@ function ft(e) {
|
|
|
1499
1499
|
}
|
|
1500
1500
|
function pt(e, t, n, r, a, o, s, c, l, u, d, f, p, m) {
|
|
1501
1501
|
if (p <= 0 || m <= 0) return;
|
|
1502
|
-
let { styles: g, cellMap: _, mergeAnchorMap: v, mergeSkipSet: y, cfContext: T, cs: ee, dpr: ie } = t,
|
|
1503
|
-
for (let e = 0; e <
|
|
1504
|
-
let
|
|
1505
|
-
for (let e = 0; e <
|
|
1502
|
+
let { styles: g, cellMap: _, mergeAnchorMap: v, mergeSkipSet: y, cfContext: T, cs: ee, dpr: ie } = t, ae = a.length, j = o.length, oe = [], M = -s;
|
|
1503
|
+
for (let e = 0; e < ae; e++) oe.push(M), M += a[e];
|
|
1504
|
+
let N = [], P = -c;
|
|
1505
|
+
for (let e = 0; e < j; e++) N.push(P), P += o[e];
|
|
1506
1506
|
e.save(), e.beginPath(), e.rect(d, f, p, m), e.clip();
|
|
1507
|
-
let
|
|
1507
|
+
let F = [];
|
|
1508
1508
|
for (let i of t.worksheet.mergeCells ?? []) {
|
|
1509
1509
|
let a = i.top, o = i.left;
|
|
1510
|
-
if (a >= n && a < n +
|
|
1510
|
+
if (a >= n && a < n + j && o >= r && o < r + ae || i.bottom < n || i.top >= n + j || i.right < r || i.left >= r + ae) continue;
|
|
1511
1511
|
let d = t.mergeAnchorMap.get(`${a}:${o}`);
|
|
1512
1512
|
if (!d) continue;
|
|
1513
1513
|
let f;
|
|
1514
|
-
if (o >= r) f = l +
|
|
1514
|
+
if (o >= r) f = l + oe[o - r];
|
|
1515
1515
|
else {
|
|
1516
1516
|
let e = 0;
|
|
1517
1517
|
for (let n = o; n < r; n++) e += Math.round(b(t.worksheet.colWidths[n] ?? t.worksheet.defaultColWidth, t.mdw) * ee);
|
|
1518
1518
|
f = l - s - e;
|
|
1519
1519
|
}
|
|
1520
1520
|
let p;
|
|
1521
|
-
if (a >= n) p = u +
|
|
1521
|
+
if (a >= n) p = u + N[a - n];
|
|
1522
1522
|
else {
|
|
1523
1523
|
let e = 0;
|
|
1524
1524
|
for (let r = a; r < n; r++) e += Math.round(x(t.worksheet.rowHeights[r] ?? t.worksheet.defaultRowHeight) * ee);
|
|
@@ -1532,95 +1532,101 @@ function pt(e, t, n, r, a, o, s, c, l, u, d, f, p, m) {
|
|
|
1532
1532
|
if (Ct(e, St(xt(D, a, o, d.right, d.bottom, t.cellMap, g), k.border), f, p, m, _), !y) continue;
|
|
1533
1533
|
let ie = A(y, g, k.numFmt);
|
|
1534
1534
|
if (!ie || ie === "0" && t.worksheet.showZeros === !1) continue;
|
|
1535
|
-
let
|
|
1536
|
-
e.font = te(
|
|
1535
|
+
let M = w.bold || !!k.fontBold, P = w.italic || !!k.fontItalic, F = w.underline || !!k.fontUnderline, I = w.strike || !!k.fontStrike;
|
|
1536
|
+
e.font = te(M !== w.bold || P !== w.italic || F !== w.underline || I !== w.strike ? {
|
|
1537
1537
|
...w,
|
|
1538
|
-
bold:
|
|
1539
|
-
italic:
|
|
1540
|
-
underline:
|
|
1541
|
-
strike:
|
|
1538
|
+
bold: M,
|
|
1539
|
+
italic: P,
|
|
1540
|
+
underline: F,
|
|
1541
|
+
strike: I
|
|
1542
1542
|
} : w, ee);
|
|
1543
|
-
let
|
|
1544
|
-
e.fillStyle =
|
|
1545
|
-
let
|
|
1543
|
+
let L = t.hyperlinkMap.get(v) ? "#0563C1" : k.fontColor ?? w.color;
|
|
1544
|
+
e.fillStyle = L ? S(L) : "#000000";
|
|
1545
|
+
let R = y.value.type === "number", se = O.alignH ?? (R ? "right" : "left"), ce = O.alignV ?? "bottom", z = O.indent ? Math.round(O.indent * w.size * h * .5) : 0, B = 3 + (se === "left" || !O.alignH ? z : 0);
|
|
1546
1546
|
e.save(), e.beginPath(), e.rect(f, p, m, _), e.clip();
|
|
1547
|
+
let V;
|
|
1548
|
+
se === "right" ? (V = f + m - 3, e.textAlign = "right") : se === "center" ? (V = f + m / 2, e.textAlign = "center") : (V = f + B, e.textAlign = "left");
|
|
1547
1549
|
let H;
|
|
1548
|
-
|
|
1549
|
-
let U;
|
|
1550
|
-
se === "top" ? (e.textBaseline = "top", U = p + 2) : se === "center" ? (e.textBaseline = "middle", U = p + _ / 2) : (e.textBaseline = "bottom", U = p + _ - 2), e.fillText(ie, H, U), e.restore();
|
|
1550
|
+
ce === "top" ? (e.textBaseline = "top", H = p + 2) : ce === "center" ? (e.textBaseline = "middle", H = p + _ / 2) : (e.textBaseline = "bottom", H = p + _ - 2), e.fillText(ie, V, H), e.restore();
|
|
1551
1551
|
}
|
|
1552
|
-
for (let s = 0; s <
|
|
1553
|
-
let c = n + s, b = u +
|
|
1552
|
+
for (let s = 0; s < j; s++) {
|
|
1553
|
+
let c = n + s, b = u + N[s], x = o[s];
|
|
1554
1554
|
if (b + x <= f || b >= f + m) continue;
|
|
1555
|
-
let
|
|
1556
|
-
if (
|
|
1557
|
-
for (let t =
|
|
1558
|
-
for (let t =
|
|
1555
|
+
let j = /* @__PURE__ */ new Set(), M = /* @__PURE__ */ new Set(), P = -1, I = (e) => {
|
|
1556
|
+
if (P >= 0 && e - P >= 2) {
|
|
1557
|
+
for (let t = P; t < e - 1; t++) j.add(t);
|
|
1558
|
+
for (let t = P + 1; t < e; t++) M.add(t);
|
|
1559
1559
|
}
|
|
1560
|
-
|
|
1560
|
+
P = -1;
|
|
1561
1561
|
};
|
|
1562
|
-
for (let e = 0; e <=
|
|
1562
|
+
for (let e = 0; e <= ae; e++) {
|
|
1563
1563
|
let t = !1, n = !1;
|
|
1564
|
-
if (e <
|
|
1564
|
+
if (e < ae) {
|
|
1565
1565
|
let i = `${c}:${r + e}`;
|
|
1566
1566
|
if (!y.has(i) && !v.has(i)) {
|
|
1567
1567
|
let e = _.get(i);
|
|
1568
1568
|
t = re(g, e?.styleIndex ?? 0).xf.alignH === "centerContinuous", n = !!(e && e.value && e.value.type !== "empty");
|
|
1569
1569
|
}
|
|
1570
1570
|
}
|
|
1571
|
-
t ? n &&
|
|
1571
|
+
t ? n && P >= 0 && e > P ? (I(e), P = e) : P < 0 && (P = e) : I(e);
|
|
1572
1572
|
}
|
|
1573
|
-
for (let n = 0; n <
|
|
1574
|
-
let o = r + n, u = l +
|
|
1573
|
+
for (let n = 0; n < ae; n++) {
|
|
1574
|
+
let o = r + n, u = l + oe[n], f = a[n];
|
|
1575
1575
|
if (u + f <= d || u >= d + p) continue;
|
|
1576
1576
|
let m = `${c}:${o}`;
|
|
1577
1577
|
if (y.has(m)) continue;
|
|
1578
|
-
let
|
|
1579
|
-
if (
|
|
1580
|
-
else if (
|
|
1581
|
-
let t =
|
|
1578
|
+
let N = v.get(m), P = N ? N.totalW : f, I = N ? N.totalH : x, L = _.get(m), { font: R, fill: se, border: ce, xf: z } = re(g, L?.styleIndex ?? 0), B = Te(L, c, o, T, g.dxfs ?? []), V = B.fill ?? se, H = t.tableStyleMap.get(m), le = H?.wholeTableDxf == null ? void 0 : (g.dxfs ?? [])[H.wholeTableDxf], ue = H?.headerRowDxf == null ? void 0 : (g.dxfs ?? [])[H.headerRowDxf];
|
|
1579
|
+
if (V.gradient && V.gradient.stops.length > 0) e.fillStyle = D(e, V.gradient, u, b, P, I), e.fillRect(u, b, P, I);
|
|
1580
|
+
else if (V.patternType && V.patternType !== "none" && V.fgColor) {
|
|
1581
|
+
let t = V.patternType, n = V.bgColor ?? "FFFFFF", r = E(e, t, V.fgColor, n);
|
|
1582
1582
|
if (r) e.fillStyle = r;
|
|
1583
1583
|
else {
|
|
1584
1584
|
let r = w(t);
|
|
1585
|
-
e.fillStyle = r >= 1 ? S(
|
|
1585
|
+
e.fillStyle = r >= 1 ? S(V.fgColor) : k(V.fgColor, n, r);
|
|
1586
1586
|
}
|
|
1587
|
-
e.fillRect(u, b,
|
|
1588
|
-
} else
|
|
1589
|
-
if (t.commentCells.has(m) && O(e, u, b,
|
|
1590
|
-
let t = Math.max(0, (
|
|
1591
|
-
C(e,
|
|
1587
|
+
e.fillRect(u, b, P, I);
|
|
1588
|
+
} else H && H.isHeader && ue?.fill?.fgColor ? (e.fillStyle = S(ue.fill.fgColor), e.fillRect(u, b, P, I)) : H && !H.isHeader && !H.isTotals && le?.fill?.fgColor ? (e.fillStyle = S(le.fill.fgColor), e.fillRect(u, b, P, I)) : H && H.isBanded && (e.fillStyle = ft(H.accent), e.fillRect(u, b, P, I));
|
|
1589
|
+
if (t.commentCells.has(m) && O(e, u, b, P, I), B.dataBar && B.dataBar.ratio > 0) {
|
|
1590
|
+
let t = Math.max(0, (P - 4) * B.dataBar.ratio);
|
|
1591
|
+
C(e, B.dataBar.color, u + 2, b + 2, t, I - 4, B.dataBar.gradient);
|
|
1592
1592
|
}
|
|
1593
|
-
let
|
|
1594
|
-
if (
|
|
1593
|
+
let fe = t.sparklineMap.get(m);
|
|
1594
|
+
if (fe && i(e, {
|
|
1595
1595
|
x: u,
|
|
1596
1596
|
y: b,
|
|
1597
|
-
w:
|
|
1598
|
-
h:
|
|
1599
|
-
},
|
|
1597
|
+
w: P,
|
|
1598
|
+
h: I
|
|
1599
|
+
}, fe), t.worksheet.showGridlines !== !1) {
|
|
1600
1600
|
let t = .5 / ie;
|
|
1601
|
-
e.strokeStyle = "#d0d0d0", e.lineWidth = .5, e.beginPath(),
|
|
1601
|
+
e.strokeStyle = "#d0d0d0", e.lineWidth = .5, e.beginPath(), j.has(n) || (e.moveTo(u + P + t, b), e.lineTo(u + P + t, b + I)), e.moveTo(u, b + I + t), e.lineTo(u + P, b + I + t), s === 0 && (e.moveTo(u, b + t), e.lineTo(u + P, b + t)), n === 0 && (e.moveTo(u + t, b), e.lineTo(u + t, b + I)), e.stroke();
|
|
1602
1602
|
}
|
|
1603
|
-
let
|
|
1604
|
-
|
|
1605
|
-
...
|
|
1606
|
-
left:
|
|
1607
|
-
right:
|
|
1608
|
-
})
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1603
|
+
let U = St(N ? xt(ce, c, o, N.right, N.bottom, _, g) : ce, B.border);
|
|
1604
|
+
(j.has(n) || M.has(n)) && (U = {
|
|
1605
|
+
...U,
|
|
1606
|
+
left: M.has(n) ? null : U.left,
|
|
1607
|
+
right: j.has(n) ? null : U.right
|
|
1608
|
+
});
|
|
1609
|
+
let me = _.get(`${c - 1}:${o}`), W = me ? re(g, me.styleIndex).border.bottom : null, he = !1;
|
|
1610
|
+
if (W?.style) {
|
|
1611
|
+
let e = U.top, t = Dt(e, W);
|
|
1612
|
+
U = {
|
|
1613
|
+
...U,
|
|
1612
1614
|
top: t
|
|
1613
|
-
}
|
|
1615
|
+
}, he = t === W && e !== W;
|
|
1614
1616
|
}
|
|
1615
|
-
|
|
1617
|
+
let ge = !1;
|
|
1618
|
+
if (!M.has(n)) {
|
|
1616
1619
|
let e = _.get(`${c}:${o - 1}`), t = e ? re(g, e.styleIndex).border.right : null;
|
|
1617
|
-
t?.style
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1620
|
+
if (t?.style) {
|
|
1621
|
+
let e = U.left, n = Dt(e, t);
|
|
1622
|
+
U = {
|
|
1623
|
+
...U,
|
|
1624
|
+
left: n
|
|
1625
|
+
}, ge = n === t && e !== t;
|
|
1626
|
+
}
|
|
1621
1627
|
}
|
|
1622
|
-
if (Ct(e,
|
|
1623
|
-
let t =
|
|
1628
|
+
if (Ct(e, U, u, b, P, I, he, ge), H) {
|
|
1629
|
+
let t = le?.border?.horizontal, n = le?.border?.vertical, r = le?.border?.top, i = le?.border?.bottom, a = le?.border?.left, s = le?.border?.right, c = ue?.border?.bottom, l = ue?.border?.top;
|
|
1624
1630
|
if (t || n || r || i || a || s || c || l) {
|
|
1625
1631
|
let n = {
|
|
1626
1632
|
left: null,
|
|
@@ -1628,46 +1634,46 @@ function pt(e, t, n, r, a, o, s, c, l, u, d, f, p, m) {
|
|
|
1628
1634
|
top: null,
|
|
1629
1635
|
bottom: null
|
|
1630
1636
|
};
|
|
1631
|
-
|
|
1637
|
+
H.isTopEdge ? n.top = r ?? null : t && (n.top = t), H.isHeader && c ? n.bottom = c : H.isBottomEdge ? n.bottom = i ?? null : t && (n.bottom = t), (H.isFirstCol || o === 0) && (n.left = a ?? null), H.isLastCol && (n.right = s ?? null), Ct(e, n, u, b, P, I);
|
|
1632
1638
|
} else {
|
|
1633
1639
|
let t = .5 / ie;
|
|
1634
|
-
e.strokeStyle =
|
|
1640
|
+
e.strokeStyle = H.accent, e.lineWidth = H.isHeader ? 1.5 : 1, e.beginPath(), e.moveTo(u, b + I - t), e.lineTo(u + P, b + I - t), H.isTopEdge && (e.moveTo(u, b + t), e.lineTo(u + P, b + t)), e.stroke();
|
|
1635
1641
|
}
|
|
1636
1642
|
}
|
|
1637
|
-
if (t.autoFilterCells.has(m) && lt(e, u, b, f,
|
|
1638
|
-
let G = A(
|
|
1639
|
-
!G || G === "0" && t.worksheet.showZeros === !1 ||
|
|
1640
|
-
let i = !!(
|
|
1641
|
-
...
|
|
1643
|
+
if (t.autoFilterCells.has(m) && lt(e, u, b, f, I), !L) continue;
|
|
1644
|
+
let G = A(L, g, B.numFmt);
|
|
1645
|
+
!G || G === "0" && t.worksheet.showZeros === !1 || F.push(() => {
|
|
1646
|
+
let i = !!(H && (H.isHeader || H.isTotals)), s = R.bold || !!B.fontBold || i, l = R.italic || !!B.fontItalic, d = R.underline || !!B.fontUnderline, f = R.strike || !!B.fontStrike, p = s !== R.bold || l !== R.italic || d !== R.underline || f !== R.strike ? {
|
|
1647
|
+
...R,
|
|
1642
1648
|
bold: s,
|
|
1643
1649
|
italic: l,
|
|
1644
1650
|
underline: d,
|
|
1645
1651
|
strike: f
|
|
1646
|
-
} :
|
|
1652
|
+
} : R;
|
|
1647
1653
|
e.font = te(p, ee);
|
|
1648
|
-
let x = t.hyperlinkMap.get(m), C =
|
|
1654
|
+
let x = t.hyperlinkMap.get(m), C = H?.isHeader && ue?.font?.color ? ue.font.color : H && !H.isHeader && !H.isTotals && le?.font?.color ? le.font.color : null, w = x ? "#0563C1" : B.fontColor ?? C ?? R.color;
|
|
1649
1655
|
e.fillStyle = w ? S(w) : "#000000";
|
|
1650
|
-
let T =
|
|
1651
|
-
if (E === "centerContinuous" && !
|
|
1656
|
+
let T = L.value.type === "number", E = z.alignH ?? (T ? "right" : "left"), D = z.alignV ?? "bottom", O = z.indent ? Math.round(z.indent * R.size * h * .5) : 0, k = B.iconSet ? Math.max(8, Math.round(Math.min(P, I) * .55)) : 0, ie = k > 0 ? k + 4 : 0, A = 3 + (E === "left" || !z.alignH ? O : 0) + ie, j = P, oe = u, M = n;
|
|
1657
|
+
if (E === "centerContinuous" && !N) for (let e = n + 1; e < ae; e++) {
|
|
1652
1658
|
let t = `${c}:${r + e}`;
|
|
1653
1659
|
if (y.has(t) || v.has(t)) break;
|
|
1654
1660
|
let n = _.get(t);
|
|
1655
1661
|
if (n && n.value.type !== "empty" || re(g, n?.styleIndex ?? 0).xf.alignH !== "centerContinuous") break;
|
|
1656
|
-
|
|
1662
|
+
j += a[e], M = e;
|
|
1657
1663
|
}
|
|
1658
|
-
let
|
|
1659
|
-
if (!
|
|
1660
|
-
let t = e.measureText(G).width, i = E === "centerContinuous", o = i ? t + 6 : t + A + 3, s = i ?
|
|
1664
|
+
let F = E === "centerContinuous" ? oe : u, se = E === "centerContinuous" ? j : P, ce = G.includes("\n");
|
|
1665
|
+
if (!N && !z.wrapText && !z.textRotation && !T && !ce) {
|
|
1666
|
+
let t = e.measureText(G).width, i = E === "centerContinuous", o = i ? t + 6 : t + A + 3, s = i ? j : P;
|
|
1661
1667
|
if (o > s) {
|
|
1662
1668
|
let e = o - s, t = 0, l = 0;
|
|
1663
1669
|
if (E === "right" ? l = e : E === "center" || i ? (l = e / 2, t = e / 2) : t = e, t > 0) {
|
|
1664
|
-
let e = t, o = i ?
|
|
1665
|
-
for (let t = o; t <
|
|
1670
|
+
let e = t, o = i ? M + 1 : n + 1;
|
|
1671
|
+
for (let t = o; t < ae && e > 0; t++) {
|
|
1666
1672
|
let n = `${c}:${r + t}`;
|
|
1667
1673
|
if (y.has(n) || v.has(n)) break;
|
|
1668
1674
|
let i = _.get(n);
|
|
1669
1675
|
if (i && i.value.type !== "empty") break;
|
|
1670
|
-
|
|
1676
|
+
se += a[t], e -= a[t];
|
|
1671
1677
|
}
|
|
1672
1678
|
}
|
|
1673
1679
|
if (l > 0) {
|
|
@@ -1677,64 +1683,64 @@ function pt(e, t, n, r, a, o, s, c, l, u, d, f, p, m) {
|
|
|
1677
1683
|
if (y.has(n) || v.has(n)) break;
|
|
1678
1684
|
let i = _.get(n);
|
|
1679
1685
|
if (i && i.value.type !== "empty") break;
|
|
1680
|
-
|
|
1686
|
+
F -= a[t], se += a[t], e -= a[t];
|
|
1681
1687
|
}
|
|
1682
1688
|
}
|
|
1683
1689
|
}
|
|
1684
1690
|
}
|
|
1685
|
-
let
|
|
1691
|
+
let V = G, fe = 0;
|
|
1686
1692
|
if (E === "fill" && !T && G.length > 0) {
|
|
1687
|
-
let t = Math.max(1,
|
|
1693
|
+
let t = Math.max(1, P - 6), n = e.measureText(G).width;
|
|
1688
1694
|
if (n > 0 && n < t) {
|
|
1689
1695
|
let e = Math.max(1, Math.floor(t / n));
|
|
1690
|
-
|
|
1696
|
+
V = G.repeat(e);
|
|
1691
1697
|
}
|
|
1692
1698
|
}
|
|
1693
|
-
if (E === "distributed" || E === "justify" && !
|
|
1694
|
-
let t = Math.max(1,
|
|
1695
|
-
n < t && (
|
|
1699
|
+
if (E === "distributed" || E === "justify" && !z.wrapText && !ce) {
|
|
1700
|
+
let t = Math.max(1, P - 6), n = e.measureText(V).width, r = Math.max(1, [...V].length - 1);
|
|
1701
|
+
n < t && (fe = Math.max(0, (t - n) / r));
|
|
1696
1702
|
}
|
|
1697
|
-
let
|
|
1698
|
-
E === "right" ? (
|
|
1699
|
-
let
|
|
1700
|
-
if (
|
|
1701
|
-
let t = Math.round(
|
|
1703
|
+
let U, me;
|
|
1704
|
+
E === "right" ? (U = u + P - 3, me = "right") : E === "center" ? (U = u + P / 2, me = "center") : E === "centerContinuous" ? (U = oe + j / 2, me = "center") : E === "distributed" || E === "justify" && !z.wrapText && !ce ? (U = u + 3, me = "left") : (U = u + A, me = "left");
|
|
1705
|
+
let W = z.textRotation ?? 0, he = W === 255, ge = W > 0 && W !== 255;
|
|
1706
|
+
if (B.iconSet && k > 0 && (e.save(), e.beginPath(), e.rect(u, b, P, I), e.clip(), ct(e, B.iconSet.name, B.iconSet.index, u + 2, b + (I - k) / 2, k), e.restore()), e.save(), e.beginPath(), e.rect(F, b, se, I), e.clip(), he) {
|
|
1707
|
+
let t = Math.round(R.size * h * 1.1), n = G.length * t, r = D === "top" ? b + 2 : D === "center" ? b + (I - n) / 2 : b + I - n - 2;
|
|
1702
1708
|
e.textAlign = "center", e.textBaseline = "top";
|
|
1703
|
-
for (let n of G) e.fillText(n, u +
|
|
1709
|
+
for (let n of G) e.fillText(n, u + P / 2, r), r += t;
|
|
1704
1710
|
e.restore();
|
|
1705
1711
|
return;
|
|
1706
1712
|
}
|
|
1707
1713
|
if (ge) {
|
|
1708
|
-
let t =
|
|
1709
|
-
e.translate(u +
|
|
1714
|
+
let t = W <= 90 ? -(W * Math.PI / 180) : (W - 90) * Math.PI / 180;
|
|
1715
|
+
e.translate(u + P / 2, b + I / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(G, 0, 0), e.restore();
|
|
1710
1716
|
return;
|
|
1711
1717
|
}
|
|
1712
|
-
if (
|
|
1713
|
-
let t = e.measureText(G).width, n =
|
|
1718
|
+
if (z.shrinkToFit) {
|
|
1719
|
+
let t = e.measureText(G).width, n = P - A - 3;
|
|
1714
1720
|
if (t > n && t > 0) {
|
|
1715
|
-
let r = n / t, i = E === "right" ? u +
|
|
1721
|
+
let r = n / t, i = E === "right" ? u + P - 3 : E === "center" ? u + P / 2 : u + A;
|
|
1716
1722
|
e.transform(r, 0, 0, 1, i * (1 - r), 0);
|
|
1717
1723
|
}
|
|
1718
1724
|
}
|
|
1719
|
-
if (e.textAlign =
|
|
1720
|
-
e.letterSpacing = `${
|
|
1725
|
+
if (e.textAlign = me, fe > 0) try {
|
|
1726
|
+
e.letterSpacing = `${fe}px`;
|
|
1721
1727
|
} catch {}
|
|
1722
|
-
if (
|
|
1728
|
+
if (z.readingOrder === 2) try {
|
|
1723
1729
|
e.direction = "rtl";
|
|
1724
1730
|
} catch {}
|
|
1725
|
-
else if (
|
|
1731
|
+
else if (z.readingOrder === 1) try {
|
|
1726
1732
|
e.direction = "ltr";
|
|
1727
1733
|
} catch {}
|
|
1728
|
-
let _e =
|
|
1729
|
-
if (
|
|
1730
|
-
let t =
|
|
1731
|
-
r = D === "top" ? b + 2 : D === "center" ? b + (
|
|
1734
|
+
let _e = L.value.type === "text" ? L.value.runs : void 0, ve = _e && _e.length > 0;
|
|
1735
|
+
if (z.wrapText && ve) {
|
|
1736
|
+
let t = pe(e, _e, p, ee, P - A - 3), n = t.reduce((e, t) => e + Math.round(t.maxFontSize * h * 1.2), 0), r;
|
|
1737
|
+
r = D === "top" ? b + 2 : D === "center" ? b + (I - n) / 2 : b + I - n - 2, e.textAlign = "left", e.textBaseline = "top";
|
|
1732
1738
|
for (let n of t) {
|
|
1733
1739
|
let t = Math.round(n.maxFontSize * h * 1.2), i = n.segments.reduce((e, t) => e + t.width, 0), a;
|
|
1734
|
-
a = E === "right" ? u +
|
|
1740
|
+
a = E === "right" ? u + P - 3 - i : E === "center" ? u + P / 2 - i / 2 : u + A;
|
|
1735
1741
|
for (let t of n.segments) {
|
|
1736
1742
|
e.font = te(t.font, ee);
|
|
1737
|
-
let n =
|
|
1743
|
+
let n = B.fontColor ?? t.font.color;
|
|
1738
1744
|
e.fillStyle = n ? S(n) : "#000000", e.fillText(t.text, a, r);
|
|
1739
1745
|
let i = Math.round(t.font.size * h);
|
|
1740
1746
|
if (t.font.underline && (e.save(), e.strokeStyle = n ? S(n) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(a, r + i + 1), e.lineTo(a + t.width, r + i + 1), e.stroke(), e.restore()), t.font.strike) {
|
|
@@ -1746,70 +1752,70 @@ function pt(e, t, n, r, a, o, s, c, l, u, d, f, p, m) {
|
|
|
1746
1752
|
}
|
|
1747
1753
|
r += t;
|
|
1748
1754
|
}
|
|
1749
|
-
} else if (
|
|
1750
|
-
let t =
|
|
1751
|
-
D === "top" ? (i = b + 2, e.textBaseline = "top") : D === "center" ? (i = b + (
|
|
1752
|
-
for (let r = 0; r < t.length; r++) e.fillText(t[r],
|
|
1755
|
+
} else if (z.wrapText) {
|
|
1756
|
+
let t = de(e, G, P - A - 3), n = Math.round(R.size * h * 1.2), r = t.length * n, i;
|
|
1757
|
+
D === "top" ? (i = b + 2, e.textBaseline = "top") : D === "center" ? (i = b + (I - r) / 2, e.textBaseline = "top") : (i = b + I - r - 2, e.textBaseline = "top");
|
|
1758
|
+
for (let r = 0; r < t.length; r++) e.fillText(t[r], U, i + r * n);
|
|
1753
1759
|
} else if (ve) {
|
|
1754
1760
|
let t = _e.map((e) => ne(p, e)), n = _e.map((n, r) => (e.font = te(t[r], ee), e.measureText(n.text).width)), r = n.reduce((e, t) => e + t, 0), i;
|
|
1755
|
-
i = E === "right" ? u +
|
|
1761
|
+
i = E === "right" ? u + P - 3 - r : E === "center" ? u + P / 2 - r / 2 : u + A, e.textAlign = "left";
|
|
1756
1762
|
let a;
|
|
1757
|
-
D === "top" ? (e.textBaseline = "top", a = b + 2) : D === "center" ? (e.textBaseline = "middle", a = b +
|
|
1763
|
+
D === "top" ? (e.textBaseline = "top", a = b + 2) : D === "center" ? (e.textBaseline = "middle", a = b + I / 2) : (e.textBaseline = "bottom", a = b + I - 2);
|
|
1758
1764
|
let o = i;
|
|
1759
1765
|
for (let r = 0; r < _e.length; r++) {
|
|
1760
1766
|
let i = t[r];
|
|
1761
1767
|
e.font = te(i, ee);
|
|
1762
|
-
let s =
|
|
1768
|
+
let s = B.fontColor ?? i.color;
|
|
1763
1769
|
e.fillStyle = s ? S(s) : "#000000", e.fillText(_e[r].text, o, a);
|
|
1764
1770
|
let c = Math.round(i.size * h);
|
|
1765
1771
|
if (i.underline) {
|
|
1766
|
-
let t = D === "top" ? b + 2 + c + 1 : D === "center" ? b +
|
|
1772
|
+
let t = D === "top" ? b + 2 + c + 1 : D === "center" ? b + I / 2 + Math.round(c * .55) : b + I - 2 + 1;
|
|
1767
1773
|
e.save(), e.strokeStyle = s ? S(s) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(o, t), e.lineTo(o + n[r], t), e.stroke(), e.restore();
|
|
1768
1774
|
}
|
|
1769
1775
|
if (i.strike) {
|
|
1770
|
-
let t = D === "top" ? b + 2 + Math.round(c * .5) : D === "center" ? b +
|
|
1776
|
+
let t = D === "top" ? b + 2 + Math.round(c * .5) : D === "center" ? b + I / 2 : b + I - 2 - Math.round(c * .35);
|
|
1771
1777
|
e.save(), e.strokeStyle = s ? S(s) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(o, t), e.lineTo(o + n[r], t), e.stroke(), e.restore();
|
|
1772
1778
|
}
|
|
1773
1779
|
o += n[r];
|
|
1774
1780
|
}
|
|
1775
1781
|
} else {
|
|
1776
1782
|
let t = null, n = () => t ??= e.measureText(G), r = () => {
|
|
1777
|
-
let e = Math.min(n().width,
|
|
1783
|
+
let e = Math.min(n().width, se - A - 3);
|
|
1778
1784
|
return {
|
|
1779
|
-
x: E === "right" ? u +
|
|
1785
|
+
x: E === "right" ? u + P - 3 - e : E === "center" ? u + P / 2 - e / 2 : u + A,
|
|
1780
1786
|
width: e
|
|
1781
1787
|
};
|
|
1782
|
-
}, i = Math.round(
|
|
1788
|
+
}, i = Math.round(R.size * h);
|
|
1783
1789
|
if (p.underline || x) {
|
|
1784
|
-
let { x: t, width: n } = r(), a = D === "top" ? b + 2 + i + 1 : D === "center" ? b +
|
|
1790
|
+
let { x: t, width: n } = r(), a = D === "top" ? b + 2 + i + 1 : D === "center" ? b + I / 2 + Math.round(i * .55) : b + I - 2 + 1;
|
|
1785
1791
|
e.save(), e.strokeStyle = x ? "#0563C1" : w ? S(w) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(t, a), e.lineTo(t + n, a), e.stroke(), e.restore();
|
|
1786
1792
|
}
|
|
1787
1793
|
if (p.strike) {
|
|
1788
|
-
let { x: t, width: n } = r(), a = D === "top" ? b + 2 + Math.round(i * .5) : D === "center" ? b +
|
|
1794
|
+
let { x: t, width: n } = r(), a = D === "top" ? b + 2 + Math.round(i * .5) : D === "center" ? b + I / 2 : b + I - 2 - Math.round(i * .35);
|
|
1789
1795
|
e.save(), e.strokeStyle = w ? S(w) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(t, a), e.lineTo(t + n, a), e.stroke(), e.restore();
|
|
1790
1796
|
}
|
|
1791
1797
|
if (G.includes("\n")) {
|
|
1792
|
-
let t = G.split("\n"), n = Math.round(
|
|
1793
|
-
D === "top" ? (i = b + 2, e.textBaseline = "top") : D === "center" ? (i = b + (
|
|
1794
|
-
for (let r = 0; r < t.length; r++) e.fillText(t[r],
|
|
1798
|
+
let t = G.split("\n"), n = Math.round(R.size * h * 1.2), r = t.length * n, i;
|
|
1799
|
+
D === "top" ? (i = b + 2, e.textBaseline = "top") : D === "center" ? (i = b + (I - r) / 2, e.textBaseline = "top") : (i = b + I - r - 2, e.textBaseline = "top");
|
|
1800
|
+
for (let r = 0; r < t.length; r++) e.fillText(t[r], U, i + r * n);
|
|
1795
1801
|
} else {
|
|
1796
1802
|
let t;
|
|
1797
|
-
D === "top" ? (e.textBaseline = "top", t = b + 2) : D === "center" ? (e.textBaseline = "middle", t = b +
|
|
1803
|
+
D === "top" ? (e.textBaseline = "top", t = b + 2) : D === "center" ? (e.textBaseline = "middle", t = b + I / 2) : (e.textBaseline = "bottom", t = b + I - 2), e.fillText(V, U, t);
|
|
1798
1804
|
}
|
|
1799
1805
|
}
|
|
1800
1806
|
e.restore(), G && t.onTextRun && t.onTextRun({
|
|
1801
1807
|
text: G,
|
|
1802
1808
|
x: u,
|
|
1803
1809
|
y: b,
|
|
1804
|
-
width:
|
|
1805
|
-
height:
|
|
1810
|
+
width: P,
|
|
1811
|
+
height: I,
|
|
1806
1812
|
row: c,
|
|
1807
1813
|
col: o
|
|
1808
1814
|
});
|
|
1809
1815
|
});
|
|
1810
1816
|
}
|
|
1811
1817
|
}
|
|
1812
|
-
for (let e of
|
|
1818
|
+
for (let e of F) e();
|
|
1813
1819
|
e.restore();
|
|
1814
1820
|
}
|
|
1815
1821
|
function mt(e, t, n, r, i = {}) {
|
|
@@ -1839,19 +1845,19 @@ function mt(e, t, n, r, i = {}) {
|
|
|
1839
1845
|
});
|
|
1840
1846
|
for (let t = e.top; t <= e.bottom; t++) for (let n = e.left; n <= e.right; n++) t === e.top && n === e.left || ie.add(`${t}:${n}`);
|
|
1841
1847
|
}
|
|
1842
|
-
let A = ve(t),
|
|
1848
|
+
let A = ve(t), ae = /* @__PURE__ */ new Set();
|
|
1843
1849
|
if (t.autoFilter) {
|
|
1844
1850
|
let e = t.autoFilter;
|
|
1845
|
-
for (let t = e.left; t <= e.right; t++)
|
|
1851
|
+
for (let t = e.left; t <= e.right; t++) ae.add(`${e.top}:${t}`);
|
|
1846
1852
|
}
|
|
1847
|
-
let
|
|
1848
|
-
for (let e of t.hyperlinks ?? []) e.url &&
|
|
1849
|
-
let
|
|
1853
|
+
let j = /* @__PURE__ */ new Map();
|
|
1854
|
+
for (let e of t.hyperlinks ?? []) e.url && j.set(`${e.row}:${e.col}`, e.url);
|
|
1855
|
+
let oe = /* @__PURE__ */ new Set();
|
|
1850
1856
|
for (let e of t.commentRefs ?? []) {
|
|
1851
1857
|
let t = ee(e);
|
|
1852
|
-
t &&
|
|
1858
|
+
t && oe.add(`${t.row}:${t.col}`);
|
|
1853
1859
|
}
|
|
1854
|
-
let
|
|
1860
|
+
let M = {
|
|
1855
1861
|
worksheet: t,
|
|
1856
1862
|
styles: n,
|
|
1857
1863
|
cellMap: ne,
|
|
@@ -1868,21 +1874,21 @@ function mt(e, t, n, r, i = {}) {
|
|
|
1868
1874
|
startCol: m,
|
|
1869
1875
|
cs: o,
|
|
1870
1876
|
dpr: a,
|
|
1871
|
-
autoFilterCells:
|
|
1872
|
-
hyperlinkMap:
|
|
1873
|
-
commentCells:
|
|
1877
|
+
autoFilterCells: ae,
|
|
1878
|
+
hyperlinkMap: j,
|
|
1879
|
+
commentCells: oe,
|
|
1874
1880
|
tableStyleMap: ut(t),
|
|
1875
1881
|
sparklineMap: dt(t),
|
|
1876
1882
|
mdw: s,
|
|
1877
1883
|
onTextRun: i.onTextRun
|
|
1878
|
-
},
|
|
1879
|
-
C > 0 && w > 0 && pt(e,
|
|
1884
|
+
}, N = d, P = f, F = N + D, I = P + O, L = Math.max(0, c - F), R = Math.max(0, l - I);
|
|
1885
|
+
C > 0 && w > 0 && pt(e, M, 1, 1, T, E, 0, 0, N, P, N, P, D, O), C > 0 && pt(e, M, 1, m, k, E, v, 0, F, P, F, P, L, O), w > 0 && pt(e, M, p, 1, T, te, 0, S, N, I, N, I, D, R), pt(e, M, p, m, k, te, v, S, F, I, F, I, L, R), t.images && t.images.length > 0 && i.loadedImages && gt(e, t, i.loadedImages, o, p, m, v, S, F, I, L, R), t.shapeGroups && t.shapeGroups.length > 0 && _t(e, t, o, p, m, v, S, F, I, L, R, i.loadedImages), t.charts && t.charts.length > 0 && At(e, t, o, p, m, v, S, F, I, L, R), t.slicers && t.slicers.length > 0 && Ut(e, t, o, p, m, v, S, F, I, L, R), ht(e, c, l, p, m, h, _, k, te, v, S, T, E, D, O, d, f, o, a), C > 0 && (e.save(), e.strokeStyle = g, e.lineWidth = .5, e.beginPath(), e.moveTo(d, I + .5), e.lineTo(c, I + .5), e.stroke(), e.restore()), w > 0 && (e.save(), e.strokeStyle = g, e.lineWidth = .5, e.beginPath(), e.moveTo(F + .5, f), e.lineTo(F + .5, l), e.stroke(), e.restore());
|
|
1880
1886
|
}
|
|
1881
1887
|
function ht(e, t, n, r, i, a, o, s, c, l, u, d, p, m, h, g, _, v, y) {
|
|
1882
1888
|
let b = "#f8f9fa", x = "#c8ccd0", S = "#444", C = `${Math.max(1, Math.round(11 * v))}px ${f}`, w = g + m, T = _ + h, E = .5 / y;
|
|
1883
1889
|
e.fillStyle = b, e.fillRect(0, 0, g, _), e.strokeStyle = x, e.lineWidth = .5, e.beginPath(), e.moveTo(E, 0), e.lineTo(E, _), e.moveTo(0, E), e.lineTo(g, E), e.moveTo(g - E, 0), e.lineTo(g - E, _), e.moveTo(0, _ - E), e.lineTo(g, _ - E), e.stroke(), e.font = C, e.fillStyle = S;
|
|
1884
1890
|
let D = (t, n, r) => {
|
|
1885
|
-
e.fillStyle = b, e.fillRect(n, 0, r, _), e.strokeStyle = x, e.lineWidth = .5, e.beginPath(), e.moveTo(n + r - E, 0), e.lineTo(n + r - E, _), e.moveTo(n, _ - E), e.lineTo(n + r, _ - E), e.moveTo(n, E), e.lineTo(n + r, E), e.stroke(), e.fillStyle = S, e.textAlign = "center", e.textBaseline = "middle", e.fillText(
|
|
1891
|
+
e.fillStyle = b, e.fillRect(n, 0, r, _), e.strokeStyle = x, e.lineWidth = .5, e.beginPath(), e.moveTo(n + r - E, 0), e.lineTo(n + r - E, _), e.moveTo(n, _ - E), e.lineTo(n + r, _ - E), e.moveTo(n, E), e.lineTo(n + r, E), e.stroke(), e.fillStyle = S, e.textAlign = "center", e.textBaseline = "middle", e.fillText(me(t), n + r / 2, _ / 2);
|
|
1886
1892
|
}, ee = (t, n, r) => {
|
|
1887
1893
|
e.fillStyle = b, e.fillRect(0, n, g, r), e.strokeStyle = x, e.lineWidth = .5, e.beginPath(), e.moveTo(g - E, n), e.lineTo(g - E, n + r), e.moveTo(0, n + r - E), e.lineTo(g, n + r - E), e.moveTo(E, n), e.lineTo(E, n + r), e.stroke(), e.fillStyle = S, e.textAlign = "right", e.textBaseline = "middle", e.fillText(String(t), g - Math.max(2, Math.round(4 * v)), n + r / 2);
|
|
1888
1894
|
};
|
|
@@ -2115,8 +2121,8 @@ function St(e, t) {
|
|
|
2115
2121
|
diagonalDown: n(e.diagonalDown, t.diagonalDown)
|
|
2116
2122
|
};
|
|
2117
2123
|
}
|
|
2118
|
-
function Ct(e, t, n, r, i, a) {
|
|
2119
|
-
let
|
|
2124
|
+
function Ct(e, t, n, r, i, a, o = !1, s = !1) {
|
|
2125
|
+
let c = [
|
|
2120
2126
|
{
|
|
2121
2127
|
edge: t.top,
|
|
2122
2128
|
x1: n,
|
|
@@ -2166,39 +2172,40 @@ function Ct(e, t, n, r, i, a) {
|
|
|
2166
2172
|
kind: "d"
|
|
2167
2173
|
}
|
|
2168
2174
|
];
|
|
2169
|
-
for (let { edge: t, x1:
|
|
2175
|
+
for (let { edge: t, x1: l, y1: u, x2: d, y2: f, kind: p } of c) {
|
|
2170
2176
|
if (!t || !t.style || t.style === "none") continue;
|
|
2171
|
-
let
|
|
2172
|
-
if (t.style === "double" &&
|
|
2173
|
-
if (e.strokeStyle =
|
|
2174
|
-
let t =
|
|
2175
|
-
e.moveTo(n - 1,
|
|
2177
|
+
let c = t.color ? S(t.color) : "#000000";
|
|
2178
|
+
if (t.style === "double" && p !== "d") {
|
|
2179
|
+
if (e.strokeStyle = c, e.lineWidth = 1, e.setLineDash([]), e.beginPath(), p === "h") {
|
|
2180
|
+
let t = u === r, s = t && o, c = t ? s ? r + 1 : r - 1 : r + a + 1, l = t ? s ? r - 1 : r + 1 : r + a - 1;
|
|
2181
|
+
e.moveTo(n - 1, c), e.lineTo(n + i + 1, c), e.moveTo(n + 1, l), e.lineTo(n + i - 1, l);
|
|
2176
2182
|
} else {
|
|
2177
|
-
let t =
|
|
2178
|
-
e.moveTo(
|
|
2183
|
+
let t = l === n, o = t && s, c = t ? o ? n + 1 : n - 1 : n + i + 1, u = t ? o ? n - 1 : n + 1 : n + i - 1;
|
|
2184
|
+
e.moveTo(c, r - 1), e.lineTo(c, r + a + 1), e.moveTo(u, r + 1), e.lineTo(u, r + a - 1);
|
|
2179
2185
|
}
|
|
2180
2186
|
e.stroke();
|
|
2181
2187
|
continue;
|
|
2182
2188
|
}
|
|
2183
|
-
e.beginPath(), e.strokeStyle =
|
|
2184
|
-
let
|
|
2185
|
-
e.setLineDash(
|
|
2189
|
+
e.beginPath(), e.strokeStyle = c, e.lineWidth = wt(t.style);
|
|
2190
|
+
let m = Tt(t.style);
|
|
2191
|
+
e.setLineDash(m), e.moveTo(l, u), e.lineTo(d, f), e.stroke(), e.setLineDash([]);
|
|
2186
2192
|
}
|
|
2187
2193
|
}
|
|
2188
2194
|
function wt(e) {
|
|
2189
2195
|
switch (e) {
|
|
2190
|
-
case "thick": return
|
|
2196
|
+
case "thick": return 3;
|
|
2191
2197
|
case "medium":
|
|
2192
2198
|
case "mediumDashed":
|
|
2193
2199
|
case "mediumDashDot":
|
|
2194
2200
|
case "mediumDashDotDot":
|
|
2195
|
-
case "slantDashDot": return
|
|
2201
|
+
case "slantDashDot": return 2;
|
|
2196
2202
|
case "hair": return .5;
|
|
2197
2203
|
default: return 1;
|
|
2198
2204
|
}
|
|
2199
2205
|
}
|
|
2200
2206
|
function Tt(e) {
|
|
2201
2207
|
switch (e) {
|
|
2208
|
+
case "hair": return [1, 1];
|
|
2202
2209
|
case "dashed":
|
|
2203
2210
|
case "mediumDashed": return [4, 3];
|
|
2204
2211
|
case "dotted": return [2, 2];
|
|
@@ -2228,6 +2235,28 @@ function Tt(e) {
|
|
|
2228
2235
|
}
|
|
2229
2236
|
}
|
|
2230
2237
|
function Et(e) {
|
|
2238
|
+
switch (e) {
|
|
2239
|
+
case "double": return 13;
|
|
2240
|
+
case "thick": return 12;
|
|
2241
|
+
case "medium": return 11;
|
|
2242
|
+
case "mediumDashed": return 10;
|
|
2243
|
+
case "mediumDashDot": return 9;
|
|
2244
|
+
case "slantDashDot": return 8;
|
|
2245
|
+
case "mediumDashDotDot": return 7;
|
|
2246
|
+
case "thin": return 6;
|
|
2247
|
+
case "dashed": return 5;
|
|
2248
|
+
case "dashDot": return 4;
|
|
2249
|
+
case "dashDotDot": return 3;
|
|
2250
|
+
case "dotted": return 2;
|
|
2251
|
+
case "hair": return 1;
|
|
2252
|
+
default: return 0;
|
|
2253
|
+
}
|
|
2254
|
+
}
|
|
2255
|
+
function Dt(e, t) {
|
|
2256
|
+
let n = Et(e?.style), r = Et(t?.style);
|
|
2257
|
+
return n === 0 && r === 0 ? null : n >= r ? e ?? null : t ?? null;
|
|
2258
|
+
}
|
|
2259
|
+
function Ot(e) {
|
|
2231
2260
|
let t = e.chartType, n = e.grouping;
|
|
2232
2261
|
if (t === "bar") {
|
|
2233
2262
|
let t = e.barDir === "bar";
|
|
@@ -2235,9 +2264,9 @@ function Et(e) {
|
|
|
2235
2264
|
}
|
|
2236
2265
|
return t === "line" ? n === "stacked" ? "stackedLine" : n === "percentStacked" ? "stackedLinePct" : "line" : t === "area" ? n === "stacked" ? "stackedArea" : n === "percentStacked" ? "stackedAreaPct" : "area" : t;
|
|
2237
2266
|
}
|
|
2238
|
-
function
|
|
2267
|
+
function kt(e) {
|
|
2239
2268
|
return {
|
|
2240
|
-
chartType:
|
|
2269
|
+
chartType: Ot(e),
|
|
2241
2270
|
title: e.title,
|
|
2242
2271
|
categories: e.categories,
|
|
2243
2272
|
catAxisFormatCode: e.catAxisFormatCode ?? null,
|
|
@@ -2305,7 +2334,7 @@ function Dt(e) {
|
|
|
2305
2334
|
plotAreaManualLayout: e.plotAreaManualLayout ?? null
|
|
2306
2335
|
};
|
|
2307
2336
|
}
|
|
2308
|
-
function
|
|
2337
|
+
function At(e, t, n, i, a, o, s, c, l, u, d) {
|
|
2309
2338
|
if (u <= 0 || d <= 0) return;
|
|
2310
2339
|
let f = Q(t, a, n), p = $(t, i, n);
|
|
2311
2340
|
for (let i of t.charts) {
|
|
@@ -2315,7 +2344,7 @@ function Ot(e, t, n, i, a, o, s, c, l, u, d) {
|
|
|
2315
2344
|
if (C + x < c || C > c + u || w + S < l || w > l + d) continue;
|
|
2316
2345
|
e.save(), e.beginPath(), e.rect(c, l, u, d), e.clip();
|
|
2317
2346
|
let T = 4 / 3 * n;
|
|
2318
|
-
r(e,
|
|
2347
|
+
r(e, kt(i.chart), {
|
|
2319
2348
|
x: C,
|
|
2320
2349
|
y: w,
|
|
2321
2350
|
w: x,
|
|
@@ -2323,8 +2352,8 @@ function Ot(e, t, n, i, a, o, s, c, l, u, d) {
|
|
|
2323
2352
|
}, T), e.restore();
|
|
2324
2353
|
}
|
|
2325
2354
|
}
|
|
2326
|
-
var
|
|
2327
|
-
function
|
|
2355
|
+
var jt = "600 12px \"Meiryo UI\", \"Segoe UI\", sans-serif", Mt = "11px \"Meiryo UI\", \"Segoe UI\", sans-serif", Nt = "#FFFFFF", Pt = "#BFBFBF", Ft = "#F2F2F2", It = "#404040", Lt = "#FFFFFF", Rt = "#000000", zt = "#A5A5A5", Bt = "#E7E6E6", Vt = "#A6A6A6", Ht = "#C6C6C6";
|
|
2356
|
+
function Ut(e, t, n, r, i, a, o, s, c, l, u) {
|
|
2328
2357
|
if (l <= 0 || u <= 0) return;
|
|
2329
2358
|
let d = t.slicers;
|
|
2330
2359
|
if (!d) return;
|
|
@@ -2333,30 +2362,30 @@ function Vt(e, t, n, r, i, a, o, s, c, l, u) {
|
|
|
2333
2362
|
let i = r.fromCol + 1, d = r.fromRow + 1, m = r.toCol + 1, h = r.toRow + 1, g = Q(t, i, n) + r.fromColOff * n / Z, _ = $(t, d, n) + r.fromRowOff * n / Z, v = Q(t, m, n) + r.toColOff * n / Z, y = $(t, h, n) + r.toRowOff * n / Z, b = v - g, x = y - _;
|
|
2334
2363
|
if (b <= 0 || x <= 0) continue;
|
|
2335
2364
|
let S = s + (g - f) - a, C = c + (_ - p) - o;
|
|
2336
|
-
S + b < s || S > s + l || C + x < c || C > c + u || (e.save(), e.beginPath(), e.rect(s, c, l, u), e.clip(),
|
|
2365
|
+
S + b < s || S > s + l || C + x < c || C > c + u || (e.save(), e.beginPath(), e.rect(s, c, l, u), e.clip(), Wt(e, r.caption, r.items, S, C, b, x, n), e.restore());
|
|
2337
2366
|
}
|
|
2338
2367
|
}
|
|
2339
|
-
function
|
|
2340
|
-
e.fillStyle =
|
|
2368
|
+
function Wt(e, t, n, r, i, a, o, s) {
|
|
2369
|
+
e.fillStyle = Nt, e.fillRect(r, i, a, o), e.strokeStyle = Pt, e.lineWidth = 1, e.strokeRect(r + .5, i + .5, a - 1, o - 1);
|
|
2341
2370
|
let c = Math.max(20 * s, 14);
|
|
2342
|
-
e.fillStyle =
|
|
2371
|
+
e.fillStyle = Ft, e.fillRect(r + 1, i + 1, a - 2, c), e.fillStyle = It, e.font = Gt(jt, s), e.textBaseline = "middle", e.textAlign = "left";
|
|
2343
2372
|
let l = 6 * s;
|
|
2344
|
-
if (
|
|
2373
|
+
if (Kt(e, t, r + l, i + c / 2 + 1, a - 2 * l), n.length === 0) return;
|
|
2345
2374
|
let u = Math.max(1, Math.round(2 * s)), d = 4 * s, f = r + d, p = i + c + d, m = a - 2 * d, h = o - c - 2 * d;
|
|
2346
2375
|
if (m <= 0 || h <= 0) return;
|
|
2347
2376
|
let g = Math.max(18 * s, 16), _ = Math.max(1, Math.floor((h + u) / (g + u))), v = Math.min(n.length, _), y = Math.min(g, (h - u * (v - 1)) / v);
|
|
2348
2377
|
if (y <= 0) return;
|
|
2349
|
-
e.font =
|
|
2378
|
+
e.font = Gt(Mt, s);
|
|
2350
2379
|
let b = 8 * s;
|
|
2351
2380
|
for (let t = 0; t < v; t++) {
|
|
2352
2381
|
let r = n[t], i = p + t * (y + u), a = r.selected;
|
|
2353
|
-
e.fillStyle = a ?
|
|
2382
|
+
e.fillStyle = a ? Lt : Bt, e.fillRect(f, i, m, y), e.strokeStyle = a ? zt : Ht, e.lineWidth = 1, e.strokeRect(f + .5, i + .5, m - 1, y - 1), e.fillStyle = a ? Rt : Vt, Kt(e, r.name, f + b, i + y / 2 + 1, m - 2 * b);
|
|
2354
2383
|
}
|
|
2355
2384
|
}
|
|
2356
|
-
function
|
|
2385
|
+
function Gt(e, t) {
|
|
2357
2386
|
return e.replace(/(\d+(?:\.\d+)?)px/, (e, n) => `${Math.round(Number(n) * t)}px`);
|
|
2358
2387
|
}
|
|
2359
|
-
function
|
|
2388
|
+
function Kt(e, t, n, r, i) {
|
|
2360
2389
|
if (i <= 0) return;
|
|
2361
2390
|
let a = t;
|
|
2362
2391
|
if (e.measureText(a).width > i) {
|
|
@@ -2367,7 +2396,7 @@ function Wt(e, t, n, r, i) {
|
|
|
2367
2396
|
}
|
|
2368
2397
|
//#endregion
|
|
2369
2398
|
//#region packages/xlsx/src/workbook.ts
|
|
2370
|
-
var
|
|
2399
|
+
var qt = {
|
|
2371
2400
|
calibri: {
|
|
2372
2401
|
url: "https://fonts.googleapis.com/css2?family=Carlito:ital,wght@0,400;0,700;1,400;1,700&display=swap",
|
|
2373
2402
|
loadFamily: "Carlito"
|
|
@@ -2376,7 +2405,7 @@ var Gt = {
|
|
|
2376
2405
|
url: "https://fonts.googleapis.com/css2?family=Caladea:ital,wght@0,400;0,700;1,400;1,700&display=swap",
|
|
2377
2406
|
loadFamily: "Caladea"
|
|
2378
2407
|
}
|
|
2379
|
-
},
|
|
2408
|
+
}, Jt = class {
|
|
2380
2409
|
worker;
|
|
2381
2410
|
parsedWorkbook = null;
|
|
2382
2411
|
sheetCache = /* @__PURE__ */ new Map();
|
|
@@ -2398,7 +2427,7 @@ var Gt = {
|
|
|
2398
2427
|
}), n.useGoogleFonts) {
|
|
2399
2428
|
let t = /* @__PURE__ */ new Set();
|
|
2400
2429
|
for (let e of this.parsedWorkbook.styles?.fonts ?? []) e.name && t.add(e.name);
|
|
2401
|
-
await e(t,
|
|
2430
|
+
await e(t, qt);
|
|
2402
2431
|
}
|
|
2403
2432
|
}
|
|
2404
2433
|
get sheetNames() {
|
|
@@ -2451,7 +2480,7 @@ var Gt = {
|
|
|
2451
2480
|
this.worker.addEventListener("message", r), this.worker.postMessage(e);
|
|
2452
2481
|
});
|
|
2453
2482
|
}
|
|
2454
|
-
},
|
|
2483
|
+
}, Yt = 30, Xt = class {
|
|
2455
2484
|
wb;
|
|
2456
2485
|
canvas;
|
|
2457
2486
|
canvasArea;
|
|
@@ -2471,9 +2500,9 @@ var Gt = {
|
|
|
2471
2500
|
keydownHandler = null;
|
|
2472
2501
|
pendingTap = null;
|
|
2473
2502
|
constructor(e, t = {}) {
|
|
2474
|
-
this.opts = t, this.wb = new
|
|
2503
|
+
this.opts = t, this.wb = new Jt();
|
|
2475
2504
|
let n = document.createElement("div");
|
|
2476
|
-
n.style.cssText = "position:relative;width:100%;height:100%;border:1px solid #c8ccd0;background:#fff;box-sizing:border-box;font-family:sans-serif;display:flex;flex-direction:column;", this.canvasArea = document.createElement("div"), this.canvasArea.style.cssText = "position:relative;flex:1;min-height:0;overflow:hidden;", this.canvas = document.createElement("canvas"), this.canvas.style.cssText = "position:absolute;top:0;left:0;z-index:0;display:block;", this.selectionOverlay = document.createElement("div"), this.selectionOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.scrollHost = document.createElement("div"), this.scrollHost.style.cssText = "position:absolute;inset:0;overflow:auto;z-index:2;background:transparent;", this.spacer = document.createElement("div"), this.spacer.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;", this.scrollHost.appendChild(this.spacer), this.canvasArea.appendChild(this.canvas), this.canvasArea.appendChild(this.selectionOverlay), this.canvasArea.appendChild(this.scrollHost), this.tabBar = document.createElement("div"), this.tabBar.style.cssText = `display:flex;align-items:flex-end;height:${
|
|
2505
|
+
n.style.cssText = "position:relative;width:100%;height:100%;border:1px solid #c8ccd0;background:#fff;box-sizing:border-box;font-family:sans-serif;display:flex;flex-direction:column;", this.canvasArea = document.createElement("div"), this.canvasArea.style.cssText = "position:relative;flex:1;min-height:0;overflow:hidden;", this.canvas = document.createElement("canvas"), this.canvas.style.cssText = "position:absolute;top:0;left:0;z-index:0;display:block;", this.selectionOverlay = document.createElement("div"), this.selectionOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.scrollHost = document.createElement("div"), this.scrollHost.style.cssText = "position:absolute;inset:0;overflow:auto;z-index:2;background:transparent;", this.spacer = document.createElement("div"), this.spacer.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;", this.scrollHost.appendChild(this.spacer), this.canvasArea.appendChild(this.canvas), this.canvasArea.appendChild(this.selectionOverlay), this.canvasArea.appendChild(this.scrollHost), this.tabBar = document.createElement("div"), this.tabBar.style.cssText = `display:flex;align-items:flex-end;height:${Yt}px;flex-shrink:0;background:#f0f0f0;border-top:1px solid #c8ccd0;overflow-x:auto;overflow-y:hidden;padding:0 4px;gap:1px;scrollbar-width:none;`;
|
|
2477
2506
|
let r = document.createElement("style");
|
|
2478
2507
|
r.textContent = ".xlsx-tab-bar::-webkit-scrollbar{display:none}", document.head.appendChild(r), this.tabBar.classList.add("xlsx-tab-bar"), n.appendChild(this.canvasArea), n.appendChild(this.tabBar), e.appendChild(n), this.scrollHost.addEventListener("scroll", () => {
|
|
2479
2508
|
this.renderCurrentSheet(), this.updateSelectionOverlay();
|
|
@@ -2800,7 +2829,7 @@ var Gt = {
|
|
|
2800
2829
|
});
|
|
2801
2830
|
}
|
|
2802
2831
|
tabStyle(e) {
|
|
2803
|
-
let t =
|
|
2832
|
+
let t = Yt - 2, n = Yt - 5;
|
|
2804
2833
|
return e ? `display:inline-block;padding:0 14px;border:1px solid #c8ccd0;border-bottom:none;border-radius:3px 3px 0 0;cursor:pointer;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;outline:none;box-sizing:border-box;height:${t}px;font-size:13px;background:#fff;color:#000;border-bottom:1px solid #fff;font-weight:600;position:relative;top:1px;` : `display:inline-block;padding:0 14px;border:1px solid #c8ccd0;border-bottom:none;border-radius:3px 3px 0 0;cursor:pointer;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;outline:none;box-sizing:border-box;height:${n}px;font-size:11px;background:#e0e0e0;color:#555;`;
|
|
2805
2834
|
}
|
|
2806
2835
|
updateSpacerSize(e) {
|
|
@@ -2881,10 +2910,10 @@ var Gt = {
|
|
|
2881
2910
|
destroy() {
|
|
2882
2911
|
this.resizeObserver?.disconnect(), this.keydownHandler && document.removeEventListener("keydown", this.keydownHandler), this.wb.destroy();
|
|
2883
2912
|
}
|
|
2884
|
-
},
|
|
2885
|
-
XlsxViewer: () =>
|
|
2886
|
-
XlsxWorkbook: () =>
|
|
2913
|
+
}, Zt = /* @__PURE__ */ t({
|
|
2914
|
+
XlsxViewer: () => Xt,
|
|
2915
|
+
XlsxWorkbook: () => Jt,
|
|
2887
2916
|
autoResize: () => n
|
|
2888
2917
|
});
|
|
2889
2918
|
//#endregion
|
|
2890
|
-
export {
|
|
2919
|
+
export { Xt as n, Jt as r, Zt as t };
|