@silurus/ooxml 0.65.0 → 0.66.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docx-BfmPyKWJ.js +2999 -0
- package/dist/docx.mjs +2 -2
- package/dist/index.mjs +3 -3
- package/dist/{pptx-9D6TfXnD.js → pptx-GygKVlSS.js} +2 -2
- package/dist/pptx.mjs +2 -2
- package/dist/render-worker-host-4IbvpiUo.js +27 -0
- package/dist/render-worker-host-BdfGz_ou.js +27 -0
- package/dist/render-worker-host-DQ6bkQ0n.js +27 -0
- package/dist/{src-BsVzeDyL.js → src-LzMutzSd.js} +1381 -698
- package/dist/types/docx.d.ts +23 -0
- package/dist/types/index.d.ts +23 -0
- package/dist/{xlsx-ClPv4Yee.js → xlsx-CO8NBW79.js} +3 -3
- package/dist/xlsx.mjs +2 -2
- package/package.json +1 -1
- package/dist/docx-B8_OFVgL.js +0 -2901
- package/dist/render-worker-host-BnJxDb1v.js +0 -27
- package/dist/render-worker-host-CVCsSH1k.js +0 -27
- package/dist/render-worker-host-DpvAEegl.js +0 -27
|
@@ -297,21 +297,21 @@ function F(e, t, n) {
|
|
|
297
297
|
width: P(t, n)
|
|
298
298
|
};
|
|
299
299
|
}
|
|
300
|
-
function
|
|
300
|
+
function ee(e) {
|
|
301
301
|
return e.catAxisCrossBetween !== "midCat";
|
|
302
302
|
}
|
|
303
303
|
//#endregion
|
|
304
304
|
//#region packages/core/src/chart/chart-number-format.ts
|
|
305
|
-
function
|
|
305
|
+
function I(e) {
|
|
306
306
|
return Number.isInteger(e) ? String(e) : e.toFixed(6).replace(/\.?0+$/, "");
|
|
307
307
|
}
|
|
308
|
-
function
|
|
309
|
-
if (!t || t.trim().toLowerCase() === "general") return
|
|
310
|
-
if (
|
|
311
|
-
let n =
|
|
312
|
-
return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") +
|
|
308
|
+
function L(e, t) {
|
|
309
|
+
if (!t || t.trim().toLowerCase() === "general") return I(e);
|
|
310
|
+
if (R(t)) return z(e, t);
|
|
311
|
+
let n = B(t), r;
|
|
312
|
+
return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") + V(Math.abs(e), r);
|
|
313
313
|
}
|
|
314
|
-
function
|
|
314
|
+
function R(e) {
|
|
315
315
|
let t = !1;
|
|
316
316
|
for (let n = 0; n < e.length; n++) {
|
|
317
317
|
let r = e[n];
|
|
@@ -333,7 +333,7 @@ function z(e) {
|
|
|
333
333
|
}
|
|
334
334
|
return !1;
|
|
335
335
|
}
|
|
336
|
-
function
|
|
336
|
+
function z(e, t) {
|
|
337
337
|
let n = Date.UTC(1899, 11, 30), r = e < 60 ? e + 1 : e, i = n + Math.floor(r) * 864e5, a = new Date(i), o = a.getUTCFullYear(), s = a.getUTCMonth() + 1, c = a.getUTCDate(), l = (e - Math.floor(e)) * 86400, u = Math.floor(l / 3600), d = Math.floor(l % 3600 / 60), f = Math.floor(l % 60), p = "", m = !1, h = 0;
|
|
338
338
|
for (; h < t.length;) {
|
|
339
339
|
let e = t[h];
|
|
@@ -388,7 +388,7 @@ function B(e, t) {
|
|
|
388
388
|
}
|
|
389
389
|
return p;
|
|
390
390
|
}
|
|
391
|
-
function
|
|
391
|
+
function B(e) {
|
|
392
392
|
let t = [], n = "";
|
|
393
393
|
for (let r = 0; r < e.length; r++) {
|
|
394
394
|
let i = e[r];
|
|
@@ -414,7 +414,7 @@ function V(e) {
|
|
|
414
414
|
}
|
|
415
415
|
return t.push(n), t;
|
|
416
416
|
}
|
|
417
|
-
function
|
|
417
|
+
function V(e, t) {
|
|
418
418
|
let n = [], r = 0, i = !1, a = !1;
|
|
419
419
|
for (; r < t.length;) {
|
|
420
420
|
let e = t[r];
|
|
@@ -475,16 +475,16 @@ function H(e, t) {
|
|
|
475
475
|
if (!i) return n.map((e) => e.text).join("");
|
|
476
476
|
let o = a ? e * 100 : e, s = "";
|
|
477
477
|
for (let e of n) e.kind === "num" && (s += e.text);
|
|
478
|
-
let c =
|
|
478
|
+
let c = H(o, s), l = !1;
|
|
479
479
|
return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
|
|
480
480
|
}
|
|
481
|
-
function
|
|
481
|
+
function H(e, t) {
|
|
482
482
|
let n = t.indexOf("."), r = n >= 0 ? t.slice(0, n) : t, i = n >= 0 ? t.slice(n + 1) : "", a = /,/.test(r), o = (i.match(/[#0?]/g) ?? []).length, s = (r.replace(/,/g, "").match(/0/g) ?? []).length, [c, l = ""] = e.toFixed(o).split("."), u = c.padStart(s, "0"), d = a ? u.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : u;
|
|
483
483
|
return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
|
|
484
484
|
}
|
|
485
485
|
//#endregion
|
|
486
486
|
//#region packages/core/src/shape/pattern-bitmaps.ts
|
|
487
|
-
var
|
|
487
|
+
var te = {
|
|
488
488
|
pct5: [
|
|
489
489
|
0,
|
|
490
490
|
16,
|
|
@@ -866,21 +866,21 @@ var ee = {
|
|
|
866
866
|
90
|
|
867
867
|
]
|
|
868
868
|
};
|
|
869
|
-
function
|
|
870
|
-
let r =
|
|
869
|
+
function ne(e, t, n) {
|
|
870
|
+
let r = te[e];
|
|
871
871
|
if (!r) return null;
|
|
872
|
-
let i =
|
|
872
|
+
let i = re(8, 8);
|
|
873
873
|
if (!i) return null;
|
|
874
874
|
let a = i.getContext("2d");
|
|
875
875
|
if (!a) return null;
|
|
876
|
-
a.fillStyle =
|
|
876
|
+
a.fillStyle = ie(n), a.fillRect(0, 0, 8, 8), a.fillStyle = ie(t);
|
|
877
877
|
for (let e = 0; e < 8; e++) {
|
|
878
878
|
let t = r[e];
|
|
879
879
|
for (let n = 0; n < 8; n++) t & 1 << 7 - n && a.fillRect(n, e, 1, 1);
|
|
880
880
|
}
|
|
881
881
|
return i;
|
|
882
882
|
}
|
|
883
|
-
function
|
|
883
|
+
function re(e, t) {
|
|
884
884
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, t);
|
|
885
885
|
if (typeof document < "u") {
|
|
886
886
|
let n = document.createElement("canvas");
|
|
@@ -888,30 +888,30 @@ function ne(e, t) {
|
|
|
888
888
|
}
|
|
889
889
|
return null;
|
|
890
890
|
}
|
|
891
|
-
function
|
|
891
|
+
function ie(e) {
|
|
892
892
|
return `rgba(${parseInt(e.slice(0, 2), 16)},${parseInt(e.slice(2, 4), 16)},${parseInt(e.slice(4, 6), 16)},${e.length >= 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1})`;
|
|
893
893
|
}
|
|
894
894
|
//#endregion
|
|
895
895
|
//#region packages/core/src/shape/paint.ts
|
|
896
|
-
function
|
|
896
|
+
function U(e, t = 1) {
|
|
897
897
|
let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
|
|
898
898
|
return `rgba(${parseInt(n.slice(0, 2), 16)},${parseInt(n.slice(2, 4), 16)},${parseInt(n.slice(4, 6), 16)},${n.length >= 8 ? parseInt(n.slice(6, 8), 16) / 255 : t})`;
|
|
899
899
|
}
|
|
900
|
-
function
|
|
900
|
+
function ae(e) {
|
|
901
901
|
let t = e.charCodeAt(0) === 35 ? e.slice(1) : e, n = parseInt(t.slice(0, 2), 16), r = parseInt(t.slice(2, 4), 16), i = parseInt(t.slice(4, 6), 16);
|
|
902
902
|
return .299 * n + .587 * r + .114 * i;
|
|
903
903
|
}
|
|
904
|
-
function
|
|
905
|
-
return e &&
|
|
904
|
+
function oe(e) {
|
|
905
|
+
return e && ae(e) < 128 ? "#FFFFFF" : "#000000";
|
|
906
906
|
}
|
|
907
|
-
function
|
|
907
|
+
function se(e, t, n, r, i, a) {
|
|
908
908
|
if (!e || e.fillType === "none") return null;
|
|
909
|
-
if (e.fillType === "solid") return
|
|
910
|
-
if (e.fillType === "pattern") return
|
|
909
|
+
if (e.fillType === "solid") return U(e.color);
|
|
910
|
+
if (e.fillType === "pattern") return W(e, t);
|
|
911
911
|
if (e.fillType === "gradient") {
|
|
912
912
|
let o = e.stops;
|
|
913
913
|
if (o.length === 0) return null;
|
|
914
|
-
if (o.length === 1) return
|
|
914
|
+
if (o.length === 1) return U(o[0].color);
|
|
915
915
|
let s;
|
|
916
916
|
if (e.gradType === "radial") {
|
|
917
917
|
let e = n + i / 2, o = r + a / 2, c = Math.sqrt(i * i + a * a) / 2;
|
|
@@ -920,23 +920,23 @@ function oe(e, t, n, r, i, a) {
|
|
|
920
920
|
let o = e.angle * Math.PI / 180, c = n + i / 2, l = r + a / 2, u = (Math.abs(Math.cos(o)) * i + Math.abs(Math.sin(o)) * a) / 2;
|
|
921
921
|
s = t.createLinearGradient(c - Math.cos(o) * u, l - Math.sin(o) * u, c + Math.cos(o) * u, l + Math.sin(o) * u);
|
|
922
922
|
}
|
|
923
|
-
for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)),
|
|
923
|
+
for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), U(e.color));
|
|
924
924
|
return s;
|
|
925
925
|
}
|
|
926
926
|
return null;
|
|
927
927
|
}
|
|
928
|
-
var
|
|
929
|
-
function
|
|
930
|
-
let n = `${e.preset}|${e.fg}|${e.bg}`, r =
|
|
931
|
-
r || (r = /* @__PURE__ */ new Map(),
|
|
928
|
+
var ce = /* @__PURE__ */ new WeakMap();
|
|
929
|
+
function W(e, t) {
|
|
930
|
+
let n = `${e.preset}|${e.fg}|${e.bg}`, r = ce.get(t);
|
|
931
|
+
r || (r = /* @__PURE__ */ new Map(), ce.set(t, r));
|
|
932
932
|
let i = r.get(n);
|
|
933
933
|
if (i) return i;
|
|
934
|
-
let a =
|
|
935
|
-
if (!a) return
|
|
934
|
+
let a = ne(e.preset, e.fg, e.bg);
|
|
935
|
+
if (!a) return U(e.fg);
|
|
936
936
|
let o = t.createPattern(a, "repeat");
|
|
937
|
-
return o ? (r.set(n, o), o) :
|
|
937
|
+
return o ? (r.set(n, o), o) : U(e.fg);
|
|
938
938
|
}
|
|
939
|
-
var
|
|
939
|
+
var G = {
|
|
940
940
|
dash: [6, 3],
|
|
941
941
|
dot: [1.5, 3],
|
|
942
942
|
dashDot: [
|
|
@@ -969,20 +969,20 @@ var K = {
|
|
|
969
969
|
2
|
|
970
970
|
]
|
|
971
971
|
};
|
|
972
|
-
function
|
|
972
|
+
function K(e, t, n) {
|
|
973
973
|
if (!t) {
|
|
974
974
|
e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]);
|
|
975
975
|
return;
|
|
976
976
|
}
|
|
977
|
-
e.strokeStyle =
|
|
977
|
+
e.strokeStyle = U(t.color);
|
|
978
978
|
let r = Math.max(.5, t.width * n);
|
|
979
979
|
e.lineWidth = r;
|
|
980
|
-
let i = t.dashStyle ?
|
|
980
|
+
let i = t.dashStyle ? G[t.dashStyle] : null;
|
|
981
981
|
e.setLineDash(i ? i.map((e) => e * r) : []);
|
|
982
982
|
}
|
|
983
983
|
//#endregion
|
|
984
984
|
//#region packages/core/src/chart/renderer.ts
|
|
985
|
-
var
|
|
985
|
+
var q = [
|
|
986
986
|
"4472C4",
|
|
987
987
|
"ED7D31",
|
|
988
988
|
"A9D18E",
|
|
@@ -996,58 +996,58 @@ var J = [
|
|
|
996
996
|
"255E91",
|
|
997
997
|
"967300"
|
|
998
998
|
];
|
|
999
|
-
function ce(e, t) {
|
|
1000
|
-
return t?.color ? `#${t.color}` : `#${J[e % J.length]}`;
|
|
1001
|
-
}
|
|
1002
999
|
function le(e, t) {
|
|
1000
|
+
return t?.color ? `#${t.color}` : `#${q[e % q.length]}`;
|
|
1001
|
+
}
|
|
1002
|
+
function ue(e, t) {
|
|
1003
1003
|
let n = t.dataPointColors?.[e];
|
|
1004
|
-
return n ? `#${n}` : `#${
|
|
1004
|
+
return n ? `#${n}` : `#${q[e % q.length]}`;
|
|
1005
1005
|
}
|
|
1006
|
-
function
|
|
1006
|
+
function de(e) {
|
|
1007
1007
|
return e === "pie" || e === "doughnut";
|
|
1008
1008
|
}
|
|
1009
|
-
function
|
|
1010
|
-
if (
|
|
1009
|
+
function fe(e, t, n) {
|
|
1010
|
+
if (de(e)) {
|
|
1011
1011
|
let e = t[0];
|
|
1012
|
-
return e ?
|
|
1012
|
+
return e ? ue(n, e) : `#${q[n % q.length]}`;
|
|
1013
1013
|
}
|
|
1014
|
-
return
|
|
1014
|
+
return le(n, t[n]);
|
|
1015
1015
|
}
|
|
1016
|
-
function
|
|
1016
|
+
function pe(e, t, n) {
|
|
1017
1017
|
return e ? e / 100 * n : Math.max(8, Math.min(10, t * .045));
|
|
1018
1018
|
}
|
|
1019
|
-
function
|
|
1019
|
+
function me(e, t, n, r, i, a, o, s) {
|
|
1020
1020
|
e.save(), e.font = `${o ? "bold " : ""}${a}px sans-serif`, e.fillStyle = s, i === "cat" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 60), n, r)) : (e.translate(n, r), e.rotate(-Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 60), 0, 0)), e.restore();
|
|
1021
1021
|
}
|
|
1022
|
-
function
|
|
1022
|
+
function he(e) {
|
|
1023
1023
|
return e ? `#${e}` : "#555";
|
|
1024
1024
|
}
|
|
1025
|
-
function
|
|
1025
|
+
function ge(e) {
|
|
1026
1026
|
return Math.max(8, e * .02);
|
|
1027
1027
|
}
|
|
1028
|
-
function
|
|
1029
|
-
let i =
|
|
1028
|
+
function _e(e, t, n, r) {
|
|
1029
|
+
let i = pe(e.catAxisTitleFontSizeHpt, n, r), a = pe(e.valAxisTitleFontSizeHpt, n, r);
|
|
1030
1030
|
return {
|
|
1031
1031
|
catTitlePx: i,
|
|
1032
1032
|
valTitlePx: a,
|
|
1033
|
-
catTitleH: e.catAxisTitle ? i +
|
|
1034
|
-
valTitleW: e.valAxisTitle ? a +
|
|
1033
|
+
catTitleH: e.catAxisTitle ? i + ge(n) + 4 : 0,
|
|
1034
|
+
valTitleW: e.valAxisTitle ? a + ge(t) + 4 : 0
|
|
1035
1035
|
};
|
|
1036
1036
|
}
|
|
1037
|
-
function
|
|
1037
|
+
function ve(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
|
|
1038
1038
|
if (t.valAxisTitle) {
|
|
1039
|
-
let r = n + u +
|
|
1040
|
-
|
|
1039
|
+
let r = n + u + ge(i) + p / 2, a = s + l / 2;
|
|
1040
|
+
me(e, t.valAxisTitle, r, a, "val", p, t.valAxisTitleFontBold ?? !0, he(t.valAxisTitleFontColor));
|
|
1041
1041
|
}
|
|
1042
1042
|
if (t.catAxisTitle) {
|
|
1043
|
-
let n = o + c / 2, i = r + a - d -
|
|
1044
|
-
|
|
1043
|
+
let n = o + c / 2, i = r + a - d - ge(a) - f / 2;
|
|
1044
|
+
me(e, t.catAxisTitle, n, i, "cat", f, t.catAxisTitleFontBold ?? !0, he(t.catAxisTitleFontColor));
|
|
1045
1045
|
}
|
|
1046
1046
|
}
|
|
1047
|
-
function
|
|
1047
|
+
function ye(e) {
|
|
1048
1048
|
return e && (e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "radar" || e === "scatter") ? "line" : "fill";
|
|
1049
1049
|
}
|
|
1050
|
-
function
|
|
1050
|
+
function be(e, t, n, r, i, a, o) {
|
|
1051
1051
|
if (e.fillStyle = n, t === "line") {
|
|
1052
1052
|
e.strokeStyle = n;
|
|
1053
1053
|
let t = e.lineWidth;
|
|
@@ -1056,34 +1056,34 @@ function ye(e, t, n, r, i, a, o) {
|
|
|
1056
1056
|
e.moveTo(r, s), e.lineTo(r + a, s), e.stroke(), e.lineWidth = t;
|
|
1057
1057
|
} else e.fillRect(r, i, a, o);
|
|
1058
1058
|
}
|
|
1059
|
-
function
|
|
1060
|
-
if (
|
|
1059
|
+
function xe(e, t) {
|
|
1060
|
+
if (de(t)) {
|
|
1061
1061
|
let n = e[0], r = n ? n.values.length : 0, i = n?.categories ?? [];
|
|
1062
1062
|
return Array.from({ length: r }, (n, r) => ({
|
|
1063
1063
|
label: (i[r] ?? `Item ${r + 1}`).toString(),
|
|
1064
|
-
color:
|
|
1064
|
+
color: fe(t, e, r)
|
|
1065
1065
|
}));
|
|
1066
1066
|
}
|
|
1067
1067
|
return e.map((n, r) => ({
|
|
1068
1068
|
label: n.name || `Series ${r + 1}`,
|
|
1069
|
-
color:
|
|
1069
|
+
color: fe(t, e, r)
|
|
1070
1070
|
}));
|
|
1071
1071
|
}
|
|
1072
|
-
function
|
|
1073
|
-
let c =
|
|
1072
|
+
function Se(e, t, n, r, i, a, o = "vertical", s) {
|
|
1073
|
+
let c = ye(s), l = xe(t, s);
|
|
1074
1074
|
if (o === "horizontal") {
|
|
1075
1075
|
let t = Math.max(9, Math.min(12, a * .7));
|
|
1076
1076
|
e.font = `${t}px sans-serif`, e.textBaseline = "middle";
|
|
1077
1077
|
let o = l.map((t) => 14 + e.measureText(t.label.slice(0, 30)).width), s = n + (i - (o.reduce((e, t) => e + t, 0) + 12 * Math.max(0, l.length - 1))) / 2, u = r + a / 2;
|
|
1078
|
-
for (let n = 0; n < l.length; n++)
|
|
1078
|
+
for (let n = 0; n < l.length; n++) be(e, c, l[n].color, s, u - t / 2, 10, t), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[n].label.slice(0, 30), s + 10 + 4, u), s += o[n] + 12;
|
|
1079
1079
|
return;
|
|
1080
1080
|
}
|
|
1081
1081
|
let u = Math.max(9, Math.min(12, a / (l.length + 1)));
|
|
1082
1082
|
e.font = `${u}px sans-serif`, e.textBaseline = "middle";
|
|
1083
1083
|
let d = u + 4, f = r + (a - d * l.length) / 2;
|
|
1084
|
-
for (let t = 0; t < l.length; t++)
|
|
1084
|
+
for (let t = 0; t < l.length; t++) be(e, c, l[t].color, n, f, 10, u), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[t].label.slice(0, 20), n + 10 + 4, f + u / 2), f += d;
|
|
1085
1085
|
}
|
|
1086
|
-
function
|
|
1086
|
+
function Ce(e, t, n) {
|
|
1087
1087
|
if (!e.showLegend) return null;
|
|
1088
1088
|
let r = e.legendPos ?? "r", i = r === "l" ? "l" : r === "t" ? "t" : r === "b" ? "b" : "r";
|
|
1089
1089
|
return i === "r" || i === "l" ? {
|
|
@@ -1096,30 +1096,30 @@ function Se(e, t, n) {
|
|
|
1096
1096
|
reserveH: Math.max(18, n * .08)
|
|
1097
1097
|
};
|
|
1098
1098
|
}
|
|
1099
|
-
function
|
|
1099
|
+
function we(e, t, n, r, i, a, o, s, c, l, u, d) {
|
|
1100
1100
|
if (!n) return;
|
|
1101
1101
|
let f = t.legendManualLayout;
|
|
1102
1102
|
if (f && f.xMode === "edge" && f.yMode === "edge" && f.w > 0 && f.h > 0) {
|
|
1103
1103
|
let n = r + f.x * a, s = i + f.y * o, c = f.w * a, l = f.h * o, u = c >= l ? "horizontal" : "vertical";
|
|
1104
|
-
|
|
1104
|
+
Se(e, t.series, n, s, c, l, u, t.chartType);
|
|
1105
1105
|
return;
|
|
1106
1106
|
}
|
|
1107
1107
|
switch (n.side) {
|
|
1108
1108
|
case "r":
|
|
1109
|
-
|
|
1109
|
+
Se(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
1110
1110
|
break;
|
|
1111
1111
|
case "l":
|
|
1112
|
-
|
|
1112
|
+
Se(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
1113
1113
|
break;
|
|
1114
1114
|
case "t":
|
|
1115
|
-
|
|
1115
|
+
Se(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
|
|
1116
1116
|
break;
|
|
1117
1117
|
case "b":
|
|
1118
|
-
|
|
1118
|
+
Se(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
|
|
1119
1119
|
break;
|
|
1120
1120
|
}
|
|
1121
1121
|
}
|
|
1122
|
-
function
|
|
1122
|
+
function J(e, t, n, r, i, a, o, s = !1) {
|
|
1123
1123
|
if (t === "none" || !t) return;
|
|
1124
1124
|
let c = o ? Math.max(4, o + 2) : 4, l = e.strokeStyle, u = e.lineWidth;
|
|
1125
1125
|
if (e.strokeStyle = a ?? "#888", e.lineWidth = o ?? 1, e.beginPath(), n === "val") {
|
|
@@ -1131,18 +1131,18 @@ function Y(e, t, n, r, i, a, o, s = !1) {
|
|
|
1131
1131
|
}
|
|
1132
1132
|
e.stroke(), e.strokeStyle = l, e.lineWidth = u;
|
|
1133
1133
|
}
|
|
1134
|
-
function
|
|
1134
|
+
function Te(e, t, n) {
|
|
1135
1135
|
return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
|
|
1136
1136
|
}
|
|
1137
|
-
function
|
|
1137
|
+
function Ee(e, t, n) {
|
|
1138
1138
|
return e ? e / 100 * n : Math.max(8, t * .045);
|
|
1139
1139
|
}
|
|
1140
|
-
function
|
|
1140
|
+
function De(e, t, n, r, i, a) {
|
|
1141
1141
|
if (!t.title) return;
|
|
1142
1142
|
let o = t.titleFontFace ? `"${t.titleFontFace}", Calibri, Arial, sans-serif` : "Calibri, Arial, sans-serif";
|
|
1143
1143
|
e.font = `${t.titleFontBold ?? !0 ? "bold " : ""}${a}px ${o}`, e.fillStyle = t.titleFontColor ? `#${t.titleFontColor}` : "#333", e.textAlign = "center", e.textBaseline = "top", e.fillText(t.title, n + i / 2, r);
|
|
1144
1144
|
}
|
|
1145
|
-
function
|
|
1145
|
+
function Oe(e) {
|
|
1146
1146
|
if (e.categories.length > 0) return e.categories;
|
|
1147
1147
|
let t = e.series[0];
|
|
1148
1148
|
if (t?.categories && t.categories.length > 0) return t.categories;
|
|
@@ -1150,7 +1150,7 @@ function De(e) {
|
|
|
1150
1150
|
for (let t of e.series) t.values.length > n && (n = t.values.length);
|
|
1151
1151
|
return n > 0 ? Array.from({ length: n }, (e, t) => String(t + 1)) : [];
|
|
1152
1152
|
}
|
|
1153
|
-
function
|
|
1153
|
+
function ke(e, t, n, r, i, a, o, s, c) {
|
|
1154
1154
|
let l = s ?? "outEnd";
|
|
1155
1155
|
if (e.fillStyle = c ? `#${c}` : "#333", o === "vertical") {
|
|
1156
1156
|
let o = n + a / 2;
|
|
@@ -1160,82 +1160,82 @@ function Oe(e, t, n, r, i, a, o, s, c) {
|
|
|
1160
1160
|
l === "inBase" ? (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + 4, o)) : l === "inEnd" ? (e.textAlign = "right", e.textBaseline = "middle", e.fillText(t, n + i - 4, o)) : l === "ctr" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t, n + i / 2, o)) : (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + i + 2, o));
|
|
1161
1161
|
}
|
|
1162
1162
|
}
|
|
1163
|
-
function
|
|
1164
|
-
let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p = !c && t.secondaryValAxis && f.some((e) => e.useSecondaryAxis === !0) ? t.secondaryValAxis : null, m =
|
|
1163
|
+
function Ae(e, t, n, r) {
|
|
1164
|
+
let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p = !c && t.secondaryValAxis && f.some((e) => e.useSecondaryAxis === !0) ? t.secondaryValAxis : null, m = Oe(t), h = m.length;
|
|
1165
1165
|
if (h === 0) return;
|
|
1166
|
-
let g = t.title ?
|
|
1166
|
+
let g = t.title ? Te(t, s, r) : 0, _ = t.title ? s * .02 : 0, v = t.title ? s * .025 : 0, y = t.title ? g + _ + v : 0, b = Ce(t, o, s), x = b?.side === "r" ? b.reserveW : 0, S = b?.side === "l" ? b.reserveW : 0, C = b?.side === "t" ? b.reserveH : 0, w = b?.side === "b" ? b.reserveH : 0, { catTitlePx: T, valTitlePx: E, catTitleH: D, valTitleW: O } = _e(t, o, s, r), k = y + C + s * .02, j = c ? (t.valAxisHidden ? s * .02 : s * .08) + D + w : s * .14 + D + w, M = s - k - j, N = c ? o - ((t.catAxisHidden ? o * .03 : o * .22) + O + S) - (x + o * .03) : 0, P = (c ? N : M) / r, I = 0;
|
|
1167
1167
|
for (let e = 0; e < h; e++) {
|
|
1168
1168
|
let t = 0;
|
|
1169
1169
|
for (let n of d) {
|
|
1170
1170
|
let r = n.values[e] ?? 0;
|
|
1171
|
-
l ? t += Math.abs(r) :
|
|
1171
|
+
l ? t += Math.abs(r) : I = Math.max(I, Math.abs(r));
|
|
1172
1172
|
}
|
|
1173
|
-
l && (
|
|
1173
|
+
l && (I = Math.max(I, t));
|
|
1174
1174
|
}
|
|
1175
|
-
u && (
|
|
1176
|
-
let { max:
|
|
1175
|
+
u && (I = 100), t.valMax != null && (I = t.valMax), I === 0 && (I = 1);
|
|
1176
|
+
let { max: R, step: z } = A(0, I, void 0, t.valMax, P), B = 0, V = 1, H = 1;
|
|
1177
1177
|
if (p) {
|
|
1178
1178
|
let e = [];
|
|
1179
1179
|
for (let t of f) if (t.useSecondaryAxis === !0) for (let n of t.values) n != null && e.push(n);
|
|
1180
1180
|
let t = e.length ? Math.min(...e) : 0, n = e.length ? Math.max(...e) : 1, i = A(Math.min(0, t), n, p.min, p.max, M / r);
|
|
1181
|
-
|
|
1181
|
+
B = i.min, V = i.max, H = i.step;
|
|
1182
1182
|
}
|
|
1183
|
-
let
|
|
1183
|
+
let te = Math.max(8, Math.min(11, s / 20)), ne = Math.max(8, Math.min(11, M / 20)), re = e.font, ie = 0;
|
|
1184
1184
|
if (!c && !t.valAxisHidden) {
|
|
1185
|
-
e.font = `${
|
|
1186
|
-
let n = 0, r = Math.round(
|
|
1185
|
+
e.font = `${ne}px sans-serif`;
|
|
1186
|
+
let n = 0, r = Math.round(R / z);
|
|
1187
1187
|
for (let i = 0; i <= r; i++) {
|
|
1188
|
-
let r = u ? `${Math.round(i *
|
|
1188
|
+
let r = u ? `${Math.round(i * z)}%` : L(i * z, t.valAxisFormatCode);
|
|
1189
1189
|
n = Math.max(n, e.measureText(r).width);
|
|
1190
1190
|
}
|
|
1191
|
-
|
|
1191
|
+
ie = n + 16;
|
|
1192
1192
|
}
|
|
1193
|
-
let
|
|
1193
|
+
let U = p?.fontSizeHpt ? p.fontSizeHpt / 100 * r : te, ae = 0;
|
|
1194
1194
|
if (p && !p.hidden) {
|
|
1195
|
-
e.font = `${
|
|
1196
|
-
let t = 0, n = Math.round((
|
|
1197
|
-
for (let r = 0; r <= n; r++) t = Math.max(t, e.measureText(
|
|
1198
|
-
|
|
1195
|
+
e.font = `${U}px sans-serif`;
|
|
1196
|
+
let t = 0, n = Math.round((V - B) / H);
|
|
1197
|
+
for (let r = 0; r <= n; r++) t = Math.max(t, e.measureText(L(B + r * H, p.formatCode ?? null)).width);
|
|
1198
|
+
ae = t + 18;
|
|
1199
1199
|
}
|
|
1200
|
-
e.font =
|
|
1201
|
-
let
|
|
1200
|
+
e.font = re;
|
|
1201
|
+
let oe = p && p.title ? (p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05)) + 8 : 0, se = {
|
|
1202
1202
|
t: k,
|
|
1203
|
-
r: x + o * .03 +
|
|
1203
|
+
r: x + o * .03 + ae + oe,
|
|
1204
1204
|
b: j,
|
|
1205
|
-
l: c ? (t.catAxisHidden ? o * .03 : o * .22) + O + S : S + O +
|
|
1205
|
+
l: c ? (t.catAxisHidden ? o * .03 : o * .22) + O + S : S + O + ie
|
|
1206
1206
|
};
|
|
1207
|
-
|
|
1208
|
-
let
|
|
1209
|
-
if (
|
|
1210
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(G, K, q
|
|
1211
|
-
let
|
|
1212
|
-
e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11,
|
|
1213
|
-
let
|
|
1214
|
-
if (e.fillStyle =
|
|
1215
|
-
let r = n *
|
|
1207
|
+
De(e, t, i, a + _, o, g);
|
|
1208
|
+
let ce = t.plotAreaManualLayout, W, G, K, q;
|
|
1209
|
+
if (ce && ce.w != null && ce.h != null ? (W = i + ce.x * o, G = a + ce.y * s, K = ce.w * o, q = ce.h * s) : (W = i + se.l, G = a + se.t, K = o - se.l - se.r, q = s - se.t - se.b), K <= 0 || q <= 0) return;
|
|
1210
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(W, G, K, q));
|
|
1211
|
+
let ue = V - B || 1, de = (e) => G + q - e / R * q, fe = (e) => G + q - (e - B) / ue * q, pe = "#e0e0e0", me = Math.round(R / z);
|
|
1212
|
+
e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, q / 20))}px sans-serif`;
|
|
1213
|
+
let he = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555";
|
|
1214
|
+
if (e.fillStyle = he, !t.valAxisHidden) for (let n = 0; n <= me; n++) {
|
|
1215
|
+
let r = n * z, i = u ? `${Math.round(r)}%` : L(r, t.valAxisFormatCode);
|
|
1216
1216
|
if (c) {
|
|
1217
|
-
let t =
|
|
1218
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1217
|
+
let t = W + r / R * K;
|
|
1218
|
+
e.strokeStyle = n === 0 ? "#aaa" : pe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, G), e.lineTo(t, G + q), e.stroke(), e.textAlign = "center", e.fillText(i, t, G + q + 10);
|
|
1219
1219
|
} else {
|
|
1220
|
-
let t =
|
|
1221
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1220
|
+
let t = G + q - r / R * q;
|
|
1221
|
+
e.strokeStyle = n === 0 ? "#aaa" : pe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(W, t), e.lineTo(W + K, t), e.stroke(), e.textAlign = "right", e.fillText(i, W - 12, t);
|
|
1222
1222
|
}
|
|
1223
1223
|
}
|
|
1224
|
-
let { color:
|
|
1224
|
+
let { color: ge, width: ye } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: be, width: xe } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), Se = (t, n, r, i, a, o) => {
|
|
1225
1225
|
e.strokeStyle = a, e.lineWidth = o, e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
|
|
1226
|
-
},
|
|
1227
|
-
if (c ? (
|
|
1228
|
-
let r = n *
|
|
1229
|
-
c ?
|
|
1226
|
+
}, Ee = !t.catAxisHidden && !t.catAxisLineHidden, Ae = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null, je = () => {
|
|
1227
|
+
if (c ? (Ee && Se(W, G, W, G + q, ge, ye), Ae && Se(W, G + q, W + K, G + q, be, xe)) : (Ee && Se(W, G + q, W + K, G + q, ge, ye), Ae && Se(W, G, W, G + q, be, xe)), !t.valAxisHidden && t.valAxisMajorTickMark && t.valAxisMajorTickMark !== "none") for (let n = 0; n <= me; n++) {
|
|
1228
|
+
let r = n * z;
|
|
1229
|
+
c ? J(e, t.valAxisMajorTickMark, "cat", G + q, W + r / R * K, be, xe) : J(e, t.valAxisMajorTickMark, "val", W, G + q - r / R * q, be, xe);
|
|
1230
1230
|
}
|
|
1231
1231
|
if (!t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") {
|
|
1232
|
-
let n =
|
|
1232
|
+
let n = ee(t), r = n ? h : h - 1;
|
|
1233
1233
|
for (let i = 0; i <= r; i++) {
|
|
1234
1234
|
let r = n ? i / h : h === 1 ? .5 : i / (h - 1);
|
|
1235
|
-
c ?
|
|
1235
|
+
c ? J(e, t.catAxisMajorTickMark, "val", W, G + r * q, ge, ye) : J(e, t.catAxisMajorTickMark, "cat", G + q, W + r * K, ge, ye);
|
|
1236
1236
|
}
|
|
1237
1237
|
}
|
|
1238
|
-
},
|
|
1238
|
+
}, Y = c ? q / h : K / h, Me = l ? 1 : Math.max(1, d.length), Ne = l ? 0 : t.barOverlap ?? 0, Pe = t.barGapWidth ?? 150, Fe = Y / (1 + (Me - 1) * (1 - Ne / 100) + Pe / 100), Ie = l ? 0 : Fe * (1 - Ne / 100), Le = (Y - (Fe + (Me - 1) * Ie)) / 2;
|
|
1239
1239
|
for (let n = 0; n < h; n++) {
|
|
1240
1240
|
let i = 0, a = 0;
|
|
1241
1241
|
if (u) {
|
|
@@ -1243,32 +1243,32 @@ function ke(e, t, n, r) {
|
|
|
1243
1243
|
a === 0 && (a = 1);
|
|
1244
1244
|
}
|
|
1245
1245
|
for (let o = 0; o < d.length; o++) {
|
|
1246
|
-
let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), m =
|
|
1246
|
+
let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), m = le(o, s);
|
|
1247
1247
|
if (c) {
|
|
1248
|
-
let a = l ? o : d.length - 1 - o, c = l ?
|
|
1249
|
-
e.fillStyle = m, e.fillRect(g, c, f,
|
|
1248
|
+
let a = l ? o : d.length - 1 - o, c = l ? G + (h - 1 - n) * Y + Le : G + (h - 1 - n) * Y + Le + a * Ie, f = p / R * K, g = l ? W + i / R * K : W;
|
|
1249
|
+
e.fillStyle = m, e.fillRect(g, c, f, Fe), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Fe * .6))}px sans-serif`, ke(e, u ? `${Math.round(p)}%` : L(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, Fe, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
|
|
1250
1250
|
} else {
|
|
1251
|
-
let a = l ?
|
|
1252
|
-
e.fillStyle = m, e.fillRect(a, d,
|
|
1251
|
+
let a = l ? W + n * Y + Le : W + n * Y + Le + o * Ie, c = p / R * q, d = G + q - (l ? i + p : p) / R * q;
|
|
1252
|
+
e.fillStyle = m, e.fillRect(a, d, Fe, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Fe * .6))}px sans-serif`, ke(e, u ? `${Math.round(p)}%` : L(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, Fe, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
|
|
1253
1253
|
}
|
|
1254
1254
|
l && (i += p);
|
|
1255
1255
|
}
|
|
1256
1256
|
}
|
|
1257
1257
|
if (!t.catAxisHidden) {
|
|
1258
|
-
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11,
|
|
1258
|
+
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11, Y * .5))}px sans-serif`;
|
|
1259
1259
|
for (let t = 0; t < h; t++) {
|
|
1260
1260
|
let n = (m[t] ?? "").toString().slice(0, 12);
|
|
1261
1261
|
if (c) {
|
|
1262
|
-
let r =
|
|
1263
|
-
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n,
|
|
1262
|
+
let r = G + (h - 1 - t) * Y + Y / 2;
|
|
1263
|
+
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, W - 4, r);
|
|
1264
1264
|
} else {
|
|
1265
|
-
let r =
|
|
1266
|
-
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r,
|
|
1265
|
+
let r = W + t * Y + Y / 2;
|
|
1266
|
+
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, G + q + 3);
|
|
1267
1267
|
}
|
|
1268
1268
|
}
|
|
1269
1269
|
}
|
|
1270
1270
|
if (f.length > 0 && !c) for (let t = 0; t < f.length; t++) {
|
|
1271
|
-
let n = f[t], r =
|
|
1271
|
+
let n = f[t], r = le(d.length + t, n), i = p && n.useSecondaryAxis === !0 ? fe : de;
|
|
1272
1272
|
e.strokeStyle = r, e.lineWidth = 2, e.setLineDash([]), e.beginPath();
|
|
1273
1273
|
let a = !1;
|
|
1274
1274
|
for (let t = 0; t < h; t++) {
|
|
@@ -1277,68 +1277,68 @@ function ke(e, t, n, r) {
|
|
|
1277
1277
|
a = !1;
|
|
1278
1278
|
continue;
|
|
1279
1279
|
}
|
|
1280
|
-
let o =
|
|
1280
|
+
let o = W + t * Y + Y / 2, s = i(r);
|
|
1281
1281
|
a ? e.lineTo(o, s) : (e.moveTo(o, s), a = !0);
|
|
1282
1282
|
}
|
|
1283
1283
|
if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < h; t++) {
|
|
1284
1284
|
let a = n.values[t];
|
|
1285
1285
|
if (a == null) continue;
|
|
1286
|
-
let o =
|
|
1286
|
+
let o = W + t * Y + Y / 2, s = i(a);
|
|
1287
1287
|
e.fillStyle = r, e.beginPath(), e.arc(o, s, 3, 0, Math.PI * 2), e.fill();
|
|
1288
1288
|
}
|
|
1289
1289
|
}
|
|
1290
|
-
if (
|
|
1291
|
-
let t =
|
|
1292
|
-
if (p.lineHidden ||
|
|
1293
|
-
e.font = `${
|
|
1294
|
-
let r = Math.max(1, Math.round(
|
|
1290
|
+
if (je(), p) {
|
|
1291
|
+
let t = W + K, { color: n, width: i } = F(p.lineColor, p.lineWidthEmu, r);
|
|
1292
|
+
if (p.lineHidden || Se(t, G, t, G + q, n, i), !p.hidden) {
|
|
1293
|
+
e.font = `${U}px sans-serif`, e.fillStyle = p.fontColor ? `#${p.fontColor}` : he, e.textAlign = "left", e.textBaseline = "middle";
|
|
1294
|
+
let r = Math.max(1, Math.round(ue / H));
|
|
1295
1295
|
for (let a = 0; a <= r; a++) {
|
|
1296
|
-
let r =
|
|
1297
|
-
|
|
1296
|
+
let r = B + a * H, o = fe(r);
|
|
1297
|
+
J(e, p.majorTickMark, "val", t, o, n, i, !0), e.fillText(L(r, p.formatCode ?? null), t + 14, o);
|
|
1298
1298
|
}
|
|
1299
1299
|
}
|
|
1300
1300
|
if (p.title) {
|
|
1301
1301
|
let t = p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05);
|
|
1302
|
-
e.save(), e.fillStyle = p.titleFontColor ? `#${p.titleFontColor}` : p.fontColor ? `#${p.fontColor}` : "#555", e.font = `${p.titleFontBold ? "bold " : ""}${t}px sans-serif`, e.textAlign = "center", e.textBaseline = "middle", e.translate(
|
|
1302
|
+
e.save(), e.fillStyle = p.titleFontColor ? `#${p.titleFontColor}` : p.fontColor ? `#${p.fontColor}` : "#555", e.font = `${p.titleFontBold ? "bold " : ""}${t}px sans-serif`, e.textAlign = "center", e.textBaseline = "middle", e.translate(W + K + ae + t * .6, G + q / 2), e.rotate(Math.PI / 2), e.fillText(p.title, 0, 0), e.restore();
|
|
1303
1303
|
}
|
|
1304
1304
|
}
|
|
1305
|
-
|
|
1305
|
+
we(e, c && !l ? {
|
|
1306
1306
|
...t,
|
|
1307
1307
|
series: [...t.series].reverse()
|
|
1308
|
-
} : t, b, i, a, o, s, G, K, q,
|
|
1308
|
+
} : t, b, i, a, o, s, W, G, K, q, y + 2), ve(e, t, i, a, o, s, W, G, K, q, S, w, T, E);
|
|
1309
1309
|
}
|
|
1310
|
-
function
|
|
1311
|
-
let { x: i, y: a, w: o, h: s } = n, c =
|
|
1310
|
+
function je(e, t, n, r) {
|
|
1311
|
+
let { x: i, y: a, w: o, h: s } = n, c = Oe(t), l = c.length;
|
|
1312
1312
|
if (l === 0) return;
|
|
1313
|
-
let u = t.title ?
|
|
1313
|
+
let u = t.title ? Te(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Ce(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0, y = Ee(t.catAxisFontSizeHpt, s, r), b = Ee(t.valAxisFontSizeHpt, s, r), { catTitlePx: x, valTitlePx: S, catTitleH: C, valTitleW: w } = _e(t, o, s, r), T = {
|
|
1314
1314
|
t: p + _ + b / 2 + 2,
|
|
1315
1315
|
r: h + o * .05,
|
|
1316
1316
|
b: y + 12 + C + v,
|
|
1317
1317
|
l: b * 2.2 + 10 + w + g
|
|
1318
1318
|
};
|
|
1319
|
-
|
|
1319
|
+
De(e, t, i, a + d, o, u);
|
|
1320
1320
|
let E = i + T.l, D = a + T.t, O = o - T.l - T.r, k = s - T.t - T.b;
|
|
1321
1321
|
if (O <= 0 || k <= 0) return;
|
|
1322
1322
|
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(E, D, O, k));
|
|
1323
1323
|
let j = Infinity, M = -Infinity;
|
|
1324
1324
|
for (let e of t.series) for (let t of e.values) t != null && (j = Math.min(j, t), M = Math.max(M, t));
|
|
1325
1325
|
isFinite(j) || (j = 0, M = 1), t.valMin == null ? j > 0 && (j = 0) : j = t.valMin, t.valMax == null ? M < 0 && (M = 0) : M = t.valMax, M === j && (M = j + 1);
|
|
1326
|
-
let { min: N, max: P, step: F } = A(j, M, t.valMin, t.valMax, k / r),
|
|
1327
|
-
if (
|
|
1328
|
-
let
|
|
1326
|
+
let { min: N, max: P, step: F } = A(j, M, t.valMin, t.valMax, k / r), R = P - N;
|
|
1327
|
+
if (R === 0) return;
|
|
1328
|
+
let z = (e) => D + k - (e - N) / R * k, B = ee(t) ? (e) => E + (e + .5) / l * O : (e) => E + (l === 1 ? O / 2 : e / (l - 1) * O);
|
|
1329
1329
|
if (!t.valAxisHidden) {
|
|
1330
1330
|
let n = Math.round((P - N) / F);
|
|
1331
1331
|
e.font = `${b}px sans-serif`, e.textBaseline = "middle";
|
|
1332
1332
|
for (let r = 0; r <= n; r++) {
|
|
1333
|
-
let n = N + r * F, i =
|
|
1334
|
-
e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(E, i), e.lineTo(E + O, i), e.stroke(),
|
|
1333
|
+
let n = N + r * F, i = z(n);
|
|
1334
|
+
e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(E, i), e.lineTo(E + O, i), e.stroke(), J(e, t.valAxisMajorTickMark, "val", E, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(L(n, t.valAxisFormatCode), E - 6, i);
|
|
1335
1335
|
}
|
|
1336
1336
|
}
|
|
1337
1337
|
e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(E, D + k), e.lineTo(E + O, D + k), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(E, D), e.lineTo(E, D + k), e.stroke());
|
|
1338
|
-
let
|
|
1338
|
+
let V = Math.max(1, 2.25 * r), H = Math.max(2, 2.5 * r), te = Ee(t.dataLabelFontSizeHpt, s, r);
|
|
1339
1339
|
for (let n = 0; n < t.series.length; n++) {
|
|
1340
|
-
let r = t.series[n], i =
|
|
1341
|
-
e.strokeStyle = i, e.lineWidth =
|
|
1340
|
+
let r = t.series[n], i = le(n, r);
|
|
1341
|
+
e.strokeStyle = i, e.lineWidth = V, e.setLineDash([]), e.beginPath();
|
|
1342
1342
|
let a = !1;
|
|
1343
1343
|
for (let t = 0; t < l; t++) {
|
|
1344
1344
|
let n = r.values[t];
|
|
@@ -1346,17 +1346,17 @@ function Ae(e, t, n, r) {
|
|
|
1346
1346
|
a = !1;
|
|
1347
1347
|
continue;
|
|
1348
1348
|
}
|
|
1349
|
-
let i =
|
|
1349
|
+
let i = B(t), o = z(n);
|
|
1350
1350
|
a ? e.lineTo(i, o) : (e.moveTo(i, o), a = !0);
|
|
1351
1351
|
}
|
|
1352
1352
|
e.stroke(), e.fillStyle = i;
|
|
1353
1353
|
let o = r.showMarker !== !1;
|
|
1354
1354
|
for (let n = 0; n < l; n++) {
|
|
1355
1355
|
let a = r.values[n];
|
|
1356
|
-
if (a != null && (o && (e.beginPath(), e.arc(
|
|
1357
|
-
e.font = `${
|
|
1358
|
-
let t = o ?
|
|
1359
|
-
e.fillText(
|
|
1356
|
+
if (a != null && (o && (e.beginPath(), e.arc(B(n), z(a), H, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
|
|
1357
|
+
e.font = `${te}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
|
|
1358
|
+
let t = o ? H + 1 : 2;
|
|
1359
|
+
e.fillText(I(a), B(n), z(a) - t), e.fillStyle = i;
|
|
1360
1360
|
}
|
|
1361
1361
|
}
|
|
1362
1362
|
}
|
|
@@ -1364,22 +1364,22 @@ function Ae(e, t, n, r) {
|
|
|
1364
1364
|
let n = Math.max(1, Math.ceil(l / 8)), r = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555";
|
|
1365
1365
|
e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${y}px sans-serif`;
|
|
1366
1366
|
for (let i = 0; i < l; i += n) {
|
|
1367
|
-
let n =
|
|
1368
|
-
|
|
1367
|
+
let n = B(i);
|
|
1368
|
+
J(e, t.catAxisMajorTickMark, "cat", D + k, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, D + k + 5);
|
|
1369
1369
|
}
|
|
1370
1370
|
}
|
|
1371
|
-
|
|
1371
|
+
we(e, t, m, i, a, o, s, E, D, O, k, p + 2), ve(e, t, i, a, o, s, E, D, O, k, g, v, x, S);
|
|
1372
1372
|
}
|
|
1373
|
-
function
|
|
1374
|
-
let { x: i, y: a, w: o, h: s } = n, c =
|
|
1373
|
+
function Y(e, t, n, r) {
|
|
1374
|
+
let { x: i, y: a, w: o, h: s } = n, c = Oe(t), l = c.length;
|
|
1375
1375
|
if (l === 0) return;
|
|
1376
|
-
let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ?
|
|
1376
|
+
let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ? Te(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, h = Ce(t, o, s), g = h?.side === "r" ? h.reserveW : 0, _ = h?.side === "l" ? h.reserveW : 0, v = h?.side === "t" ? h.reserveH : 0, y = h?.side === "b" ? h.reserveH : 0, { catTitlePx: b, valTitlePx: x, catTitleH: S, valTitleW: C } = _e(t, o, s, r), w = {
|
|
1377
1377
|
t: m + v + s * .02,
|
|
1378
1378
|
r: g + o * .05,
|
|
1379
1379
|
b: s * .14 + S + y,
|
|
1380
1380
|
l: o * .12 + C + _
|
|
1381
1381
|
};
|
|
1382
|
-
|
|
1382
|
+
De(e, t, i, a + f, o, d);
|
|
1383
1383
|
let T = i + w.l, E = a + w.t, D = o - w.l - w.r, O = s - w.t - w.b;
|
|
1384
1384
|
if (D <= 0 || O <= 0) return;
|
|
1385
1385
|
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(T, E, D, O));
|
|
@@ -1390,33 +1390,33 @@ function X(e, t, n, r) {
|
|
|
1390
1390
|
k = Math.max(k, n);
|
|
1391
1391
|
} else for (let n of t.series) k = Math.max(k, n.values[e] ?? 0);
|
|
1392
1392
|
t.valMax != null && (k = t.valMax), k === 0 && (k = 1);
|
|
1393
|
-
let { max: j, step: M } = A(0, k, void 0, t.valMax, O / r), N =
|
|
1393
|
+
let { max: j, step: M } = A(0, k, void 0, t.valMax, O / r), N = ee(t), P = N ? (e) => T + (e + .5) / l * D : (e) => T + (l === 1 ? D / 2 : e / (l - 1) * D), I = (e) => E + O - e / j * O, { color: R, width: z } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: B, width: V } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), H = u ? Array(l).fill(0) : null;
|
|
1394
1394
|
for (let n = t.series.length - 1; n >= 0; n--) {
|
|
1395
|
-
let r = t.series[n], i =
|
|
1396
|
-
if (e.beginPath(), u &&
|
|
1395
|
+
let r = t.series[n], i = le(n, r), a = E + O;
|
|
1396
|
+
if (e.beginPath(), u && H) {
|
|
1397
1397
|
for (let t = 0; t < l; t++) {
|
|
1398
|
-
let n = (r.values[t] ?? 0) +
|
|
1398
|
+
let n = (r.values[t] ?? 0) + H[t], i = P(t), a = I(n);
|
|
1399
1399
|
t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
|
|
1400
1400
|
}
|
|
1401
|
-
for (let t = l - 1; t >= 0; t--) e.lineTo(P(t),
|
|
1402
|
-
for (let e = 0; e < l; e++)
|
|
1401
|
+
for (let t = l - 1; t >= 0; t--) e.lineTo(P(t), I(H[t]));
|
|
1402
|
+
for (let e = 0; e < l; e++) H[e] += r.values[e] ?? 0;
|
|
1403
1403
|
} else {
|
|
1404
1404
|
e.moveTo(P(0), a);
|
|
1405
|
-
for (let t = 0; t < l; t++) e.lineTo(P(t),
|
|
1405
|
+
for (let t = 0; t < l; t++) e.lineTo(P(t), I(r.values[t] ?? 0));
|
|
1406
1406
|
e.lineTo(P(l - 1), a);
|
|
1407
1407
|
}
|
|
1408
|
-
e.closePath(), e.fillStyle =
|
|
1408
|
+
e.closePath(), e.fillStyle = U(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
|
|
1409
1409
|
}
|
|
1410
1410
|
if (!t.valAxisHidden) {
|
|
1411
1411
|
e.font = `${Math.max(8, Math.min(11, O / 20))}px sans-serif`, e.textBaseline = "middle";
|
|
1412
1412
|
let n = Math.round(j / M);
|
|
1413
1413
|
for (let r = 0; r <= n; r++) {
|
|
1414
|
-
let n = r * M, i =
|
|
1415
|
-
e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(T, i), e.lineTo(T + D, i), e.stroke(),
|
|
1414
|
+
let n = r * M, i = I(n);
|
|
1415
|
+
e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(T, i), e.lineTo(T + D, i), e.stroke(), J(e, t.valAxisMajorTickMark, "val", T, i, B, V), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(L(n, t.valAxisFormatCode), T - 6, i);
|
|
1416
1416
|
}
|
|
1417
1417
|
}
|
|
1418
|
-
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle =
|
|
1419
|
-
else for (let n = 0; n < l; n++)
|
|
1418
|
+
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = R, e.lineWidth = z, e.beginPath(), e.moveTo(T, E + O), e.lineTo(T + D, E + O), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null && (e.strokeStyle = B, e.lineWidth = V, e.beginPath(), e.moveTo(T, E), e.lineTo(T, E + O), e.stroke()), !t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") if (N) for (let n = 0; n <= l; n++) J(e, t.catAxisMajorTickMark, "cat", E + O, T + n / l * D, R, z);
|
|
1419
|
+
else for (let n = 0; n < l; n++) J(e, t.catAxisMajorTickMark, "cat", E + O, P(n), R, z);
|
|
1420
1420
|
if (!t.catAxisHidden) {
|
|
1421
1421
|
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, D / l * .8))}px sans-serif`;
|
|
1422
1422
|
let n = 0;
|
|
@@ -1424,15 +1424,15 @@ function X(e, t, n, r) {
|
|
|
1424
1424
|
let r = Math.max(1, Math.ceil((n + 6) / (D / l)));
|
|
1425
1425
|
for (let t = 0; t < l; t += r) e.fillText((c[t] ?? "").toString().slice(0, 10), P(t), E + O + 3);
|
|
1426
1426
|
}
|
|
1427
|
-
|
|
1427
|
+
we(e, t, h, i, a, o, s, T, E, D, O, m + 2), ve(e, t, i, a, o, s, T, E, D, O, _, y, b, x);
|
|
1428
1428
|
}
|
|
1429
|
-
function
|
|
1429
|
+
function Me(e, t, n, r, i) {
|
|
1430
1430
|
let { x: a, y: o, w: s, h: c } = n, l = t.series[0];
|
|
1431
1431
|
if (!l) return;
|
|
1432
1432
|
let u = l.categories && l.categories.length > 0 ? l.categories : t.categories, d = l.values.map((e) => Math.abs(e ?? 0)), f = d.reduce((e, t) => e + t, 0);
|
|
1433
1433
|
if (f === 0) return;
|
|
1434
|
-
let p = t.title ?
|
|
1435
|
-
|
|
1434
|
+
let p = t.title ? Te(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
|
|
1435
|
+
De(e, t, a, o + m, s, p);
|
|
1436
1436
|
let _ = t.showLegend ? (() => {
|
|
1437
1437
|
let e = t.legendPos ?? "r", n = e === "l" ? "l" : e === "t" ? "t" : e === "b" ? "b" : "r";
|
|
1438
1438
|
return n === "r" || n === "l" ? {
|
|
@@ -1446,7 +1446,7 @@ function je(e, t, n, r, i) {
|
|
|
1446
1446
|
};
|
|
1447
1447
|
})() : null, v = _?.side === "r" ? _.reserveW : 0, y = _?.side === "l" ? _.reserveW : 0, b = _?.side === "t" ? _.reserveH : 0, x = _?.side === "b" ? _.reserveH : 0, S = s - v - y, C = c - g - b - x - c * .02, w = a + y + S / 2, T = o + g + b + c * .02 + C / 2, E = Math.min(S, C) * .42, D = r ? E * .5 : 0, O = -Math.PI / 2;
|
|
1448
1448
|
for (let n = 0; n < d.length; n++) {
|
|
1449
|
-
let i = d[n] / f * Math.PI * 2, a =
|
|
1449
|
+
let i = d[n] / f * Math.PI * 2, a = ue(n, l);
|
|
1450
1450
|
if (e.beginPath(), e.moveTo(w, T), e.arc(w, T, E, O, O + i), e.closePath(), e.fillStyle = a, e.fill(), e.strokeStyle = "#fff", e.lineWidth = 1, e.stroke(), t.showDataLabels && i > .15) {
|
|
1451
1451
|
let t = O + i / 2, a = E * (r ? .75 : .6), o = w + Math.cos(t) * a, s = T + Math.sin(t) * a, c = Math.round(d[n] / f * 100);
|
|
1452
1452
|
e.font = `bold ${Math.max(8, E * .1)}px sans-serif`, e.fillStyle = "#fff", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`${c}%`, o, s);
|
|
@@ -1458,17 +1458,17 @@ function je(e, t, n, r, i) {
|
|
|
1458
1458
|
...l,
|
|
1459
1459
|
categories: u
|
|
1460
1460
|
}], r = w - S / 2;
|
|
1461
|
-
|
|
1461
|
+
we(e, {
|
|
1462
1462
|
...t,
|
|
1463
1463
|
series: n
|
|
1464
1464
|
}, _, a, o, s, c, r, T - C / 2, S, C, g + 2);
|
|
1465
1465
|
}
|
|
1466
1466
|
}
|
|
1467
|
-
function
|
|
1468
|
-
let { x: i, y: a, w: o, h: s } = n, c =
|
|
1467
|
+
function Ne(e, t, n, r) {
|
|
1468
|
+
let { x: i, y: a, w: o, h: s } = n, c = Oe(t), l = c.length;
|
|
1469
1469
|
if (l < 3) return;
|
|
1470
|
-
let u = t.title ?
|
|
1471
|
-
|
|
1470
|
+
let u = t.title ? Te(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Ce(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0;
|
|
1471
|
+
De(e, t, i, a + d, o, u);
|
|
1472
1472
|
let y = o - h - g, b = s - p - _ - v - s * .02, x = i + g + y / 2, S = a + p + _ + s * .02 + b / 2, C = Math.min(y, b) * .38, w = 0;
|
|
1473
1473
|
for (let e of t.series) for (let t of e.values) w = Math.max(w, t ?? 0);
|
|
1474
1474
|
t.valMax != null && (w = t.valMax), w === 0 && (w = 1);
|
|
@@ -1489,10 +1489,10 @@ function Me(e, t, n, r) {
|
|
|
1489
1489
|
e.beginPath(), e.moveTo(x, S), e.lineTo(x + Math.cos(n) * C, S + Math.sin(n) * C), e.stroke();
|
|
1490
1490
|
}
|
|
1491
1491
|
if (!t.valAxisHidden) {
|
|
1492
|
-
e.font = `${
|
|
1492
|
+
e.font = `${Ee(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
|
|
1493
1493
|
for (let t = 1; t <= k; t++) {
|
|
1494
1494
|
let n = t / k * T, r = t / k * C;
|
|
1495
|
-
e.fillText(
|
|
1495
|
+
e.fillText(I(n), x - 3, S - r);
|
|
1496
1496
|
}
|
|
1497
1497
|
}
|
|
1498
1498
|
e.font = `${Math.max(8, Math.min(11, C * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
|
|
@@ -1502,7 +1502,7 @@ function Me(e, t, n, r) {
|
|
|
1502
1502
|
}
|
|
1503
1503
|
let j = t.radarStyle === "filled", M = Math.max(2, C * .025);
|
|
1504
1504
|
for (let n = 0; n < t.series.length; n++) {
|
|
1505
|
-
let r = t.series[n], i =
|
|
1505
|
+
let r = t.series[n], i = le(n, r), a = [];
|
|
1506
1506
|
for (let e = 0; e < l; e++) {
|
|
1507
1507
|
let t = r.values[e];
|
|
1508
1508
|
if (t == null) {
|
|
@@ -1522,18 +1522,18 @@ function Me(e, t, n, r) {
|
|
|
1522
1522
|
o ? e.lineTo(t[0], t[1]) : (e.moveTo(t[0], t[1]), o = !0);
|
|
1523
1523
|
}
|
|
1524
1524
|
let s = a.every((e) => e != null);
|
|
1525
|
-
if (j && s ? (e.closePath(), e.fillStyle =
|
|
1525
|
+
if (j && s ? (e.closePath(), e.fillStyle = U(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !j && r.showMarker !== !1) {
|
|
1526
1526
|
e.fillStyle = i;
|
|
1527
1527
|
for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], M, 0, Math.PI * 2), e.fill());
|
|
1528
1528
|
}
|
|
1529
1529
|
}
|
|
1530
|
-
|
|
1530
|
+
we(e, t, m, i, a, o, s, x - y / 2, S - b / 2, y, b, p + 2);
|
|
1531
1531
|
}
|
|
1532
|
-
function
|
|
1533
|
-
let { x: i, y: a, w: o, h: s } = n, c = t.title ?
|
|
1532
|
+
function Pe(e, t, n, r) {
|
|
1533
|
+
let { x: i, y: a, w: o, h: s } = n, c = t.title ? Te(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = Ce(t, o, s), p = f?.side === "r" ? f.reserveW : 0, m = f?.side === "l" ? f.reserveW : 0, h = f?.side === "t" ? f.reserveH : 0, g = f?.side === "b" ? f.reserveH : 0, { catTitlePx: _, valTitlePx: v, catTitleH: y, valTitleW: b } = _e(t, o, s, r);
|
|
1534
1534
|
if (t.title) {
|
|
1535
1535
|
let n = t.titleManualLayout;
|
|
1536
|
-
n && (n.x !== void 0 || n.y !== void 0) ?
|
|
1536
|
+
n && (n.x !== void 0 || n.y !== void 0) ? De(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : De(e, t, i, a + l, o, c);
|
|
1537
1537
|
}
|
|
1538
1538
|
let x = t.plotAreaManualLayout, S, C, w, E;
|
|
1539
1539
|
if (x && x.w != null && x.h != null) S = i + x.x * o, C = a + x.y * s, w = x.w * o, E = x.h * s;
|
|
@@ -1564,32 +1564,32 @@ function Ne(e, t, n, r) {
|
|
|
1564
1564
|
}
|
|
1565
1565
|
let j = Math.min(...D), M = Math.max(...D), N = Math.min(...O), F = Math.max(...O);
|
|
1566
1566
|
j === M && (--j, M += 1), N === F && (--N, F += 1), t.valMin == null ? N > 0 && (N = 0) : N = t.valMin, t.valMax != null && (F = t.valMax);
|
|
1567
|
-
let { min:
|
|
1568
|
-
if (N =
|
|
1567
|
+
let { min: ee, max: I, step: R } = A(N, F, t.valMin, t.valMax);
|
|
1568
|
+
if (N = ee, F = I, t.catAxisMin != null && (j = t.catAxisMin), t.catAxisMax != null && (M = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
|
|
1569
1569
|
let e = T(M - j);
|
|
1570
1570
|
e > 0 && (t.catAxisMin ?? (j = Math.floor(j / e) * e), t.catAxisMax ?? (M = Math.ceil(M / e) * e));
|
|
1571
1571
|
}
|
|
1572
|
-
let
|
|
1572
|
+
let z = (e) => S + (e - j) / (M - j) * w, B = (e) => C + E - (e - N) / (F - N) * E;
|
|
1573
1573
|
if (!t.valAxisHidden) {
|
|
1574
1574
|
let n = Math.max(8, Math.min(11, E / 20));
|
|
1575
1575
|
e.font = `${t.valAxisFontBold ? "bold " : ""}${n}px sans-serif`;
|
|
1576
|
-
let i = Math.round((F - N) /
|
|
1576
|
+
let i = Math.round((F - N) / R) + 1;
|
|
1577
1577
|
for (let n = 0; n < i; n++) {
|
|
1578
|
-
let i = N + n *
|
|
1579
|
-
if (i > F +
|
|
1580
|
-
let a =
|
|
1581
|
-
e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(S, a), e.lineTo(S + w, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(
|
|
1578
|
+
let i = N + n * R;
|
|
1579
|
+
if (i > F + R * .01) break;
|
|
1580
|
+
let a = B(i);
|
|
1581
|
+
e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(S, a), e.lineTo(S + w, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(L(i, t.valAxisFormatCode), S - 4, a);
|
|
1582
1582
|
let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0;
|
|
1583
|
-
|
|
1583
|
+
J(e, t.valAxisMajorTickMark, "val", S, a, o, P(t.valAxisLineWidthEmu, r));
|
|
1584
1584
|
}
|
|
1585
1585
|
}
|
|
1586
|
-
let
|
|
1587
|
-
if (t.catAxisCrossesAt != null)
|
|
1586
|
+
let V = C + E;
|
|
1587
|
+
if (t.catAxisCrossesAt != null) V = ze(B(t.catAxisCrossesAt), C, C + E);
|
|
1588
1588
|
else {
|
|
1589
1589
|
let e = t.catAxisCrosses ?? "autoZero";
|
|
1590
|
-
e === "autoZero" && N < 0 && F > 0 ?
|
|
1590
|
+
e === "autoZero" && N < 0 && F > 0 ? V = ze(B(0), C, C + E) : e === "min" ? V = C + E : e === "max" && (V = C);
|
|
1591
1591
|
}
|
|
1592
|
-
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = P(t.catAxisLineWidthEmu, r), e.lineCap = "butt", e.beginPath(), e.moveTo(S,
|
|
1592
|
+
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = P(t.catAxisLineWidthEmu, r), e.lineCap = "butt", e.beginPath(), e.moveTo(S, V), e.lineTo(S + w, V), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = P(t.valAxisLineWidthEmu, r), e.beginPath(), e.moveTo(S, C), e.lineTo(S, C + E), e.stroke(), e.restore()), !t.catAxisHidden) {
|
|
1593
1593
|
let n = Math.max(8, Math.min(11, E / 20));
|
|
1594
1594
|
e.font = `${t.catAxisFontBold ? "bold " : ""}${n}px sans-serif`;
|
|
1595
1595
|
let i = T(M - j), a = Math.round((M - j) / i) + 1;
|
|
@@ -1597,29 +1597,29 @@ function Ne(e, t, n, r) {
|
|
|
1597
1597
|
for (let n = 0; n < a; n++) {
|
|
1598
1598
|
let a = j + n * i;
|
|
1599
1599
|
if (a > M + i * .01) break;
|
|
1600
|
-
let o =
|
|
1601
|
-
e.fillText(
|
|
1600
|
+
let o = z(a);
|
|
1601
|
+
e.fillText(L(a, t.catAxisFormatCode), o, V + 4);
|
|
1602
1602
|
let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0;
|
|
1603
|
-
|
|
1603
|
+
J(e, t.catAxisMajorTickMark, "cat", V, o, s, P(t.catAxisLineWidthEmu, r));
|
|
1604
1604
|
}
|
|
1605
1605
|
}
|
|
1606
|
-
let
|
|
1606
|
+
let H = t.chartType === "bubble", te = H ? "marker" : t.scatterStyle ?? "marker", ne = te === "line" || te === "lineMarker" || te === "lineNoMarker", re = te === "smooth" || te === "smoothMarker" || te === "smoothNoMarker", ie = te === "lineNoMarker" || te === "smoothNoMarker";
|
|
1607
1607
|
for (let n = 0; n < t.series.length; n++) {
|
|
1608
|
-
let i = t.series[n], a =
|
|
1609
|
-
for (let t of i.errBars ?? [])
|
|
1610
|
-
if (
|
|
1608
|
+
let i = t.series[n], a = le(n, i), o = i.categories ?? [];
|
|
1609
|
+
for (let t of i.errBars ?? []) Ie(e, i, t, o, k, z, B, a);
|
|
1610
|
+
if (ne || re) {
|
|
1611
1611
|
let t = [];
|
|
1612
1612
|
for (let e = 0; e < i.values.length; e++) {
|
|
1613
1613
|
let n = i.values[e];
|
|
1614
1614
|
if (n == null) continue;
|
|
1615
1615
|
let r = k ? e : parseFloat(o[e] ?? "0");
|
|
1616
1616
|
isNaN(r) || t.push({
|
|
1617
|
-
x:
|
|
1618
|
-
y:
|
|
1617
|
+
x: z(r),
|
|
1618
|
+
y: B(n)
|
|
1619
1619
|
});
|
|
1620
1620
|
}
|
|
1621
1621
|
if (t.length >= 2) {
|
|
1622
|
-
if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y),
|
|
1622
|
+
if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), re && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
|
|
1623
1623
|
let r = t[n - 1] ?? t[n], i = t[n], a = t[n + 1], o = t[n + 2] ?? a, s = i.x + (a.x - r.x) / 6, c = i.y + (a.y - r.y) / 6, l = a.x - (o.x - i.x) / 6, u = a.y - (o.y - i.y) / 6;
|
|
1624
1624
|
e.bezierCurveTo(s, c, l, u, a.x, a.y);
|
|
1625
1625
|
}
|
|
@@ -1627,9 +1627,9 @@ function Ne(e, t, n, r) {
|
|
|
1627
1627
|
e.stroke(), e.restore();
|
|
1628
1628
|
}
|
|
1629
1629
|
}
|
|
1630
|
-
if (!(
|
|
1630
|
+
if (!(ie || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
|
|
1631
1631
|
let t = 0;
|
|
1632
|
-
if (
|
|
1632
|
+
if (H && i.bubbleSizes && i.bubbleSizes.length > 0) {
|
|
1633
1633
|
let e = Math.max(0, ...i.bubbleSizes.filter((e) => e != null));
|
|
1634
1634
|
e > 0 && (t = Math.min(w, E) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
|
|
1635
1635
|
}
|
|
@@ -1639,19 +1639,19 @@ function Ne(e, t, n, r) {
|
|
|
1639
1639
|
let c = k ? n : parseFloat(o[n] ?? "0");
|
|
1640
1640
|
if (isNaN(c)) continue;
|
|
1641
1641
|
let l = (i.dataPointOverrides ?? []).find((e) => e.idx === n), u = l?.markerSymbol ?? i.markerSymbol ?? "circle", d = l?.markerSize ?? i.markerSize ?? 5;
|
|
1642
|
-
if (
|
|
1642
|
+
if (H && t > 0) {
|
|
1643
1643
|
let e = i.bubbleSizes?.[n];
|
|
1644
1644
|
e != null && e > 0 && (d = Math.sqrt(e) * t * 2 / r);
|
|
1645
1645
|
}
|
|
1646
1646
|
let f = l?.markerFill ?? l?.color ?? i.markerFill ?? a, p = l?.markerLine ?? i.markerLine ?? null;
|
|
1647
|
-
|
|
1647
|
+
Fe(e, z(c), B(s), u, d, f, p, r);
|
|
1648
1648
|
}
|
|
1649
1649
|
}
|
|
1650
|
-
|
|
1650
|
+
Le(e, i, o, k, z, B, E, r);
|
|
1651
1651
|
}
|
|
1652
|
-
|
|
1652
|
+
we(e, t, f, i, a, o, s, S, C, w, E, d + 2), ve(e, t, i, a, o, s, S, C, w, E, m, g, _, v);
|
|
1653
1653
|
}
|
|
1654
|
-
function
|
|
1654
|
+
function Fe(e, t, n, r, i, a, o, s) {
|
|
1655
1655
|
let c = Math.max(2, i * s), l = c / 2, u = a.startsWith("#") ? a : `#${a}`, d = o ? o.startsWith("#") ? o : `#${o}` : null;
|
|
1656
1656
|
switch (e.save(), e.fillStyle = u, d && (e.strokeStyle = d, e.lineWidth = 1), r) {
|
|
1657
1657
|
case "square":
|
|
@@ -1691,8 +1691,8 @@ function Pe(e, t, n, r, i, a, o, s) {
|
|
|
1691
1691
|
}
|
|
1692
1692
|
e.restore();
|
|
1693
1693
|
}
|
|
1694
|
-
function
|
|
1695
|
-
e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / j) : 1, e.setLineDash(
|
|
1694
|
+
function Ie(e, t, n, r, i, a, o, s) {
|
|
1695
|
+
e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / j) : 1, e.setLineDash(Be(n.dash));
|
|
1696
1696
|
let c = n.barType === "plus" || n.barType === "both", l = n.barType === "minus" || n.barType === "both", u = n.dir === "x", d = e.lineWidth * 1.5;
|
|
1697
1697
|
for (let s = 0; s < t.values.length; s++) {
|
|
1698
1698
|
let f = t.values[s];
|
|
@@ -1714,7 +1714,7 @@ function Fe(e, t, n, r, i, a, o, s) {
|
|
|
1714
1714
|
}
|
|
1715
1715
|
e.restore();
|
|
1716
1716
|
}
|
|
1717
|
-
function
|
|
1717
|
+
function Le(e, t, n, r, i, a, o, s) {
|
|
1718
1718
|
let c = t.dataLabelOverrides ?? [];
|
|
1719
1719
|
if (c.length === 0 && !t.seriesDataLabels) return;
|
|
1720
1720
|
let l = t.seriesDataLabels;
|
|
@@ -1729,13 +1729,13 @@ function Ie(e, t, n, r, i, a, o, s) {
|
|
|
1729
1729
|
m = p.text;
|
|
1730
1730
|
} else if (l && (l.showVal || l.showSerName || l.showCatName)) {
|
|
1731
1731
|
let e = [];
|
|
1732
|
-
if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(
|
|
1732
|
+
if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(L(d, l.formatCode ?? null)), m = e.filter(Boolean).join(" "), !m) continue;
|
|
1733
1733
|
} else continue;
|
|
1734
1734
|
let h = p?.position ?? l?.position ?? "r", g = p?.fontSizeHpt ?? l?.fontSizeHpt, _ = g ? g / 100 * s : Math.max(9, Math.min(11, o / 25)), v = p?.fontColor ?? l?.fontColor, y = p?.fontBold ?? l?.fontBold ?? !1;
|
|
1735
|
-
|
|
1735
|
+
Re(e, i(f), a(d), m, h, _, v, y);
|
|
1736
1736
|
}
|
|
1737
1737
|
}
|
|
1738
|
-
function
|
|
1738
|
+
function Re(e, t, n, r, i, a, o, s) {
|
|
1739
1739
|
e.save(), e.font = `${s ? "bold " : ""}${a}px sans-serif`, e.fillStyle = o ? `#${o}` : "#333";
|
|
1740
1740
|
let c = a * .6, l = t, u = n;
|
|
1741
1741
|
switch (i) {
|
|
@@ -1763,10 +1763,10 @@ function Le(e, t, n, r, i, a, o, s) {
|
|
|
1763
1763
|
for (let t of d) e.fillText(t, l, m), m += f;
|
|
1764
1764
|
e.restore();
|
|
1765
1765
|
}
|
|
1766
|
-
function
|
|
1766
|
+
function ze(e, t, n) {
|
|
1767
1767
|
return e < t ? t : e > n ? n : e;
|
|
1768
1768
|
}
|
|
1769
|
-
function
|
|
1769
|
+
function Be(e) {
|
|
1770
1770
|
if (!e) return [];
|
|
1771
1771
|
switch (e) {
|
|
1772
1772
|
case "solid": return [];
|
|
@@ -1801,7 +1801,7 @@ function ze(e) {
|
|
|
1801
1801
|
default: return [];
|
|
1802
1802
|
}
|
|
1803
1803
|
}
|
|
1804
|
-
function
|
|
1804
|
+
function Ve(e, t, n) {
|
|
1805
1805
|
let { x: r, y: i, w: a, h: o } = n, s = t.plotAreaManualLayout, c, l, u, d;
|
|
1806
1806
|
if (s && s.w != null && s.h != null) c = r + s.x * a, l = i + s.y * o, u = s.w * a, d = s.h * o;
|
|
1807
1807
|
else {
|
|
@@ -1860,7 +1860,7 @@ function Be(e, t, n) {
|
|
|
1860
1860
|
}
|
|
1861
1861
|
e.restore();
|
|
1862
1862
|
}
|
|
1863
|
-
function
|
|
1863
|
+
function He(e, t, n, r = N) {
|
|
1864
1864
|
let { x: i, y: a, w: o, h: s } = n;
|
|
1865
1865
|
if (t.chartBg && (e.fillStyle = `#${t.chartBg}`, e.fillRect(i, a, o, s)), t.chartBorderColor) {
|
|
1866
1866
|
e.save(), e.strokeStyle = `#${t.chartBorderColor}`, e.lineWidth = t.chartBorderWidthEmu ? Math.max(.5, t.chartBorderWidthEmu / j) * r : 1;
|
|
@@ -1878,40 +1878,40 @@ function Ve(e, t, n, r = N) {
|
|
|
1878
1878
|
case "stackedBarH":
|
|
1879
1879
|
case "stackedBarPct":
|
|
1880
1880
|
case "stackedBarHPct":
|
|
1881
|
-
|
|
1881
|
+
Ae(e, t, n, r);
|
|
1882
1882
|
break;
|
|
1883
1883
|
case "line":
|
|
1884
1884
|
case "stackedLine":
|
|
1885
1885
|
case "stackedLinePct":
|
|
1886
|
-
|
|
1886
|
+
je(e, t, n, r);
|
|
1887
1887
|
break;
|
|
1888
1888
|
case "area":
|
|
1889
1889
|
case "stackedArea":
|
|
1890
1890
|
case "stackedAreaPct":
|
|
1891
|
-
|
|
1891
|
+
Y(e, t, n, r);
|
|
1892
1892
|
break;
|
|
1893
1893
|
case "pie":
|
|
1894
|
-
|
|
1894
|
+
Me(e, t, n, !1, r);
|
|
1895
1895
|
break;
|
|
1896
1896
|
case "doughnut":
|
|
1897
|
-
|
|
1897
|
+
Me(e, t, n, !0, r);
|
|
1898
1898
|
break;
|
|
1899
1899
|
case "radar":
|
|
1900
|
-
|
|
1900
|
+
Ne(e, t, n, r);
|
|
1901
1901
|
break;
|
|
1902
1902
|
case "scatter":
|
|
1903
1903
|
case "bubble":
|
|
1904
|
-
|
|
1904
|
+
Pe(e, t, n, r);
|
|
1905
1905
|
break;
|
|
1906
1906
|
case "waterfall":
|
|
1907
|
-
|
|
1907
|
+
Ve(e, t, n);
|
|
1908
1908
|
break;
|
|
1909
1909
|
default: e.fillStyle = "#888", e.font = "11px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`Chart: ${t.chartType}`, i + o / 2, a + s / 2);
|
|
1910
1910
|
}
|
|
1911
1911
|
}
|
|
1912
1912
|
//#endregion
|
|
1913
1913
|
//#region packages/core/src/autoResize.ts
|
|
1914
|
-
function
|
|
1914
|
+
function Ue(e, t, n = {}) {
|
|
1915
1915
|
let r = n.pauseWhenHidden ?? !0, i = null, a = 0, o = 0, s = null, c = !1, l = !1, u = () => {
|
|
1916
1916
|
if (!l && !(r && typeof document < "u" && document.hidden)) {
|
|
1917
1917
|
if (s) {
|
|
@@ -1948,7 +1948,7 @@ function He(e, t, n = {}) {
|
|
|
1948
1948
|
}
|
|
1949
1949
|
//#endregion
|
|
1950
1950
|
//#region packages/core/src/shape/custGeom.ts
|
|
1951
|
-
function
|
|
1951
|
+
function We(e, t, n, r, i, a) {
|
|
1952
1952
|
for (let o of t) {
|
|
1953
1953
|
let t = 0, s = 0;
|
|
1954
1954
|
for (let c of o) switch (c.cmd) {
|
|
@@ -1976,11 +1976,11 @@ function Ue(e, t, n, r, i, a) {
|
|
|
1976
1976
|
}
|
|
1977
1977
|
//#endregion
|
|
1978
1978
|
//#region packages/core/src/shape/custgeom-endpoints.ts
|
|
1979
|
-
var
|
|
1980
|
-
function
|
|
1979
|
+
var X = 1e-9;
|
|
1980
|
+
function Ge(e) {
|
|
1981
1981
|
return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "arcTo";
|
|
1982
1982
|
}
|
|
1983
|
-
function
|
|
1983
|
+
function Ke(e, t, n, r) {
|
|
1984
1984
|
let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
|
|
1985
1985
|
return {
|
|
1986
1986
|
x: e,
|
|
@@ -1990,7 +1990,7 @@ function Ge(e, t, n, r) {
|
|
|
1990
1990
|
angle: Math.atan2(a, i)
|
|
1991
1991
|
};
|
|
1992
1992
|
}
|
|
1993
|
-
function
|
|
1993
|
+
function qe(e, t, n) {
|
|
1994
1994
|
switch (n.cmd) {
|
|
1995
1995
|
case "lineTo": return {
|
|
1996
1996
|
dx: n.x - e,
|
|
@@ -1998,7 +1998,7 @@ function Ke(e, t, n) {
|
|
|
1998
1998
|
};
|
|
1999
1999
|
case "cubicBezTo": {
|
|
2000
2000
|
let r = n.x1 - e, i = n.y1 - t;
|
|
2001
|
-
return Math.abs(r) <
|
|
2001
|
+
return Math.abs(r) < X && Math.abs(i) < X && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < X && Math.abs(i) < X && (r = n.x - e, i = n.y - t), {
|
|
2002
2002
|
dx: r,
|
|
2003
2003
|
dy: i
|
|
2004
2004
|
};
|
|
@@ -2016,7 +2016,7 @@ function Ke(e, t, n) {
|
|
|
2016
2016
|
};
|
|
2017
2017
|
}
|
|
2018
2018
|
}
|
|
2019
|
-
function
|
|
2019
|
+
function Je(e, t, n) {
|
|
2020
2020
|
switch (n.cmd) {
|
|
2021
2021
|
case "moveTo":
|
|
2022
2022
|
case "lineTo":
|
|
@@ -2041,8 +2041,8 @@ function qe(e, t, n) {
|
|
|
2041
2041
|
};
|
|
2042
2042
|
}
|
|
2043
2043
|
}
|
|
2044
|
-
function
|
|
2045
|
-
let { x: r, y: i } =
|
|
2044
|
+
function Ye(e, t, n) {
|
|
2045
|
+
let { x: r, y: i } = Je(e, t, n);
|
|
2046
2046
|
switch (n.cmd) {
|
|
2047
2047
|
case "lineTo": return {
|
|
2048
2048
|
dx: n.x - e,
|
|
@@ -2052,7 +2052,7 @@ function Je(e, t, n) {
|
|
|
2052
2052
|
};
|
|
2053
2053
|
case "cubicBezTo": {
|
|
2054
2054
|
let a = n.x - n.x2, o = n.y - n.y2;
|
|
2055
|
-
return Math.abs(a) <
|
|
2055
|
+
return Math.abs(a) < X && Math.abs(o) < X && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < X && Math.abs(o) < X && (a = n.x - e, o = n.y - t), {
|
|
2056
2056
|
dx: a,
|
|
2057
2057
|
dy: o,
|
|
2058
2058
|
x: r,
|
|
@@ -2082,50 +2082,50 @@ function Je(e, t, n) {
|
|
|
2082
2082
|
};
|
|
2083
2083
|
}
|
|
2084
2084
|
}
|
|
2085
|
-
function
|
|
2085
|
+
function Xe(e) {
|
|
2086
2086
|
let t = 0, n = 0, r = !1;
|
|
2087
|
-
for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} =
|
|
2087
|
+
for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = Je(t, n, i);
|
|
2088
2088
|
return r ? {
|
|
2089
2089
|
x: t,
|
|
2090
2090
|
y: n
|
|
2091
2091
|
} : null;
|
|
2092
2092
|
}
|
|
2093
|
-
function
|
|
2093
|
+
function Ze(e) {
|
|
2094
2094
|
if (e.some((e) => e.cmd === "close")) return !0;
|
|
2095
2095
|
let t = e.find((e) => e.cmd === "moveTo");
|
|
2096
2096
|
if (!t) return !1;
|
|
2097
|
-
let n =
|
|
2098
|
-
return !n || !e.some(
|
|
2097
|
+
let n = Xe(e);
|
|
2098
|
+
return !n || !e.some(Ge) ? !1 : Math.abs(n.x - t.x) < X && Math.abs(n.y - t.y) < X;
|
|
2099
2099
|
}
|
|
2100
|
-
function
|
|
2100
|
+
function Qe(e) {
|
|
2101
2101
|
let t = {
|
|
2102
2102
|
start: null,
|
|
2103
2103
|
end: null
|
|
2104
2104
|
};
|
|
2105
2105
|
if (!e || e.length === 0) return t;
|
|
2106
2106
|
let n = e[0];
|
|
2107
|
-
if (n && n.length > 0 && !
|
|
2108
|
-
let e = n.find((e) => e.cmd === "moveTo"), r = n.find(
|
|
2107
|
+
if (n && n.length > 0 && !Ze(n)) {
|
|
2108
|
+
let e = n.find((e) => e.cmd === "moveTo"), r = n.find(Ge);
|
|
2109
2109
|
if (e && r) {
|
|
2110
|
-
let n =
|
|
2111
|
-
(Math.abs(n.dx) >
|
|
2110
|
+
let n = qe(e.x, e.y, r);
|
|
2111
|
+
(Math.abs(n.dx) > X || Math.abs(n.dy) > X) && (t.start = Ke(e.x, e.y, -n.dx, -n.dy));
|
|
2112
2112
|
}
|
|
2113
2113
|
}
|
|
2114
2114
|
let r = e[e.length - 1];
|
|
2115
|
-
if (r && r.length > 0 && !
|
|
2115
|
+
if (r && r.length > 0 && !Ze(r)) {
|
|
2116
2116
|
let e = 0, n = 0, i = -1;
|
|
2117
|
-
for (let e = 0; e < r.length; e++)
|
|
2117
|
+
for (let e = 0; e < r.length; e++) Ge(r[e]) && (i = e);
|
|
2118
2118
|
if (i >= 0) {
|
|
2119
|
-
for (let t = 0; t < i; t++) ({x: e, y: n} =
|
|
2120
|
-
let a =
|
|
2121
|
-
(Math.abs(a.dx) >
|
|
2119
|
+
for (let t = 0; t < i; t++) ({x: e, y: n} = Je(e, n, r[t]));
|
|
2120
|
+
let a = Ye(e, n, r[i]);
|
|
2121
|
+
(Math.abs(a.dx) > X || Math.abs(a.dy) > X) && (t.end = Ke(a.x, a.y, a.dx, a.dy));
|
|
2122
2122
|
}
|
|
2123
2123
|
}
|
|
2124
2124
|
return t;
|
|
2125
2125
|
}
|
|
2126
2126
|
//#endregion
|
|
2127
2127
|
//#region packages/core/src/shape/preset.ts
|
|
2128
|
-
function
|
|
2128
|
+
function $e(e, t, n, r, i, a, o, s = -Math.PI / 2) {
|
|
2129
2129
|
let c = a * 2;
|
|
2130
2130
|
for (let l = 0; l < c; l++) {
|
|
2131
2131
|
let c = s + l * Math.PI / a, u = l % 2 == 0 ? 1 : o, d = t + r * u * Math.cos(c), f = n + i * u * Math.sin(c);
|
|
@@ -2133,21 +2133,21 @@ function Qe(e, t, n, r, i, a, o, s = -Math.PI / 2) {
|
|
|
2133
2133
|
}
|
|
2134
2134
|
e.closePath();
|
|
2135
2135
|
}
|
|
2136
|
-
function
|
|
2136
|
+
function et(e, t, n, r, i, a, o = -Math.PI / 2) {
|
|
2137
2137
|
for (let s = 0; s < a; s++) {
|
|
2138
2138
|
let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
|
|
2139
2139
|
s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
|
|
2140
2140
|
}
|
|
2141
2141
|
e.closePath();
|
|
2142
2142
|
}
|
|
2143
|
-
function
|
|
2143
|
+
function tt(e, t, n, r, i, a, o) {
|
|
2144
2144
|
let s = (e) => Math.atan2(r * Math.sin(e), i * Math.cos(e)), c = s(a), l = s(a + o), u = t - r * Math.cos(c), d = n - i * Math.sin(c);
|
|
2145
2145
|
return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
|
|
2146
2146
|
x: u + r * Math.cos(l),
|
|
2147
2147
|
y: d + i * Math.sin(l)
|
|
2148
2148
|
};
|
|
2149
2149
|
}
|
|
2150
|
-
function
|
|
2150
|
+
function nt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
2151
2151
|
let u = n + i / 2, d = r + a / 2;
|
|
2152
2152
|
switch (t.toLowerCase()) {
|
|
2153
2153
|
case "ellipse":
|
|
@@ -2182,53 +2182,53 @@ function tt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2182
2182
|
break;
|
|
2183
2183
|
}
|
|
2184
2184
|
case "pentagon":
|
|
2185
|
-
|
|
2185
|
+
et(e, u, d, i / 2, a / 2, 5);
|
|
2186
2186
|
break;
|
|
2187
2187
|
case "hexagon":
|
|
2188
|
-
|
|
2188
|
+
et(e, u, d, i / 2, a / 2, 6, 0);
|
|
2189
2189
|
break;
|
|
2190
2190
|
case "heptagon":
|
|
2191
|
-
|
|
2191
|
+
et(e, u, d, i / 2, a / 2, 7);
|
|
2192
2192
|
break;
|
|
2193
2193
|
case "octagon":
|
|
2194
|
-
|
|
2194
|
+
et(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
|
|
2195
2195
|
break;
|
|
2196
2196
|
case "decagon":
|
|
2197
|
-
|
|
2197
|
+
et(e, u, d, i / 2, a / 2, 10);
|
|
2198
2198
|
break;
|
|
2199
2199
|
case "dodecagon":
|
|
2200
|
-
|
|
2200
|
+
et(e, u, d, i / 2, a / 2, 12);
|
|
2201
2201
|
break;
|
|
2202
2202
|
case "star4":
|
|
2203
|
-
|
|
2203
|
+
$e(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
|
|
2204
2204
|
break;
|
|
2205
2205
|
case "star5":
|
|
2206
2206
|
case "star":
|
|
2207
|
-
|
|
2207
|
+
$e(e, u, d, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
|
|
2208
2208
|
break;
|
|
2209
2209
|
case "star6":
|
|
2210
|
-
|
|
2210
|
+
$e(e, u, d, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
|
|
2211
2211
|
break;
|
|
2212
2212
|
case "star7":
|
|
2213
|
-
|
|
2213
|
+
$e(e, u, d, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
|
|
2214
2214
|
break;
|
|
2215
2215
|
case "star8":
|
|
2216
|
-
|
|
2216
|
+
$e(e, u, d, i / 2, a / 2, 8, (o ?? 37500) / 5e4, -Math.PI / 2);
|
|
2217
2217
|
break;
|
|
2218
2218
|
case "star10":
|
|
2219
|
-
|
|
2219
|
+
$e(e, u, d, i / 2, a / 2, 10, (o ?? 41421) / 5e4);
|
|
2220
2220
|
break;
|
|
2221
2221
|
case "star12":
|
|
2222
|
-
|
|
2222
|
+
$e(e, u, d, i / 2, a / 2, 12, (o ?? 37500) / 5e4, 0);
|
|
2223
2223
|
break;
|
|
2224
2224
|
case "star16":
|
|
2225
|
-
|
|
2225
|
+
$e(e, u, d, i / 2, a / 2, 16, (o ?? 37500) / 5e4, -Math.PI / 2);
|
|
2226
2226
|
break;
|
|
2227
2227
|
case "star24":
|
|
2228
|
-
|
|
2228
|
+
$e(e, u, d, i / 2, a / 2, 24, (o ?? 37500) / 5e4, 0);
|
|
2229
2229
|
break;
|
|
2230
2230
|
case "star32":
|
|
2231
|
-
|
|
2231
|
+
$e(e, u, d, i / 2, a / 2, 32, (o ?? 37500) / 5e4, -Math.PI / 2);
|
|
2232
2232
|
break;
|
|
2233
2233
|
case "rightarrow": {
|
|
2234
2234
|
let t = a * Math.min(1, (o ?? 5e4) / 1e5), c = i * Math.min(1, (s ?? 5e4) / 1e5), l = r + (a - t) / 2;
|
|
@@ -2598,8 +2598,8 @@ function tt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2598
2598
|
break;
|
|
2599
2599
|
}
|
|
2600
2600
|
case "quadarrowcallout": {
|
|
2601
|
-
let t = Math.min(i, a), f = Math.min(5e4, Math.max(0, s ?? 18515)), p = f * 2, m = Math.min(p, Math.max(0, o ?? 18515)), h = 5e4 - f, g = Math.min(h, Math.max(0, c ?? 18515)), _ = 1e5 - 2 * g, v = Math.min(_, Math.max(m, l ?? 48123)), y = t * f / 1e5, b = t * m / 2e5, x = t * g / 1e5, S = i * v / 2e5, C = a * v / 2e5, w = u - S, T = u + S, E = u - y, D = u + y, O = u - b, k = u + b, A = n + i - x, j = d - C, M = d + C, N = d - y, P = d + y, F = d - b,
|
|
2602
|
-
e.moveTo(n, d), e.lineTo(n + x, N), e.lineTo(n + x, F), e.lineTo(w, F), e.lineTo(w, j), e.lineTo(O, j), e.lineTo(O, r + x), e.lineTo(E, r + x), e.lineTo(u, r), e.lineTo(D, r + x), e.lineTo(k, r + x), e.lineTo(k, j), e.lineTo(T, j), e.lineTo(T, F), e.lineTo(A, F), e.lineTo(A, N), e.lineTo(n + i, d), e.lineTo(A, P), e.lineTo(A,
|
|
2601
|
+
let t = Math.min(i, a), f = Math.min(5e4, Math.max(0, s ?? 18515)), p = f * 2, m = Math.min(p, Math.max(0, o ?? 18515)), h = 5e4 - f, g = Math.min(h, Math.max(0, c ?? 18515)), _ = 1e5 - 2 * g, v = Math.min(_, Math.max(m, l ?? 48123)), y = t * f / 1e5, b = t * m / 2e5, x = t * g / 1e5, S = i * v / 2e5, C = a * v / 2e5, w = u - S, T = u + S, E = u - y, D = u + y, O = u - b, k = u + b, A = n + i - x, j = d - C, M = d + C, N = d - y, P = d + y, F = d - b, ee = d + b, I = r + a - x;
|
|
2602
|
+
e.moveTo(n, d), e.lineTo(n + x, N), e.lineTo(n + x, F), e.lineTo(w, F), e.lineTo(w, j), e.lineTo(O, j), e.lineTo(O, r + x), e.lineTo(E, r + x), e.lineTo(u, r), e.lineTo(D, r + x), e.lineTo(k, r + x), e.lineTo(k, j), e.lineTo(T, j), e.lineTo(T, F), e.lineTo(A, F), e.lineTo(A, N), e.lineTo(n + i, d), e.lineTo(A, P), e.lineTo(A, ee), e.lineTo(T, ee), e.lineTo(T, M), e.lineTo(k, M), e.lineTo(k, I), e.lineTo(D, I), e.lineTo(u, r + a), e.lineTo(E, I), e.lineTo(O, I), e.lineTo(O, M), e.lineTo(w, M), e.lineTo(w, ee), e.lineTo(n + x, ee), e.lineTo(n + x, P), e.closePath();
|
|
2603
2603
|
break;
|
|
2604
2604
|
}
|
|
2605
2605
|
case "wave": {
|
|
@@ -2776,13 +2776,13 @@ function tt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2776
2776
|
break;
|
|
2777
2777
|
}
|
|
2778
2778
|
case "ellipseribbon": {
|
|
2779
|
-
let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = b * (h - h * h / i), S = h / 2, C = b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = y + E - O + y + E, A = a - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A,
|
|
2780
|
-
e.moveTo(n, r), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + O), e.quadraticCurveTo(n + i / 2, r + k, n + _, r + O), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r), e.lineTo(n + v, r + j), e.lineTo(n + i, r + A), e.quadraticCurveTo(n +
|
|
2779
|
+
let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = b * (h - h * h / i), S = h / 2, C = b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = y + E - O + y + E, A = a - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A, ee = i - P, I = k + A;
|
|
2780
|
+
e.moveTo(n, r), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + O), e.quadraticCurveTo(n + i / 2, r + k, n + _, r + O), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r), e.lineTo(n + v, r + j), e.lineTo(n + i, r + A), e.quadraticCurveTo(n + ee, r + F, n + _, r + M), e.lineTo(n + _, r + N), e.quadraticCurveTo(n + i / 2, r + I, n + m, r + N), e.lineTo(n + m, r + M), e.quadraticCurveTo(n + P, r + F, n, r + A), e.lineTo(n + f, r + j), e.closePath();
|
|
2781
2781
|
break;
|
|
2782
2782
|
}
|
|
2783
2783
|
case "ellipseribbon2": {
|
|
2784
|
-
let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M),
|
|
2785
|
-
e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n +
|
|
2784
|
+
let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M), ee = m / 2, I = a - (b * ee + M), L = i - ee, R = a - (A + M);
|
|
2785
|
+
e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n + L, r + I, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r + R, n + m, r + F), e.lineTo(n + m, r + P), e.quadraticCurveTo(n + ee, r + I, n, r + T), e.lineTo(n + f, r + N), e.closePath();
|
|
2786
2786
|
break;
|
|
2787
2787
|
}
|
|
2788
2788
|
case "circulararrow": {
|
|
@@ -2794,26 +2794,26 @@ function tt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2794
2794
|
}
|
|
2795
2795
|
case "curvedrightarrow": {
|
|
2796
2796
|
let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * i / (2 * m)) / t, _ = t * Math.min(g, Math.max(0, c ?? 25e3)) / 1e5, v = Math.sqrt(Math.max(0, i * i - _ * _)) * m / i, y = m + f, b = m + v, x = y + v, S = (p - f) / 2, C = b - S, w = x + S, T = a - p / 2, E = i - _, D = Math.atan2(_, v), O = -D, k = Math.PI - D;
|
|
2797
|
-
e.moveTo(n, r + m),
|
|
2797
|
+
e.moveTo(n, r + m), tt(e, n, r + m, i, m, Math.PI, O), e.lineTo(n + E, r + C), e.lineTo(n + i, r + T), e.lineTo(n + E, r + w), e.lineTo(n + E, r + x), tt(e, n + E, r + x, i, m, k, D), e.closePath();
|
|
2798
2798
|
break;
|
|
2799
2799
|
}
|
|
2800
2800
|
case "curvedleftarrow": {
|
|
2801
2801
|
let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * i / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, i * i - v * v)) * m / i, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = a - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = -A;
|
|
2802
2802
|
e.moveTo(n, r + E), e.lineTo(n + D, r + w), e.lineTo(n + D, r + x);
|
|
2803
|
-
let P =
|
|
2804
|
-
|
|
2803
|
+
let P = tt(e, n + D, r + x, i, m, O, j);
|
|
2804
|
+
tt(e, P.x, P.y, i, m, N, M), e.lineTo(n + D, r + T), e.closePath();
|
|
2805
2805
|
break;
|
|
2806
2806
|
}
|
|
2807
2807
|
case "curveduparrow": {
|
|
2808
2808
|
let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = i - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = Math.PI / 2 - O, P = Math.PI / 2 - A;
|
|
2809
2809
|
e.moveTo(n + E, r), e.lineTo(n + T, r + D), e.lineTo(n + S, r + D);
|
|
2810
|
-
let F =
|
|
2811
|
-
|
|
2810
|
+
let F = tt(e, n + S, r + D, m, a, N, M);
|
|
2811
|
+
tt(e, F.x, F.y, m, a, P, j), e.lineTo(n + w, r + D), e.closePath();
|
|
2812
2812
|
break;
|
|
2813
2813
|
}
|
|
2814
2814
|
case "curveddownarrow": {
|
|
2815
2815
|
let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = i - p / 2, D = a - v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = 3 * Math.PI / 2 + O;
|
|
2816
|
-
3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D),
|
|
2816
|
+
3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D), tt(e, n + x, r + D, m, a, j, -O), e.lineTo(n + b, r), tt(e, n + b, r, m, a, 3 * Math.PI / 2, O), e.lineTo(n + T, r + D), e.closePath();
|
|
2817
2817
|
break;
|
|
2818
2818
|
}
|
|
2819
2819
|
case "stripedrightarrow": {
|
|
@@ -2882,9 +2882,9 @@ function tt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2882
2882
|
}
|
|
2883
2883
|
//#endregion
|
|
2884
2884
|
//#region packages/core/src/shape/arrow.ts
|
|
2885
|
-
function
|
|
2885
|
+
function rt(e, t, n, r, i, a, o) {
|
|
2886
2886
|
if (i.type === "none") return;
|
|
2887
|
-
let s = Math.max(.5, a.width * o), c = i.w === "sm" ? 4 : i.w === "lg" ? 8 : 6, l = i.len === "sm" ? 4 : i.len === "lg" ? 8 : 6, u = s * c / 2, d = s * l, f =
|
|
2887
|
+
let s = Math.max(.5, a.width * o), c = i.w === "sm" ? 4 : i.w === "lg" ? 8 : 6, l = i.len === "sm" ? 4 : i.len === "lg" ? 8 : 6, u = s * c / 2, d = s * l, f = U(a.color);
|
|
2888
2888
|
switch (e.save(), e.translate(t, n), e.rotate(r), e.fillStyle = f, e.strokeStyle = f, e.lineWidth = s, e.setLineDash([]), e.beginPath(), i.type) {
|
|
2889
2889
|
case "triangle":
|
|
2890
2890
|
case "stealth":
|
|
@@ -2904,21 +2904,21 @@ function nt(e, t, n, r, i, a, o) {
|
|
|
2904
2904
|
}
|
|
2905
2905
|
//#endregion
|
|
2906
2906
|
//#region packages/core/src/image/svg-image-by-path.ts
|
|
2907
|
-
var
|
|
2908
|
-
function
|
|
2909
|
-
let t =
|
|
2907
|
+
var it = /* @__PURE__ */ new WeakMap(), at = 256;
|
|
2908
|
+
function ot(e) {
|
|
2909
|
+
let t = it.get(e);
|
|
2910
2910
|
return t || (t = {
|
|
2911
2911
|
imgs: /* @__PURE__ */ new Map(),
|
|
2912
2912
|
urls: /* @__PURE__ */ new Map()
|
|
2913
|
-
},
|
|
2913
|
+
}, it.set(e, t)), t;
|
|
2914
2914
|
}
|
|
2915
|
-
function
|
|
2915
|
+
function st(e, t) {
|
|
2916
2916
|
e.imgs.delete(t);
|
|
2917
2917
|
let n = e.urls.get(t);
|
|
2918
2918
|
n && (URL.revokeObjectURL(n), e.urls.delete(t));
|
|
2919
2919
|
}
|
|
2920
|
-
function
|
|
2921
|
-
let n =
|
|
2920
|
+
function ct(e, t) {
|
|
2921
|
+
let n = ot(t), r = n.imgs.get(e);
|
|
2922
2922
|
if (r) return n.imgs.delete(e), n.imgs.set(e, r), r;
|
|
2923
2923
|
let i = (async () => {
|
|
2924
2924
|
let r = await t(e, "image/svg+xml"), i = URL.createObjectURL(r);
|
|
@@ -2930,22 +2930,701 @@ function st(e, t) {
|
|
|
2930
2930
|
}, a.onerror = () => n(/* @__PURE__ */ Error(`svg load failed: ${e}`)), a.src = i;
|
|
2931
2931
|
}), a;
|
|
2932
2932
|
})();
|
|
2933
|
-
if (i.catch(() =>
|
|
2933
|
+
if (i.catch(() => st(n, e)), n.imgs.set(e, i), n.imgs.size > at) {
|
|
2934
2934
|
let e = n.imgs.keys().next().value;
|
|
2935
|
-
|
|
2935
|
+
st(n, e);
|
|
2936
2936
|
}
|
|
2937
2937
|
return i;
|
|
2938
2938
|
}
|
|
2939
|
-
function
|
|
2940
|
-
let t =
|
|
2939
|
+
function lt(e) {
|
|
2940
|
+
let t = it.get(e);
|
|
2941
2941
|
if (t) {
|
|
2942
2942
|
for (let e of t.urls.values()) URL.revokeObjectURL(e);
|
|
2943
|
-
t.urls.clear(), t.imgs.clear(),
|
|
2943
|
+
t.urls.clear(), t.imgs.clear(), it.delete(e);
|
|
2944
2944
|
}
|
|
2945
2945
|
}
|
|
2946
2946
|
//#endregion
|
|
2947
|
+
//#region packages/core/src/image/emf.ts
|
|
2948
|
+
var Z = {
|
|
2949
|
+
HEADER: 1,
|
|
2950
|
+
POLYBEZIER: 2,
|
|
2951
|
+
POLYGON: 3,
|
|
2952
|
+
POLYLINE: 4,
|
|
2953
|
+
POLYBEZIERTO: 5,
|
|
2954
|
+
POLYLINETO: 6,
|
|
2955
|
+
POLYPOLYLINE: 7,
|
|
2956
|
+
POLYPOLYGON: 8,
|
|
2957
|
+
EOF: 14,
|
|
2958
|
+
SETPOLYFILLMODE: 19,
|
|
2959
|
+
SETBKMODE: 18,
|
|
2960
|
+
SETTEXTALIGN: 22,
|
|
2961
|
+
SETTEXTCOLOR: 24,
|
|
2962
|
+
MOVETOEX: 27,
|
|
2963
|
+
SAVEDC: 33,
|
|
2964
|
+
RESTOREDC: 34,
|
|
2965
|
+
SETWORLDTRANSFORM: 35,
|
|
2966
|
+
MODIFYWORLDTRANSFORM: 36,
|
|
2967
|
+
SELECTOBJECT: 37,
|
|
2968
|
+
CREATEPEN: 38,
|
|
2969
|
+
CREATEBRUSHINDIRECT: 39,
|
|
2970
|
+
DELETEOBJECT: 40,
|
|
2971
|
+
ELLIPSE: 42,
|
|
2972
|
+
RECTANGLE: 43,
|
|
2973
|
+
LINETO: 54,
|
|
2974
|
+
EXTCREATEFONTINDIRECTW: 82,
|
|
2975
|
+
EXTTEXTOUTW: 84,
|
|
2976
|
+
POLYBEZIER16: 85,
|
|
2977
|
+
POLYGON16: 86,
|
|
2978
|
+
POLYLINE16: 87,
|
|
2979
|
+
POLYBEZIERTO16: 88,
|
|
2980
|
+
POLYLINETO16: 89,
|
|
2981
|
+
POLYPOLYLINE16: 90,
|
|
2982
|
+
POLYPOLYGON16: 91,
|
|
2983
|
+
CREATEMONOBRUSH: 93,
|
|
2984
|
+
CREATEDIBPATTERNBRUSHPT: 94,
|
|
2985
|
+
EXTCREATEPEN: 95,
|
|
2986
|
+
BITBLT: 76,
|
|
2987
|
+
STRETCHDIBITS: 81
|
|
2988
|
+
}, ut = {
|
|
2989
|
+
WHITE_BRUSH: 2147483648,
|
|
2990
|
+
LTGRAY_BRUSH: 2147483649,
|
|
2991
|
+
GRAY_BRUSH: 2147483650,
|
|
2992
|
+
DKGRAY_BRUSH: 2147483651,
|
|
2993
|
+
BLACK_BRUSH: 2147483652,
|
|
2994
|
+
NULL_BRUSH: 2147483653,
|
|
2995
|
+
WHITE_PEN: 2147483654,
|
|
2996
|
+
BLACK_PEN: 2147483655,
|
|
2997
|
+
NULL_PEN: 2147483656,
|
|
2998
|
+
DC_BRUSH: 2147483666,
|
|
2999
|
+
DC_PEN: 2147483662
|
|
3000
|
+
}, dt = () => ({
|
|
3001
|
+
m11: 1,
|
|
3002
|
+
m12: 0,
|
|
3003
|
+
m21: 0,
|
|
3004
|
+
m22: 1,
|
|
3005
|
+
dx: 0,
|
|
3006
|
+
dy: 0
|
|
3007
|
+
});
|
|
3008
|
+
function ft(e, t) {
|
|
3009
|
+
return {
|
|
3010
|
+
m11: e.m11 * t.m11 + e.m21 * t.m12,
|
|
3011
|
+
m12: e.m12 * t.m11 + e.m22 * t.m12,
|
|
3012
|
+
m21: e.m11 * t.m21 + e.m21 * t.m22,
|
|
3013
|
+
m22: e.m12 * t.m21 + e.m22 * t.m22,
|
|
3014
|
+
dx: e.m11 * t.dx + e.m21 * t.dy + e.dx,
|
|
3015
|
+
dy: e.m12 * t.dx + e.m22 * t.dy + e.dy
|
|
3016
|
+
};
|
|
3017
|
+
}
|
|
3018
|
+
var pt = class {
|
|
3019
|
+
p;
|
|
3020
|
+
constructor(e, t, n) {
|
|
3021
|
+
this.dv = e, this.end = n, this.p = t;
|
|
3022
|
+
}
|
|
3023
|
+
get pos() {
|
|
3024
|
+
return this.p;
|
|
3025
|
+
}
|
|
3026
|
+
set pos(e) {
|
|
3027
|
+
this.p = e;
|
|
3028
|
+
}
|
|
3029
|
+
get remaining() {
|
|
3030
|
+
return this.end - this.p;
|
|
3031
|
+
}
|
|
3032
|
+
i16() {
|
|
3033
|
+
let e = this.dv.getInt16(this.p, !0);
|
|
3034
|
+
return this.p += 2, e;
|
|
3035
|
+
}
|
|
3036
|
+
i32() {
|
|
3037
|
+
let e = this.dv.getInt32(this.p, !0);
|
|
3038
|
+
return this.p += 4, e;
|
|
3039
|
+
}
|
|
3040
|
+
u32() {
|
|
3041
|
+
let e = this.dv.getUint32(this.p, !0);
|
|
3042
|
+
return this.p += 4, e;
|
|
3043
|
+
}
|
|
3044
|
+
f32() {
|
|
3045
|
+
let e = this.dv.getFloat32(this.p, !0);
|
|
3046
|
+
return this.p += 4, e;
|
|
3047
|
+
}
|
|
3048
|
+
xform() {
|
|
3049
|
+
return {
|
|
3050
|
+
m11: this.f32(),
|
|
3051
|
+
m12: this.f32(),
|
|
3052
|
+
m21: this.f32(),
|
|
3053
|
+
m22: this.f32(),
|
|
3054
|
+
dx: this.f32(),
|
|
3055
|
+
dy: this.f32()
|
|
3056
|
+
};
|
|
3057
|
+
}
|
|
3058
|
+
skip(e) {
|
|
3059
|
+
this.p += e;
|
|
3060
|
+
}
|
|
3061
|
+
};
|
|
3062
|
+
function mt(e, t, n) {
|
|
3063
|
+
return e.wt.m11 * t + e.wt.m21 * n + e.wt.dx;
|
|
3064
|
+
}
|
|
3065
|
+
function ht(e, t, n) {
|
|
3066
|
+
return e.wt.m12 * t + e.wt.m22 * n + e.wt.dy;
|
|
3067
|
+
}
|
|
3068
|
+
function Q(e, t, n) {
|
|
3069
|
+
let r = mt(e, t, n), i = ht(e, t, n);
|
|
3070
|
+
return [(r - e.left) * e.W / e.boundsW, (i - e.top) * e.H / e.boundsH];
|
|
3071
|
+
}
|
|
3072
|
+
function gt(e) {
|
|
3073
|
+
return (Math.hypot(e.wt.m11, e.wt.m12) + Math.hypot(e.wt.m21, e.wt.m22)) / 2;
|
|
3074
|
+
}
|
|
3075
|
+
function _t(e) {
|
|
3076
|
+
return (e.W / e.boundsW + e.H / e.boundsH) / 2;
|
|
3077
|
+
}
|
|
3078
|
+
function vt(e) {
|
|
3079
|
+
return Math.hypot(e.wt.m21, e.wt.m22);
|
|
3080
|
+
}
|
|
3081
|
+
function yt(e) {
|
|
3082
|
+
return e.H / e.boundsH;
|
|
3083
|
+
}
|
|
3084
|
+
function bt(e, t) {
|
|
3085
|
+
let n = t * gt(e) * _t(e);
|
|
3086
|
+
return Math.max(.75, n);
|
|
3087
|
+
}
|
|
3088
|
+
var xt = {
|
|
3089
|
+
[ut.WHITE_BRUSH]: {
|
|
3090
|
+
kind: "brush",
|
|
3091
|
+
fill: "#ffffff"
|
|
3092
|
+
},
|
|
3093
|
+
[ut.LTGRAY_BRUSH]: {
|
|
3094
|
+
kind: "brush",
|
|
3095
|
+
fill: "#c0c0c0"
|
|
3096
|
+
},
|
|
3097
|
+
[ut.GRAY_BRUSH]: {
|
|
3098
|
+
kind: "brush",
|
|
3099
|
+
fill: "#808080"
|
|
3100
|
+
},
|
|
3101
|
+
[ut.DKGRAY_BRUSH]: {
|
|
3102
|
+
kind: "brush",
|
|
3103
|
+
fill: "#404040"
|
|
3104
|
+
},
|
|
3105
|
+
[ut.BLACK_BRUSH]: {
|
|
3106
|
+
kind: "brush",
|
|
3107
|
+
fill: "#000000"
|
|
3108
|
+
},
|
|
3109
|
+
[ut.NULL_BRUSH]: {
|
|
3110
|
+
kind: "brush",
|
|
3111
|
+
fill: null
|
|
3112
|
+
}
|
|
3113
|
+
}, St = {
|
|
3114
|
+
[ut.WHITE_PEN]: {
|
|
3115
|
+
kind: "pen",
|
|
3116
|
+
stroke: "#ffffff",
|
|
3117
|
+
width: 1
|
|
3118
|
+
},
|
|
3119
|
+
[ut.BLACK_PEN]: {
|
|
3120
|
+
kind: "pen",
|
|
3121
|
+
stroke: "#000000",
|
|
3122
|
+
width: 1
|
|
3123
|
+
},
|
|
3124
|
+
[ut.NULL_PEN]: {
|
|
3125
|
+
kind: "pen",
|
|
3126
|
+
stroke: null,
|
|
3127
|
+
width: 1
|
|
3128
|
+
},
|
|
3129
|
+
[ut.DC_PEN]: {
|
|
3130
|
+
kind: "pen",
|
|
3131
|
+
stroke: "#000000",
|
|
3132
|
+
width: 1
|
|
3133
|
+
}
|
|
3134
|
+
};
|
|
3135
|
+
function Ct(e, t) {
|
|
3136
|
+
let n = xt[t];
|
|
3137
|
+
if (n) {
|
|
3138
|
+
e.curBrush = n;
|
|
3139
|
+
return;
|
|
3140
|
+
}
|
|
3141
|
+
let r = St[t];
|
|
3142
|
+
if (r) {
|
|
3143
|
+
e.curPen = r;
|
|
3144
|
+
return;
|
|
3145
|
+
}
|
|
3146
|
+
t === ut.DC_BRUSH && (e.curBrush = e.curBrush ?? {
|
|
3147
|
+
kind: "brush",
|
|
3148
|
+
fill: "#000000"
|
|
3149
|
+
});
|
|
3150
|
+
}
|
|
3151
|
+
function wt(e, t, n, r, i) {
|
|
3152
|
+
if (n < 40 || t + 40 > e.byteLength) return null;
|
|
3153
|
+
let a = e.getUint32(t, !0);
|
|
3154
|
+
if (a < 40) return null;
|
|
3155
|
+
let o = e.getInt32(t + 4, !0), s = e.getInt32(t + 8, !0), c = e.getUint16(t + 14, !0);
|
|
3156
|
+
if (e.getUint32(t + 16, !0) !== 0) return null;
|
|
3157
|
+
let l = s < 0, u = Math.abs(o), d = Math.abs(s);
|
|
3158
|
+
if (u <= 0 || d <= 0 || u > 65536 || d > 65536) return null;
|
|
3159
|
+
let f = new Uint8ClampedArray(u * d * 4), p = u * c + 31 >> 5 << 2 >>> 0;
|
|
3160
|
+
if (r + p * d > r + i + p && r + p * d > e.byteLength) return null;
|
|
3161
|
+
let m = null;
|
|
3162
|
+
if (c <= 8) {
|
|
3163
|
+
let n = e.getUint32(t + 32, !0);
|
|
3164
|
+
n === 0 && (n = 1 << c);
|
|
3165
|
+
let r = t + a;
|
|
3166
|
+
m = [];
|
|
3167
|
+
for (let t = 0; t < n; t++) {
|
|
3168
|
+
let n = r + t * 4;
|
|
3169
|
+
if (n + 4 > e.byteLength) break;
|
|
3170
|
+
let i = e.getUint8(n), a = e.getUint8(n + 1), o = e.getUint8(n + 2);
|
|
3171
|
+
m.push(o << 16 | a << 8 | i);
|
|
3172
|
+
}
|
|
3173
|
+
}
|
|
3174
|
+
let h = (e, t, n, r, i, a) => {
|
|
3175
|
+
let o = (e * u + t) * 4;
|
|
3176
|
+
f[o] = n, f[o + 1] = r, f[o + 2] = i, f[o + 3] = a;
|
|
3177
|
+
}, g = !1;
|
|
3178
|
+
for (let t = 0; t < d; t++) {
|
|
3179
|
+
let n = l ? t : d - 1 - t, i = t, a = r + n * p;
|
|
3180
|
+
if (a + p > e.byteLength) break;
|
|
3181
|
+
if (c === 32) for (let t = 0; t < u; t++) {
|
|
3182
|
+
let n = a + t * 4, r = e.getUint8(n), o = e.getUint8(n + 1), s = e.getUint8(n + 2), c = e.getUint8(n + 3);
|
|
3183
|
+
c !== 0 && (g = !0), h(i, t, s, o, r, c);
|
|
3184
|
+
}
|
|
3185
|
+
else if (c === 24) {
|
|
3186
|
+
for (let t = 0; t < u; t++) {
|
|
3187
|
+
let n = a + t * 3;
|
|
3188
|
+
h(i, t, e.getUint8(n + 2), e.getUint8(n + 1), e.getUint8(n), 255);
|
|
3189
|
+
}
|
|
3190
|
+
g = !0;
|
|
3191
|
+
} else if (c === 8 && m) {
|
|
3192
|
+
for (let t = 0; t < u; t++) {
|
|
3193
|
+
let n = e.getUint8(a + t), r = m[n] ?? 0;
|
|
3194
|
+
h(i, t, r >> 16 & 255, r >> 8 & 255, r & 255, 255);
|
|
3195
|
+
}
|
|
3196
|
+
g = !0;
|
|
3197
|
+
} else return null;
|
|
3198
|
+
}
|
|
3199
|
+
if (c === 32 && !g) for (let e = 3; e < f.length; e += 4) f[e] = 255;
|
|
3200
|
+
return {
|
|
3201
|
+
width: u,
|
|
3202
|
+
height: d,
|
|
3203
|
+
data: f
|
|
3204
|
+
};
|
|
3205
|
+
}
|
|
3206
|
+
function Tt(e) {
|
|
3207
|
+
let t = 0, n = 0, r = 0, i = 0;
|
|
3208
|
+
for (let a = 0; a < e.data.length; a += 4) e.data[a + 3] !== 0 && (t += e.data[a], n += e.data[a + 1], r += e.data[a + 2], i++);
|
|
3209
|
+
if (i === 0) return "#808080";
|
|
3210
|
+
let a = (e) => Math.round(e / i).toString(16).padStart(2, "0");
|
|
3211
|
+
return `#${a(t)}${a(n)}${a(r)}`;
|
|
3212
|
+
}
|
|
3213
|
+
var Et = (e) => [e.i16(), e.i16()], Dt = (e) => [e.i32(), e.i32()];
|
|
3214
|
+
function Ot(e, t, n) {
|
|
3215
|
+
t.skip(16);
|
|
3216
|
+
let r = t.u32();
|
|
3217
|
+
if (r < 2 || r > 1048576 || !e.curPen || e.curPen.stroke == null) return;
|
|
3218
|
+
let { ctx: i } = e;
|
|
3219
|
+
i.beginPath();
|
|
3220
|
+
let a = 0, o = 0;
|
|
3221
|
+
for (let s = 0; s < r && !(t.remaining < 4); s++) {
|
|
3222
|
+
let [r, c] = n(t), [l, u] = Q(e, r, c);
|
|
3223
|
+
s === 0 ? i.moveTo(l, u) : i.lineTo(l, u), a = r, o = c;
|
|
3224
|
+
}
|
|
3225
|
+
i.strokeStyle = e.curPen.stroke, i.lineWidth = bt(e, e.curPen.width), i.stroke(), e.drew = !0, e.curX = a, e.curY = o;
|
|
3226
|
+
}
|
|
3227
|
+
function kt(e, t, n) {
|
|
3228
|
+
t.skip(16);
|
|
3229
|
+
let r = t.u32();
|
|
3230
|
+
if (r < 1 || r > 1048576) return;
|
|
3231
|
+
let { ctx: i } = e, a = e.curPen != null && e.curPen.stroke != null;
|
|
3232
|
+
if (a) {
|
|
3233
|
+
i.beginPath();
|
|
3234
|
+
let [t, n] = Q(e, e.curX, e.curY);
|
|
3235
|
+
i.moveTo(t, n);
|
|
3236
|
+
}
|
|
3237
|
+
for (let o = 0; o < r && !(t.remaining < 4); o++) {
|
|
3238
|
+
let [r, o] = n(t);
|
|
3239
|
+
if (a) {
|
|
3240
|
+
let [t, n] = Q(e, r, o);
|
|
3241
|
+
i.lineTo(t, n);
|
|
3242
|
+
}
|
|
3243
|
+
e.curX = r, e.curY = o;
|
|
3244
|
+
}
|
|
3245
|
+
a && e.curPen && (i.strokeStyle = e.curPen.stroke, i.lineWidth = bt(e, e.curPen.width), i.stroke(), e.drew = !0);
|
|
3246
|
+
}
|
|
3247
|
+
function At(e, t, n) {
|
|
3248
|
+
t.skip(16);
|
|
3249
|
+
let r = t.u32();
|
|
3250
|
+
if (r < 2 || r > 1048576) return;
|
|
3251
|
+
let { ctx: i } = e;
|
|
3252
|
+
i.beginPath();
|
|
3253
|
+
let a = !1;
|
|
3254
|
+
for (let o = 0; o < r && !(t.remaining < 4); o++) {
|
|
3255
|
+
let [r, o] = n(t), [s, c] = Q(e, r, o);
|
|
3256
|
+
a ? i.lineTo(s, c) : (i.moveTo(s, c), a = !0);
|
|
3257
|
+
}
|
|
3258
|
+
a && (i.closePath(), e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth = bt(e, e.curPen.width), i.stroke(), e.drew = !0));
|
|
3259
|
+
}
|
|
3260
|
+
function jt(e, t, n, r) {
|
|
3261
|
+
t.skip(16);
|
|
3262
|
+
let i = t.u32();
|
|
3263
|
+
if (i < 1 || i > 1048576) return;
|
|
3264
|
+
let a = [];
|
|
3265
|
+
for (let e = 0; e < i && !(t.remaining < 4); e++) a.push(n(t));
|
|
3266
|
+
if (a.length < (r ? 3 : 4)) {
|
|
3267
|
+
a.length && (e.curX = a[a.length - 1][0], e.curY = a[a.length - 1][1]);
|
|
3268
|
+
return;
|
|
3269
|
+
}
|
|
3270
|
+
let o = e.curPen != null && e.curPen.stroke != null, { ctx: s } = e;
|
|
3271
|
+
if (o) {
|
|
3272
|
+
s.beginPath();
|
|
3273
|
+
let t = r ? Q(e, e.curX, e.curY) : Q(e, a[0][0], a[0][1]);
|
|
3274
|
+
s.moveTo(t[0], t[1]);
|
|
3275
|
+
}
|
|
3276
|
+
let c = +!r;
|
|
3277
|
+
for (; c + 2 < a.length + +!!r; c += 3) {
|
|
3278
|
+
let t = a[c], n = a[c + 1], r = a[c + 2];
|
|
3279
|
+
if (!t || !n || !r) break;
|
|
3280
|
+
if (o) {
|
|
3281
|
+
let i = Q(e, t[0], t[1]), a = Q(e, n[0], n[1]), o = Q(e, r[0], r[1]);
|
|
3282
|
+
s.bezierCurveTo(i[0], i[1], a[0], a[1], o[0], o[1]);
|
|
3283
|
+
}
|
|
3284
|
+
e.curX = r[0], e.curY = r[1];
|
|
3285
|
+
}
|
|
3286
|
+
o && e.curPen && (s.strokeStyle = e.curPen.stroke, s.lineWidth = bt(e, e.curPen.width), s.stroke(), e.drew = !0);
|
|
3287
|
+
}
|
|
3288
|
+
function Mt(e, t, n, r) {
|
|
3289
|
+
t.skip(16);
|
|
3290
|
+
let i = t.u32(), a = t.u32();
|
|
3291
|
+
if (i <= 0 || i > 65536 || a <= 0 || a > 2097152) return;
|
|
3292
|
+
let o = [];
|
|
3293
|
+
for (let e = 0; e < i; e++) {
|
|
3294
|
+
if (t.remaining < 4) return;
|
|
3295
|
+
o.push(t.u32());
|
|
3296
|
+
}
|
|
3297
|
+
let { ctx: s } = e;
|
|
3298
|
+
s.beginPath();
|
|
3299
|
+
let c = !1;
|
|
3300
|
+
for (let i of o) {
|
|
3301
|
+
if (i < 2) {
|
|
3302
|
+
for (let e = 0; e < i && t.remaining >= 4; e++) n(t);
|
|
3303
|
+
continue;
|
|
3304
|
+
}
|
|
3305
|
+
for (let r = 0; r < i && !(t.remaining < 4); r++) {
|
|
3306
|
+
let [i, a] = n(t), [o, c] = Q(e, i, a);
|
|
3307
|
+
r === 0 ? s.moveTo(o, c) : s.lineTo(o, c);
|
|
3308
|
+
}
|
|
3309
|
+
r && s.closePath(), c = !0;
|
|
3310
|
+
}
|
|
3311
|
+
c && (r && e.curBrush && e.curBrush.fill != null && (s.fillStyle = e.curBrush.fill, s.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (s.strokeStyle = e.curPen.stroke, s.lineWidth = bt(e, e.curPen.width), s.stroke(), e.drew = !0));
|
|
3312
|
+
}
|
|
3313
|
+
function Nt(e, t, n, r, i) {
|
|
3314
|
+
let { ctx: a } = e, o = Q(e, t, n), s = Q(e, r, n), c = Q(e, r, i), l = Q(e, t, i);
|
|
3315
|
+
a.beginPath(), a.moveTo(o[0], o[1]), a.lineTo(s[0], s[1]), a.lineTo(c[0], c[1]), a.lineTo(l[0], l[1]), a.closePath(), e.curBrush && e.curBrush.fill != null && (a.fillStyle = e.curBrush.fill, a.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (a.strokeStyle = e.curPen.stroke, a.lineWidth = bt(e, e.curPen.width), a.stroke(), e.drew = !0);
|
|
3316
|
+
}
|
|
3317
|
+
function Pt(e) {
|
|
3318
|
+
let t = e.u32(), n = e.u32(), r = e.i32();
|
|
3319
|
+
e.i32();
|
|
3320
|
+
let i = e.u32();
|
|
3321
|
+
return [t, {
|
|
3322
|
+
kind: "pen",
|
|
3323
|
+
stroke: (n & 255) == 5 ? null : $t(i),
|
|
3324
|
+
width: Math.abs(r)
|
|
3325
|
+
}];
|
|
3326
|
+
}
|
|
3327
|
+
function Ft(e) {
|
|
3328
|
+
let t = e.u32();
|
|
3329
|
+
e.skip(16);
|
|
3330
|
+
let n = e.u32(), r = e.u32();
|
|
3331
|
+
e.u32();
|
|
3332
|
+
let i = e.u32();
|
|
3333
|
+
return [t, {
|
|
3334
|
+
kind: "pen",
|
|
3335
|
+
stroke: (n & 255) == 5 ? null : $t(i),
|
|
3336
|
+
width: Math.abs(r)
|
|
3337
|
+
}];
|
|
3338
|
+
}
|
|
3339
|
+
function It(e) {
|
|
3340
|
+
let t = e.u32(), n = e.u32(), r = e.u32();
|
|
3341
|
+
return e.u32(), [t, {
|
|
3342
|
+
kind: "brush",
|
|
3343
|
+
fill: n === 1 ? null : $t(r)
|
|
3344
|
+
}];
|
|
3345
|
+
}
|
|
3346
|
+
function Lt(e, t, n) {
|
|
3347
|
+
let r = e.u32();
|
|
3348
|
+
e.u32();
|
|
3349
|
+
let i = e.u32(), a = e.u32(), o = e.u32(), s = e.u32(), c = "#808080";
|
|
3350
|
+
try {
|
|
3351
|
+
let e = wt(t, n + i, a, n + o, s);
|
|
3352
|
+
e && (c = Tt(e));
|
|
3353
|
+
} catch {}
|
|
3354
|
+
return [r, {
|
|
3355
|
+
kind: "brush",
|
|
3356
|
+
fill: c
|
|
3357
|
+
}];
|
|
3358
|
+
}
|
|
3359
|
+
function Rt(e, t, n) {
|
|
3360
|
+
let r = e.u32(), i = n + 12, a = t.getInt32(i, !0), o = t.getInt32(i + 16, !0), s = t.getUint8(i + 20), c = "";
|
|
3361
|
+
for (let e = 0; e < 32; e++) {
|
|
3362
|
+
let n = i + 28 + e * 2;
|
|
3363
|
+
if (n + 2 > t.byteLength) break;
|
|
3364
|
+
let r = t.getUint16(n, !0);
|
|
3365
|
+
if (r === 0) break;
|
|
3366
|
+
c += String.fromCharCode(r);
|
|
3367
|
+
}
|
|
3368
|
+
return [r, {
|
|
3369
|
+
kind: "font",
|
|
3370
|
+
height: Math.abs(a),
|
|
3371
|
+
weight: o,
|
|
3372
|
+
italic: s !== 0,
|
|
3373
|
+
face: c
|
|
3374
|
+
}];
|
|
3375
|
+
}
|
|
3376
|
+
function zt(e, t, n, r) {
|
|
3377
|
+
t.skip(16), t.u32(), t.f32(), t.f32();
|
|
3378
|
+
let i = t.i32(), a = t.i32(), o = t.u32(), s = t.u32();
|
|
3379
|
+
if (t.u32(), o <= 0 || o > 65536) return;
|
|
3380
|
+
let c = "";
|
|
3381
|
+
for (let e = 0; e < o; e++) {
|
|
3382
|
+
let t = r + s + e * 2;
|
|
3383
|
+
if (t + 2 > n.byteLength) break;
|
|
3384
|
+
c += String.fromCharCode(n.getUint16(t, !0));
|
|
3385
|
+
}
|
|
3386
|
+
if (c.length === 0) return;
|
|
3387
|
+
let l = e.curFont, u = Math.abs(l?.height ?? 0) * vt(e) * yt(e);
|
|
3388
|
+
if (!Number.isFinite(u) || u < 1) return;
|
|
3389
|
+
let { ctx: d } = e, [f, p] = Q(e, i, a);
|
|
3390
|
+
d.fillStyle = e.textColor;
|
|
3391
|
+
let m = l && l.weight >= 700 ? "bold " : "";
|
|
3392
|
+
d.font = `${l?.italic ? "italic " : ""}${m}${u}px ${l?.face || "sans-serif"}`;
|
|
3393
|
+
let h = e.textAlign & 6;
|
|
3394
|
+
d.textAlign = h === 2 ? "right" : h === 6 ? "center" : "left", d.textBaseline = (e.textAlign & 24) == 24 ? "alphabetic" : "top";
|
|
3395
|
+
try {
|
|
3396
|
+
d.fillText(c, f, p), e.drew = !0;
|
|
3397
|
+
} catch {}
|
|
3398
|
+
}
|
|
3399
|
+
function Bt(e, t, n, r, i, a, o, s, c, l, u) {
|
|
3400
|
+
if (!(i === 0 || o === 0)) try {
|
|
3401
|
+
let d = wt(t, n + r, i, n + a, o);
|
|
3402
|
+
if (!d || typeof OffscreenCanvas > "u") return;
|
|
3403
|
+
let f = new OffscreenCanvas(d.width, d.height), p = f.getContext("2d");
|
|
3404
|
+
if (!p) return;
|
|
3405
|
+
let m = p.createImageData(d.width, d.height);
|
|
3406
|
+
m.data.set(d.data), p.putImageData(m, 0, 0);
|
|
3407
|
+
let [h, g] = Q(e, s, c), [_, v] = Q(e, l, u);
|
|
3408
|
+
e.ctx.drawImage(f, h, g, _ - h, v - g), e.drew = !0;
|
|
3409
|
+
} catch {}
|
|
3410
|
+
}
|
|
3411
|
+
function Vt(e, t, n, r) {
|
|
3412
|
+
t.skip(16);
|
|
3413
|
+
let i = t.i32(), a = t.i32(), o = t.i32(), s = t.i32();
|
|
3414
|
+
t.u32(), t.i32(), t.i32(), t.skip(24), t.u32(), t.u32(), Bt(e, n, r, t.u32(), t.u32(), t.u32(), t.u32(), i, a, i + o, a + s);
|
|
3415
|
+
}
|
|
3416
|
+
function Ht(e, t, n, r) {
|
|
3417
|
+
t.skip(16);
|
|
3418
|
+
let i = t.i32(), a = t.i32();
|
|
3419
|
+
t.i32(), t.i32(), t.i32(), t.i32();
|
|
3420
|
+
let o = t.u32(), s = t.u32(), c = t.u32(), l = t.u32();
|
|
3421
|
+
t.u32(), t.u32();
|
|
3422
|
+
let u = t.i32(), d = t.i32();
|
|
3423
|
+
Bt(e, n, r, o, s, c, l, i, a, i + u, a + d);
|
|
3424
|
+
}
|
|
3425
|
+
function Ut(e, t, n, r) {
|
|
3426
|
+
if (!Qt(e) || n <= 0 || r <= 0) return !1;
|
|
3427
|
+
let i = new DataView(e.buffer, e.byteOffset, e.byteLength), a = {
|
|
3428
|
+
ctx: t,
|
|
3429
|
+
W: n,
|
|
3430
|
+
H: r,
|
|
3431
|
+
left: 0,
|
|
3432
|
+
top: 0,
|
|
3433
|
+
boundsW: n,
|
|
3434
|
+
boundsH: r,
|
|
3435
|
+
wt: dt(),
|
|
3436
|
+
objects: /* @__PURE__ */ new Map(),
|
|
3437
|
+
curPen: null,
|
|
3438
|
+
curBrush: null,
|
|
3439
|
+
curFont: null,
|
|
3440
|
+
textColor: "#000000",
|
|
3441
|
+
bkMode: 1,
|
|
3442
|
+
textAlign: 0,
|
|
3443
|
+
fillRule: "nonzero",
|
|
3444
|
+
curX: 0,
|
|
3445
|
+
curY: 0,
|
|
3446
|
+
stack: [],
|
|
3447
|
+
drew: !1
|
|
3448
|
+
}, o = 0;
|
|
3449
|
+
for (; o + 8 <= e.length;) {
|
|
3450
|
+
let n = i.getUint32(o, !0), r = i.getUint32(o + 4, !0);
|
|
3451
|
+
if (r < 8 || r & 3) break;
|
|
3452
|
+
let s = o + r;
|
|
3453
|
+
if (s > e.length || n === Z.EOF) break;
|
|
3454
|
+
let c = new pt(i, o + 8, s);
|
|
3455
|
+
try {
|
|
3456
|
+
switch (n) {
|
|
3457
|
+
case Z.HEADER: {
|
|
3458
|
+
let e = i.getInt32(o + 8, !0), t = i.getInt32(o + 12, !0), n = i.getInt32(o + 16, !0), r = i.getInt32(o + 20, !0);
|
|
3459
|
+
a.left = e, a.top = t, a.boundsW = Math.max(1, n - e), a.boundsH = Math.max(1, r - t);
|
|
3460
|
+
break;
|
|
3461
|
+
}
|
|
3462
|
+
case Z.SETWORLDTRANSFORM:
|
|
3463
|
+
a.wt = c.xform();
|
|
3464
|
+
break;
|
|
3465
|
+
case Z.MODIFYWORLDTRANSFORM: {
|
|
3466
|
+
let e = c.xform(), t = c.u32();
|
|
3467
|
+
t === 1 ? a.wt = dt() : t === 2 ? a.wt = ft(e, a.wt) : t === 3 ? a.wt = ft(a.wt, e) : t === 4 && (a.wt = e);
|
|
3468
|
+
break;
|
|
3469
|
+
}
|
|
3470
|
+
case Z.SAVEDC:
|
|
3471
|
+
a.stack.push({
|
|
3472
|
+
wt: { ...a.wt },
|
|
3473
|
+
curPen: a.curPen,
|
|
3474
|
+
curBrush: a.curBrush,
|
|
3475
|
+
curFont: a.curFont,
|
|
3476
|
+
textColor: a.textColor,
|
|
3477
|
+
bkMode: a.bkMode,
|
|
3478
|
+
textAlign: a.textAlign,
|
|
3479
|
+
fillRule: a.fillRule,
|
|
3480
|
+
curX: a.curX,
|
|
3481
|
+
curY: a.curY
|
|
3482
|
+
});
|
|
3483
|
+
break;
|
|
3484
|
+
case Z.RESTOREDC: {
|
|
3485
|
+
let e = c.i32(), t = Math.min(Math.abs(e) || 1, a.stack.length), n;
|
|
3486
|
+
for (let e = 0; e < t; e++) n = a.stack.pop();
|
|
3487
|
+
n && (a.wt = n.wt, a.curPen = n.curPen, a.curBrush = n.curBrush, a.curFont = n.curFont, a.textColor = n.textColor, a.bkMode = n.bkMode, a.textAlign = n.textAlign, a.fillRule = n.fillRule, a.curX = n.curX, a.curY = n.curY);
|
|
3488
|
+
break;
|
|
3489
|
+
}
|
|
3490
|
+
case Z.SELECTOBJECT: {
|
|
3491
|
+
let e = c.u32();
|
|
3492
|
+
if (e & 2147483648) Ct(a, e >>> 0);
|
|
3493
|
+
else {
|
|
3494
|
+
let t = a.objects.get(e);
|
|
3495
|
+
t?.kind === "pen" ? a.curPen = t : t?.kind === "brush" ? a.curBrush = t : t?.kind === "font" && (a.curFont = t);
|
|
3496
|
+
}
|
|
3497
|
+
break;
|
|
3498
|
+
}
|
|
3499
|
+
case Z.DELETEOBJECT: {
|
|
3500
|
+
let e = c.u32(), t = a.objects.get(e);
|
|
3501
|
+
t && (t === a.curPen && (a.curPen = null), t === a.curBrush && (a.curBrush = null), t === a.curFont && (a.curFont = null), a.objects.delete(e));
|
|
3502
|
+
break;
|
|
3503
|
+
}
|
|
3504
|
+
case Z.CREATEPEN: {
|
|
3505
|
+
let [e, t] = Pt(c);
|
|
3506
|
+
a.objects.set(e, t);
|
|
3507
|
+
break;
|
|
3508
|
+
}
|
|
3509
|
+
case Z.EXTCREATEPEN: {
|
|
3510
|
+
let [e, t] = Ft(c);
|
|
3511
|
+
a.objects.set(e, t);
|
|
3512
|
+
break;
|
|
3513
|
+
}
|
|
3514
|
+
case Z.CREATEBRUSHINDIRECT: {
|
|
3515
|
+
let [e, t] = It(c);
|
|
3516
|
+
a.objects.set(e, t);
|
|
3517
|
+
break;
|
|
3518
|
+
}
|
|
3519
|
+
case Z.CREATEMONOBRUSH:
|
|
3520
|
+
case Z.CREATEDIBPATTERNBRUSHPT: {
|
|
3521
|
+
let [e, t] = Lt(c, i, o);
|
|
3522
|
+
a.objects.set(e, t);
|
|
3523
|
+
break;
|
|
3524
|
+
}
|
|
3525
|
+
case Z.EXTCREATEFONTINDIRECTW: {
|
|
3526
|
+
let [e, t] = Rt(c, i, o);
|
|
3527
|
+
a.objects.set(e, t);
|
|
3528
|
+
break;
|
|
3529
|
+
}
|
|
3530
|
+
case Z.POLYLINE16:
|
|
3531
|
+
Ot(a, c, Et);
|
|
3532
|
+
break;
|
|
3533
|
+
case Z.POLYLINE:
|
|
3534
|
+
Ot(a, c, Dt);
|
|
3535
|
+
break;
|
|
3536
|
+
case Z.POLYLINETO16:
|
|
3537
|
+
kt(a, c, Et);
|
|
3538
|
+
break;
|
|
3539
|
+
case Z.POLYLINETO:
|
|
3540
|
+
kt(a, c, Dt);
|
|
3541
|
+
break;
|
|
3542
|
+
case Z.POLYGON16:
|
|
3543
|
+
At(a, c, Et);
|
|
3544
|
+
break;
|
|
3545
|
+
case Z.POLYGON:
|
|
3546
|
+
At(a, c, Dt);
|
|
3547
|
+
break;
|
|
3548
|
+
case Z.POLYBEZIER16:
|
|
3549
|
+
jt(a, c, Et, !1);
|
|
3550
|
+
break;
|
|
3551
|
+
case Z.POLYBEZIER:
|
|
3552
|
+
jt(a, c, Dt, !1);
|
|
3553
|
+
break;
|
|
3554
|
+
case Z.POLYBEZIERTO16:
|
|
3555
|
+
jt(a, c, Et, !0);
|
|
3556
|
+
break;
|
|
3557
|
+
case Z.POLYBEZIERTO:
|
|
3558
|
+
jt(a, c, Dt, !0);
|
|
3559
|
+
break;
|
|
3560
|
+
case Z.POLYPOLYGON16:
|
|
3561
|
+
Mt(a, c, Et, !0);
|
|
3562
|
+
break;
|
|
3563
|
+
case Z.POLYPOLYGON:
|
|
3564
|
+
Mt(a, c, Dt, !0);
|
|
3565
|
+
break;
|
|
3566
|
+
case Z.POLYPOLYLINE16:
|
|
3567
|
+
Mt(a, c, Et, !1);
|
|
3568
|
+
break;
|
|
3569
|
+
case Z.POLYPOLYLINE:
|
|
3570
|
+
Mt(a, c, Dt, !1);
|
|
3571
|
+
break;
|
|
3572
|
+
case Z.MOVETOEX:
|
|
3573
|
+
a.curX = c.i32(), a.curY = c.i32();
|
|
3574
|
+
break;
|
|
3575
|
+
case Z.LINETO: {
|
|
3576
|
+
let e = c.i32(), n = c.i32();
|
|
3577
|
+
if (a.curPen && a.curPen.stroke != null) {
|
|
3578
|
+
let [r, i] = Q(a, a.curX, a.curY), [o, s] = Q(a, e, n);
|
|
3579
|
+
t.beginPath(), t.moveTo(r, i), t.lineTo(o, s), t.strokeStyle = a.curPen.stroke, t.lineWidth = bt(a, a.curPen.width), t.stroke(), a.drew = !0;
|
|
3580
|
+
}
|
|
3581
|
+
a.curX = e, a.curY = n;
|
|
3582
|
+
break;
|
|
3583
|
+
}
|
|
3584
|
+
case Z.RECTANGLE:
|
|
3585
|
+
Nt(a, c.i32(), c.i32(), c.i32(), c.i32());
|
|
3586
|
+
break;
|
|
3587
|
+
case Z.ELLIPSE: {
|
|
3588
|
+
let e = c.i32(), n = c.i32(), r = c.i32(), i = c.i32(), [o, s] = [(e + r) / 2, (n + i) / 2], [l, u] = Q(a, o, s), [d] = Q(a, r, s), [, f] = Q(a, o, i), p = Math.abs(d - l), m = Math.abs(f - u);
|
|
3589
|
+
t.beginPath(), t.ellipse(l, u, p, m, 0, 0, Math.PI * 2), a.curBrush && a.curBrush.fill != null && (t.fillStyle = a.curBrush.fill, t.fill(a.fillRule), a.drew = !0), a.curPen && a.curPen.stroke != null && (t.strokeStyle = a.curPen.stroke, t.lineWidth = bt(a, a.curPen.width), t.stroke(), a.drew = !0);
|
|
3590
|
+
break;
|
|
3591
|
+
}
|
|
3592
|
+
case Z.SETPOLYFILLMODE:
|
|
3593
|
+
a.fillRule = c.u32() === 1 ? "evenodd" : "nonzero";
|
|
3594
|
+
break;
|
|
3595
|
+
case Z.SETTEXTCOLOR:
|
|
3596
|
+
a.textColor = $t(c.u32());
|
|
3597
|
+
break;
|
|
3598
|
+
case Z.SETTEXTALIGN:
|
|
3599
|
+
a.textAlign = c.u32();
|
|
3600
|
+
break;
|
|
3601
|
+
case Z.SETBKMODE:
|
|
3602
|
+
a.bkMode = c.u32();
|
|
3603
|
+
break;
|
|
3604
|
+
case Z.EXTTEXTOUTW:
|
|
3605
|
+
zt(a, c, i, o);
|
|
3606
|
+
break;
|
|
3607
|
+
case Z.BITBLT:
|
|
3608
|
+
Vt(a, c, i, o);
|
|
3609
|
+
break;
|
|
3610
|
+
case Z.STRETCHDIBITS:
|
|
3611
|
+
Ht(a, c, i, o);
|
|
3612
|
+
break;
|
|
3613
|
+
default: break;
|
|
3614
|
+
}
|
|
3615
|
+
} catch {}
|
|
3616
|
+
o = s;
|
|
3617
|
+
}
|
|
3618
|
+
return a.drew;
|
|
3619
|
+
}
|
|
3620
|
+
async function Wt(e, t, n) {
|
|
3621
|
+
if (!Qt(e) || t <= 0 || n <= 0 || typeof OffscreenCanvas > "u") return null;
|
|
3622
|
+
let r = new OffscreenCanvas(t, n), i = r.getContext("2d");
|
|
3623
|
+
return !i || (i.lineJoin = "round", i.lineCap = "round", !Ut(e, i, t, n)) ? null : createImageBitmap(r);
|
|
3624
|
+
}
|
|
3625
|
+
//#endregion
|
|
2947
3626
|
//#region packages/core/src/image/wmf.ts
|
|
2948
|
-
var
|
|
3627
|
+
var Gt = {
|
|
2949
3628
|
EOF: 0,
|
|
2950
3629
|
SETPOLYFILLMODE: 262,
|
|
2951
3630
|
SETWINDOWORG: 523,
|
|
@@ -2958,32 +3637,32 @@ var Q = {
|
|
|
2958
3637
|
RECTANGLE: 1051,
|
|
2959
3638
|
CREATEPENINDIRECT: 762,
|
|
2960
3639
|
CREATEBRUSHINDIRECT: 764
|
|
2961
|
-
},
|
|
2962
|
-
function
|
|
2963
|
-
if (e.length < t +
|
|
3640
|
+
}, Kt = 2596720087, qt = 22, Jt = 18, Yt = 1179469088;
|
|
3641
|
+
function Xt(e, t) {
|
|
3642
|
+
if (e.length < t + Jt) return !1;
|
|
2964
3643
|
let n = e[t] | e[t + 1] << 8, r = e[t + 2] | e[t + 3] << 8;
|
|
2965
3644
|
return (n === 1 || n === 2) && r === 9;
|
|
2966
3645
|
}
|
|
2967
|
-
function
|
|
2968
|
-
return e.length < 4 ? !1 : (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 ===
|
|
3646
|
+
function Zt(e) {
|
|
3647
|
+
return e.length < 4 ? !1 : (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 === Kt ? !0 : Xt(e, 0);
|
|
2969
3648
|
}
|
|
2970
|
-
function
|
|
3649
|
+
function Qt(e) {
|
|
2971
3650
|
if (e.length < 44) return !1;
|
|
2972
3651
|
let t = new DataView(e.buffer, e.byteOffset, e.byteLength);
|
|
2973
|
-
return t.getUint32(0, !0) === 1 && t.getUint32(40, !0) ===
|
|
3652
|
+
return t.getUint32(0, !0) === 1 && t.getUint32(40, !0) === Yt;
|
|
2974
3653
|
}
|
|
2975
|
-
function
|
|
3654
|
+
function $t(e) {
|
|
2976
3655
|
let t = e & 255, n = e >>> 8 & 255, r = e >>> 16 & 255, i = (e) => e.toString(16).padStart(2, "0");
|
|
2977
3656
|
return `#${i(t)}${i(n)}${i(r)}`;
|
|
2978
3657
|
}
|
|
2979
|
-
function
|
|
3658
|
+
function en(e, t) {
|
|
2980
3659
|
for (let n = 0; n < e.length; n++) if (e[n] == null) {
|
|
2981
3660
|
e[n] = t;
|
|
2982
3661
|
return;
|
|
2983
3662
|
}
|
|
2984
3663
|
e.push(t);
|
|
2985
3664
|
}
|
|
2986
|
-
var
|
|
3665
|
+
var tn = class {
|
|
2987
3666
|
p = 0;
|
|
2988
3667
|
constructor(e, t, n) {
|
|
2989
3668
|
this.b = e, this.end = n, this.p = t;
|
|
@@ -3004,56 +3683,56 @@ var vt = class {
|
|
|
3004
3683
|
return this.p += 4, e;
|
|
3005
3684
|
}
|
|
3006
3685
|
};
|
|
3007
|
-
function
|
|
3686
|
+
function nn(e, t) {
|
|
3008
3687
|
return (t - e.orgX) * (e.W / e.extX);
|
|
3009
3688
|
}
|
|
3010
|
-
function
|
|
3689
|
+
function rn(e, t) {
|
|
3011
3690
|
return (t - e.orgY) * (e.H / e.extY);
|
|
3012
3691
|
}
|
|
3013
|
-
function
|
|
3692
|
+
function an(e, t) {
|
|
3014
3693
|
let n = t * Math.abs(e.W / e.extX);
|
|
3015
3694
|
return n >= 1 ? n : 1;
|
|
3016
3695
|
}
|
|
3017
|
-
var
|
|
3018
|
-
function
|
|
3019
|
-
return Math.abs(e - t) <=
|
|
3696
|
+
var on = .001;
|
|
3697
|
+
function sn(e, t, n) {
|
|
3698
|
+
return Math.abs(e - t) <= on || Math.abs(e - n) <= on;
|
|
3020
3699
|
}
|
|
3021
|
-
function
|
|
3700
|
+
function cn(e, t, n) {
|
|
3022
3701
|
let r = [], i = n ? t.length : t.length - 1;
|
|
3023
3702
|
for (let n = 0; n < i; n++) {
|
|
3024
|
-
let i = t[n], a = t[(n + 1) % t.length], o = Math.abs(i[0] - a[0]) <=
|
|
3703
|
+
let i = t[n], a = t[(n + 1) % t.length], o = Math.abs(i[0] - a[0]) <= on && sn(i[0], 0, e.W) && sn(a[0], 0, e.W), s = Math.abs(i[1] - a[1]) <= on && sn(i[1], 0, e.H) && sn(a[1], 0, e.H);
|
|
3025
3704
|
o || s || r.push([i, a]);
|
|
3026
3705
|
}
|
|
3027
3706
|
return r;
|
|
3028
3707
|
}
|
|
3029
|
-
function
|
|
3708
|
+
function ln(e, t, n) {
|
|
3030
3709
|
if (!e.curPen || e.curPen.stroke == null || t.length < 2) return;
|
|
3031
3710
|
let { ctx: r } = e;
|
|
3032
|
-
if (r.strokeStyle = e.curPen.stroke, r.lineWidth =
|
|
3711
|
+
if (r.strokeStyle = e.curPen.stroke, r.lineWidth = an(e, e.curPen.width), !e.suppressBoundaryFrame) {
|
|
3033
3712
|
r.beginPath(), r.moveTo(t[0][0], t[0][1]);
|
|
3034
3713
|
for (let e = 1; e < t.length; e++) r.lineTo(t[e][0], t[e][1]);
|
|
3035
3714
|
n && r.closePath(), r.stroke(), e.drew = !0;
|
|
3036
3715
|
return;
|
|
3037
3716
|
}
|
|
3038
|
-
let i =
|
|
3717
|
+
let i = cn(e, t, n);
|
|
3039
3718
|
if (i.length === 0) return;
|
|
3040
3719
|
r.beginPath();
|
|
3041
3720
|
let a = null;
|
|
3042
3721
|
for (let [e, t] of i) (!a || a[0] !== e[0] || a[1] !== e[1]) && r.moveTo(e[0], e[1]), r.lineTo(t[0], t[1]), a = t;
|
|
3043
3722
|
r.stroke(), e.drew = !0;
|
|
3044
3723
|
}
|
|
3045
|
-
function
|
|
3724
|
+
function un(e, t, n) {
|
|
3046
3725
|
let r = [];
|
|
3047
3726
|
for (let i = 0; i < n && !(t.remaining < 4); i++) {
|
|
3048
3727
|
let n = t.i16(), i = t.i16();
|
|
3049
|
-
r.push([
|
|
3728
|
+
r.push([nn(e, n), rn(e, i)]);
|
|
3050
3729
|
}
|
|
3051
3730
|
return r;
|
|
3052
3731
|
}
|
|
3053
|
-
function
|
|
3054
|
-
t.length < 2 || !e.curPen || e.curPen.stroke == null ||
|
|
3732
|
+
function dn(e, t) {
|
|
3733
|
+
t.length < 2 || !e.curPen || e.curPen.stroke == null || ln(e, t, !1);
|
|
3055
3734
|
}
|
|
3056
|
-
function
|
|
3735
|
+
function fn(e, t) {
|
|
3057
3736
|
if (t.length < 2) return;
|
|
3058
3737
|
let { ctx: n } = e;
|
|
3059
3738
|
if (e.curBrush && e.curBrush.fill != null) {
|
|
@@ -3061,9 +3740,9 @@ function Ot(e, t) {
|
|
|
3061
3740
|
for (let e = 1; e < t.length; e++) n.lineTo(t[e][0], t[e][1]);
|
|
3062
3741
|
n.closePath(), n.fillStyle = e.curBrush.fill, n.fill(e.fillRule), e.drew = !0;
|
|
3063
3742
|
}
|
|
3064
|
-
|
|
3743
|
+
ln(e, t, !0);
|
|
3065
3744
|
}
|
|
3066
|
-
function
|
|
3745
|
+
function pn(e, t) {
|
|
3067
3746
|
let n = t.u16();
|
|
3068
3747
|
if (n <= 0 || n > 65536) return;
|
|
3069
3748
|
let r = [];
|
|
@@ -3079,37 +3758,37 @@ function kt(e, t) {
|
|
|
3079
3758
|
for (let e = 0; e < n && t.remaining >= 4; e++) t.i16(), t.i16();
|
|
3080
3759
|
continue;
|
|
3081
3760
|
}
|
|
3082
|
-
let r =
|
|
3761
|
+
let r = un(e, t, n);
|
|
3083
3762
|
if (!(r.length < 2)) {
|
|
3084
3763
|
i.moveTo(r[0][0], r[0][1]);
|
|
3085
3764
|
for (let e = 1; e < r.length; e++) i.lineTo(r[e][0], r[e][1]);
|
|
3086
3765
|
i.closePath(), a = !0;
|
|
3087
3766
|
}
|
|
3088
3767
|
}
|
|
3089
|
-
a && (e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth =
|
|
3768
|
+
a && (e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth = an(e, e.curPen.width), i.stroke(), e.drew = !0));
|
|
3090
3769
|
}
|
|
3091
|
-
function
|
|
3770
|
+
function mn(e) {
|
|
3092
3771
|
let t = e.u16(), n = e.i16();
|
|
3093
3772
|
e.i16();
|
|
3094
3773
|
let r = e.u32();
|
|
3095
3774
|
return {
|
|
3096
3775
|
kind: "pen",
|
|
3097
|
-
stroke: (t & 255) == 5 ? null :
|
|
3776
|
+
stroke: (t & 255) == 5 ? null : $t(r),
|
|
3098
3777
|
width: Math.abs(n)
|
|
3099
3778
|
};
|
|
3100
3779
|
}
|
|
3101
|
-
function
|
|
3780
|
+
function hn(e) {
|
|
3102
3781
|
let t = e.u16(), n = e.u32();
|
|
3103
3782
|
return e.u16(), {
|
|
3104
3783
|
kind: "brush",
|
|
3105
|
-
fill: t === 1 ? null :
|
|
3784
|
+
fill: t === 1 ? null : $t(n)
|
|
3106
3785
|
};
|
|
3107
3786
|
}
|
|
3108
|
-
function
|
|
3109
|
-
if (!
|
|
3787
|
+
function gn(e, t, n, r, i = !1) {
|
|
3788
|
+
if (!Zt(e)) return !1;
|
|
3110
3789
|
let a = 0;
|
|
3111
|
-
(e.length >= 4 ? (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 : 0) ===
|
|
3112
|
-
let o = a +
|
|
3790
|
+
(e.length >= 4 ? (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 : 0) === Kt && (a = qt);
|
|
3791
|
+
let o = a + Jt;
|
|
3113
3792
|
if (o > e.length) return !1;
|
|
3114
3793
|
let s = {
|
|
3115
3794
|
ctx: t,
|
|
@@ -3131,52 +3810,52 @@ function Mt(e, t, n, r, i = !1) {
|
|
|
3131
3810
|
let t = c.getUint32(o, !0), n = c.getUint16(o + 4, !0);
|
|
3132
3811
|
if (t < 3) break;
|
|
3133
3812
|
let r = t * 2, i = o + r;
|
|
3134
|
-
if (i > e.length || n ===
|
|
3135
|
-
let a = new
|
|
3813
|
+
if (i > e.length || n === Gt.EOF) break;
|
|
3814
|
+
let a = new tn(e, o + 6, i);
|
|
3136
3815
|
switch (n) {
|
|
3137
|
-
case
|
|
3816
|
+
case Gt.SETWINDOWORG:
|
|
3138
3817
|
s.orgY = a.i16(), s.orgX = a.i16();
|
|
3139
3818
|
break;
|
|
3140
|
-
case
|
|
3819
|
+
case Gt.SETWINDOWEXT: {
|
|
3141
3820
|
let e = a.i16(), t = a.i16();
|
|
3142
3821
|
s.extY = e || 1, s.extX = t || 1, s.haveExt = !0;
|
|
3143
3822
|
break;
|
|
3144
3823
|
}
|
|
3145
|
-
case
|
|
3824
|
+
case Gt.SETPOLYFILLMODE:
|
|
3146
3825
|
s.fillRule = a.u16() === 1 ? "evenodd" : "nonzero";
|
|
3147
3826
|
break;
|
|
3148
|
-
case
|
|
3149
|
-
|
|
3827
|
+
case Gt.CREATEPENINDIRECT:
|
|
3828
|
+
en(s.objects, mn(a));
|
|
3150
3829
|
break;
|
|
3151
|
-
case
|
|
3152
|
-
|
|
3830
|
+
case Gt.CREATEBRUSHINDIRECT:
|
|
3831
|
+
en(s.objects, hn(a));
|
|
3153
3832
|
break;
|
|
3154
|
-
case
|
|
3833
|
+
case Gt.SELECTOBJECT: {
|
|
3155
3834
|
let e = a.u16(), t = s.objects[e];
|
|
3156
3835
|
t?.kind === "pen" ? s.curPen = t : t?.kind === "brush" && (s.curBrush = t);
|
|
3157
3836
|
break;
|
|
3158
3837
|
}
|
|
3159
|
-
case
|
|
3838
|
+
case Gt.DELETEOBJECT: {
|
|
3160
3839
|
let e = a.u16(), t = s.objects[e];
|
|
3161
3840
|
t && (t === s.curPen && (s.curPen = null), t === s.curBrush && (s.curBrush = null), s.objects[e] = null);
|
|
3162
3841
|
break;
|
|
3163
3842
|
}
|
|
3164
|
-
case
|
|
3165
|
-
|
|
3843
|
+
case Gt.POLYLINE:
|
|
3844
|
+
dn(s, un(s, a, a.i16()));
|
|
3166
3845
|
break;
|
|
3167
|
-
case
|
|
3168
|
-
|
|
3846
|
+
case Gt.POLYGON:
|
|
3847
|
+
fn(s, un(s, a, a.i16()));
|
|
3169
3848
|
break;
|
|
3170
|
-
case
|
|
3171
|
-
|
|
3849
|
+
case Gt.POLYPOLYGON:
|
|
3850
|
+
pn(s, a);
|
|
3172
3851
|
break;
|
|
3173
|
-
case
|
|
3852
|
+
case Gt.RECTANGLE: {
|
|
3174
3853
|
let e = a.i16(), t = a.i16(), n = a.i16(), r = a.i16();
|
|
3175
|
-
|
|
3176
|
-
[
|
|
3177
|
-
[
|
|
3178
|
-
[
|
|
3179
|
-
[
|
|
3854
|
+
fn(s, [
|
|
3855
|
+
[nn(s, r), rn(s, n)],
|
|
3856
|
+
[nn(s, t), rn(s, n)],
|
|
3857
|
+
[nn(s, t), rn(s, e)],
|
|
3858
|
+
[nn(s, r), rn(s, e)]
|
|
3180
3859
|
]);
|
|
3181
3860
|
break;
|
|
3182
3861
|
}
|
|
@@ -3186,28 +3865,32 @@ function Mt(e, t, n, r, i = !1) {
|
|
|
3186
3865
|
}
|
|
3187
3866
|
return s.drew;
|
|
3188
3867
|
}
|
|
3189
|
-
var
|
|
3190
|
-
function
|
|
3191
|
-
let n = e > 0 ? e : 300, r = t > 0 ? t : 300, i = (e) => Math.max(1, Math.min(
|
|
3868
|
+
var _n = 2e3, vn = 2;
|
|
3869
|
+
function yn(e, t) {
|
|
3870
|
+
let n = e > 0 ? e : 300, r = t > 0 ? t : 300, i = (e) => Math.max(1, Math.min(_n, Math.round(e)));
|
|
3192
3871
|
return {
|
|
3193
|
-
w: i(n *
|
|
3194
|
-
h: i(r *
|
|
3872
|
+
w: i(n * vn),
|
|
3873
|
+
h: i(r * vn)
|
|
3195
3874
|
};
|
|
3196
3875
|
}
|
|
3197
|
-
async function
|
|
3198
|
-
if (!
|
|
3876
|
+
async function bn(e, t, n, r = !1) {
|
|
3877
|
+
if (!Zt(e) || t <= 0 || n <= 0) return null;
|
|
3199
3878
|
let i = new OffscreenCanvas(t, n), a = i.getContext("2d");
|
|
3200
|
-
return !a || (a.lineJoin = "round", a.lineCap = "round", !
|
|
3879
|
+
return !a || (a.lineJoin = "round", a.lineCap = "round", !gn(e, a, t, n, r)) ? null : createImageBitmap(i);
|
|
3201
3880
|
}
|
|
3202
|
-
async function
|
|
3881
|
+
async function xn(e, t = {}) {
|
|
3203
3882
|
let { widthPt: n = 0, heightPt: r = 0, suppressBoundaryFrame: i = !1 } = t, a = new Uint8Array(await e.arrayBuffer());
|
|
3204
|
-
if (
|
|
3205
|
-
let { w: e, h: t } =
|
|
3206
|
-
return
|
|
3883
|
+
if (Zt(a)) {
|
|
3884
|
+
let { w: e, h: t } = yn(n, r);
|
|
3885
|
+
return bn(a, e, t, i);
|
|
3886
|
+
}
|
|
3887
|
+
if (Qt(a)) {
|
|
3888
|
+
let { w: e, h: t } = yn(n, r);
|
|
3889
|
+
return Wt(a, e, t);
|
|
3207
3890
|
}
|
|
3208
|
-
return
|
|
3891
|
+
return createImageBitmap(e);
|
|
3209
3892
|
}
|
|
3210
|
-
var
|
|
3893
|
+
var Sn = {
|
|
3211
3894
|
accentbordercallout1: {
|
|
3212
3895
|
adj: [
|
|
3213
3896
|
["adj1", "val 18750"],
|
|
@@ -25070,8 +25753,8 @@ var Rt = {
|
|
|
25070
25753
|
]
|
|
25071
25754
|
}]
|
|
25072
25755
|
}
|
|
25073
|
-
},
|
|
25074
|
-
function
|
|
25756
|
+
}, Cn = 216e5, wn = Math.PI * 2 / Cn;
|
|
25757
|
+
function Tn(e, t, n) {
|
|
25075
25758
|
let { w: r, h: i, adj: a } = e, o = Math.min(r, i), s = Math.max(r, i), c = Object.create(null);
|
|
25076
25759
|
Object.assign(c, {
|
|
25077
25760
|
w: r,
|
|
@@ -25116,14 +25799,14 @@ function Vt(e, t, n) {
|
|
|
25116
25799
|
lsd8: s / 8,
|
|
25117
25800
|
lsd16: s / 16,
|
|
25118
25801
|
lsd32: s / 32,
|
|
25119
|
-
cd:
|
|
25120
|
-
cd2:
|
|
25121
|
-
cd4:
|
|
25122
|
-
cd8:
|
|
25123
|
-
"3cd4": 3 *
|
|
25124
|
-
"3cd8": 3 *
|
|
25125
|
-
"5cd8": 5 *
|
|
25126
|
-
"7cd8": 7 *
|
|
25802
|
+
cd: Cn,
|
|
25803
|
+
cd2: Cn / 2,
|
|
25804
|
+
cd4: Cn / 4,
|
|
25805
|
+
cd8: Cn / 8,
|
|
25806
|
+
"3cd4": 3 * Cn / 4,
|
|
25807
|
+
"3cd8": 3 * Cn / 8,
|
|
25808
|
+
"5cd8": 5 * Cn / 8,
|
|
25809
|
+
"7cd8": 7 * Cn / 8
|
|
25127
25810
|
}), t.forEach(([e, t], n) => {
|
|
25128
25811
|
let r = a[n];
|
|
25129
25812
|
c[e] = typeof r == "number" ? r : u(t), e === "adj" && (c.adj1 = c.adj), e === "adj1" && (c.adj = c.adj1);
|
|
@@ -25160,10 +25843,10 @@ function Vt(e, t, n) {
|
|
|
25160
25843
|
case "pin": return t[1] < t[0] ? t[0] : t[1] > t[2] ? t[2] : t[1];
|
|
25161
25844
|
case "sqrt": return Math.sqrt(Math.max(0, t[0]));
|
|
25162
25845
|
case "mod": return Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
|
|
25163
|
-
case "sin": return t[0] * Math.sin(t[1] *
|
|
25164
|
-
case "cos": return t[0] * Math.cos(t[1] *
|
|
25165
|
-
case "tan": return t[0] * Math.tan(t[1] *
|
|
25166
|
-
case "at2": return Math.atan2(t[1], t[0]) /
|
|
25846
|
+
case "sin": return t[0] * Math.sin(t[1] * wn);
|
|
25847
|
+
case "cos": return t[0] * Math.cos(t[1] * wn);
|
|
25848
|
+
case "tan": return t[0] * Math.tan(t[1] * wn);
|
|
25849
|
+
case "at2": return Math.atan2(t[1], t[0]) / wn;
|
|
25167
25850
|
case "cat2": return t[0] * Math.cos(Math.atan2(t[2], t[1]));
|
|
25168
25851
|
case "sat2": return t[0] * Math.sin(Math.atan2(t[2], t[1]));
|
|
25169
25852
|
default: throw Error(`preset-shape: unknown operator "${e}" in "${n}"`);
|
|
@@ -25172,8 +25855,8 @@ function Vt(e, t, n) {
|
|
|
25172
25855
|
}
|
|
25173
25856
|
//#endregion
|
|
25174
25857
|
//#region packages/core/src/shape/preset-geometry/path-executor.ts
|
|
25175
|
-
var
|
|
25176
|
-
function
|
|
25858
|
+
var En = Math.PI * 2 / 216e5;
|
|
25859
|
+
function Dn(e, t, n, r, i, a, o) {
|
|
25177
25860
|
let s = t.w == null ? 1 : a / t.w, c = t.h == null ? 1 : o / t.h, l = (e) => r + e * s, u = (e) => i + e * c, d = 0, f = 0;
|
|
25178
25861
|
for (let r of t.cmds) switch (r[0]) {
|
|
25179
25862
|
case "m": {
|
|
@@ -25197,7 +25880,7 @@ function Ut(e, t, n, r, i, a, o) {
|
|
|
25197
25880
|
break;
|
|
25198
25881
|
}
|
|
25199
25882
|
case "a": {
|
|
25200
|
-
let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) *
|
|
25883
|
+
let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * En, u = n.resolve(r[4]) * En, p = Math.PI * 2, m = (e) => Math.atan2(t * Math.sin(e), i * Math.cos(e)), h = m(l), g = Math.trunc(u / p), _ = u - g * p, v = m(l + _) - h;
|
|
25201
25884
|
_ > 0 && v < 0 ? v += p : _ < 0 && v > 0 && (v -= p);
|
|
25202
25885
|
let y = h + v + g * p, b = d - a * Math.cos(h), x = f - o * Math.sin(h);
|
|
25203
25886
|
Math.abs(a) > 1e-6 && Math.abs(o) > 1e-6 && (e.ellipse(b, x, Math.abs(a), Math.abs(o), 0, h, y, u < 0), d = b + a * Math.cos(y), f = x + o * Math.sin(y));
|
|
@@ -25210,26 +25893,26 @@ function Ut(e, t, n, r, i, a, o) {
|
|
|
25210
25893
|
}
|
|
25211
25894
|
//#endregion
|
|
25212
25895
|
//#region packages/core/src/shape/preset-geometry/index.ts
|
|
25213
|
-
var
|
|
25214
|
-
function
|
|
25215
|
-
return e.toLowerCase() in
|
|
25896
|
+
var On = Sn;
|
|
25897
|
+
function kn(e) {
|
|
25898
|
+
return e.toLowerCase() in On;
|
|
25216
25899
|
}
|
|
25217
|
-
function
|
|
25218
|
-
let s =
|
|
25900
|
+
function An(e, t, n, r, i, a, o = []) {
|
|
25901
|
+
let s = On[t.toLowerCase()];
|
|
25219
25902
|
if (!s) return !1;
|
|
25220
|
-
let c =
|
|
25903
|
+
let c = Tn({
|
|
25221
25904
|
w: i,
|
|
25222
25905
|
h: a,
|
|
25223
25906
|
adj: o
|
|
25224
25907
|
}, s.adj, s.gd);
|
|
25225
|
-
for (let t of s.paths)
|
|
25908
|
+
for (let t of s.paths) Dn(e, t, c, n, r, i, a);
|
|
25226
25909
|
return !0;
|
|
25227
25910
|
}
|
|
25228
|
-
var
|
|
25911
|
+
var jn = {
|
|
25229
25912
|
wedgeroundrectcallout: "roundrect",
|
|
25230
25913
|
wedgeellipsecallout: "ellipse",
|
|
25231
25914
|
wedgerectcallout: null
|
|
25232
|
-
},
|
|
25915
|
+
}, Mn = {
|
|
25233
25916
|
adj: [],
|
|
25234
25917
|
gd: [],
|
|
25235
25918
|
paths: [{
|
|
@@ -25263,43 +25946,43 @@ var qt = {
|
|
|
25263
25946
|
]
|
|
25264
25947
|
}]
|
|
25265
25948
|
};
|
|
25266
|
-
function
|
|
25949
|
+
function Nn(e, t, n) {
|
|
25267
25950
|
let r = e[n];
|
|
25268
25951
|
if (typeof r == "number") return r;
|
|
25269
25952
|
let i = t.adj[n];
|
|
25270
25953
|
return i && Number(i[1].replace(/^val\s+/, "")) || 0;
|
|
25271
25954
|
}
|
|
25272
|
-
function
|
|
25273
|
-
let u = t.toLowerCase(), d =
|
|
25955
|
+
function Pn(e, t, n, r, i, a, o, s, c, l) {
|
|
25956
|
+
let u = t.toLowerCase(), d = On[u];
|
|
25274
25957
|
if (!d) return !1;
|
|
25275
|
-
if (u in
|
|
25276
|
-
let e =
|
|
25958
|
+
if (u in jn) {
|
|
25959
|
+
let e = Nn(o, d, 0), t = Nn(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
|
|
25277
25960
|
if (n >= 0 && n <= i && r >= 0 && r <= a) {
|
|
25278
|
-
let e =
|
|
25279
|
-
e === "roundrect" ? (d =
|
|
25961
|
+
let e = jn[u];
|
|
25962
|
+
e === "roundrect" ? (d = On.roundrect, o = [Nn(o, On[u], 2)]) : e && On[e] ? (d = On[e], o = []) : (d = Mn, o = []);
|
|
25280
25963
|
}
|
|
25281
25964
|
}
|
|
25282
|
-
let f =
|
|
25965
|
+
let f = Tn({
|
|
25283
25966
|
w: i,
|
|
25284
25967
|
h: a,
|
|
25285
25968
|
adj: o
|
|
25286
25969
|
}, d.adj, d.gd), p = !1;
|
|
25287
25970
|
for (let t of d.paths) {
|
|
25288
|
-
e.beginPath(),
|
|
25971
|
+
e.beginPath(), Dn(e, t, f, n, r, i, a);
|
|
25289
25972
|
let o = t.fill;
|
|
25290
25973
|
if (o !== "none" && s != null) {
|
|
25291
25974
|
e.save(), e.fillStyle = s, e.fill();
|
|
25292
|
-
let t =
|
|
25975
|
+
let t = In(o);
|
|
25293
25976
|
t && (e.fillStyle = t, e.fill()), e.restore(), p ||= (l(), !0);
|
|
25294
25977
|
}
|
|
25295
25978
|
t.stroke && c && c();
|
|
25296
25979
|
}
|
|
25297
25980
|
return !0;
|
|
25298
25981
|
}
|
|
25299
|
-
function
|
|
25300
|
-
let o =
|
|
25982
|
+
function Fn(e, t, n, r, i, a) {
|
|
25983
|
+
let o = On[e.toLowerCase()];
|
|
25301
25984
|
if (!o || o.paths.length === 0) return null;
|
|
25302
|
-
let s = o.paths[0], c =
|
|
25985
|
+
let s = o.paths[0], c = Tn({
|
|
25303
25986
|
w: r,
|
|
25304
25987
|
h: i,
|
|
25305
25988
|
adj: a
|
|
@@ -25333,7 +26016,7 @@ function Zt(e, t, n, r, i, a) {
|
|
|
25333
26016
|
}
|
|
25334
26017
|
};
|
|
25335
26018
|
}
|
|
25336
|
-
function
|
|
26019
|
+
function In(e) {
|
|
25337
26020
|
switch (e) {
|
|
25338
26021
|
case "lighten": return "rgba(255,255,255,0.30)";
|
|
25339
26022
|
case "lightenLess": return "rgba(255,255,255,0.15)";
|
|
@@ -25344,10 +26027,10 @@ function Qt(e) {
|
|
|
25344
26027
|
}
|
|
25345
26028
|
//#endregion
|
|
25346
26029
|
//#region packages/core/src/shape/effects.ts
|
|
25347
|
-
function
|
|
26030
|
+
function Ln(e, t) {
|
|
25348
26031
|
return e * t;
|
|
25349
26032
|
}
|
|
25350
|
-
function
|
|
26033
|
+
function Rn(e, t) {
|
|
25351
26034
|
let n = Math.max(1, Math.ceil(e)), r = Math.max(1, Math.ceil(t));
|
|
25352
26035
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
|
|
25353
26036
|
if (typeof document < "u") {
|
|
@@ -25356,60 +26039,60 @@ function en(e, t) {
|
|
|
25356
26039
|
}
|
|
25357
26040
|
return null;
|
|
25358
26041
|
}
|
|
25359
|
-
function
|
|
26042
|
+
function zn(e) {
|
|
25360
26043
|
return e.getContext("2d") ?? null;
|
|
25361
26044
|
}
|
|
25362
|
-
function
|
|
25363
|
-
let s =
|
|
26045
|
+
function Bn(e, t, n, r, i, a, o) {
|
|
26046
|
+
let s = Rn(a, o);
|
|
25364
26047
|
if (!s) return;
|
|
25365
|
-
let c =
|
|
26048
|
+
let c = zn(s);
|
|
25366
26049
|
if (!c) return;
|
|
25367
|
-
let l =
|
|
25368
|
-
c.save(), c.fillStyle =
|
|
26050
|
+
let l = Ln(r.blur, i), u = Ln(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
|
|
26051
|
+
c.save(), c.fillStyle = U(r.color, r.alpha), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-out", c.filter = l > 0 ? `blur(${l}px)` : "none", c.translate(f, p), c.fillStyle = "#000", t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in", c.filter = "none", c.fillStyle = "#000", t(c), c.restore(), e.save(), e.drawImage(s, 0, 0), e.restore();
|
|
25369
26052
|
}
|
|
25370
|
-
function
|
|
25371
|
-
let c =
|
|
26053
|
+
function Vn(e, t, n, r, i, a, o, s) {
|
|
26054
|
+
let c = Ln(r.radius, i);
|
|
25372
26055
|
if (c <= 0) {
|
|
25373
26056
|
t(e);
|
|
25374
26057
|
return;
|
|
25375
26058
|
}
|
|
25376
|
-
let l =
|
|
26059
|
+
let l = Rn(a, o);
|
|
25377
26060
|
if (!l) {
|
|
25378
26061
|
t(e);
|
|
25379
26062
|
return;
|
|
25380
26063
|
}
|
|
25381
|
-
let u =
|
|
26064
|
+
let u = zn(l);
|
|
25382
26065
|
if (!u) {
|
|
25383
26066
|
t(e);
|
|
25384
26067
|
return;
|
|
25385
26068
|
}
|
|
25386
26069
|
let d = s ?? t;
|
|
25387
26070
|
t(u);
|
|
25388
|
-
let f =
|
|
26071
|
+
let f = Rn(a, o), p = Rn(a, o), m = f ? zn(f) : null, h = p ? zn(p) : null;
|
|
25389
26072
|
if (f && m && p && h) {
|
|
25390
26073
|
m.fillStyle = "#000", d(m), h.drawImage(l, n.x, n.y, n.w, n.h, n.x - c, n.y - c, n.w + c * 2, n.h + c * 2), h.drawImage(l, 0, 0), h.globalCompositeOperation = "destination-in", h.filter = `blur(${c / 3}px)`, h.drawImage(f, 0, 0), h.filter = "none", h.globalCompositeOperation = "source-over", e.save(), e.drawImage(p, 0, 0), e.restore();
|
|
25391
26074
|
return;
|
|
25392
26075
|
}
|
|
25393
26076
|
e.save(), e.drawImage(l, 0, 0), e.restore();
|
|
25394
26077
|
}
|
|
25395
|
-
function
|
|
25396
|
-
let s =
|
|
26078
|
+
function Hn(e, t, n, r, i, a, o) {
|
|
26079
|
+
let s = Rn(a, o);
|
|
25397
26080
|
if (!s) return;
|
|
25398
|
-
let c =
|
|
26081
|
+
let c = zn(s);
|
|
25399
26082
|
if (!c) return;
|
|
25400
|
-
let l =
|
|
26083
|
+
let l = Ln(r.blur, i);
|
|
25401
26084
|
c.save(), l > 0 && (c.filter = `blur(${l}px)`), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in";
|
|
25402
|
-
let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p =
|
|
26085
|
+
let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = Un(r.stPos), m = Un(r.endPos);
|
|
25403
26086
|
f.addColorStop(0, `rgba(0,0,0,${r.stA})`), p > 0 && f.addColorStop(p, `rgba(0,0,0,${r.stA})`), m < 1 && m > p && f.addColorStop(m, `rgba(0,0,0,${r.endA})`), f.addColorStop(1, `rgba(0,0,0,${r.endA})`), c.fillStyle = f, c.fillRect(0, 0, a, o), c.restore();
|
|
25404
|
-
let h =
|
|
26087
|
+
let h = Ln(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
|
|
25405
26088
|
e.save(), e.translate(n.x + _, d + v), e.scale(r.sx, r.sy), e.translate(-n.x, -d), e.drawImage(s, 0, 0), e.restore();
|
|
25406
26089
|
}
|
|
25407
|
-
function
|
|
26090
|
+
function Un(e) {
|
|
25408
26091
|
return e < 0 ? 0 : e > 1 ? 1 : e;
|
|
25409
26092
|
}
|
|
25410
26093
|
//#endregion
|
|
25411
26094
|
//#region packages/core/src/shape/scene3d-camera.ts
|
|
25412
|
-
var
|
|
26095
|
+
var Wn = 26, Gn = {
|
|
25413
26096
|
orthographicFront: {
|
|
25414
26097
|
kind: "orthographic",
|
|
25415
26098
|
baseLat: 0,
|
|
@@ -25422,52 +26105,52 @@ var sn = 26, cn = {
|
|
|
25422
26105
|
baseLat: 0,
|
|
25423
26106
|
baseLon: 0,
|
|
25424
26107
|
baseRev: 0,
|
|
25425
|
-
fovDeg:
|
|
26108
|
+
fovDeg: Wn
|
|
25426
26109
|
},
|
|
25427
26110
|
perspectiveRelaxed: {
|
|
25428
26111
|
kind: "perspective",
|
|
25429
26112
|
baseLat: 0,
|
|
25430
26113
|
baseLon: 0,
|
|
25431
26114
|
baseRev: 0,
|
|
25432
|
-
fovDeg:
|
|
26115
|
+
fovDeg: Wn
|
|
25433
26116
|
},
|
|
25434
26117
|
perspectiveRelaxedModerately: {
|
|
25435
26118
|
kind: "perspective",
|
|
25436
26119
|
baseLat: 0,
|
|
25437
26120
|
baseLon: 0,
|
|
25438
26121
|
baseRev: 0,
|
|
25439
|
-
fovDeg:
|
|
26122
|
+
fovDeg: Wn
|
|
25440
26123
|
},
|
|
25441
26124
|
perspectiveAbove: {
|
|
25442
26125
|
kind: "perspective",
|
|
25443
26126
|
baseLat: -20,
|
|
25444
26127
|
baseLon: 0,
|
|
25445
26128
|
baseRev: 0,
|
|
25446
|
-
fovDeg:
|
|
26129
|
+
fovDeg: Wn
|
|
25447
26130
|
},
|
|
25448
26131
|
perspectiveBelow: {
|
|
25449
26132
|
kind: "perspective",
|
|
25450
26133
|
baseLat: 20,
|
|
25451
26134
|
baseLon: 0,
|
|
25452
26135
|
baseRev: 0,
|
|
25453
|
-
fovDeg:
|
|
26136
|
+
fovDeg: Wn
|
|
25454
26137
|
},
|
|
25455
26138
|
perspectiveLeft: {
|
|
25456
26139
|
kind: "perspective",
|
|
25457
26140
|
baseLat: 0,
|
|
25458
26141
|
baseLon: -20,
|
|
25459
26142
|
baseRev: 0,
|
|
25460
|
-
fovDeg:
|
|
26143
|
+
fovDeg: Wn
|
|
25461
26144
|
},
|
|
25462
26145
|
perspectiveRight: {
|
|
25463
26146
|
kind: "perspective",
|
|
25464
26147
|
baseLat: 0,
|
|
25465
26148
|
baseLon: 20,
|
|
25466
26149
|
baseRev: 0,
|
|
25467
|
-
fovDeg:
|
|
26150
|
+
fovDeg: Wn
|
|
25468
26151
|
}
|
|
25469
26152
|
};
|
|
25470
|
-
function
|
|
26153
|
+
function Kn(e, t) {
|
|
25471
26154
|
let n = Array(9).fill(0);
|
|
25472
26155
|
for (let r = 0; r < 3; r++) for (let i = 0; i < 3; i++) {
|
|
25473
26156
|
let a = 0;
|
|
@@ -25476,7 +26159,7 @@ function ln(e, t) {
|
|
|
25476
26159
|
}
|
|
25477
26160
|
return n;
|
|
25478
26161
|
}
|
|
25479
|
-
function
|
|
26162
|
+
function qn(e) {
|
|
25480
26163
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25481
26164
|
return [
|
|
25482
26165
|
1,
|
|
@@ -25490,7 +26173,7 @@ function un(e) {
|
|
|
25490
26173
|
n
|
|
25491
26174
|
];
|
|
25492
26175
|
}
|
|
25493
|
-
function
|
|
26176
|
+
function Jn(e) {
|
|
25494
26177
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25495
26178
|
return [
|
|
25496
26179
|
n,
|
|
@@ -25504,7 +26187,7 @@ function dn(e) {
|
|
|
25504
26187
|
n
|
|
25505
26188
|
];
|
|
25506
26189
|
}
|
|
25507
|
-
function
|
|
26190
|
+
function Yn(e) {
|
|
25508
26191
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25509
26192
|
return [
|
|
25510
26193
|
n,
|
|
@@ -25518,22 +26201,22 @@ function fn(e) {
|
|
|
25518
26201
|
1
|
|
25519
26202
|
];
|
|
25520
26203
|
}
|
|
25521
|
-
function
|
|
26204
|
+
function Xn(e, t, n, r) {
|
|
25522
26205
|
return [
|
|
25523
26206
|
e[0] * t + e[1] * n + e[2] * r,
|
|
25524
26207
|
e[3] * t + e[4] * n + e[5] * r,
|
|
25525
26208
|
e[6] * t + e[7] * n + e[8] * r
|
|
25526
26209
|
];
|
|
25527
26210
|
}
|
|
25528
|
-
function
|
|
26211
|
+
function Zn(e, t) {
|
|
25529
26212
|
let n = t ? t.lat : e.baseLat, r = t ? t.lon : e.baseLon;
|
|
25530
|
-
return
|
|
26213
|
+
return Kn(Yn(-(t ? t.rev : e.baseRev)), Kn(qn(-n), Jn(-r)));
|
|
25531
26214
|
}
|
|
25532
|
-
function
|
|
25533
|
-
return
|
|
26215
|
+
function Qn(e) {
|
|
26216
|
+
return Gn[e] ?? Gn.orthographicFront;
|
|
25534
26217
|
}
|
|
25535
|
-
function
|
|
25536
|
-
let r =
|
|
26218
|
+
function $n(e, t, n) {
|
|
26219
|
+
let r = Qn(e.prst), i = Zn(r, e.rot);
|
|
25537
26220
|
if (t <= 0 || n <= 0) return {
|
|
25538
26221
|
corners: [
|
|
25539
26222
|
{
|
|
@@ -25565,11 +26248,11 @@ function gn(e, t, n) {
|
|
|
25565
26248
|
if (r.kind === "perspective") {
|
|
25566
26249
|
let t = e.fov ?? r.fovDeg, n = Math.max(1, Math.min(179, t)) * Math.PI / 180, a = l / Math.tan(n / 2);
|
|
25567
26250
|
u = s.map(([e, t]) => {
|
|
25568
|
-
let [n, r, o] =
|
|
26251
|
+
let [n, r, o] = Xn(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
|
|
25569
26252
|
return [n * c, r * c];
|
|
25570
26253
|
});
|
|
25571
26254
|
} else u = s.map(([e, t]) => {
|
|
25572
|
-
let [n, r] =
|
|
26255
|
+
let [n, r] = Xn(i, e, t, 0);
|
|
25573
26256
|
return [n, r];
|
|
25574
26257
|
});
|
|
25575
26258
|
u = u.map(([e, t]) => [e * c, t * c]);
|
|
@@ -25594,18 +26277,18 @@ function gn(e, t, n) {
|
|
|
25594
26277
|
isIdentity: E
|
|
25595
26278
|
};
|
|
25596
26279
|
}
|
|
25597
|
-
function
|
|
25598
|
-
let { isIdentity: t } =
|
|
26280
|
+
function er(e) {
|
|
26281
|
+
let { isIdentity: t } = $n(e, 1e3, 1e3);
|
|
25599
26282
|
return !t;
|
|
25600
26283
|
}
|
|
25601
|
-
function
|
|
25602
|
-
let i =
|
|
26284
|
+
function tr(e, t, n, r) {
|
|
26285
|
+
let i = Qn(e.prst), a = Zn(i, e.rot);
|
|
25603
26286
|
if (t <= 0 || n <= 0 || r === 0) return {
|
|
25604
26287
|
x: 0,
|
|
25605
26288
|
y: 0
|
|
25606
26289
|
};
|
|
25607
26290
|
let o = t / 2, s = n / 2, c = Math.max(o, s), l = e.zoom ?? 1, u = (t) => {
|
|
25608
|
-
let [n, r, o] =
|
|
26291
|
+
let [n, r, o] = Xn(a, 0, 0, t);
|
|
25609
26292
|
if (i.kind === "perspective") {
|
|
25610
26293
|
let t = e.fov ?? i.fovDeg, a = Math.max(1, Math.min(179, t)) * Math.PI / 180, s = c / Math.tan(a / 2), u = s - o, d = s / (Math.abs(u) < 1e-6 ? 1e-6 * Math.sign(u || 1) : u);
|
|
25611
26294
|
return [n * d * l, r * d * l];
|
|
@@ -25619,7 +26302,7 @@ function vn(e, t, n, r) {
|
|
|
25619
26302
|
}
|
|
25620
26303
|
//#endregion
|
|
25621
26304
|
//#region packages/core/src/shape/scene3d-draw.ts
|
|
25622
|
-
function
|
|
26305
|
+
function nr(e, t, n, r) {
|
|
25623
26306
|
let i = e.x, a = e.y, o = t.x, s = t.y, c = n.x, l = n.y, u = r.x, d = r.y, f = o - c, p = u - c, m = i - o + c - u, h = s - l, g = d - l, _ = a - s + l - d, v, y;
|
|
25624
26307
|
if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
|
|
25625
26308
|
else {
|
|
@@ -25639,15 +26322,15 @@ function yn(e, t, n, r) {
|
|
|
25639
26322
|
1
|
|
25640
26323
|
];
|
|
25641
26324
|
}
|
|
25642
|
-
function
|
|
26325
|
+
function rr(e, t, n) {
|
|
25643
26326
|
let r = e[6] * t + e[7] * n + e[8];
|
|
25644
26327
|
return {
|
|
25645
26328
|
x: (e[0] * t + e[1] * n + e[2]) / r,
|
|
25646
26329
|
y: (e[3] * t + e[4] * n + e[5]) / r
|
|
25647
26330
|
};
|
|
25648
26331
|
}
|
|
25649
|
-
var
|
|
25650
|
-
function
|
|
26332
|
+
var ir = 1;
|
|
26333
|
+
function ar(e, t) {
|
|
25651
26334
|
let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
|
|
25652
26335
|
return [
|
|
25653
26336
|
n * c + i * l,
|
|
@@ -25658,13 +26341,13 @@ function Sn(e, t) {
|
|
|
25658
26341
|
r * f + a * p + s
|
|
25659
26342
|
];
|
|
25660
26343
|
}
|
|
25661
|
-
function
|
|
26344
|
+
function or(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
25662
26345
|
let p = c - o, m = l - s;
|
|
25663
26346
|
if (p <= 0 || m <= 0) return;
|
|
25664
|
-
let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x =
|
|
26347
|
+
let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x = ir * p / y, S = ir * m / b, C = Math.max(0, o - x), w = Math.max(0, s - S), T = Math.min(n, c + x), E = Math.min(r, l + S), D = T - C, O = E - w;
|
|
25665
26348
|
if (D <= 0 || O <= 0) return;
|
|
25666
26349
|
e.save();
|
|
25667
|
-
let [k, A, j, M, N, P] =
|
|
26350
|
+
let [k, A, j, M, N, P] = ar(i, [
|
|
25668
26351
|
h,
|
|
25669
26352
|
g,
|
|
25670
26353
|
_,
|
|
@@ -25674,22 +26357,22 @@ function Cn(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
|
25674
26357
|
]);
|
|
25675
26358
|
e.setTransform(k, A, j, M, N, P), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
|
|
25676
26359
|
}
|
|
25677
|
-
function
|
|
25678
|
-
let p =
|
|
26360
|
+
function sr(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
26361
|
+
let p = rr(o, s, c), m = rr(o, l, c), h = rr(o, s, u), g = rr(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = rr(o, _, v), b = {
|
|
25679
26362
|
x: (p.x + m.x + h.x + g.x) / 4,
|
|
25680
26363
|
y: (p.y + m.y + h.y + g.y) / 4
|
|
25681
|
-
}, x =
|
|
26364
|
+
}, x = lr(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
|
|
25682
26365
|
if (f <= 0 || S <= d) {
|
|
25683
|
-
|
|
26366
|
+
or(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
|
|
25684
26367
|
return;
|
|
25685
26368
|
}
|
|
25686
|
-
l - s >= u - c ? (
|
|
26369
|
+
l - s >= u - c ? (sr(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), sr(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (sr(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), sr(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
|
|
25687
26370
|
}
|
|
25688
|
-
function
|
|
26371
|
+
function cr(e, t, n, r, i, a = .5) {
|
|
25689
26372
|
if (n <= 0 || r <= 0) return;
|
|
25690
26373
|
let [o, s, c, l] = i;
|
|
25691
26374
|
if (Math.abs(o.x * s.y - s.x * o.y + s.x * c.y - c.x * s.y + c.x * l.y - l.x * c.y + l.x * o.y - o.x * l.y) / 2 < 1e-6) return;
|
|
25692
|
-
let u =
|
|
26375
|
+
let u = nr(i[0], i[1], i[2], i[3]);
|
|
25693
26376
|
if (!u) return;
|
|
25694
26377
|
let d = t.getTransform(), f = [
|
|
25695
26378
|
d.a,
|
|
@@ -25698,14 +26381,14 @@ function Tn(e, t, n, r, i, a = .5) {
|
|
|
25698
26381
|
d.d,
|
|
25699
26382
|
d.e,
|
|
25700
26383
|
d.f
|
|
25701
|
-
], p =
|
|
25702
|
-
|
|
26384
|
+
], p = lr(f);
|
|
26385
|
+
mr(e, t, n, r, i, f, p, u, a, 14) || (fr(), t.save(), t.beginPath(), t.moveTo(i[0].x, i[0].y), t.lineTo(i[1].x, i[1].y), t.lineTo(i[2].x, i[2].y), t.lineTo(i[3].x, i[3].y), t.closePath(), t.clip(), sr(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
|
|
25703
26386
|
}
|
|
25704
|
-
function
|
|
26387
|
+
function lr(e) {
|
|
25705
26388
|
return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
|
|
25706
26389
|
}
|
|
25707
|
-
function
|
|
25708
|
-
let r =
|
|
26390
|
+
function ur(e, t, n) {
|
|
26391
|
+
let r = nr(e[0], e[1], e[2], e[3]);
|
|
25709
26392
|
if (!r) return null;
|
|
25710
26393
|
let i = [
|
|
25711
26394
|
[-t, -n],
|
|
@@ -25715,16 +26398,16 @@ function Dn(e, t, n) {
|
|
|
25715
26398
|
], a = [];
|
|
25716
26399
|
for (let [e, t] of i) {
|
|
25717
26400
|
if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
|
|
25718
|
-
a.push(
|
|
26401
|
+
a.push(rr(r, e, t));
|
|
25719
26402
|
}
|
|
25720
26403
|
return a;
|
|
25721
26404
|
}
|
|
25722
|
-
var
|
|
25723
|
-
function
|
|
25724
|
-
|
|
26405
|
+
var dr = !1;
|
|
26406
|
+
function fr() {
|
|
26407
|
+
dr || (dr = !0, typeof console < "u" && typeof console.warn == "function" && console.warn("[ooxml] scene3d: no offscreen canvas available — using the direct warp fallback (per-cell bleed only, no supersample). Textured-source seams may be faintly visible; the silhouette and geometry are unaffected."));
|
|
25725
26408
|
}
|
|
25726
|
-
var
|
|
25727
|
-
function
|
|
26409
|
+
var pr = 2;
|
|
26410
|
+
function mr(e, t, n, r, i, a, o, s, c, l) {
|
|
25728
26411
|
let u = i.map((e) => ({
|
|
25729
26412
|
x: a[0] * e.x + a[2] * e.y + a[4],
|
|
25730
26413
|
y: a[1] * e.x + a[3] * e.y + a[5]
|
|
@@ -25733,11 +26416,11 @@ function jn(e, t, n, r, i, a, o, s, c, l) {
|
|
|
25733
26416
|
d = Math.floor(d) - 1, f = Math.floor(f) - 1, p = Math.ceil(p) + 1, m = Math.ceil(m) + 1;
|
|
25734
26417
|
let h = p - d, g = m - f;
|
|
25735
26418
|
if (h <= 0 || g <= 0) return !1;
|
|
25736
|
-
let _ = Math.max(1, Math.ceil(h *
|
|
26419
|
+
let _ = Math.max(1, Math.ceil(h * pr)), v = Math.max(1, Math.ceil(g * pr)), y = Rn(_, v);
|
|
25737
26420
|
if (!y || y.width !== _ || y.height !== v) return !1;
|
|
25738
26421
|
let b = y.getContext("2d") ?? null;
|
|
25739
26422
|
if (!b) return !1;
|
|
25740
|
-
let x =
|
|
26423
|
+
let x = pr, S = [
|
|
25741
26424
|
a[0] * x,
|
|
25742
26425
|
a[1] * x,
|
|
25743
26426
|
a[2] * x,
|
|
@@ -25745,18 +26428,18 @@ function jn(e, t, n, r, i, a, o, s, c, l) {
|
|
|
25745
26428
|
(a[4] - d) * x,
|
|
25746
26429
|
(a[5] - f) * x
|
|
25747
26430
|
];
|
|
25748
|
-
b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(),
|
|
26431
|
+
b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(), sr(b, e, n, r, S, o, s, 0, 0, 1, 1, c * x, l), b.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
|
|
25749
26432
|
let C = t.imageSmoothingEnabled, w = t.imageSmoothingQuality;
|
|
25750
26433
|
return t.imageSmoothingEnabled = !0, t.imageSmoothingQuality = "high", t.drawImage(y, 0, 0, h * x, g * x, d, f, h, g), t.imageSmoothingEnabled = C, t.imageSmoothingQuality = w, t.restore(), !0;
|
|
25751
26434
|
}
|
|
25752
26435
|
//#endregion
|
|
25753
26436
|
//#region packages/core/src/shape/bevel-shading.ts
|
|
25754
|
-
function
|
|
26437
|
+
function hr(e, t) {
|
|
25755
26438
|
if (t <= 0) return () => 1;
|
|
25756
26439
|
let n = (e) => Math.max(0, Math.min(1, e / t));
|
|
25757
26440
|
switch (e) {
|
|
25758
26441
|
case "hardEdge": {
|
|
25759
|
-
let e =
|
|
26442
|
+
let e = Cr;
|
|
25760
26443
|
return (t) => {
|
|
25761
26444
|
let r = Math.min(1, n(t) / e);
|
|
25762
26445
|
return r * r * (3 - 2 * r);
|
|
@@ -25776,7 +26459,7 @@ function Mn(e, t) {
|
|
|
25776
26459
|
};
|
|
25777
26460
|
}
|
|
25778
26461
|
}
|
|
25779
|
-
function
|
|
26462
|
+
function gr(e) {
|
|
25780
26463
|
let t = e.length, n = new Float64Array(t);
|
|
25781
26464
|
if (t === 0) return n;
|
|
25782
26465
|
let r = new Int32Array(t), i = new Float64Array(t + 1), a = 0;
|
|
@@ -25794,7 +26477,7 @@ function Nn(e) {
|
|
|
25794
26477
|
}
|
|
25795
26478
|
return n;
|
|
25796
26479
|
}
|
|
25797
|
-
function
|
|
26480
|
+
function _r(e, t = 3) {
|
|
25798
26481
|
if (e <= 0) return Array(t).fill(1);
|
|
25799
26482
|
let n = Math.sqrt(12 * e * e / t + 1), r = Math.floor(n);
|
|
25800
26483
|
r % 2 == 0 && r--;
|
|
@@ -25802,7 +26485,7 @@ function Pn(e, t = 3) {
|
|
|
25802
26485
|
for (let e = 0; e < t; e++) s.push(e < o ? r : i);
|
|
25803
26486
|
return s;
|
|
25804
26487
|
}
|
|
25805
|
-
function
|
|
26488
|
+
function vr(e, t, n, r, i, a) {
|
|
25806
26489
|
let o = 1 / (2 * i + 1);
|
|
25807
26490
|
if (a) for (let a = 0; a < r; a++) {
|
|
25808
26491
|
let r = a * n, s = 0;
|
|
@@ -25823,29 +26506,29 @@ function Fn(e, t, n, r, i, a) {
|
|
|
25823
26506
|
}
|
|
25824
26507
|
}
|
|
25825
26508
|
}
|
|
25826
|
-
function
|
|
26509
|
+
function yr(e, t, n, r) {
|
|
25827
26510
|
let i = Float64Array.from(e);
|
|
25828
26511
|
if (r <= 0 || t <= 0 || n <= 0) return i;
|
|
25829
26512
|
let a = new Float64Array(t * n);
|
|
25830
|
-
for (let e of
|
|
26513
|
+
for (let e of _r(r, 3)) {
|
|
25831
26514
|
let r = Math.max(1, (e - 1) / 2);
|
|
25832
|
-
|
|
26515
|
+
vr(i, a, t, n, r, !0), vr(a, i, t, n, r, !1);
|
|
25833
26516
|
}
|
|
25834
26517
|
return i;
|
|
25835
26518
|
}
|
|
25836
|
-
function
|
|
26519
|
+
function br(e, t, n, r = 128) {
|
|
25837
26520
|
let i = new Float64Array(t * n);
|
|
25838
26521
|
for (let a = 0; a < t * n; a++) i[a] = (e[a] ?? 0) >= r ? 0x56bc75e2d63100000 : 0;
|
|
25839
26522
|
let a = new Float64Array(n);
|
|
25840
26523
|
for (let e = 0; e < t; e++) {
|
|
25841
26524
|
for (let r = 0; r < n; r++) a[r] = i[r * t + e];
|
|
25842
|
-
let r =
|
|
26525
|
+
let r = gr(a);
|
|
25843
26526
|
for (let a = 0; a < n; a++) i[a * t + e] = r[a];
|
|
25844
26527
|
}
|
|
25845
26528
|
let o = new Float64Array(t);
|
|
25846
26529
|
for (let e = 0; e < n; e++) {
|
|
25847
26530
|
for (let n = 0; n < t; n++) o[n] = i[e * t + n];
|
|
25848
|
-
let n =
|
|
26531
|
+
let n = gr(o);
|
|
25849
26532
|
for (let r = 0; r < t; r++) i[e * t + r] = n[r];
|
|
25850
26533
|
}
|
|
25851
26534
|
for (let e = 0; e < n; e++) for (let r = 0; r < t; r++) {
|
|
@@ -25857,15 +26540,15 @@ function Ln(e, t, n, r = 128) {
|
|
|
25857
26540
|
for (let e = 0; e < t * n; e++) i[e] = Math.sqrt(i[e]);
|
|
25858
26541
|
return i;
|
|
25859
26542
|
}
|
|
25860
|
-
var
|
|
25861
|
-
function
|
|
26543
|
+
var xr = .25, Sr = .35, Cr = .5;
|
|
26544
|
+
function wr(e, t, n, r, i, a) {
|
|
25862
26545
|
let o = new Float32Array(t * n * 3), s = new Uint8Array(t * n), c = new Float32Array(t * n);
|
|
25863
26546
|
if (t <= 0 || n <= 0) return {
|
|
25864
26547
|
normals: o,
|
|
25865
26548
|
bandMask: s,
|
|
25866
26549
|
bandWeight: c
|
|
25867
26550
|
};
|
|
25868
|
-
let l =
|
|
26551
|
+
let l = br(e, t, n), u = hr(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = yr(l, t, n, Math.max(1, r * xr)), m = (e) => {
|
|
25869
26552
|
let t = u(Math.max(0, e - .5));
|
|
25870
26553
|
return u(e + .5) - t;
|
|
25871
26554
|
};
|
|
@@ -25880,9 +26563,9 @@ function Vn(e, t, n, r, i, a) {
|
|
|
25880
26563
|
o[a * 3 + 2] = 1;
|
|
25881
26564
|
continue;
|
|
25882
26565
|
}
|
|
25883
|
-
let g = u / r, _ = 1 -
|
|
26566
|
+
let g = u / r, _ = 1 - Sr, v = 1;
|
|
25884
26567
|
if (g > _) {
|
|
25885
|
-
let e = Math.min(1, (g - _) /
|
|
26568
|
+
let e = Math.min(1, (g - _) / Sr);
|
|
25886
26569
|
v = 1 - e * e * (3 - 2 * e);
|
|
25887
26570
|
}
|
|
25888
26571
|
c[a] = v;
|
|
@@ -25897,7 +26580,7 @@ function Vn(e, t, n, r, i, a) {
|
|
|
25897
26580
|
bandWeight: c
|
|
25898
26581
|
};
|
|
25899
26582
|
}
|
|
25900
|
-
var
|
|
26583
|
+
var Tr = 35 * Math.PI / 180, Er = 12 * Math.PI / 180, Dr = {
|
|
25901
26584
|
t: {
|
|
25902
26585
|
x: 0,
|
|
25903
26586
|
y: -1
|
|
@@ -25931,22 +26614,22 @@ var Hn = 35 * Math.PI / 180, Un = 12 * Math.PI / 180, Wn = {
|
|
|
25931
26614
|
y: 1
|
|
25932
26615
|
}
|
|
25933
26616
|
};
|
|
25934
|
-
function
|
|
26617
|
+
function Or(e, t, n) {
|
|
25935
26618
|
let r = n * Math.PI / 180, i = Math.cos(r), a = Math.sin(r);
|
|
25936
26619
|
return {
|
|
25937
26620
|
x: e * i - t * a,
|
|
25938
26621
|
y: e * a + t * i
|
|
25939
26622
|
};
|
|
25940
26623
|
}
|
|
25941
|
-
function
|
|
25942
|
-
let r =
|
|
25943
|
-
return n && n.rev && (r =
|
|
26624
|
+
function kr(e, t, n) {
|
|
26625
|
+
let r = Dr[t] ?? Dr.t;
|
|
26626
|
+
return n && n.rev && (r = Or(r.x, r.y, n.rev)), jr(r.x, r.y, Tr);
|
|
25944
26627
|
}
|
|
25945
|
-
function
|
|
26628
|
+
function Ar(e) {
|
|
25946
26629
|
let t = Math.hypot(e.x, e.y) || 1;
|
|
25947
|
-
return
|
|
26630
|
+
return jr(-e.x / t, -e.y / t, Er);
|
|
25948
26631
|
}
|
|
25949
|
-
function
|
|
26632
|
+
function jr(e, t, n) {
|
|
25950
26633
|
let r = Math.hypot(e, t) || 1, i = Math.cos(n), a = Math.sin(n), o = e / r * i, s = t / r * i, c = a, l = Math.hypot(o, s, c) || 1;
|
|
25951
26634
|
return {
|
|
25952
26635
|
x: o / l,
|
|
@@ -25954,7 +26637,7 @@ function Jn(e, t, n) {
|
|
|
25954
26637
|
z: c / l
|
|
25955
26638
|
};
|
|
25956
26639
|
}
|
|
25957
|
-
var
|
|
26640
|
+
var Mr = 2, Nr = {
|
|
25958
26641
|
matte: {
|
|
25959
26642
|
ambient: .62,
|
|
25960
26643
|
diffuse: .45,
|
|
@@ -25967,8 +26650,8 @@ var Yn = 2, Xn = {
|
|
|
25967
26650
|
specular: .35,
|
|
25968
26651
|
shininess: 22
|
|
25969
26652
|
}
|
|
25970
|
-
},
|
|
25971
|
-
function
|
|
26653
|
+
}, Pr = .8;
|
|
26654
|
+
function Fr(e) {
|
|
25972
26655
|
switch (e) {
|
|
25973
26656
|
case "plastic":
|
|
25974
26657
|
case "metal":
|
|
@@ -25979,8 +26662,8 @@ function Qn(e) {
|
|
|
25979
26662
|
default: return "matte";
|
|
25980
26663
|
}
|
|
25981
26664
|
}
|
|
25982
|
-
function
|
|
25983
|
-
let r =
|
|
26665
|
+
function Ir(e, t, n = !0) {
|
|
26666
|
+
let r = Nr[e], i = {
|
|
25984
26667
|
light: t,
|
|
25985
26668
|
material: e,
|
|
25986
26669
|
ambient: r.ambient,
|
|
@@ -25988,9 +26671,9 @@ function $n(e, t, n = !0) {
|
|
|
25988
26671
|
specular: r.specular,
|
|
25989
26672
|
shininess: r.shininess
|
|
25990
26673
|
};
|
|
25991
|
-
return n && (i.fillLight =
|
|
26674
|
+
return n && (i.fillLight = Ar(t), i.fillDiffuse = i.diffuse * Pr), i;
|
|
25992
26675
|
}
|
|
25993
|
-
function
|
|
26676
|
+
function Lr(e, t) {
|
|
25994
26677
|
let n = e.x * t.light.x + e.y * t.light.y + e.z * t.light.z, r = t.diffuse * Math.max(0, n), i = 0;
|
|
25995
26678
|
if (t.fillLight && t.fillDiffuse) {
|
|
25996
26679
|
let n = e.x * t.fillLight.x + e.y * t.fillLight.y + e.z * t.fillLight.z;
|
|
@@ -26003,14 +26686,14 @@ function er(e, t) {
|
|
|
26003
26686
|
}
|
|
26004
26687
|
return Math.max(0, t.ambient + r + i + a);
|
|
26005
26688
|
}
|
|
26006
|
-
function
|
|
26689
|
+
function Rr(e, t) {
|
|
26007
26690
|
let n = e.canvas.width, r = e.canvas.height;
|
|
26008
26691
|
if (n <= 0 || r <= 0) return;
|
|
26009
26692
|
let i = t.widthPx;
|
|
26010
26693
|
if (i < .75) return;
|
|
26011
26694
|
let a = e.getImageData(0, 0, n, r), o = a.data, s = new Uint8ClampedArray(n * r);
|
|
26012
26695
|
for (let e = 0; e < n * r; e++) s[e] = o[e * 4 + 3];
|
|
26013
|
-
let { bandMask: c, bandWeight: l, normals: u } =
|
|
26696
|
+
let { bandMask: c, bandWeight: l, normals: u } = wr(s, n, r, i, t.prst, t.heightPx), d = Ir(t.material, t.light), f = Lr({
|
|
26014
26697
|
x: 0,
|
|
26015
26698
|
y: 0,
|
|
26016
26699
|
z: 1
|
|
@@ -26021,13 +26704,13 @@ function tr(e, t) {
|
|
|
26021
26704
|
if (n <= 0) continue;
|
|
26022
26705
|
let r = u[e * 3], i = u[e * 3 + 1], a = u[e * 3 + 2];
|
|
26023
26706
|
t.bottom && (r = -r, i = -i);
|
|
26024
|
-
let s = 1 + (
|
|
26707
|
+
let s = 1 + (Lr({
|
|
26025
26708
|
x: r,
|
|
26026
26709
|
y: i,
|
|
26027
26710
|
z: a
|
|
26028
26711
|
}, d) / f - 1) * n, p = e * 4;
|
|
26029
26712
|
if (s >= 1) {
|
|
26030
|
-
let e = Math.min(1, (s - 1) *
|
|
26713
|
+
let e = Math.min(1, (s - 1) * Mr);
|
|
26031
26714
|
for (let t = 0; t < 3; t++) {
|
|
26032
26715
|
let n = Math.min(255, o[p + t] * s);
|
|
26033
26716
|
o[p + t] = n + (255 - n) * e;
|
|
@@ -26036,7 +26719,7 @@ function tr(e, t) {
|
|
|
26036
26719
|
}
|
|
26037
26720
|
e.putImageData(a, 0, 0);
|
|
26038
26721
|
}
|
|
26039
|
-
function
|
|
26722
|
+
function zr(e, t) {
|
|
26040
26723
|
let n = e.canvas.width, r = e.canvas.height;
|
|
26041
26724
|
if (n <= 0 || r <= 0) return;
|
|
26042
26725
|
let i = t.offsetX, a = t.offsetY, o = Math.hypot(i, a);
|
|
@@ -26063,7 +26746,7 @@ function nr(e, t) {
|
|
|
26063
26746
|
}
|
|
26064
26747
|
//#endregion
|
|
26065
26748
|
//#region packages/core/src/sparkline/renderer.ts
|
|
26066
|
-
function
|
|
26749
|
+
function Br(e, t, n) {
|
|
26067
26750
|
let { values: r } = n;
|
|
26068
26751
|
if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
|
|
26069
26752
|
let i = n.colorSeries ?? "#5B9BD5", a = Math.min(2, t.w * .08), o = Math.max(2, t.h * .2), s = t.x + a, c = t.y + o, l = Math.max(1, t.w - a * 2), u = Math.max(1, t.h - o * 2), d = r.filter((e) => typeof e == "number");
|
|
@@ -26072,11 +26755,11 @@ function rr(e, t, n) {
|
|
|
26072
26755
|
m === h && (h = m + 1, --m);
|
|
26073
26756
|
let g = h - m, _ = (e) => c + u - (e - m) / g * u;
|
|
26074
26757
|
if (n.kind === "stem") {
|
|
26075
|
-
|
|
26758
|
+
Ur(e, n, s, c, l, u);
|
|
26076
26759
|
return;
|
|
26077
26760
|
}
|
|
26078
26761
|
if (n.kind === "column") {
|
|
26079
|
-
|
|
26762
|
+
Hr(e, n, r, s, c, l, u, m, h);
|
|
26080
26763
|
return;
|
|
26081
26764
|
}
|
|
26082
26765
|
if (n.displayXAxis && m < 0 && h > 0) {
|
|
@@ -26100,7 +26783,7 @@ function rr(e, t, n) {
|
|
|
26100
26783
|
b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
|
|
26101
26784
|
}
|
|
26102
26785
|
e.stroke(), e.restore();
|
|
26103
|
-
let S = Math.max(1, Math.min(2.5, u * .12)), C =
|
|
26786
|
+
let S = Math.max(1, Math.min(2.5, u * .12)), C = Vr(r, n);
|
|
26104
26787
|
for (let t = 0; t < v; t++) {
|
|
26105
26788
|
let a = r[t];
|
|
26106
26789
|
if (a == null) continue;
|
|
@@ -26108,7 +26791,7 @@ function rr(e, t, n) {
|
|
|
26108
26791
|
(n.markers || o != null) && (e.save(), e.fillStyle = o ?? n.colorMarkers ?? i, e.beginPath(), e.arc(y(t), _(a), S, 0, Math.PI * 2), e.fill(), e.restore());
|
|
26109
26792
|
}
|
|
26110
26793
|
}
|
|
26111
|
-
function
|
|
26794
|
+
function Vr(e, t) {
|
|
26112
26795
|
let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
|
|
26113
26796
|
for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
|
|
26114
26797
|
a = e;
|
|
@@ -26123,10 +26806,10 @@ function ir(e, t) {
|
|
|
26123
26806
|
if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
|
|
26124
26807
|
return n;
|
|
26125
26808
|
}
|
|
26126
|
-
function
|
|
26809
|
+
function Hr(e, t, n, r, i, a, o, s, c) {
|
|
26127
26810
|
let l = n.length;
|
|
26128
26811
|
if (l === 0) return;
|
|
26129
|
-
let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g =
|
|
26812
|
+
let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = Vr(n, t);
|
|
26130
26813
|
for (let i = 0; i < l; i++) {
|
|
26131
26814
|
let a = n[i];
|
|
26132
26815
|
if (a == null) continue;
|
|
@@ -26134,10 +26817,10 @@ function ar(e, t, n, r, i, a, o, s, c) {
|
|
|
26134
26817
|
e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
|
|
26135
26818
|
}
|
|
26136
26819
|
}
|
|
26137
|
-
function
|
|
26820
|
+
function Ur(e, t, n, r, i, a) {
|
|
26138
26821
|
let o = t.values.length;
|
|
26139
26822
|
if (o === 0) return;
|
|
26140
|
-
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d =
|
|
26823
|
+
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = Vr(t.values, t);
|
|
26141
26824
|
for (let r = 0; r < o; r++) {
|
|
26142
26825
|
let i = t.values[r];
|
|
26143
26826
|
if (i == null || i === 0) continue;
|
|
@@ -26147,13 +26830,13 @@ function or(e, t, n, r, i, a) {
|
|
|
26147
26830
|
}
|
|
26148
26831
|
//#endregion
|
|
26149
26832
|
//#region packages/core/src/math/mathml.ts
|
|
26150
|
-
var
|
|
26833
|
+
var Wr = {
|
|
26151
26834
|
"&": "&",
|
|
26152
26835
|
"<": "<",
|
|
26153
26836
|
">": ">",
|
|
26154
26837
|
"\"": """
|
|
26155
|
-
},
|
|
26156
|
-
function
|
|
26838
|
+
}, Gr = (e) => e.replace(/[&<>"]/g, (e) => Wr[e]);
|
|
26839
|
+
function Kr(e) {
|
|
26157
26840
|
switch (e) {
|
|
26158
26841
|
case "roman": return "normal";
|
|
26159
26842
|
case "bold": return "bold";
|
|
@@ -26161,10 +26844,10 @@ function lr(e) {
|
|
|
26161
26844
|
case "italic": return null;
|
|
26162
26845
|
}
|
|
26163
26846
|
}
|
|
26164
|
-
var
|
|
26165
|
-
function
|
|
26166
|
-
let n =
|
|
26167
|
-
a &&= (i += `<mn${r}>${
|
|
26847
|
+
var qr = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), Jr = "+−±∓×÷·∗⋅∘∙*/", Yr = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", Xr = "([{⟨⌈⌊", Zr = ")]}⟩⌉⌋", Qr = ",;";
|
|
26848
|
+
function $r(e, t) {
|
|
26849
|
+
let n = Kr(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
|
|
26850
|
+
a &&= (i += `<mn${r}>${Gr(a)}</mn>`, "");
|
|
26168
26851
|
};
|
|
26169
26852
|
for (let t of e) {
|
|
26170
26853
|
if (t === " ") {
|
|
@@ -26175,42 +26858,42 @@ function gr(e, t) {
|
|
|
26175
26858
|
a += t;
|
|
26176
26859
|
continue;
|
|
26177
26860
|
}
|
|
26178
|
-
o(),
|
|
26861
|
+
o(), Jr.includes(t) || Yr.includes(t) || Qr.includes(t) ? i += `<mo>${Gr(t)}</mo>` : Xr.includes(t) || Zr.includes(t) ? i += `<mo fence="true" stretchy="false">${Gr(t)}</mo>` : i += `<mi${r}>${Gr(t)}</mi>`;
|
|
26179
26862
|
}
|
|
26180
26863
|
return o(), i;
|
|
26181
26864
|
}
|
|
26182
|
-
function
|
|
26183
|
-
return e.map(
|
|
26865
|
+
function ei(e) {
|
|
26866
|
+
return e.map(ti).join("");
|
|
26184
26867
|
}
|
|
26185
26868
|
function $(e) {
|
|
26186
|
-
return `<mrow>${
|
|
26869
|
+
return `<mrow>${ei(e)}</mrow>`;
|
|
26187
26870
|
}
|
|
26188
|
-
function
|
|
26871
|
+
function ti(e) {
|
|
26189
26872
|
switch (e.kind) {
|
|
26190
|
-
case "run": return
|
|
26873
|
+
case "run": return $r(e.text, e.style);
|
|
26191
26874
|
case "group": return $(e.items);
|
|
26192
26875
|
case "fraction": return `<mfrac${e.bar === !1 ? " linethickness=\"0\"" : ""}>${$(e.num)}${$(e.den)}</mfrac>`;
|
|
26193
26876
|
case "sup": return `<msup>${$(e.base)}${$(e.sup ?? [])}</msup>`;
|
|
26194
26877
|
case "sub": return `<msub>${$(e.base)}${$(e.sub ?? [])}</msub>`;
|
|
26195
26878
|
case "subSup": return `<msubsup>${$(e.base)}${$(e.sub ?? [])}${$(e.sup ?? [])}</msubsup>`;
|
|
26196
|
-
case "nary": return
|
|
26197
|
-
case "delimiter": return
|
|
26198
|
-
case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${
|
|
26199
|
-
case "limit": return
|
|
26200
|
-
case "array": return
|
|
26879
|
+
case "nary": return ci(e);
|
|
26880
|
+
case "delimiter": return li(e);
|
|
26881
|
+
case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${ei(e.radicand)}</msqrt>`;
|
|
26882
|
+
case "limit": return ai(e);
|
|
26883
|
+
case "array": return oi(e);
|
|
26201
26884
|
case "groupChr": {
|
|
26202
|
-
let t = $(e.base), n =
|
|
26885
|
+
let t = $(e.base), n = qr.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${Gr(e.char)}</mo>`;
|
|
26203
26886
|
return n ? `<${r}>${t}${i}</${r}>` : `<${r} accent="true">${t}${i}</${r}>`;
|
|
26204
26887
|
}
|
|
26205
26888
|
case "bar": {
|
|
26206
26889
|
let t = $(e.base), n = "<mo stretchy=\"true\">―</mo>";
|
|
26207
26890
|
return e.pos === "bot" ? `<munder>${t}${n}</munder>` : `<mover>${t}${n}</mover>`;
|
|
26208
26891
|
}
|
|
26209
|
-
case "accent": return
|
|
26892
|
+
case "accent": return ii(e);
|
|
26210
26893
|
case "func": return `<mrow>${$(e.name)}<mo>⁡</mo>${$(e.arg)}</mrow>`;
|
|
26211
26894
|
}
|
|
26212
26895
|
}
|
|
26213
|
-
var
|
|
26896
|
+
var ni = {
|
|
26214
26897
|
"̀": "`",
|
|
26215
26898
|
"́": "´",
|
|
26216
26899
|
"̂": "^",
|
|
@@ -26221,7 +26904,7 @@ var yr = {
|
|
|
26221
26904
|
"̌": "ˇ",
|
|
26222
26905
|
"⃗": "→",
|
|
26223
26906
|
"⃖": "←"
|
|
26224
|
-
},
|
|
26907
|
+
}, ri = new Set([
|
|
26225
26908
|
"̅",
|
|
26226
26909
|
"̄",
|
|
26227
26910
|
"¯",
|
|
@@ -26229,54 +26912,54 @@ var yr = {
|
|
|
26229
26912
|
"̲",
|
|
26230
26913
|
"̳"
|
|
26231
26914
|
]);
|
|
26232
|
-
function
|
|
26915
|
+
function ii(e) {
|
|
26233
26916
|
let t = $(e.base);
|
|
26234
|
-
if (
|
|
26235
|
-
let n =
|
|
26236
|
-
return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${
|
|
26917
|
+
if (ri.has(e.char)) return `<mover>${t}<mo stretchy="true">―</mo></mover>`;
|
|
26918
|
+
let n = ni[e.char] ?? e.char;
|
|
26919
|
+
return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${Gr(n)}</mo></mover>`;
|
|
26237
26920
|
}
|
|
26238
|
-
function
|
|
26921
|
+
function ai(e) {
|
|
26239
26922
|
let t = $(e.base), n = e.lower && e.lower.length ? $(e.lower) : null, r = e.upper && e.upper.length ? $(e.upper) : null;
|
|
26240
26923
|
return n && r ? `<munderover>${t}${n}${r}</munderover>` : n ? `<munder>${t}${n}</munder>` : r ? `<mover>${t}${r}</mover>` : t;
|
|
26241
26924
|
}
|
|
26242
|
-
function
|
|
26925
|
+
function oi(e) {
|
|
26243
26926
|
let t = Math.max(1, ...e.rows.map((e) => e.length)), n;
|
|
26244
26927
|
n = e.align === "eq" ? Array.from({ length: t }, (e, t) => t % 2 == 0 ? "right" : "left").join(" ") : e.align === "left" ? "left" : "center";
|
|
26245
|
-
let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${
|
|
26928
|
+
let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${ei(e)}</mtd>`).join("")}</mtr>`).join("");
|
|
26246
26929
|
return `<mtable columnalign="${n}" rowspacing="0.2em" columnspacing="0.3em">${r}</mtable>`;
|
|
26247
26930
|
}
|
|
26248
|
-
var
|
|
26249
|
-
function
|
|
26250
|
-
let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 :
|
|
26251
|
-
return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${
|
|
26931
|
+
var si = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
|
|
26932
|
+
function ci(e) {
|
|
26933
|
+
let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : si.has(e.op), n = `<mo largeop="true">${Gr(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
|
|
26934
|
+
return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${ei(e.body)}</mrow>`;
|
|
26252
26935
|
}
|
|
26253
|
-
function
|
|
26254
|
-
let t = (e) => `<mo fence="true" stretchy="true">${
|
|
26936
|
+
function li(e) {
|
|
26937
|
+
let t = (e) => `<mo fence="true" stretchy="true">${Gr(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
|
|
26255
26938
|
return `<mrow>${t(e.begChar)}${n}${t(e.endChar)}</mrow>`;
|
|
26256
26939
|
}
|
|
26257
|
-
function
|
|
26258
|
-
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${
|
|
26940
|
+
function ui(e, t) {
|
|
26941
|
+
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${ei(e)}</math>`;
|
|
26259
26942
|
}
|
|
26260
26943
|
//#endregion
|
|
26261
26944
|
//#region packages/core/src/canvas/env.ts
|
|
26262
|
-
function
|
|
26945
|
+
function di(e) {
|
|
26263
26946
|
return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
|
|
26264
26947
|
}
|
|
26265
|
-
function
|
|
26948
|
+
function fi(e = 1) {
|
|
26266
26949
|
return typeof window < "u" && window.devicePixelRatio || e;
|
|
26267
26950
|
}
|
|
26268
26951
|
//#endregion
|
|
26269
26952
|
//#region packages/core/src/canvas/crisp.ts
|
|
26270
|
-
function
|
|
26953
|
+
function pi(e, t, n) {
|
|
26271
26954
|
let r = Math.round(t * n) % 2 == 1 ? .5 : 0, i = e * n;
|
|
26272
26955
|
return (Math.round(i - r) + r) / n - e;
|
|
26273
26956
|
}
|
|
26274
26957
|
//#endregion
|
|
26275
26958
|
//#region packages/core/src/draw/dash.ts
|
|
26276
|
-
function
|
|
26959
|
+
function mi(e, t) {
|
|
26277
26960
|
return e.map((e) => e * t);
|
|
26278
26961
|
}
|
|
26279
|
-
var
|
|
26962
|
+
var hi = {
|
|
26280
26963
|
dotted: [1, 2],
|
|
26281
26964
|
dashed: [3, 2],
|
|
26282
26965
|
dashSmallGap: [3, 1],
|
|
@@ -26301,11 +26984,11 @@ var Mr = {
|
|
|
26301
26984
|
2
|
|
26302
26985
|
]
|
|
26303
26986
|
};
|
|
26304
|
-
function
|
|
26305
|
-
let n =
|
|
26306
|
-
return n ?
|
|
26987
|
+
function gi(e, t) {
|
|
26988
|
+
let n = hi[e];
|
|
26989
|
+
return n ? mi(n, t) : [];
|
|
26307
26990
|
}
|
|
26308
|
-
var
|
|
26991
|
+
var _i = {
|
|
26309
26992
|
hair: [1, 1],
|
|
26310
26993
|
dashed: [4, 3],
|
|
26311
26994
|
mediumDashed: [4, 3],
|
|
@@ -26345,11 +27028,11 @@ var Pr = {
|
|
|
26345
27028
|
3
|
|
26346
27029
|
]
|
|
26347
27030
|
};
|
|
26348
|
-
function
|
|
26349
|
-
let t =
|
|
26350
|
-
return t ?
|
|
27031
|
+
function vi(e) {
|
|
27032
|
+
let t = _i[e];
|
|
27033
|
+
return t ? mi(t, 1) : [];
|
|
26351
27034
|
}
|
|
26352
|
-
var
|
|
27035
|
+
var yi = {
|
|
26353
27036
|
dotted: [1.5, 3],
|
|
26354
27037
|
dottedHeavy: [1.5, 3],
|
|
26355
27038
|
dash: [6, 3],
|
|
@@ -26385,13 +27068,13 @@ var Ir = {
|
|
|
26385
27068
|
3
|
|
26386
27069
|
]
|
|
26387
27070
|
};
|
|
26388
|
-
function
|
|
26389
|
-
let n =
|
|
26390
|
-
return n ?
|
|
27071
|
+
function bi(e, t) {
|
|
27072
|
+
let n = yi[e];
|
|
27073
|
+
return n ? mi(n, t) : [];
|
|
26391
27074
|
}
|
|
26392
27075
|
//#endregion
|
|
26393
27076
|
//#region packages/core/src/draw/double-border.ts
|
|
26394
|
-
function
|
|
27077
|
+
function xi(e, t) {
|
|
26395
27078
|
let n = Math.max(1, Math.round(e * t / 3)), r = Math.max(1, Math.round(e * t / 3));
|
|
26396
27079
|
return {
|
|
26397
27080
|
railDev: n,
|
|
@@ -26399,8 +27082,8 @@ function Rr(e, t) {
|
|
|
26399
27082
|
spanDev: 2 * n + r
|
|
26400
27083
|
};
|
|
26401
27084
|
}
|
|
26402
|
-
function
|
|
26403
|
-
let { railDev: s, gapDev: c, spanDev: l } =
|
|
27085
|
+
function Si(e, t, n, r, i, a, o) {
|
|
27086
|
+
let { railDev: s, gapDev: c, spanDev: l } = xi(a, o);
|
|
26404
27087
|
if (n === i) {
|
|
26405
27088
|
let i = Math.round(n * o - l / 2);
|
|
26406
27089
|
e.fillRect(t, i / o, r - t, s / o), e.fillRect(t, (i + s + c) / o, r - t, s / o);
|
|
@@ -26411,7 +27094,7 @@ function zr(e, t, n, r, i, a, o) {
|
|
|
26411
27094
|
}
|
|
26412
27095
|
//#endregion
|
|
26413
27096
|
//#region packages/core/src/worker/bridge.ts
|
|
26414
|
-
var
|
|
27097
|
+
var Ci = class {
|
|
26415
27098
|
_worker;
|
|
26416
27099
|
_opts;
|
|
26417
27100
|
_pending = /* @__PURE__ */ new Map();
|
|
@@ -26451,7 +27134,7 @@ var Br = class {
|
|
|
26451
27134
|
for (let e of this._pending.values()) e.reject(/* @__PURE__ */ Error("Worker terminated"));
|
|
26452
27135
|
this._pending.clear();
|
|
26453
27136
|
}
|
|
26454
|
-
},
|
|
27137
|
+
}, wi = [
|
|
26455
27138
|
"L",
|
|
26456
27139
|
"R",
|
|
26457
27140
|
"AL",
|
|
@@ -26475,7 +27158,7 @@ var Br = class {
|
|
|
26475
27158
|
"RLI",
|
|
26476
27159
|
"FSI",
|
|
26477
27160
|
"PDI"
|
|
26478
|
-
],
|
|
27161
|
+
], Ti = [
|
|
26479
27162
|
0,
|
|
26480
27163
|
9,
|
|
26481
27164
|
10,
|
|
@@ -27743,7 +28426,7 @@ var Br = class {
|
|
|
27743
28426
|
1048574,
|
|
27744
28427
|
1048576,
|
|
27745
28428
|
1114110
|
|
27746
|
-
],
|
|
28429
|
+
], Ei = [
|
|
27747
28430
|
9,
|
|
27748
28431
|
11,
|
|
27749
28432
|
10,
|
|
@@ -29011,7 +29694,7 @@ var Br = class {
|
|
|
29011
29694
|
9,
|
|
29012
29695
|
0,
|
|
29013
29696
|
9
|
|
29014
|
-
],
|
|
29697
|
+
], Di = [
|
|
29015
29698
|
40,
|
|
29016
29699
|
41,
|
|
29017
29700
|
41,
|
|
@@ -29868,7 +30551,7 @@ var Br = class {
|
|
|
29868
30551
|
65379,
|
|
29869
30552
|
65379,
|
|
29870
30553
|
65378
|
|
29871
|
-
],
|
|
30554
|
+
], Oi = [
|
|
29872
30555
|
40,
|
|
29873
30556
|
41,
|
|
29874
30557
|
0,
|
|
@@ -30256,42 +30939,42 @@ var Br = class {
|
|
|
30256
30939
|
];
|
|
30257
30940
|
//#endregion
|
|
30258
30941
|
//#region packages/core/src/text/bidi/char-data.ts
|
|
30259
|
-
function
|
|
30260
|
-
let t = 0, n =
|
|
30942
|
+
function ki(e) {
|
|
30943
|
+
let t = 0, n = Ti.length - 1;
|
|
30261
30944
|
for (; t < n;) {
|
|
30262
30945
|
let r = t + n + 1 >> 1;
|
|
30263
|
-
|
|
30946
|
+
Ti[r] <= e ? t = r : n = r - 1;
|
|
30264
30947
|
}
|
|
30265
|
-
return
|
|
30948
|
+
return Ei[t];
|
|
30266
30949
|
}
|
|
30267
|
-
function
|
|
30268
|
-
return
|
|
30950
|
+
function Ai(e) {
|
|
30951
|
+
return wi[ki(e)];
|
|
30269
30952
|
}
|
|
30270
|
-
var
|
|
30953
|
+
var ji = (() => {
|
|
30271
30954
|
let e = /* @__PURE__ */ new Map();
|
|
30272
|
-
for (let t = 0; t <
|
|
30955
|
+
for (let t = 0; t < Di.length; t += 2) e.set(Di[t], Di[t + 1]);
|
|
30273
30956
|
return e;
|
|
30274
30957
|
})();
|
|
30275
|
-
function
|
|
30276
|
-
return
|
|
30958
|
+
function Mi(e) {
|
|
30959
|
+
return ji.get(e) ?? null;
|
|
30277
30960
|
}
|
|
30278
|
-
var
|
|
30961
|
+
var Ni = (() => {
|
|
30279
30962
|
let e = /* @__PURE__ */ new Map();
|
|
30280
|
-
for (let t = 0; t <
|
|
30281
|
-
pair:
|
|
30282
|
-
type:
|
|
30963
|
+
for (let t = 0; t < Oi.length; t += 3) e.set(Oi[t], {
|
|
30964
|
+
pair: Oi[t + 1],
|
|
30965
|
+
type: Oi[t + 2] === 0 ? "o" : "c"
|
|
30283
30966
|
});
|
|
30284
30967
|
return e;
|
|
30285
30968
|
})();
|
|
30286
|
-
function
|
|
30287
|
-
return
|
|
30969
|
+
function Pi(e) {
|
|
30970
|
+
return Ni.get(e) ?? null;
|
|
30288
30971
|
}
|
|
30289
|
-
var
|
|
30290
|
-
function
|
|
30972
|
+
var Fi = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", Ii = (e) => e === "LRI" || e === "RLI" || e === "FSI", Li = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", Ri = (e) => e & 1 ? e + 2 : e + 1, zi = (e) => e & 1 ? e + 1 : e + 2;
|
|
30973
|
+
function Bi(e, t, n) {
|
|
30291
30974
|
let r = 0;
|
|
30292
30975
|
for (let i = t; i < n; i++) {
|
|
30293
30976
|
let t = e[i];
|
|
30294
|
-
if (
|
|
30977
|
+
if (Ii(t)) r++;
|
|
30295
30978
|
else if (t === "PDI") r > 0 && r--;
|
|
30296
30979
|
else if (r === 0) {
|
|
30297
30980
|
if (t === "L") return 0;
|
|
@@ -30300,11 +30983,11 @@ function ri(e, t, n) {
|
|
|
30300
30983
|
}
|
|
30301
30984
|
return 0;
|
|
30302
30985
|
}
|
|
30303
|
-
function
|
|
30986
|
+
function Vi(e) {
|
|
30304
30987
|
let t = e.length, n = new Int32Array(t).fill(t), r = new Int32Array(t).fill(-1), i = [];
|
|
30305
30988
|
for (let a = 0; a < t; a++) {
|
|
30306
30989
|
let t = e[a];
|
|
30307
|
-
if (
|
|
30990
|
+
if (Ii(t)) i.push(a);
|
|
30308
30991
|
else if (t === "PDI" && i.length) {
|
|
30309
30992
|
let e = i.pop();
|
|
30310
30993
|
n[e] = a, r[a] = e;
|
|
@@ -30315,7 +30998,7 @@ function ii(e) {
|
|
|
30315
30998
|
initOf: r
|
|
30316
30999
|
};
|
|
30317
31000
|
}
|
|
30318
|
-
function
|
|
31001
|
+
function Hi(e, t, n) {
|
|
30319
31002
|
let r = e.length, i = Array(r).fill(t), a = e.slice(), o = [{
|
|
30320
31003
|
level: t,
|
|
30321
31004
|
override: "neutral",
|
|
@@ -30329,7 +31012,7 @@ function ai(e, t, n) {
|
|
|
30329
31012
|
case "RLO":
|
|
30330
31013
|
case "LRO": {
|
|
30331
31014
|
i[d] = u().level;
|
|
30332
|
-
let e = r === "RLE" || r === "RLO" ?
|
|
31015
|
+
let e = r === "RLE" || r === "RLO" ? Ri(u().level) : zi(u().level);
|
|
30333
31016
|
e <= 125 && s === 0 && c === 0 ? o.push({
|
|
30334
31017
|
level: e,
|
|
30335
31018
|
override: r === "RLO" ? "R" : r === "LRO" ? "L" : "neutral",
|
|
@@ -30344,8 +31027,8 @@ function ai(e, t, n) {
|
|
|
30344
31027
|
let t = u().override;
|
|
30345
31028
|
t !== "neutral" && (a[d] = t);
|
|
30346
31029
|
let f;
|
|
30347
|
-
f = r === "RLI" ? "R" : r === "LRI" ? "L" :
|
|
30348
|
-
let p = f === "R" ?
|
|
31030
|
+
f = r === "RLI" ? "R" : r === "LRI" ? "L" : Bi(e, d + 1, n[d]) === 1 ? "R" : "L";
|
|
31031
|
+
let p = f === "R" ? Ri(u().level) : zi(u().level);
|
|
30349
31032
|
p <= 125 && s === 0 && c === 0 ? (l++, o.push({
|
|
30350
31033
|
level: p,
|
|
30351
31034
|
override: "neutral",
|
|
@@ -30387,10 +31070,10 @@ function ai(e, t, n) {
|
|
|
30387
31070
|
types: a
|
|
30388
31071
|
};
|
|
30389
31072
|
}
|
|
30390
|
-
function
|
|
31073
|
+
function Ui(e) {
|
|
30391
31074
|
return e === 9001 ? 12296 : e === 9002 ? 12297 : e;
|
|
30392
31075
|
}
|
|
30393
|
-
function
|
|
31076
|
+
function Wi(e, t, n, r, i, a) {
|
|
30394
31077
|
let o = e.length, s = [];
|
|
30395
31078
|
for (let e = 0; e < o; e++) n[e] || s.push(e);
|
|
30396
31079
|
let c = [];
|
|
@@ -30408,7 +31091,7 @@ function si(e, t, n, r, i, a) {
|
|
|
30408
31091
|
for (;;) {
|
|
30409
31092
|
for (let e of p) f.push(e);
|
|
30410
31093
|
let t = p[p.length - 1];
|
|
30411
|
-
if (
|
|
31094
|
+
if (Ii(e[t]) && i[t] !== o) {
|
|
30412
31095
|
let e = l.get(i[t]);
|
|
30413
31096
|
if (e) {
|
|
30414
31097
|
p = e;
|
|
@@ -30423,7 +31106,7 @@ function si(e, t, n, r, i, a) {
|
|
|
30423
31106
|
break;
|
|
30424
31107
|
}
|
|
30425
31108
|
let g = u(Math.max(m, h)), _ = f[f.length - 1], v = r;
|
|
30426
|
-
if (!(
|
|
31109
|
+
if (!(Ii(e[_]) && i[_] === o)) {
|
|
30427
31110
|
for (let e = _ + 1; e < o; e++) if (!n[e]) {
|
|
30428
31111
|
v = t[e];
|
|
30429
31112
|
break;
|
|
@@ -30439,8 +31122,8 @@ function si(e, t, n, r, i, a) {
|
|
|
30439
31122
|
}
|
|
30440
31123
|
return d;
|
|
30441
31124
|
}
|
|
30442
|
-
var
|
|
30443
|
-
function
|
|
31125
|
+
var Gi = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
|
|
31126
|
+
function Ki(e, t, n, r, i) {
|
|
30444
31127
|
let a = e.indices, o = a.length, { sos: s, eos: c, level: l } = e;
|
|
30445
31128
|
for (let e = 0; e < o; e++) {
|
|
30446
31129
|
let t = a[e];
|
|
@@ -30487,15 +31170,15 @@ function li(e, t, n, r, i) {
|
|
|
30487
31170
|
outer: for (let n = 0; n < o; n++) {
|
|
30488
31171
|
let i = a[n];
|
|
30489
31172
|
if (r[i] !== "ON") continue;
|
|
30490
|
-
let o =
|
|
31173
|
+
let o = Pi(t[i]);
|
|
30491
31174
|
if (o) if (o.type === "o") {
|
|
30492
31175
|
if (e.length === 63) break outer;
|
|
30493
31176
|
e.push({
|
|
30494
|
-
expect:
|
|
31177
|
+
expect: Ui(o.pair),
|
|
30495
31178
|
pos: n
|
|
30496
31179
|
});
|
|
30497
31180
|
} else {
|
|
30498
|
-
let r =
|
|
31181
|
+
let r = Ui(t[i]);
|
|
30499
31182
|
for (let t = e.length - 1; t >= 0; t--) if (e[t].expect === r) {
|
|
30500
31183
|
f.push({
|
|
30501
31184
|
open: e[t].pos,
|
|
@@ -30513,7 +31196,7 @@ function li(e, t, n, r, i) {
|
|
|
30513
31196
|
for (let { open: e, close: t } of f) {
|
|
30514
31197
|
let n = !1, i = !1;
|
|
30515
31198
|
for (let o = e + 1; o < t; o++) {
|
|
30516
|
-
let e =
|
|
31199
|
+
let e = Gi(r[a[o]]);
|
|
30517
31200
|
e === u ? n = !0 : e === d && (i = !0);
|
|
30518
31201
|
}
|
|
30519
31202
|
let o = null;
|
|
@@ -30521,7 +31204,7 @@ function li(e, t, n, r, i) {
|
|
|
30521
31204
|
else if (i) {
|
|
30522
31205
|
let t = s;
|
|
30523
31206
|
for (let n = e - 1; n >= 0; n--) {
|
|
30524
|
-
let e =
|
|
31207
|
+
let e = Gi(r[a[n]]);
|
|
30525
31208
|
if (e) {
|
|
30526
31209
|
t = e;
|
|
30527
31210
|
break;
|
|
@@ -30532,29 +31215,29 @@ function li(e, t, n, r, i) {
|
|
|
30532
31215
|
o && (r[a[e]] = o, r[a[t]] = o, p(e, o), p(t, o));
|
|
30533
31216
|
}
|
|
30534
31217
|
for (let e = 0; e < o; e++) {
|
|
30535
|
-
if (!
|
|
31218
|
+
if (!Li(r[a[e]])) continue;
|
|
30536
31219
|
let t = e;
|
|
30537
|
-
for (; t < o &&
|
|
30538
|
-
let n = e > 0 ?
|
|
31220
|
+
for (; t < o && Li(r[a[t]]);) t++;
|
|
31221
|
+
let n = e > 0 ? Gi(r[a[e - 1]]) : s, i = t < o ? Gi(r[a[t]]) : c;
|
|
30539
31222
|
if (n && i && n === i) for (let i = e; i < t; i++) r[a[i]] = n;
|
|
30540
31223
|
e = t - 1;
|
|
30541
31224
|
}
|
|
30542
|
-
for (let e = 0; e < o; e++)
|
|
31225
|
+
for (let e = 0; e < o; e++) Li(r[a[e]]) && (r[a[e]] = u);
|
|
30543
31226
|
for (let e = 0; e < o; e++) {
|
|
30544
31227
|
let t = a[e], n = r[t];
|
|
30545
31228
|
l & 1 ? (n === "L" || n === "EN" || n === "AN") && (i[t] += 1) : n === "R" ? i[t] += 1 : (n === "AN" || n === "EN") && (i[t] += 2);
|
|
30546
31229
|
}
|
|
30547
31230
|
}
|
|
30548
|
-
function
|
|
31231
|
+
function qi(e, t, n) {
|
|
30549
31232
|
let r = e.length, i = Array(r);
|
|
30550
|
-
for (let t = 0; t < r; t++) i[t] = n?.[t] ??
|
|
30551
|
-
let a = t === "rtl" ? 1 : t === "ltr" ? 0 :
|
|
30552
|
-
for (let e = 0; e < r; e++) u[e] =
|
|
30553
|
-
let d =
|
|
30554
|
-
for (let t of d)
|
|
31233
|
+
for (let t = 0; t < r; t++) i[t] = n?.[t] ?? Ai(e[t]);
|
|
31234
|
+
let a = t === "rtl" ? 1 : t === "ltr" ? 0 : Bi(i, 0, r), { pdiOf: o, initOf: s } = Vi(i), { levels: c, types: l } = Hi(i, a, o), u = Array(r);
|
|
31235
|
+
for (let e = 0; e < r; e++) u[e] = Fi(i[e]);
|
|
31236
|
+
let d = Wi(i, c, u, a, o, s), f = l.slice();
|
|
31237
|
+
for (let t of d) Ki(t, e, i, f, c);
|
|
30555
31238
|
let p = (e) => {
|
|
30556
31239
|
let t = i[e];
|
|
30557
|
-
return t === "WS" ||
|
|
31240
|
+
return t === "WS" || Ii(t) || t === "PDI" || u[e];
|
|
30558
31241
|
};
|
|
30559
31242
|
for (let e = 0; e < r; e++) {
|
|
30560
31243
|
let t = i[e];
|
|
@@ -30570,7 +31253,7 @@ function ui(e, t, n) {
|
|
|
30570
31253
|
paragraphLevel: a
|
|
30571
31254
|
};
|
|
30572
31255
|
}
|
|
30573
|
-
function
|
|
31256
|
+
function Ji(e, t, n) {
|
|
30574
31257
|
let r = [];
|
|
30575
31258
|
for (let i = t; i < n; i++) {
|
|
30576
31259
|
let t = e[i];
|
|
@@ -30598,7 +31281,7 @@ function di(e, t, n) {
|
|
|
30598
31281
|
}
|
|
30599
31282
|
//#endregion
|
|
30600
31283
|
//#region packages/core/src/text/bidi/uax9/index.ts
|
|
30601
|
-
function
|
|
31284
|
+
function Yi(e) {
|
|
30602
31285
|
let t = [], n = [], r = [];
|
|
30603
31286
|
for (let i = 0; i < e.length;) {
|
|
30604
31287
|
let a = e.codePointAt(i), o = a > 65535 ? 2 : 1;
|
|
@@ -30610,9 +31293,9 @@ function fi(e) {
|
|
|
30610
31293
|
starts: r
|
|
30611
31294
|
};
|
|
30612
31295
|
}
|
|
30613
|
-
var
|
|
31296
|
+
var Xi = class {
|
|
30614
31297
|
computeLevels(e, t, n) {
|
|
30615
|
-
let { cps: r, units: i, starts: a } =
|
|
31298
|
+
let { cps: r, units: i, starts: a } = Yi(e), { levels: o, paragraphLevel: s } = qi(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
|
|
30616
31299
|
for (let e = 0; e < o.length; e++) {
|
|
30617
31300
|
let t = o[e] === -1 ? 255 : o[e];
|
|
30618
31301
|
for (let n = 0; n < i[e]; n++) c[l++] = t;
|
|
@@ -30623,51 +31306,51 @@ var pi = class {
|
|
|
30623
31306
|
};
|
|
30624
31307
|
}
|
|
30625
31308
|
reorderVisual(e, t, n) {
|
|
30626
|
-
return
|
|
31309
|
+
return Ji(e, t, n);
|
|
30627
31310
|
}
|
|
30628
31311
|
getMirror(e) {
|
|
30629
|
-
return
|
|
31312
|
+
return Mi(e);
|
|
30630
31313
|
}
|
|
30631
31314
|
};
|
|
30632
|
-
function
|
|
30633
|
-
return new
|
|
31315
|
+
function Zi() {
|
|
31316
|
+
return new Xi();
|
|
30634
31317
|
}
|
|
30635
31318
|
//#endregion
|
|
30636
31319
|
//#region packages/core/src/text/bidi/engine.ts
|
|
30637
|
-
var
|
|
30638
|
-
function
|
|
30639
|
-
return
|
|
31320
|
+
var Qi = null;
|
|
31321
|
+
function $i() {
|
|
31322
|
+
return Qi === null && (Qi = Zi()), Qi;
|
|
30640
31323
|
}
|
|
30641
31324
|
//#endregion
|
|
30642
31325
|
//#region packages/core/src/text/bidi/segments.ts
|
|
30643
|
-
function
|
|
30644
|
-
return e === !0 ? "rtl" : e === !1 ? "ltr" :
|
|
31326
|
+
function ea(e, t) {
|
|
31327
|
+
return e === !0 ? "rtl" : e === !1 ? "ltr" : $i().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
|
|
30645
31328
|
}
|
|
30646
31329
|
//#endregion
|
|
30647
31330
|
//#region packages/core/src/text/kinsoku/rules.ts
|
|
30648
|
-
var
|
|
30649
|
-
function
|
|
31331
|
+
var ta = "”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆", na = "“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅";
|
|
31332
|
+
function ra(e) {
|
|
30650
31333
|
let t = /* @__PURE__ */ new Set();
|
|
30651
31334
|
for (let n of e) t.add(n.codePointAt(0));
|
|
30652
31335
|
return t;
|
|
30653
31336
|
}
|
|
30654
|
-
function
|
|
31337
|
+
function ia(e) {
|
|
30655
31338
|
return {
|
|
30656
31339
|
enabled: e?.kinsoku !== !1,
|
|
30657
|
-
lineStartForbidden:
|
|
30658
|
-
lineEndForbidden:
|
|
31340
|
+
lineStartForbidden: ra(e?.noLineBreaksBefore ?? ta),
|
|
31341
|
+
lineEndForbidden: ra(e?.noLineBreaksAfter ?? na)
|
|
30659
31342
|
};
|
|
30660
31343
|
}
|
|
30661
|
-
var
|
|
31344
|
+
var aa = ia();
|
|
30662
31345
|
//#endregion
|
|
30663
31346
|
//#region packages/core/src/text/kinsoku/split.ts
|
|
30664
|
-
function
|
|
31347
|
+
function oa(e, t, n, r = 1) {
|
|
30665
31348
|
if (!n.enabled || t <= 0 || t >= e.length) return t;
|
|
30666
31349
|
let i = (t) => t < e.length && n.lineStartForbidden.has(e[t].codePointAt(0)), a = (t) => t >= 0 && n.lineEndForbidden.has(e[t].codePointAt(0)), o = t;
|
|
30667
31350
|
for (; o > r && (i(o) || a(o - 1));) o--;
|
|
30668
31351
|
return o <= r && (i(o) || a(o - 1)) ? t : o;
|
|
30669
31352
|
}
|
|
30670
|
-
function
|
|
31353
|
+
function sa(e, t, n) {
|
|
30671
31354
|
if (!t.enabled) return 0;
|
|
30672
31355
|
let r = e.length - n;
|
|
30673
31356
|
for (let n = 1; n <= r; n++) {
|
|
@@ -30680,12 +31363,12 @@ function wi(e, t, n) {
|
|
|
30680
31363
|
}
|
|
30681
31364
|
//#endregion
|
|
30682
31365
|
//#region packages/core/src/text/cjk-ranges.ts
|
|
30683
|
-
function
|
|
31366
|
+
function ca(e) {
|
|
30684
31367
|
return e >= 12288 && e <= 40959 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65280 && e <= 65519;
|
|
30685
31368
|
}
|
|
30686
31369
|
//#endregion
|
|
30687
31370
|
//#region packages/core/src/text/highlight-box.ts
|
|
30688
|
-
function
|
|
31371
|
+
function la(e, t) {
|
|
30689
31372
|
return {
|
|
30690
31373
|
top: e - t * .85,
|
|
30691
31374
|
height: t * 1.1
|
|
@@ -30693,10 +31376,10 @@ function Ei(e, t) {
|
|
|
30693
31376
|
}
|
|
30694
31377
|
//#endregion
|
|
30695
31378
|
//#region packages/core/src/text/line-distribute.ts
|
|
30696
|
-
var
|
|
30697
|
-
function
|
|
31379
|
+
var ua = (e) => e === 32 || e === 12288;
|
|
31380
|
+
function da(e, t, n = {}) {
|
|
30698
31381
|
if (Math.abs(t) <= .5) return null;
|
|
30699
|
-
let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ??
|
|
31382
|
+
let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ?? ca, s = n.isWhitespace ?? ua, c = [];
|
|
30700
31383
|
for (let t = r; t < e.length; t++) {
|
|
30701
31384
|
let n = e[t];
|
|
30702
31385
|
if (n === void 0) continue;
|
|
@@ -30759,7 +31442,7 @@ function Oi(e, t, n = {}) {
|
|
|
30759
31442
|
}
|
|
30760
31443
|
//#endregion
|
|
30761
31444
|
//#region packages/core/src/text/justify-positions.ts
|
|
30762
|
-
function
|
|
31445
|
+
function fa(e, t, n, r, i = 0) {
|
|
30763
31446
|
let a = [], o = 0, s = 0;
|
|
30764
31447
|
for (let c of t) a.push({
|
|
30765
31448
|
text: e.slice(o, c).join(""),
|
|
@@ -30771,4 +31454,4 @@ function ki(e, t, n, r, i = 0) {
|
|
|
30771
31454
|
}), a;
|
|
30772
31455
|
}
|
|
30773
31456
|
//#endregion
|
|
30774
|
-
export { N as $,
|
|
31457
|
+
export { N as $, Bn as A, ct as B, kr as C, tr as D, ur as E, Fn as F, Ue as G, nt as H, kn as I, oe as J, He as K, Pn as L, Vn as M, Rn as N, $n as O, An as P, M as Q, xn as R, zr as S, cr as T, Qe as U, rt as V, We as W, se as X, U as Y, j as Z, fi as _, sa as a, h as at, Br as b, ia as c, l as ct, Ci as d, s as dt, C as et, Si as f, t as ft, pi as g, vi as h, ca as i, p as it, Hn as j, er as k, ea as l, u as lt, bi as m, da as n, w as nt, oa as o, d as ot, gi as p, K as q, la as r, f as rt, aa as s, c as st, fa as t, S as tt, $i as u, g as ut, di as v, Fr as w, Rr as x, ui as y, lt as z };
|