@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.
@@ -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 te(r.text, n, i);
214
+ return U(r.text, n, i);
215
215
  }
216
216
  return n;
217
217
  }
218
218
  function ee(e, t) {
219
- let n = ne(e, t);
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 = ne(e, t);
224
+ let i = te(e, t);
225
225
  n = M(n) + M(i);
226
226
  }
227
227
  return n;
228
228
  }
229
- function te(e, t, n) {
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 ne(e, t) {
251
- let n = re(e, t);
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 = re(e, t);
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 re(e, t) {
262
- let n = ie(e, t);
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 = ie(e, t);
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 ie(e, t) {
276
+ function re(e, t) {
277
277
  let n = z(e);
278
- return n && n.kind === "op" && n.text === "-" ? (B(e), -j(ie(e, t))) : n && n.kind === "op" && n.text === "+" ? (B(e), j(ie(e, t))) : ae(e, t);
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 ae(e, t) {
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 ce(n.ref, r.ref, t);
296
+ return se(n.ref, r.ref, t);
297
297
  }
298
- return se(n.ref, t);
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 ue(n.text, r, t);
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(oe(r.formula), {
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 oe(e) {
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 se(e, t) {
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 le(t.cellIndex.get(`${r}:${n}`));
325
+ return ce(t.cellIndex.get(`${r}:${n}`));
326
326
  }
327
- function ce(e, t, n) {
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(le(n.cellIndex.get(`${e}:${t}`)));
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 le(e) {
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 ue(e, t, n) {
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 U(E(t[0]), t[1]);
430
- case "SUMIF": return de(E(t[0]), t[1], t[2] === void 0 ? null : E(t[2]));
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 = de(e, t[1], t[2] === void 0 ? null : E(t[2])), r = U(e, t[1]);
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 q();
471
- case "NOW": return fe();
472
- case "DATE": return pe(j(t[0]), j(t[1]), j(t[2]));
473
- case "YEAR": return me(j(t[0])).y;
474
- case "MONTH": return me(j(t[0])).m;
475
- case "DAY": return me(j(t[0])).d;
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 = J(j(t[0])).getUTCDay(), n = j(t[1] ?? 1);
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 U(e, t) {
484
- let n = W(t), r = 0;
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 de(e, t, n) {
489
- let r = W(t), i = n ?? e, a = 0;
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 W(e) {
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 G = 25569, K = 864e5;
524
- function q() {
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 / K) + G;
526
+ return Math.floor(t / q) + K;
527
527
  }
528
- function fe() {
529
- return Date.now() / K + G;
528
+ function de() {
529
+ return Date.now() / q + K;
530
530
  }
531
- function pe(e, t, n) {
531
+ function fe(e, t, n) {
532
532
  let r = Date.UTC(e, t - 1, n);
533
- return Math.floor(r / K) + G;
533
+ return Math.floor(r / q) + K;
534
534
  }
535
- function J(e) {
536
- let t = (Math.floor(e) - G) * K;
535
+ function Y(e) {
536
+ let t = (Math.floor(e) - K) * q;
537
537
  return new Date(t);
538
538
  }
539
- function me(e) {
540
- let t = J(e);
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 he(e) {
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 ge(e, t, n) {
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 = he(e.value);
562
- return o ? _e(t, o) : t;
561
+ let t = me(e.value);
562
+ return o ? ge(t, o) : t;
563
563
  }
564
- return ke(ve(e.formula) ?? e.value.number, a, o);
564
+ return Oe(_e(e.formula) ?? e.value.number, a, o);
565
565
  }
566
- function _e(e, t) {
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 ve(e) {
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()" ? q() : t === "NOW()" ? fe() : null;
588
+ return t === "TODAY()" ? J() : t === "NOW()" ? de() : null;
589
589
  }
590
- var ye = {
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
- }, be = [
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
- ], xe = [
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
- ], Se = [
635
+ ], xe = [
636
636
  "日",
637
637
  "月",
638
638
  "火",
@@ -640,7 +640,7 @@ var ye = {
640
640
  "木",
641
641
  "金",
642
642
  "土"
643
- ], Ce = [
643
+ ], Se = [
644
644
  "日曜日",
645
645
  "月曜日",
646
646
  "火曜日",
@@ -648,7 +648,7 @@ var ye = {
648
648
  "木曜日",
649
649
  "金曜日",
650
650
  "土曜日"
651
- ], we = [
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 Te(e) {
684
- for (let t of we) if (e.getTime() >= t.start.getTime()) return {
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 = we[we.length - 1];
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 Ee(e) {
698
+ function Te(e) {
699
699
  return /* @__PURE__ */ new Date((e - 25569) * 86400 * 1e3);
700
700
  }
701
- function De(e, t) {
702
- let n = Ee(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 ??= Te(n), m = "", h = 0, g = !1;
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 += be[i - 1].slice(0, 3) : e === 4 ? m += be[i - 1] : m += be[i - 1][0], g = !1;
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 += xe[o].slice(0, 3) : m += xe[o], g = !1;
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 += Ce[o], h += 4) : e.startsWith("AAA") ? (m += Se[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;
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 Oe(e) {
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 ke(e, t, n) {
772
- let r = ye[t];
773
- if (r) return De(e, r);
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 Oe(n) ? De(e, n) : Pe(e, n);
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 Ae(e, 0);
781
- case 4: return Ae(e, 2);
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 Ae(e, 0);
786
+ case 38: return ke(e, 0);
787
787
  case 39:
788
- case 40: return Ae(e, 2);
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 Ae(e, t) {
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 je(e) {
799
+ function Ae(e) {
800
800
  let t = e.match(/\.([0#]+)/);
801
801
  return t ? t[1].length : 0;
802
802
  }
803
- function Me(e) {
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 Ne(e, t) {
841
- let n = t.includes(",") && /[#0]/.test(t), r = je(t);
842
- return n ? Ae(e, r) : t.includes(".") ? e.toFixed(r) : /[#0?]/.test(t) ? Math.round(e).toString() : String(e);
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 Pe(e, t) {
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 } = Me(r), s = a.some((e) => e.kind === "percent"), c = a.find((e) => e.kind === "sci"), l = i ? Math.abs(e) : e;
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 = je(o), [t, n] = l.toExponential(e).split("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 = Ne(l, o);
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 Fe(e, t, n) {
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 Ie(e) {
866
+ function Fe(e) {
867
867
  return e && e.value.type === "number" ? e.value.number : null;
868
868
  }
869
- function Le(e) {
869
+ function Ie(e) {
870
870
  return e && e.value.type === "text" ? e.value.text : null;
871
871
  }
872
- function Re(e, t) {
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" && Fe(t, e.row, e.col) && n.push(e.value.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 ze(e, t) {
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 Be(e) {
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 = Re(e, n.sqref);
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) => ze(e, r));
908
- else if (e.type === "dataBar") i.barMin = ze(e.min, r), i.barMax = ze(e.max, r);
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) => ze(e, r)));
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 Ve(e, t, n) {
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 He(e) {
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 Ue(e, t, n) {
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 We(e, t, n) {
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 Ge(e, t, n) {
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 We(t[r - 1].color, t[r].color, o);
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 Ke(e, t) {
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 qe(e, t, n, r, i) {
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 (!Fe(o.sqref, t, n)) continue;
1006
- let s = o.rule, c = Ie(e);
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
- }) && (Ke(a, s.dxfId == null ? null : i[s.dxfId]), s.stopIfTrue)) break;
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(He), n = Le(e), r = !1;
1023
- c != null && t.every((e) => e.num != null) ? r = Ve(c, s.operator, t.map((e) => e.num)) : n != null && t.every((e) => e.text != null) && (r = Ue(n, s.operator, t.map((e) => e.text))), r && Ke(a, s.dxfId == null ? null : i[s.dxfId]);
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) && Ke(a, s.dxfId == null ? null : i[s.dxfId]);
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) && Ke(a, s.dxfId == null ? null : i[s.dxfId]);
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 = Ge(c, s.stops, o.scaleStops);
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 Je(e, t) {
1067
+ function qe(e, t) {
1068
1068
  return e === 2 ? !0 : e === 1 ? !1 : v(void 0, t) === "rtl";
1069
1069
  }
1070
- var Ye = /[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF\u200F\u202B\u202E\u2067]|[\u{10800}-\u{10FFF}\u{1E800}-\u{1EFFF}]/u, Xe = (e) => {
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 Ze(e) {
1074
+ function Xe(e) {
1075
1075
  for (let t of e) {
1076
- let e = Xe(t);
1077
- if (e !== void 0 && Ye.test(e)) return !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 Qe = "";
1082
- function $e(e, t) {
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 = Xe(e[t]) ?? "";
1092
- r += n.length > 0 ? n : Qe;
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 et(e) {
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 tt = r.map((e) => `"${e}"`).join(", "), nt = a.map((e) => `"${e}"`).join(", "), rt = `"Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${tt}, sans-serif`;
1121
- function it(e) {
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 at(e) {
1124
+ function it(e) {
1125
1125
  let t = e ? b(e) : null;
1126
- if (!t) return rt;
1127
- let n = it((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 ? nt : tt}, ${n ? "serif" : "sans-serif"}`;
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 ot(e) {
1131
- return e ? `"${e}", ${at(e)}` : rt;
1130
+ function at(e) {
1131
+ return e ? `"${e}", ${it(e)}` : nt;
1132
1132
  }
1133
- var st = 11, ct = 8;
1134
- function lt(e, t, n) {
1133
+ var ot = 11, st = 8;
1134
+ function ct(e, t, n) {
1135
1135
  return n - e - t;
1136
1136
  }
1137
- var ut = "#7a7a7a", dt = /* @__PURE__ */ new Map(), ft = {
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 pt(e, t) {
1148
- let n = `${e}:${t}`, r = dt.get(n);
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 = ft[e.toLowerCase()]?.[Math.round(t)];
1151
- if (i !== void 0) return dt.set(n, i), i;
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 ct;
1153
+ if (!o) return st;
1154
1154
  let s = o.getContext("2d");
1155
- if (!s) return ct;
1156
- s.font = `${a}px ${ot(e)}`;
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) || ct;
1163
- return dt.set(n, l), l;
1162
+ let l = Math.round(c) || st;
1163
+ return ut.set(n, l), l;
1164
1164
  }
1165
- function Y(e) {
1166
- return !e.defaultFontFamily || !e.defaultFontSize ? ct : pt(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 = ct) {
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 = et;
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 ${ot(e.name)}`;
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: st,
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 ? lt(e, n, t.canvasW) : e, E = [], D = -o;
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 p;
1715
- if (a >= n) p = l + O[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
- p = l - s - e;
1720
- }
1721
- let m = d.totalW, g = d.totalH;
1722
- f = T(f, m);
1723
- let _ = `${a}:${u}`, v = t.cellMap.get(_), { font: y, fill: S, border: D, xf: k } = Dt(h, v?.styleIndex ?? 0), A = qe(v, a, u, b, h.dxfs ?? []);
1724
- if (yt(e, A.fill ?? S, f, p, m, g), A.dataBar && A.dataBar.ratio > 0) {
1725
- let t = Math.max(0, (m - 4) * A.dataBar.ratio);
1726
- mt(e, A.dataBar.color, f + 2, p + 2, t, g - 4, A.dataBar.gradient);
1727
- }
1728
- if (un(e, ln(cn(D, a, u, d.right, d.bottom, t.cellMap, h), A.border), f, p, m, g), !v) continue;
1729
- let j = ge(v, h, A.numFmt);
1730
- if (!j || j === "0" && t.worksheet.showZeros === !1) continue;
1731
- let M = y.bold || !!A.fontBold, N = y.italic || !!A.fontItalic, P = y.underline || !!A.fontUnderline, F = y.strike || !!A.fontStrike;
1732
- e.font = wt(M !== y.bold || N !== y.italic || P !== y.underline || F !== y.strike ? {
1733
- ...y,
1734
- bold: M,
1735
- italic: N,
1736
- underline: P,
1737
- strike: F
1738
- } : y, x);
1739
- let I = t.hyperlinkMap.get(_) ? "#0563C1" : A.fontColor ?? y.color;
1740
- e.fillStyle = I ? Q(I) : "#000000";
1741
- let L = v.value.type === "number", R = k.alignH ?? (L ? "right" : "left"), z = k.alignV ?? "bottom", B = k.indent ? Math.round(k.indent * 3 * t.mdw) : 0, V = 3 + (R === "left" || !k.alignH ? B : 0);
1742
- e.save(), e.beginPath(), e.rect(f, p, m, g), e.clip();
1743
- let H;
1744
- R === "right" ? (H = f + m - 3, e.textAlign = "right") : R === "center" ? (H = f + m / 2, e.textAlign = "center") : (H = f + V, e.textAlign = "left");
1745
- let ee;
1746
- z === "top" ? (e.textBaseline = "top", ee = p + 2) : z === "center" ? (e.textBaseline = "middle", ee = p + g / 2) : (e.textBaseline = "bottom", ee = p + g - 2), e.fillText(j, H, ee), e.restore();
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 = qe(F, s, a, b, h.dxfs ?? []), V = B.fill ?? L, H = t.tableStyleMap.get(m), ee = h.dxfs ?? [], te = (e) => e == null ? void 0 : ee[e], ne = te(H?.wholeTableDxf), re = te(H?.headerRowDxf), ie = te(H?.totalRowDxf), ae = te(H?.firstColumnDxf), oe = te(H?.lastColumnDxf), se = te(H?.stripeDxf), ce = H?.isHeader && re?.fill?.fgColor ? re : H?.isTotals && ie?.fill?.fgColor ? ie : H?.isLastCol && oe?.fill?.fgColor ? oe : H?.isFirstCol && ae?.fill?.fgColor ? ae : se?.fill?.fgColor ? se : !H?.isHeader && !H?.isTotals && ne?.fill?.fgColor ? ne : void 0, le = !1;
1775
- if (yt(e, V, P, w, M, N) ? le = !0 : H && ce?.fill?.fgColor ? (e.fillStyle = Q(ce.fill.fgColor), e.fillRect(P, w, M, N), le = !0) : H && !H.isCustom && H.isBanded && (e.fillStyle = Vt(H.accent), e.fillRect(P, w, M, N), le = !0), t.commentCells.has(m) && St(e, P, w, M, N), B.dataBar && B.dataBar.ratio > 0) {
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 ue = t.sparklineMap.get(m);
1780
- if (ue && _(e, {
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
- }, ue), t.worksheet.showGridlines !== !1) {
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 U = ln(O ? cn(R, s, a, O.right, O.bottom, g, h) : R, B.border);
1790
- (k.has(n) || j.has(n)) && (U = {
1791
- ...U,
1792
- left: j.has(n) ? null : U.left,
1793
- right: k.has(n) ? null : U.right
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 de = g.get(`${s - 1}:${a}`), W = le && de ? Dt(h, de.styleIndex).border.bottom : null, G = !1;
1796
- if (W?.style) {
1797
- let e = U.top, t = mn(e, W);
1798
- U = {
1799
- ...U,
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
- }, G = t === W && e !== W;
1822
+ }, K = t === G && e !== G;
1802
1823
  }
1803
- let K = !1;
1804
- if (le && !j.has(n)) {
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 = U.left, n = mn(e, t);
1808
- U = {
1809
- ...U,
1828
+ let e = W.left, n = mn(e, t);
1829
+ W = {
1830
+ ...W,
1810
1831
  left: n
1811
- }, K = n === t && e !== t;
1832
+ }, q = n === t && e !== t;
1812
1833
  }
1813
1834
  }
1814
- if (un(e, U, P, w, M, N, G, K), H) {
1815
- let t = zt(H, ne, re, a);
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 q = ge(F, h, B.numFmt);
1824
- !q || q === "0" && t.worksheet.showZeros === !1 || A.push(() => {
1825
- let o = H?.isHeader ? re : H?.isTotals ? ie : H?.isLastCol && oe ? oe : H?.isFirstCol && ae ? ae : se || (H ? ne : 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 ? {
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, te = n;
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], te = e;
1862
+ V += i[e], U = e;
1842
1863
  }
1843
- let ce = D === "centerContinuous" ? ee : P, le = D === "centerContinuous" ? V : M, ue = q.includes("\n");
1844
- if (!O && !z.wrapText && !z.textRotation && !E && !ue) {
1845
- let t = e.measureText(q).width, a = D === "centerContinuous", o = a ? t + 6 : t + R + 3, c = a ? V : M;
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 ? te + 1 : n + 1;
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
- le += i[t], e -= i[t];
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
- ce -= i[t], le += i[t], e -= i[t];
1886
+ se -= i[t], ce += i[t], e -= i[t];
1866
1887
  }
1867
1888
  }
1868
1889
  }
1869
1890
  }
1870
- let U = q, de = 0;
1871
- if (D === "fill" && !E && q.length > 0) {
1872
- let t = Math.max(1, M - 6), n = e.measureText(q).width;
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
- U = q.repeat(e);
1896
+ W = J.repeat(e);
1876
1897
  }
1877
1898
  }
1878
- if (D === "distributed" || D === "justify" && !z.wrapText && !ue) {
1879
- let t = Math.max(1, M - 6), n = e.measureText(U).width, r = Math.max(1, [...U].length - 1);
1880
- n < t && (de = Math.max(0, (t - n) / r));
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 W, G;
1883
- D === "right" ? (W = P + M - 3, G = "right") : D === "center" ? (W = P + M / 2, G = "center") : D === "centerContinuous" ? (W = ee + V / 2, G = "center") : D === "distributed" || D === "justify" && !z.wrapText && !ue ? (W = P + 3, G = "left") : (W = P + R, G = "left");
1884
- let K = z.textRotation ?? 0, fe = K === 255, pe = K > 0 && K !== 255;
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(ce, w, le, N), e.clip(), fe) {
1886
- let t = Math.round(I.size * p * 1.1), n = q.length * t, r = k === "top" ? w + 2 : k === "center" ? w + (N - n) / 2 : w + N - n - 2;
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 q) e.fillText(n, P + M / 2, r), r += t;
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 (pe) {
1893
- let t = K <= 90 ? -(K * Math.PI / 180) : (K - 90) * Math.PI / 180;
1894
- e.translate(P + M / 2, w + N / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(q, 0, 0), e.restore();
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(q).width, n = M - R - 3;
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 = G, de > 0) try {
1905
- e.letterSpacing = `${de}px`;
1925
+ if (e.textAlign = K, ue > 0) try {
1926
+ e.letterSpacing = `${ue}px`;
1906
1927
  } catch {}
1907
1928
  try {
1908
- e.direction = Je(z.readingOrder, q) ? "rtl" : "ltr";
1929
+ e.direction = qe(z.readingOrder, J) ? "rtl" : "ltr";
1909
1930
  } catch {}
1910
- let J = F.value.type === "text" ? F.value.runs : void 0, me = J && J.length > 0;
1911
- if (z.wrapText && me) {
1912
- let t = jt(e, J, _, x, M - R - 3), n = t.reduce((e, t) => e + Math.round(t.maxFontSize * p * 1.2), 0), r;
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 || Ze(J), a = i && Je(z.readingOrder, J.map((e) => e.text).join("")), o = e;
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 ? $e(n.segments, a) : null;
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, q, M - R - 3), n = Math.round(I.size * p * 1.2), r = t.length * n, i;
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], W, i + r * n);
1948
- } else if (me) {
1949
- let t = J.map((e) => Et(_, e)), n = J.map((e) => e.font?.vertAlign), r = t.map((e, t) => n[t] === "superscript" || n[t] === "subscript" ? {
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 = J.map((t, n) => (e.font = wt(r[n], x), e.measureText(t.text).width)), a = i.reduce((e, t) => e + t, 0), o;
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 || Ze(J) ? $e(J, Je(z.readingOrder, J.map((e) => e.text).join(""))) : null, l = e, u = o;
1957
- for (let a = 0; a < J.length; 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(J[o].text, u, s + g);
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(q), s = () => {
1991
- let e = Math.min(o().width, le - R - 3);
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 (q.includes("\n")) {
2006
- let t = q.split("\n"), n = Math.round(I.size * p * 1.2), i = t.length * n, a;
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], W, a + i * n + r);
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(U, W, t + r);
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(), q && t.onTextRun && t.onTextRun({
2015
- text: q,
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: Be(e),
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 = Y(t), c = e.canvas.width / a, l = e.canvas.height / a;
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 = ut, 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) {
2115
- e.save(), e.strokeStyle = ut, e.lineWidth = .5, e.beginPath();
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 ${rt}`, N = h + p, P = g + m, F = .5 / v, I = (e, n) => x ? lt(e, n, t) : e, L = x ? t - h : 0;
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 = Y(e), i = 0;
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 : st) * p * i, n = ot(e.fontFace);
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 || st)) * p * i, l = e.widthEm * n, _ = e.ascentEm * n, v = e.descentEm * n, y = g.color ?? "#000000";
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 : st;
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 = et(a ?? "");
2863
+ let [a, o] = r.split(":"), s = $e(a ?? "");
2843
2864
  if (s) {
2844
- let e = o ? et(o) : s;
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-C6mRacrU.js")).createRenderWorker() : new w(), r);
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 ? ge(n, a) : null;
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 = et(e);
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 = et(i);
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 ? lt(e, t, this.canvasArea.clientWidth) : e;
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, Y(n));
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, Y(n)), e < t) {
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 = Y(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;
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 = et(e);
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, Y(n));
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, Y(n)), m < h) return {
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, Y(t)));
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 = et(t.cellRef);
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 = Y(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);
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, Y(e));
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, Y(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;
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, Y(e)), v++, n++;
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;