@silurus/ooxml 0.58.0 → 0.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -1
- package/dist/docx-MHQa7gm7.js +1911 -0
- package/dist/docx.mjs +2 -2
- package/dist/index.mjs +3 -3
- package/dist/{pptx-B6H-We19.js → pptx-BiatvxSp.js} +781 -676
- package/dist/pptx.mjs +2 -2
- package/dist/render-worker-host-D7EpeMT0.js +27 -0
- package/dist/render-worker-host-DcreJHMg.js +27 -0
- package/dist/render-worker-host-Dg-fxkvs.js +27 -0
- package/dist/{src-B06n2_Dm.js → src-Csbp6xwR.js} +763 -644
- package/dist/types/docx.d.ts +38 -0
- package/dist/types/index.d.ts +130 -10
- package/dist/types/pptx.d.ts +38 -4
- package/dist/types/xlsx.d.ts +51 -6
- package/dist/{xlsx-DWmV5sAA.js → xlsx-BcQbbV_c.js} +877 -815
- package/dist/xlsx.mjs +2 -2
- package/package.json +1 -1
- package/dist/docx-BBTq20zc.js +0 -1811
|
@@ -8,70 +8,181 @@ var e = Object.defineProperty, t = (t, n) => {
|
|
|
8
8
|
return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
|
|
9
9
|
}, n = 15e3;
|
|
10
10
|
function r(e) {
|
|
11
|
-
return e.sheet ? Promise.resolve() : new Promise((t) => {
|
|
12
|
-
let n = () => {
|
|
13
|
-
e.removeEventListener("load", n), e.removeEventListener("error", n), t();
|
|
14
|
-
};
|
|
15
|
-
e.addEventListener("load", n), e.addEventListener("error", n);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
function i(e) {
|
|
19
11
|
return Promise.race([e, new Promise((e) => setTimeout(e, n))]);
|
|
20
12
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
let
|
|
24
|
-
for (
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
let c =
|
|
30
|
-
|
|
31
|
-
let l =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
13
|
+
var i = /* @__PURE__ */ new Map();
|
|
14
|
+
function a(e) {
|
|
15
|
+
let t = [], n = /@font-face\s*\{([^}]*)\}/g, r;
|
|
16
|
+
for (; r = n.exec(e);) {
|
|
17
|
+
let e = r[1], n = (t) => e.match(RegExp(`(?:^|;|\\n)\\s*${t}\\s*:\\s*([^;]+)`, "i"))?.[1].trim(), i = n("font-family"), a = n("src");
|
|
18
|
+
if (!i || !a) continue;
|
|
19
|
+
let o = {}, s = n("font-style");
|
|
20
|
+
s && (o.style = s);
|
|
21
|
+
let c = n("font-weight");
|
|
22
|
+
c && (o.weight = c);
|
|
23
|
+
let l = n("font-stretch");
|
|
24
|
+
l && (o.stretch = l);
|
|
25
|
+
let u = n("unicode-range");
|
|
26
|
+
u && (o.unicodeRange = u), t.push({
|
|
27
|
+
family: i.replace(/^['"]|['"]$/g, ""),
|
|
28
|
+
src: a,
|
|
29
|
+
descriptors: o
|
|
30
|
+
});
|
|
38
31
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
return t;
|
|
33
|
+
}
|
|
34
|
+
function o() {
|
|
35
|
+
return typeof document < "u" && document && document.fonts ? document.fonts : typeof self < "u" && self && "fonts" in self ? self.fonts : null;
|
|
36
|
+
}
|
|
37
|
+
async function s(e, t) {
|
|
38
|
+
let n = o();
|
|
39
|
+
if (!n || typeof FontFace > "u" || typeof fetch > "u") return;
|
|
40
|
+
let s = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set();
|
|
41
|
+
for (let n of e) {
|
|
42
|
+
if (!n) continue;
|
|
43
|
+
let e = n.toLowerCase();
|
|
44
|
+
if (s.has(e)) continue;
|
|
45
|
+
s.add(e);
|
|
46
|
+
let r = t[e];
|
|
47
|
+
if (!r) continue;
|
|
48
|
+
l.add(r.url);
|
|
49
|
+
let i = (r.loadFamily ?? n).toLowerCase();
|
|
50
|
+
c.add(i);
|
|
51
|
+
let a = u.get(r.url);
|
|
52
|
+
a || (a = /* @__PURE__ */ new Set(), u.set(r.url, a)), a.add(i);
|
|
53
|
+
}
|
|
54
|
+
if (c.size === 0) return;
|
|
55
|
+
let f = await r(Promise.all([...l].map((e) => {
|
|
56
|
+
let t = i.get(e);
|
|
57
|
+
if (t) return t;
|
|
58
|
+
let r = (async () => {
|
|
59
|
+
try {
|
|
60
|
+
let t = await fetch(e);
|
|
61
|
+
if (!t.ok) throw Error(`HTTP ${t.status}`);
|
|
62
|
+
let r = [];
|
|
63
|
+
for (let e of a(await t.text())) {
|
|
64
|
+
let t = new FontFace(e.family, e.src, e.descriptors);
|
|
65
|
+
n.add(t), r.push(t);
|
|
66
|
+
}
|
|
67
|
+
return r;
|
|
68
|
+
} catch {
|
|
69
|
+
i.delete(e);
|
|
70
|
+
for (let t of u.get(e) ?? []) d.add(t);
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
})();
|
|
74
|
+
return i.set(e, r), r;
|
|
75
|
+
}))), p = (Array.isArray(f) ? f : []).flat();
|
|
76
|
+
await r(Promise.allSettled(p.map((e) => e.load())).then((e) => (e.forEach((e, t) => {
|
|
77
|
+
e.status === "rejected" && d.add(p[t].family.replace(/['"]/g, "").toLowerCase());
|
|
78
|
+
}), n.ready))), d.size > 0 && console.warn(`[ooxml] failed to preload web font(s): ${[...d].join(", ")}; falling back to system fonts (text may shift or differ).`);
|
|
45
79
|
}
|
|
46
80
|
//#endregion
|
|
81
|
+
//#region packages/core/src/fonts/scripts.ts
|
|
82
|
+
function c(e) {
|
|
83
|
+
if (!e) return null;
|
|
84
|
+
let t = e.toLowerCase();
|
|
85
|
+
return /[ᄀ-ᇿ-가-]/.test(e) ? "kr" : /[-ヿ]/.test(e) ? "jp" : /jhenghei|微軟正黑|新細明|細明|pmingliu|mingliu|dfkai|標楷|華康|cns11643|kaiti tc|ming\s*liu/.test(t) || /新細明體|細明體|標楷體|微軟正黑體|華康/.test(e) ? "tc" : /simsun|nsimsun|simhei|simkai|simfang|yahei|dengxian|fangsong|kaiti|youyuan|lisu|stsong|stkaiti|stfangsong|stheiti|stxihei|stzhongsong|songti sc|heiti sc|微软雅黑/.test(t) || /宋体|黑体|楷体|仿宋|等线|微软雅黑|隶书|幼圆/.test(e) ? "sc" : /malgun|batang|gulim|dotum|gungsuh|nanum|new gulim|hancom|hy(gothic|graphic|namu)?/.test(t) ? "kr" : /\bmeiryo\b|\byu\s*(gothic|mincho)\b|yugothic|yumincho|hiragino|\bms\s*(gothic|mincho|pgothic|pmincho|ui\s*gothic)\b|\bms[pg]?(gothic|mincho)\b|ipa(ex)?(gothic|mincho)|noto\s+(sans|serif)\s+jp|游ゴシック|游明朝|MS|メイリオ|ヒラギノ/.test(t) || /游ゴシック|游明朝|MS ゴシック|MS 明朝|MS Pゴシック|メイリオ|ヒラギノ/.test(e) ? "jp" : null;
|
|
86
|
+
}
|
|
87
|
+
function l(e, t) {
|
|
88
|
+
let n = t === "serif" ? "Noto Serif" : "Noto Sans", r = {
|
|
89
|
+
jp: [
|
|
90
|
+
"jp",
|
|
91
|
+
"sc",
|
|
92
|
+
"tc",
|
|
93
|
+
"kr"
|
|
94
|
+
],
|
|
95
|
+
sc: [
|
|
96
|
+
"sc",
|
|
97
|
+
"tc",
|
|
98
|
+
"jp",
|
|
99
|
+
"kr"
|
|
100
|
+
],
|
|
101
|
+
tc: [
|
|
102
|
+
"tc",
|
|
103
|
+
"sc",
|
|
104
|
+
"jp",
|
|
105
|
+
"kr"
|
|
106
|
+
],
|
|
107
|
+
kr: [
|
|
108
|
+
"kr",
|
|
109
|
+
"jp",
|
|
110
|
+
"sc",
|
|
111
|
+
"tc"
|
|
112
|
+
]
|
|
113
|
+
}, i = {
|
|
114
|
+
kr: "KR",
|
|
115
|
+
sc: "SC",
|
|
116
|
+
tc: "TC",
|
|
117
|
+
jp: "JP"
|
|
118
|
+
};
|
|
119
|
+
return r[e].map((e) => `${n} ${i[e]}`);
|
|
120
|
+
}
|
|
121
|
+
var u = [
|
|
122
|
+
"Noto Sans",
|
|
123
|
+
"Noto Sans Hebrew",
|
|
124
|
+
"Noto Sans Thai",
|
|
125
|
+
"Noto Sans Devanagari"
|
|
126
|
+
], d = ["Noto Serif", "Noto Serif Hebrew"], f = (e) => `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`, p = {
|
|
127
|
+
"noto sans kr": { url: f("Noto+Sans+KR") },
|
|
128
|
+
"noto sans sc": { url: f("Noto+Sans+SC") },
|
|
129
|
+
"noto sans tc": { url: f("Noto+Sans+TC") },
|
|
130
|
+
"noto sans jp": { url: f("Noto+Sans+JP") },
|
|
131
|
+
"noto serif kr": { url: f("Noto+Serif+KR") },
|
|
132
|
+
"noto serif sc": { url: f("Noto+Serif+SC") },
|
|
133
|
+
"noto serif tc": { url: f("Noto+Serif+TC") },
|
|
134
|
+
"noto serif jp": { url: f("Noto+Serif+JP") },
|
|
135
|
+
"noto sans": { url: f("Noto+Sans") },
|
|
136
|
+
"noto serif": { url: f("Noto+Serif") },
|
|
137
|
+
"noto sans devanagari": { url: f("Noto+Sans+Devanagari") },
|
|
138
|
+
"noto sans thai": { url: f("Noto+Sans+Thai") },
|
|
139
|
+
"noto sans hebrew": { url: f("Noto+Sans+Hebrew") },
|
|
140
|
+
"noto serif hebrew": { url: f("Noto+Serif+Hebrew") }
|
|
141
|
+
}, m = [
|
|
142
|
+
"Noto Sans KR",
|
|
143
|
+
"Noto Sans SC",
|
|
144
|
+
"Noto Sans TC",
|
|
145
|
+
"Noto Sans JP",
|
|
146
|
+
"Noto Serif KR",
|
|
147
|
+
"Noto Serif SC",
|
|
148
|
+
"Noto Serif TC",
|
|
149
|
+
"Noto Serif JP",
|
|
150
|
+
"Noto Sans",
|
|
151
|
+
"Noto Serif",
|
|
152
|
+
"Noto Sans Devanagari",
|
|
153
|
+
"Noto Sans Thai",
|
|
154
|
+
"Noto Sans Hebrew",
|
|
155
|
+
"Noto Serif Hebrew"
|
|
156
|
+
];
|
|
157
|
+
//#endregion
|
|
47
158
|
//#region packages/core/src/chart/axis-scale.ts
|
|
48
|
-
function
|
|
159
|
+
function h(e, t = 5) {
|
|
49
160
|
if (e === 0) return 1;
|
|
50
161
|
let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
|
|
51
162
|
return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
|
|
52
163
|
}
|
|
53
|
-
function
|
|
164
|
+
function g(e, t, n = 0) {
|
|
54
165
|
if (e <= 0) return t;
|
|
55
166
|
let r = e + (e - n) / 20;
|
|
56
167
|
return Math.ceil(r / t) * t;
|
|
57
168
|
}
|
|
58
|
-
function
|
|
169
|
+
function _(e, t) {
|
|
59
170
|
if (e >= 0) return 0;
|
|
60
171
|
let n = Math.floor(e / t) * t;
|
|
61
172
|
return Math.abs(n - e) < t * 1e-9 ? n - t : n;
|
|
62
173
|
}
|
|
63
174
|
//#endregion
|
|
64
175
|
//#region packages/core/src/chart/chart-number-format.ts
|
|
65
|
-
function
|
|
176
|
+
function v(e) {
|
|
66
177
|
return Number.isInteger(e) ? String(e) : e.toFixed(6).replace(/\.?0+$/, "");
|
|
67
178
|
}
|
|
68
|
-
function
|
|
69
|
-
if (!t || t.trim().toLowerCase() === "general") return
|
|
70
|
-
if (
|
|
71
|
-
let n =
|
|
72
|
-
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 ? "-" : "") +
|
|
179
|
+
function y(e, t) {
|
|
180
|
+
if (!t || t.trim().toLowerCase() === "general") return v(e);
|
|
181
|
+
if (b(t)) return x(e, t);
|
|
182
|
+
let n = S(t), r;
|
|
183
|
+
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 ? "-" : "") + C(Math.abs(e), r);
|
|
73
184
|
}
|
|
74
|
-
function
|
|
185
|
+
function b(e) {
|
|
75
186
|
let t = !1;
|
|
76
187
|
for (let n = 0; n < e.length; n++) {
|
|
77
188
|
let r = e[n];
|
|
@@ -93,7 +204,7 @@ function d(e) {
|
|
|
93
204
|
}
|
|
94
205
|
return !1;
|
|
95
206
|
}
|
|
96
|
-
function
|
|
207
|
+
function x(e, t) {
|
|
97
208
|
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;
|
|
98
209
|
for (; h < t.length;) {
|
|
99
210
|
let e = t[h];
|
|
@@ -148,7 +259,7 @@ function f(e, t) {
|
|
|
148
259
|
}
|
|
149
260
|
return p;
|
|
150
261
|
}
|
|
151
|
-
function
|
|
262
|
+
function S(e) {
|
|
152
263
|
let t = [], n = "";
|
|
153
264
|
for (let r = 0; r < e.length; r++) {
|
|
154
265
|
let i = e[r];
|
|
@@ -174,7 +285,7 @@ function p(e) {
|
|
|
174
285
|
}
|
|
175
286
|
return t.push(n), t;
|
|
176
287
|
}
|
|
177
|
-
function
|
|
288
|
+
function C(e, t) {
|
|
178
289
|
let n = [], r = 0, i = !1, a = !1;
|
|
179
290
|
for (; r < t.length;) {
|
|
180
291
|
let e = t[r];
|
|
@@ -235,16 +346,16 @@ function m(e, t) {
|
|
|
235
346
|
if (!i) return n.map((e) => e.text).join("");
|
|
236
347
|
let o = a ? e * 100 : e, s = "";
|
|
237
348
|
for (let e of n) e.kind === "num" && (s += e.text);
|
|
238
|
-
let c =
|
|
349
|
+
let c = w(o, s), l = !1;
|
|
239
350
|
return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
|
|
240
351
|
}
|
|
241
|
-
function
|
|
352
|
+
function w(e, t) {
|
|
242
353
|
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;
|
|
243
354
|
return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
|
|
244
355
|
}
|
|
245
356
|
//#endregion
|
|
246
357
|
//#region packages/core/src/shape/pattern-bitmaps.ts
|
|
247
|
-
var
|
|
358
|
+
var T = {
|
|
248
359
|
pct5: [
|
|
249
360
|
0,
|
|
250
361
|
16,
|
|
@@ -626,21 +737,21 @@ var g = {
|
|
|
626
737
|
90
|
|
627
738
|
]
|
|
628
739
|
};
|
|
629
|
-
function
|
|
630
|
-
let r =
|
|
740
|
+
function E(e, t, n) {
|
|
741
|
+
let r = T[e];
|
|
631
742
|
if (!r) return null;
|
|
632
|
-
let i =
|
|
743
|
+
let i = D(8, 8);
|
|
633
744
|
if (!i) return null;
|
|
634
745
|
let a = i.getContext("2d");
|
|
635
746
|
if (!a) return null;
|
|
636
|
-
a.fillStyle =
|
|
747
|
+
a.fillStyle = O(n), a.fillRect(0, 0, 8, 8), a.fillStyle = O(t);
|
|
637
748
|
for (let e = 0; e < 8; e++) {
|
|
638
749
|
let t = r[e];
|
|
639
750
|
for (let n = 0; n < 8; n++) t & 1 << 7 - n && a.fillRect(n, e, 1, 1);
|
|
640
751
|
}
|
|
641
752
|
return i;
|
|
642
753
|
}
|
|
643
|
-
function
|
|
754
|
+
function D(e, t) {
|
|
644
755
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, t);
|
|
645
756
|
if (typeof document < "u") {
|
|
646
757
|
let n = document.createElement("canvas");
|
|
@@ -648,23 +759,23 @@ function v(e, t) {
|
|
|
648
759
|
}
|
|
649
760
|
return null;
|
|
650
761
|
}
|
|
651
|
-
function
|
|
762
|
+
function O(e) {
|
|
652
763
|
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})`;
|
|
653
764
|
}
|
|
654
765
|
//#endregion
|
|
655
766
|
//#region packages/core/src/shape/paint.ts
|
|
656
|
-
function
|
|
767
|
+
function k(e, t = 1) {
|
|
657
768
|
let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
|
|
658
769
|
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})`;
|
|
659
770
|
}
|
|
660
|
-
function
|
|
771
|
+
function A(e, t, n, r, i, a) {
|
|
661
772
|
if (!e || e.fillType === "none") return null;
|
|
662
|
-
if (e.fillType === "solid") return
|
|
663
|
-
if (e.fillType === "pattern") return
|
|
773
|
+
if (e.fillType === "solid") return k(e.color);
|
|
774
|
+
if (e.fillType === "pattern") return M(e, t);
|
|
664
775
|
if (e.fillType === "gradient") {
|
|
665
776
|
let o = e.stops;
|
|
666
777
|
if (o.length === 0) return null;
|
|
667
|
-
if (o.length === 1) return
|
|
778
|
+
if (o.length === 1) return k(o[0].color);
|
|
668
779
|
let s;
|
|
669
780
|
if (e.gradType === "radial") {
|
|
670
781
|
let e = n + i / 2, o = r + a / 2, c = Math.sqrt(i * i + a * a) / 2;
|
|
@@ -673,23 +784,23 @@ function x(e, t, n, r, i, a) {
|
|
|
673
784
|
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;
|
|
674
785
|
s = t.createLinearGradient(c - Math.cos(o) * u, l - Math.sin(o) * u, c + Math.cos(o) * u, l + Math.sin(o) * u);
|
|
675
786
|
}
|
|
676
|
-
for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)),
|
|
787
|
+
for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), k(e.color));
|
|
677
788
|
return s;
|
|
678
789
|
}
|
|
679
790
|
return null;
|
|
680
791
|
}
|
|
681
|
-
var
|
|
682
|
-
function
|
|
683
|
-
let n = `${e.preset}|${e.fg}|${e.bg}`, r =
|
|
684
|
-
r || (r = /* @__PURE__ */ new Map(),
|
|
792
|
+
var j = /* @__PURE__ */ new WeakMap();
|
|
793
|
+
function M(e, t) {
|
|
794
|
+
let n = `${e.preset}|${e.fg}|${e.bg}`, r = j.get(t);
|
|
795
|
+
r || (r = /* @__PURE__ */ new Map(), j.set(t, r));
|
|
685
796
|
let i = r.get(n);
|
|
686
797
|
if (i) return i;
|
|
687
|
-
let a =
|
|
688
|
-
if (!a) return
|
|
798
|
+
let a = E(e.preset, e.fg, e.bg);
|
|
799
|
+
if (!a) return k(e.fg);
|
|
689
800
|
let o = t.createPattern(a, "repeat");
|
|
690
|
-
return o ? (r.set(n, o), o) :
|
|
801
|
+
return o ? (r.set(n, o), o) : k(e.fg);
|
|
691
802
|
}
|
|
692
|
-
var
|
|
803
|
+
var N = {
|
|
693
804
|
dash: [6, 3],
|
|
694
805
|
dot: [1.5, 3],
|
|
695
806
|
dashDot: [
|
|
@@ -722,20 +833,20 @@ var w = {
|
|
|
722
833
|
2
|
|
723
834
|
]
|
|
724
835
|
};
|
|
725
|
-
function
|
|
836
|
+
function P(e, t, n) {
|
|
726
837
|
if (!t) {
|
|
727
838
|
e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]);
|
|
728
839
|
return;
|
|
729
840
|
}
|
|
730
|
-
e.strokeStyle =
|
|
841
|
+
e.strokeStyle = k(t.color);
|
|
731
842
|
let r = Math.max(.5, t.width * n);
|
|
732
843
|
e.lineWidth = r;
|
|
733
|
-
let i = t.dashStyle ?
|
|
844
|
+
let i = t.dashStyle ? N[t.dashStyle] : null;
|
|
734
845
|
e.setLineDash(i ? i.map((e) => e * r) : []);
|
|
735
846
|
}
|
|
736
847
|
//#endregion
|
|
737
848
|
//#region packages/core/src/units.ts
|
|
738
|
-
var
|
|
849
|
+
var F = 12700, I = 9525, L = 4 / 3, R = [
|
|
739
850
|
"4472C4",
|
|
740
851
|
"ED7D31",
|
|
741
852
|
"A9D18E",
|
|
@@ -749,30 +860,30 @@ var E = 12700, D = 9525, O = 4 / 3, k = [
|
|
|
749
860
|
"255E91",
|
|
750
861
|
"967300"
|
|
751
862
|
];
|
|
752
|
-
function
|
|
753
|
-
return t?.color ? `#${t.color}` : `#${
|
|
863
|
+
function z(e, t) {
|
|
864
|
+
return t?.color ? `#${t.color}` : `#${R[e % R.length]}`;
|
|
754
865
|
}
|
|
755
|
-
function
|
|
866
|
+
function B(e, t) {
|
|
756
867
|
let n = t.dataPointColors?.[e];
|
|
757
|
-
return n ? `#${n}` : `#${
|
|
868
|
+
return n ? `#${n}` : `#${R[e % R.length]}`;
|
|
758
869
|
}
|
|
759
|
-
function
|
|
870
|
+
function V(e) {
|
|
760
871
|
return e === "pie" || e === "doughnut";
|
|
761
872
|
}
|
|
762
|
-
function
|
|
763
|
-
if (
|
|
873
|
+
function H(e, t, n) {
|
|
874
|
+
if (V(e)) {
|
|
764
875
|
let e = t[0];
|
|
765
|
-
return e ?
|
|
876
|
+
return e ? B(n, e) : `#${R[n % R.length]}`;
|
|
766
877
|
}
|
|
767
|
-
return
|
|
878
|
+
return z(n, t[n]);
|
|
768
879
|
}
|
|
769
|
-
function
|
|
880
|
+
function U(e, t, n, r, i, a, o, s) {
|
|
770
881
|
e.save(), e.font = `${s}px sans-serif`, e.fillStyle = "#555", o === "cat" ? (e.textAlign = "center", e.textBaseline = "bottom", e.fillText(t.slice(0, 30), n + i / 2, r + a + s + 2)) : (e.translate(n - s - 4, r + a / 2), e.rotate(-Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 30), 0, 0)), e.restore();
|
|
771
882
|
}
|
|
772
|
-
function
|
|
883
|
+
function ee(e) {
|
|
773
884
|
return e && (e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "radar" || e === "scatter") ? "line" : "fill";
|
|
774
885
|
}
|
|
775
|
-
function
|
|
886
|
+
function te(e, t, n, r, i, a, o) {
|
|
776
887
|
if (e.fillStyle = n, t === "line") {
|
|
777
888
|
e.strokeStyle = n;
|
|
778
889
|
let t = e.lineWidth;
|
|
@@ -781,34 +892,34 @@ function I(e, t, n, r, i, a, o) {
|
|
|
781
892
|
e.moveTo(r, s), e.lineTo(r + a, s), e.stroke(), e.lineWidth = t;
|
|
782
893
|
} else e.fillRect(r, i, a, o);
|
|
783
894
|
}
|
|
784
|
-
function
|
|
785
|
-
if (
|
|
895
|
+
function ne(e, t) {
|
|
896
|
+
if (V(t)) {
|
|
786
897
|
let n = e[0], r = n ? n.values.length : 0, i = n?.categories ?? [];
|
|
787
898
|
return Array.from({ length: r }, (n, r) => ({
|
|
788
899
|
label: (i[r] ?? `Item ${r + 1}`).toString(),
|
|
789
|
-
color:
|
|
900
|
+
color: H(t, e, r)
|
|
790
901
|
}));
|
|
791
902
|
}
|
|
792
903
|
return e.map((n, r) => ({
|
|
793
904
|
label: n.name || `Series ${r + 1}`,
|
|
794
|
-
color:
|
|
905
|
+
color: H(t, e, r)
|
|
795
906
|
}));
|
|
796
907
|
}
|
|
797
|
-
function
|
|
798
|
-
let c =
|
|
908
|
+
function W(e, t, n, r, i, a, o = "vertical", s) {
|
|
909
|
+
let c = ee(s), l = ne(t, s);
|
|
799
910
|
if (o === "horizontal") {
|
|
800
911
|
let t = Math.max(9, Math.min(12, a * .7));
|
|
801
912
|
e.font = `${t}px sans-serif`, e.textBaseline = "middle";
|
|
802
913
|
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;
|
|
803
|
-
for (let n = 0; n < l.length; n++)
|
|
914
|
+
for (let n = 0; n < l.length; n++) te(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;
|
|
804
915
|
return;
|
|
805
916
|
}
|
|
806
917
|
let u = Math.max(9, Math.min(12, a / (l.length + 1)));
|
|
807
918
|
e.font = `${u}px sans-serif`, e.textBaseline = "middle";
|
|
808
919
|
let d = u + 4, f = r + (a - d * l.length) / 2;
|
|
809
|
-
for (let t = 0; t < l.length; t++)
|
|
920
|
+
for (let t = 0; t < l.length; t++) te(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;
|
|
810
921
|
}
|
|
811
|
-
function
|
|
922
|
+
function re(e, t, n) {
|
|
812
923
|
if (!e.showLegend) return null;
|
|
813
924
|
let r = e.legendPos ?? "r", i = r === "l" ? "l" : r === "t" ? "t" : r === "b" ? "b" : "r";
|
|
814
925
|
return i === "r" || i === "l" ? {
|
|
@@ -821,30 +932,30 @@ function ee(e, t, n) {
|
|
|
821
932
|
reserveH: Math.max(18, n * .08)
|
|
822
933
|
};
|
|
823
934
|
}
|
|
824
|
-
function
|
|
935
|
+
function ie(e, t, n, r, i, a, o, s, c, l, u, d) {
|
|
825
936
|
if (!n) return;
|
|
826
937
|
let f = t.legendManualLayout;
|
|
827
938
|
if (f && f.xMode === "edge" && f.yMode === "edge" && f.w > 0 && f.h > 0) {
|
|
828
939
|
let n = r + f.x * a, s = i + f.y * o, c = f.w * a, l = f.h * o, u = c >= l ? "horizontal" : "vertical";
|
|
829
|
-
|
|
940
|
+
W(e, t.series, n, s, c, l, u, t.chartType);
|
|
830
941
|
return;
|
|
831
942
|
}
|
|
832
943
|
switch (n.side) {
|
|
833
944
|
case "r":
|
|
834
|
-
|
|
945
|
+
W(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
835
946
|
break;
|
|
836
947
|
case "l":
|
|
837
|
-
|
|
948
|
+
W(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
838
949
|
break;
|
|
839
950
|
case "t":
|
|
840
|
-
|
|
951
|
+
W(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
|
|
841
952
|
break;
|
|
842
953
|
case "b":
|
|
843
|
-
|
|
954
|
+
W(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
|
|
844
955
|
break;
|
|
845
956
|
}
|
|
846
957
|
}
|
|
847
|
-
function
|
|
958
|
+
function G(e, t, n, r, i, a, o) {
|
|
848
959
|
if (t === "none" || !t) return;
|
|
849
960
|
let s = o ? Math.max(4, o + 2) : 4, c = e.strokeStyle, l = e.lineWidth;
|
|
850
961
|
if (e.strokeStyle = a ?? "#888", e.lineWidth = o ?? 1, e.beginPath(), n === "val") {
|
|
@@ -856,16 +967,16 @@ function z(e, t, n, r, i, a, o) {
|
|
|
856
967
|
}
|
|
857
968
|
e.stroke(), e.strokeStyle = c, e.lineWidth = l;
|
|
858
969
|
}
|
|
859
|
-
function
|
|
970
|
+
function ae(e, t, n) {
|
|
860
971
|
return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
|
|
861
972
|
}
|
|
862
|
-
function
|
|
973
|
+
function oe(e, t, n) {
|
|
863
974
|
return e ? e / 100 * n : Math.max(8, t * .045);
|
|
864
975
|
}
|
|
865
|
-
function
|
|
976
|
+
function se(e, t, n, r, i, a) {
|
|
866
977
|
t.title && (e.font = `bold ${a}px ${t.titleFontFace ? `"${t.titleFontFace}", Calibri, Arial, sans-serif` : "Calibri, Arial, sans-serif"}`, e.fillStyle = t.titleFontColor ? `#${t.titleFontColor}` : "#333", e.textAlign = "center", e.textBaseline = "top", e.fillText(t.title, n + i / 2, r));
|
|
867
978
|
}
|
|
868
|
-
function
|
|
979
|
+
function ce(e) {
|
|
869
980
|
if (e.categories.length > 0) return e.categories;
|
|
870
981
|
let t = e.series[0];
|
|
871
982
|
if (t?.categories && t.categories.length > 0) return t.categories;
|
|
@@ -873,7 +984,7 @@ function V(e) {
|
|
|
873
984
|
for (let t of e.series) t.values.length > n && (n = t.values.length);
|
|
874
985
|
return n > 0 ? Array.from({ length: n }, (e, t) => String(t + 1)) : [];
|
|
875
986
|
}
|
|
876
|
-
function
|
|
987
|
+
function le(e, t, n, r, i, a, o, s, c) {
|
|
877
988
|
let l = s ?? "outEnd";
|
|
878
989
|
if (e.fillStyle = c ? `#${c}` : "#333", o === "vertical") {
|
|
879
990
|
let o = n + a / 2;
|
|
@@ -883,225 +994,225 @@ function H(e, t, n, r, i, a, o, s, c) {
|
|
|
883
994
|
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));
|
|
884
995
|
}
|
|
885
996
|
}
|
|
886
|
-
function
|
|
887
|
-
let { x: i, y: a, w:
|
|
888
|
-
if (
|
|
889
|
-
let
|
|
890
|
-
t: x + T +
|
|
891
|
-
r: C +
|
|
892
|
-
b:
|
|
893
|
-
l:
|
|
997
|
+
function ue(e, t, n, r) {
|
|
998
|
+
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 = ce(t), m = p.length;
|
|
999
|
+
if (m === 0) return;
|
|
1000
|
+
let _ = t.title ? ae(t, s, r) : 0, v = t.title ? s * .02 : 0, b = t.title ? s * .025 : 0, x = t.title ? _ + v + b : 0, S = re(t, o, s), C = S?.side === "r" ? S.reserveW : 0, w = S?.side === "l" ? S.reserveW : 0, T = S?.side === "t" ? S.reserveH : 0, E = S?.side === "b" ? S.reserveH : 0, D = Math.max(8, Math.min(10, s * .045)), O = t.catAxisTitle ? D + 4 : 0, k = t.valAxisTitle ? D + 4 : 0, A = {
|
|
1001
|
+
t: x + T + s * .02,
|
|
1002
|
+
r: C + o * .03,
|
|
1003
|
+
b: s * .14 + O + E,
|
|
1004
|
+
l: o * .12 + k + w
|
|
894
1005
|
};
|
|
895
|
-
|
|
896
|
-
let
|
|
897
|
-
if (
|
|
898
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(
|
|
899
|
-
let
|
|
900
|
-
for (let e = 0; e <
|
|
1006
|
+
c && (A.l = (t.catAxisHidden ? o * .03 : o * .22) + k + w, A.b = (t.valAxisHidden ? s * .02 : s * .08) + O + E), se(e, t, i, a + v, o, _);
|
|
1007
|
+
let j = t.plotAreaManualLayout, M, N, P, I;
|
|
1008
|
+
if (j && j.w != null && j.h != null ? (M = i + j.x * o, N = a + j.y * s, P = j.w * o, I = j.h * s) : (M = i + A.l, N = a + A.t, P = o - A.l - A.r, I = s - A.t - A.b), P <= 0 || I <= 0) return;
|
|
1009
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(M, N, P, I));
|
|
1010
|
+
let L = 0;
|
|
1011
|
+
for (let e = 0; e < m; e++) {
|
|
901
1012
|
let t = 0;
|
|
902
|
-
for (let n of
|
|
1013
|
+
for (let n of d) {
|
|
903
1014
|
let r = n.values[e] ?? 0;
|
|
904
|
-
|
|
1015
|
+
l ? t += Math.abs(r) : L = Math.max(L, Math.abs(r));
|
|
905
1016
|
}
|
|
906
|
-
|
|
1017
|
+
l && (L = Math.max(L, t));
|
|
907
1018
|
}
|
|
908
|
-
|
|
909
|
-
let
|
|
910
|
-
if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11,
|
|
911
|
-
let r = n *
|
|
912
|
-
if (
|
|
913
|
-
let t =
|
|
914
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1019
|
+
u && (L = 100), t.valMax != null && (L = t.valMax), L === 0 && (L = 1);
|
|
1020
|
+
let R = h(L), B = t.valMax ?? g(L, R), V = "#e0e0e0", H = Math.round(B / R);
|
|
1021
|
+
if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, I / 20))}px sans-serif`, e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", !t.valAxisHidden) for (let n = 0; n <= H; n++) {
|
|
1022
|
+
let r = n * R, i = u ? `${Math.round(r)}%` : y(r, t.valAxisFormatCode);
|
|
1023
|
+
if (c) {
|
|
1024
|
+
let t = M + r / B * P;
|
|
1025
|
+
e.strokeStyle = n === 0 ? "#aaa" : V, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, N), e.lineTo(t, N + I), e.stroke(), e.textAlign = "center", e.fillText(i, t, N + I + 10);
|
|
915
1026
|
} else {
|
|
916
|
-
let t =
|
|
917
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1027
|
+
let t = N + I - r / B * I;
|
|
1028
|
+
e.strokeStyle = n === 0 ? "#aaa" : V, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(M, t), e.lineTo(M + P, t), e.stroke(), e.textAlign = "right", e.fillText(i, M - 4, t);
|
|
918
1029
|
}
|
|
919
1030
|
}
|
|
920
|
-
let
|
|
1031
|
+
let ee = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#aaa", te = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#aaa", ne = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / F) : 1, W = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / F) : 1, G = (t, n, r, i, a, o) => {
|
|
921
1032
|
e.strokeStyle = a, e.lineWidth = o, e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
|
|
922
|
-
},
|
|
923
|
-
|
|
924
|
-
let K =
|
|
925
|
-
for (let n = 0; n <
|
|
1033
|
+
}, oe = !t.catAxisHidden && !t.catAxisLineHidden, ue = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null;
|
|
1034
|
+
c ? (oe && G(M, N, M, N + I, ee, ne), ue && G(M, N + I, M + P, N + I, te, W)) : (oe && G(M, N + I, M + P, N + I, ee, ne), ue && G(M, N, M, N + I, te, W));
|
|
1035
|
+
let K = c ? I / m : P / m, de = l ? 1 : Math.max(1, d.length), fe = l ? 0 : t.barOverlap ?? 0, pe = t.barGapWidth ?? 150, q = K / (1 + (de - 1) * (1 - fe / 100) + pe / 100), me = l ? 0 : q * (1 - fe / 100), he = (K - (q + (de - 1) * me)) / 2;
|
|
1036
|
+
for (let n = 0; n < m; n++) {
|
|
926
1037
|
let i = 0, a = 0;
|
|
927
|
-
if (
|
|
928
|
-
for (let e of
|
|
1038
|
+
if (u) {
|
|
1039
|
+
for (let e of d) a += Math.abs(e.values[n] ?? 0);
|
|
929
1040
|
a === 0 && (a = 1);
|
|
930
1041
|
}
|
|
931
|
-
for (let o = 0; o <
|
|
932
|
-
let s =
|
|
933
|
-
if (
|
|
934
|
-
let a =
|
|
935
|
-
e.fillStyle = h, e.fillRect(g, c,
|
|
1042
|
+
for (let o = 0; o < d.length; o++) {
|
|
1043
|
+
let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), h = z(o, s);
|
|
1044
|
+
if (c) {
|
|
1045
|
+
let a = l ? o : d.length - 1 - o, c = l ? N + (m - 1 - n) * K + he : N + (m - 1 - n) * K + he + a * me, f = p / B * P, g = l ? M + i / B * P : M;
|
|
1046
|
+
e.fillStyle = h, e.fillRect(g, c, f, q), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, le(e, u ? `${Math.round(p)}%` : y(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, q, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
|
|
936
1047
|
} else {
|
|
937
|
-
let a =
|
|
938
|
-
e.fillStyle = h, e.fillRect(a, d, q, c), t.showDataLabels &&
|
|
1048
|
+
let a = l ? M + n * K + he : M + n * K + he + o * me, c = p / B * I, d = N + I - (l ? i + p : p) / B * I;
|
|
1049
|
+
e.fillStyle = h, e.fillRect(a, d, q, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, le(e, u ? `${Math.round(p)}%` : y(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, q, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
|
|
939
1050
|
}
|
|
940
|
-
|
|
1051
|
+
l && (i += p);
|
|
941
1052
|
}
|
|
942
1053
|
}
|
|
943
1054
|
if (!t.catAxisHidden) {
|
|
944
1055
|
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11, K * .5))}px sans-serif`;
|
|
945
|
-
for (let t = 0; t <
|
|
946
|
-
let n = (
|
|
947
|
-
if (
|
|
948
|
-
let r =
|
|
949
|
-
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n,
|
|
1056
|
+
for (let t = 0; t < m; t++) {
|
|
1057
|
+
let n = (p[t] ?? "").toString().slice(0, 12);
|
|
1058
|
+
if (c) {
|
|
1059
|
+
let r = N + (m - 1 - t) * K + K / 2;
|
|
1060
|
+
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, M - 4, r);
|
|
950
1061
|
} else {
|
|
951
|
-
let r =
|
|
952
|
-
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r,
|
|
1062
|
+
let r = M + t * K + K / 2;
|
|
1063
|
+
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, N + I + 3);
|
|
953
1064
|
}
|
|
954
1065
|
}
|
|
955
1066
|
}
|
|
956
|
-
if (
|
|
957
|
-
let n =
|
|
1067
|
+
if (f.length > 0 && !c) for (let t = 0; t < f.length; t++) {
|
|
1068
|
+
let n = f[t], r = z(d.length + t, n);
|
|
958
1069
|
e.strokeStyle = r, e.lineWidth = 2, e.setLineDash([]), e.beginPath();
|
|
959
1070
|
let i = !1;
|
|
960
|
-
for (let t = 0; t <
|
|
1071
|
+
for (let t = 0; t < m; t++) {
|
|
961
1072
|
let r = n.values[t];
|
|
962
1073
|
if (r == null) {
|
|
963
1074
|
i = !1;
|
|
964
1075
|
continue;
|
|
965
1076
|
}
|
|
966
|
-
let a =
|
|
1077
|
+
let a = M + t * K + K / 2, o = N + I - r / B * I;
|
|
967
1078
|
i ? e.lineTo(a, o) : (e.moveTo(a, o), i = !0);
|
|
968
1079
|
}
|
|
969
|
-
if (e.stroke(), n.showMarker !== !1) for (let t = 0; t <
|
|
1080
|
+
if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < m; t++) {
|
|
970
1081
|
let i = n.values[t];
|
|
971
1082
|
if (i == null) continue;
|
|
972
|
-
let a =
|
|
1083
|
+
let a = M + t * K + K / 2, o = N + I - i / B * I;
|
|
973
1084
|
e.fillStyle = r, e.beginPath(), e.arc(a, o, 3, 0, Math.PI * 2), e.fill();
|
|
974
1085
|
}
|
|
975
1086
|
}
|
|
976
|
-
|
|
1087
|
+
ie(e, c && !l ? {
|
|
977
1088
|
...t,
|
|
978
1089
|
series: [...t.series].reverse()
|
|
979
|
-
} : t, S, i, a,
|
|
1090
|
+
} : t, S, i, a, o, s, M, N, P, I, x + 2), t.catAxisTitle && U(e, t.catAxisTitle, M, N, P, I, "cat", D), t.valAxisTitle && U(e, t.valAxisTitle, M, N, P, I, "val", D);
|
|
980
1091
|
}
|
|
981
|
-
function
|
|
982
|
-
let { x: i, y: a, w:
|
|
983
|
-
if (
|
|
984
|
-
let
|
|
985
|
-
t:
|
|
986
|
-
r: b +
|
|
1092
|
+
function K(e, t, n, r) {
|
|
1093
|
+
let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
|
|
1094
|
+
if (l === 0) return;
|
|
1095
|
+
let u = t.title ? ae(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = re(t, o, s), b = m?.side === "r" ? m.reserveW : 0, x = m?.side === "l" ? m.reserveW : 0, S = m?.side === "t" ? m.reserveH : 0, C = m?.side === "b" ? m.reserveH : 0, w = oe(t.catAxisFontSizeHpt, s, r), T = oe(t.valAxisFontSizeHpt, s, r), E = Math.max(w, T), D = t.catAxisTitle ? E + 4 : 0, O = t.valAxisTitle ? E + 4 : 0, k = {
|
|
1096
|
+
t: p + S + T / 2 + 2,
|
|
1097
|
+
r: b + o * .05,
|
|
987
1098
|
b: w + 12 + D + C,
|
|
988
1099
|
l: T * 2.2 + 10 + O + x
|
|
989
1100
|
};
|
|
990
|
-
|
|
991
|
-
let
|
|
992
|
-
if (
|
|
993
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(j, M, N
|
|
994
|
-
let
|
|
995
|
-
for (let e of t.series) for (let t of e.values) t != null && (
|
|
996
|
-
isFinite(
|
|
997
|
-
let
|
|
998
|
-
if (
|
|
999
|
-
let
|
|
1101
|
+
se(e, t, i, a + d, o, u);
|
|
1102
|
+
let A = i + k.l, j = a + k.t, M = o - k.l - k.r, N = s - k.t - k.b;
|
|
1103
|
+
if (M <= 0 || N <= 0) return;
|
|
1104
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(A, j, M, N));
|
|
1105
|
+
let P = Infinity, F = -Infinity;
|
|
1106
|
+
for (let e of t.series) for (let t of e.values) t != null && (P = Math.min(P, t), F = Math.max(F, t));
|
|
1107
|
+
isFinite(P) || (P = 0, F = 1), t.valMin == null ? P > 0 && (P = 0) : P = t.valMin, t.valMax == null ? F < 0 && (F = 0) : F = t.valMax, F === P && (F = P + 1);
|
|
1108
|
+
let I = h(F - P), L = t.valMin ?? _(P, I), R = t.valMax ?? g(F, I), B = R - L;
|
|
1109
|
+
if (B === 0) return;
|
|
1110
|
+
let V = (e) => j + N - (e - L) / B * N, H = t.catAxisCrossBetween === "midCat" ? (e) => A + (l === 1 ? M / 2 : e / (l - 1) * M) : (e) => A + (e + .5) / l * M;
|
|
1000
1111
|
if (!t.valAxisHidden) {
|
|
1001
|
-
let n = Math.round((
|
|
1112
|
+
let n = Math.round((R - L) / I);
|
|
1002
1113
|
e.font = `${T}px sans-serif`, e.textBaseline = "middle";
|
|
1003
1114
|
for (let r = 0; r <= n; r++) {
|
|
1004
|
-
let n =
|
|
1005
|
-
e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(
|
|
1115
|
+
let n = L + r * I, i = V(n);
|
|
1116
|
+
e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(A, i), e.lineTo(A + M, i), e.stroke(), G(e, t.valAxisMajorTickMark, "val", A, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(y(n, t.valAxisFormatCode), A - 6, i);
|
|
1006
1117
|
}
|
|
1007
1118
|
}
|
|
1008
|
-
e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(
|
|
1009
|
-
let
|
|
1119
|
+
e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(A, j + N), e.lineTo(A + M, j + N), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(A, j), e.lineTo(A, j + N), e.stroke());
|
|
1120
|
+
let ee = Math.max(1, 2.25 * r), te = Math.max(2, 2.5 * r), ne = oe(t.dataLabelFontSizeHpt, s, r);
|
|
1010
1121
|
for (let n = 0; n < t.series.length; n++) {
|
|
1011
|
-
let r = t.series[n], i =
|
|
1012
|
-
e.strokeStyle = i, e.lineWidth =
|
|
1122
|
+
let r = t.series[n], i = z(n, r);
|
|
1123
|
+
e.strokeStyle = i, e.lineWidth = ee, e.setLineDash([]), e.beginPath();
|
|
1013
1124
|
let a = !1;
|
|
1014
|
-
for (let t = 0; t <
|
|
1125
|
+
for (let t = 0; t < l; t++) {
|
|
1015
1126
|
let n = r.values[t];
|
|
1016
1127
|
if (n == null) {
|
|
1017
1128
|
a = !1;
|
|
1018
1129
|
continue;
|
|
1019
1130
|
}
|
|
1020
|
-
let i =
|
|
1131
|
+
let i = H(t), o = V(n);
|
|
1021
1132
|
a ? e.lineTo(i, o) : (e.moveTo(i, o), a = !0);
|
|
1022
1133
|
}
|
|
1023
1134
|
e.stroke(), e.fillStyle = i;
|
|
1024
1135
|
let o = r.showMarker !== !1;
|
|
1025
|
-
for (let n = 0; n <
|
|
1136
|
+
for (let n = 0; n < l; n++) {
|
|
1026
1137
|
let a = r.values[n];
|
|
1027
|
-
if (a != null && (o && (e.beginPath(), e.arc(
|
|
1028
|
-
e.font = `${
|
|
1029
|
-
let t = o ?
|
|
1030
|
-
e.fillText(
|
|
1138
|
+
if (a != null && (o && (e.beginPath(), e.arc(H(n), V(a), te, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
|
|
1139
|
+
e.font = `${ne}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
|
|
1140
|
+
let t = o ? te + 1 : 2;
|
|
1141
|
+
e.fillText(v(a), H(n), V(a) - t), e.fillStyle = i;
|
|
1031
1142
|
}
|
|
1032
1143
|
}
|
|
1033
1144
|
}
|
|
1034
1145
|
if (!t.catAxisHidden) {
|
|
1035
|
-
let n = Math.max(1, Math.ceil(
|
|
1146
|
+
let n = Math.max(1, Math.ceil(l / 8)), r = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555";
|
|
1036
1147
|
e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${w}px sans-serif`;
|
|
1037
|
-
for (let i = 0; i <
|
|
1038
|
-
let n =
|
|
1039
|
-
|
|
1148
|
+
for (let i = 0; i < l; i += n) {
|
|
1149
|
+
let n = H(i);
|
|
1150
|
+
G(e, t.catAxisMajorTickMark, "cat", j + N, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, j + N + 5);
|
|
1040
1151
|
}
|
|
1041
1152
|
}
|
|
1042
|
-
|
|
1153
|
+
ie(e, t, m, i, a, o, s, A, j, M, N, p + 2), t.catAxisTitle && U(e, t.catAxisTitle, A, j, M, N, "cat", E), t.valAxisTitle && U(e, t.valAxisTitle, A, j, M, N, "val", E);
|
|
1043
1154
|
}
|
|
1044
|
-
function
|
|
1045
|
-
let { x: i, y: a, w:
|
|
1046
|
-
if (
|
|
1047
|
-
let
|
|
1048
|
-
t:
|
|
1049
|
-
r:
|
|
1050
|
-
b:
|
|
1051
|
-
l:
|
|
1155
|
+
function de(e, t, n, r) {
|
|
1156
|
+
let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
|
|
1157
|
+
if (l === 0) return;
|
|
1158
|
+
let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ? ae(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, _ = re(t, o, s), v = _?.side === "r" ? _.reserveW : 0, b = _?.side === "l" ? _.reserveW : 0, x = _?.side === "t" ? _.reserveH : 0, S = _?.side === "b" ? _.reserveH : 0, C = Math.max(8, Math.min(10, s * .045)), w = t.catAxisTitle ? C + 4 : 0, T = t.valAxisTitle ? C + 4 : 0, E = {
|
|
1159
|
+
t: m + x + s * .02,
|
|
1160
|
+
r: v + o * .05,
|
|
1161
|
+
b: s * .14 + w + S,
|
|
1162
|
+
l: o * .12 + T + b
|
|
1052
1163
|
};
|
|
1053
|
-
|
|
1054
|
-
let
|
|
1055
|
-
if (
|
|
1056
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(O,
|
|
1057
|
-
let
|
|
1058
|
-
for (let e = 0; e <
|
|
1164
|
+
se(e, t, i, a + f, o, d);
|
|
1165
|
+
let D = i + E.l, O = a + E.t, A = o - E.l - E.r, j = s - E.t - E.b;
|
|
1166
|
+
if (A <= 0 || j <= 0) return;
|
|
1167
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(D, O, A, j));
|
|
1168
|
+
let M = 0;
|
|
1169
|
+
for (let e = 0; e < l; e++) if (u) {
|
|
1059
1170
|
let n = 0;
|
|
1060
1171
|
for (let r of t.series) n += r.values[e] ?? 0;
|
|
1061
|
-
|
|
1062
|
-
} else for (let n of t.series)
|
|
1063
|
-
t.valMax != null && (
|
|
1064
|
-
let
|
|
1172
|
+
M = Math.max(M, n);
|
|
1173
|
+
} else for (let n of t.series) M = Math.max(M, n.values[e] ?? 0);
|
|
1174
|
+
t.valMax != null && (M = t.valMax), M === 0 && (M = 1);
|
|
1175
|
+
let N = h(M), P = t.valMax ?? g(M, N), F = (e) => D + (l === 1 ? A / 2 : e / (l - 1) * A), I = (e) => O + j - e / P * j;
|
|
1065
1176
|
if (!t.valAxisHidden) {
|
|
1066
|
-
e.font = `${Math.max(8, Math.min(11,
|
|
1067
|
-
let n = Math.round(
|
|
1177
|
+
e.font = `${Math.max(8, Math.min(11, j / 20))}px sans-serif`, e.textBaseline = "middle";
|
|
1178
|
+
let n = Math.round(P / N);
|
|
1068
1179
|
for (let r = 0; r <= n; r++) {
|
|
1069
|
-
let n = r *
|
|
1070
|
-
e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(
|
|
1180
|
+
let n = r * N, i = I(n);
|
|
1181
|
+
e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(D, i), e.lineTo(D + A, i), e.stroke(), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(y(n, t.valAxisFormatCode), D - 4, i);
|
|
1071
1182
|
}
|
|
1072
1183
|
}
|
|
1073
|
-
!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(
|
|
1074
|
-
let
|
|
1184
|
+
!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(D, O + j), e.lineTo(D + A, O + j), e.stroke());
|
|
1185
|
+
let L = u ? Array(l).fill(0) : null;
|
|
1075
1186
|
for (let n = t.series.length - 1; n >= 0; n--) {
|
|
1076
|
-
let r = t.series[n], i =
|
|
1077
|
-
if (e.beginPath(),
|
|
1078
|
-
for (let t = 0; t <
|
|
1079
|
-
let n = (r.values[t] ?? 0) +
|
|
1187
|
+
let r = t.series[n], i = z(n, r), a = O + j;
|
|
1188
|
+
if (e.beginPath(), u && L) {
|
|
1189
|
+
for (let t = 0; t < l; t++) {
|
|
1190
|
+
let n = (r.values[t] ?? 0) + L[t], i = F(t), a = I(n);
|
|
1080
1191
|
t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
|
|
1081
1192
|
}
|
|
1082
|
-
for (let t =
|
|
1083
|
-
for (let e = 0; e <
|
|
1193
|
+
for (let t = l - 1; t >= 0; t--) e.lineTo(F(t), I(L[t]));
|
|
1194
|
+
for (let e = 0; e < l; e++) L[e] += r.values[e] ?? 0;
|
|
1084
1195
|
} else {
|
|
1085
|
-
e.moveTo(
|
|
1086
|
-
for (let t = 0; t <
|
|
1087
|
-
e.lineTo(
|
|
1196
|
+
e.moveTo(F(0), a);
|
|
1197
|
+
for (let t = 0; t < l; t++) e.lineTo(F(t), I(r.values[t] ?? 0));
|
|
1198
|
+
e.lineTo(F(l - 1), a);
|
|
1088
1199
|
}
|
|
1089
|
-
e.closePath(), e.fillStyle =
|
|
1200
|
+
e.closePath(), e.fillStyle = k(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
|
|
1090
1201
|
}
|
|
1091
1202
|
if (!t.catAxisHidden) {
|
|
1092
|
-
let n = Math.max(1, Math.ceil(
|
|
1093
|
-
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11,
|
|
1094
|
-
for (let t = 0; t <
|
|
1203
|
+
let n = Math.max(1, Math.ceil(l / 8));
|
|
1204
|
+
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, A / l * .8))}px sans-serif`;
|
|
1205
|
+
for (let t = 0; t < l; t += n) e.fillText((c[t] ?? "").toString().slice(0, 10), F(t), O + j + 3);
|
|
1095
1206
|
}
|
|
1096
|
-
|
|
1207
|
+
ie(e, t, _, i, a, o, s, D, O, A, j, m + 2), t.catAxisTitle && U(e, t.catAxisTitle, D, O, A, j, "cat", C), t.valAxisTitle && U(e, t.valAxisTitle, D, O, A, j, "val", C);
|
|
1097
1208
|
}
|
|
1098
|
-
function
|
|
1209
|
+
function fe(e, t, n, r, i) {
|
|
1099
1210
|
let { x: a, y: o, w: s, h: c } = n, l = t.series[0];
|
|
1100
1211
|
if (!l) return;
|
|
1101
1212
|
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);
|
|
1102
1213
|
if (f === 0) return;
|
|
1103
|
-
let p = t.title ?
|
|
1104
|
-
|
|
1214
|
+
let p = t.title ? ae(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
|
|
1215
|
+
se(e, t, a, o + m, s, p);
|
|
1105
1216
|
let _ = t.showLegend ? (() => {
|
|
1106
1217
|
let e = t.legendPos ?? "r", n = e === "l" ? "l" : e === "t" ? "t" : e === "b" ? "b" : "r";
|
|
1107
1218
|
return n === "r" || n === "l" ? {
|
|
@@ -1115,7 +1226,7 @@ function G(e, t, n, r, i) {
|
|
|
1115
1226
|
};
|
|
1116
1227
|
})() : 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;
|
|
1117
1228
|
for (let n = 0; n < d.length; n++) {
|
|
1118
|
-
let i = d[n] / f * Math.PI * 2, a =
|
|
1229
|
+
let i = d[n] / f * Math.PI * 2, a = B(n, l);
|
|
1119
1230
|
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) {
|
|
1120
1231
|
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);
|
|
1121
1232
|
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);
|
|
@@ -1127,59 +1238,59 @@ function G(e, t, n, r, i) {
|
|
|
1127
1238
|
...l,
|
|
1128
1239
|
categories: u
|
|
1129
1240
|
}], r = w - S / 2;
|
|
1130
|
-
|
|
1241
|
+
ie(e, {
|
|
1131
1242
|
...t,
|
|
1132
1243
|
series: n
|
|
1133
1244
|
}, _, a, o, s, c, r, T - C / 2, S, C, g + 2);
|
|
1134
1245
|
}
|
|
1135
1246
|
}
|
|
1136
|
-
function
|
|
1137
|
-
let { x: i, y: a, w:
|
|
1138
|
-
if (
|
|
1139
|
-
let
|
|
1140
|
-
|
|
1141
|
-
let
|
|
1142
|
-
for (let e of t.series) for (let t of e.values)
|
|
1143
|
-
t.valMax != null && (
|
|
1144
|
-
let
|
|
1247
|
+
function pe(e, t, n, r) {
|
|
1248
|
+
let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
|
|
1249
|
+
if (l < 3) return;
|
|
1250
|
+
let u = t.title ? ae(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = re(t, o, s), _ = m?.side === "r" ? m.reserveW : 0, y = m?.side === "l" ? m.reserveW : 0, b = m?.side === "t" ? m.reserveH : 0, x = m?.side === "b" ? m.reserveH : 0;
|
|
1251
|
+
se(e, t, i, a + d, o, u);
|
|
1252
|
+
let S = o - _ - y, C = s - p - b - x - s * .02, w = i + y + S / 2, T = a + p + b + s * .02 + C / 2, E = Math.min(S, C) * .38, D = 0;
|
|
1253
|
+
for (let e of t.series) for (let t of e.values) D = Math.max(D, t ?? 0);
|
|
1254
|
+
t.valMax != null && (D = t.valMax), D === 0 && (D = 1);
|
|
1255
|
+
let O = h(D), A = t.valMax ?? g(D, O), j = -Math.PI / 2, M = (e) => j + e / l * Math.PI * 2, N = Math.round(A / O);
|
|
1145
1256
|
e.strokeStyle = "#ddd", e.lineWidth = .5;
|
|
1146
|
-
for (let t = 1; t <=
|
|
1147
|
-
let n = t /
|
|
1257
|
+
for (let t = 1; t <= N; t++) {
|
|
1258
|
+
let n = t / N * E;
|
|
1148
1259
|
e.beginPath();
|
|
1149
|
-
for (let t = 0; t <
|
|
1150
|
-
let r =
|
|
1260
|
+
for (let t = 0; t < l; t++) {
|
|
1261
|
+
let r = M(t), i = w + Math.cos(r) * n, a = T + Math.sin(r) * n;
|
|
1151
1262
|
t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
|
|
1152
1263
|
}
|
|
1153
1264
|
e.closePath(), e.stroke();
|
|
1154
1265
|
}
|
|
1155
1266
|
e.strokeStyle = "#bbb", e.lineWidth = .5;
|
|
1156
|
-
for (let t = 0; t <
|
|
1157
|
-
let n =
|
|
1158
|
-
e.beginPath(), e.moveTo(
|
|
1267
|
+
for (let t = 0; t < l; t++) {
|
|
1268
|
+
let n = M(t);
|
|
1269
|
+
e.beginPath(), e.moveTo(w, T), e.lineTo(w + Math.cos(n) * E, T + Math.sin(n) * E), e.stroke();
|
|
1159
1270
|
}
|
|
1160
1271
|
if (!t.valAxisHidden) {
|
|
1161
|
-
e.font = `${
|
|
1162
|
-
for (let t = 1; t <=
|
|
1163
|
-
let n = t /
|
|
1164
|
-
e.fillText(
|
|
1272
|
+
e.font = `${oe(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
|
|
1273
|
+
for (let t = 1; t <= N; t++) {
|
|
1274
|
+
let n = t / N * A, r = t / N * E;
|
|
1275
|
+
e.fillText(v(n), w - 3, T - r);
|
|
1165
1276
|
}
|
|
1166
1277
|
}
|
|
1167
|
-
e.font = `${Math.max(8, Math.min(11,
|
|
1168
|
-
for (let t = 0; t <
|
|
1169
|
-
let n =
|
|
1170
|
-
e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((
|
|
1278
|
+
e.font = `${Math.max(8, Math.min(11, E * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
|
|
1279
|
+
for (let t = 0; t < l; t++) {
|
|
1280
|
+
let n = M(t), r = w + Math.cos(n) * (E + 12), i = T + Math.sin(n) * (E + 12);
|
|
1281
|
+
e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((c[t] ?? "").toString().slice(0, 12), r, i);
|
|
1171
1282
|
}
|
|
1172
|
-
let
|
|
1283
|
+
let P = t.radarStyle === "filled", F = Math.max(2, E * .025);
|
|
1173
1284
|
for (let n = 0; n < t.series.length; n++) {
|
|
1174
|
-
let r = t.series[n], i =
|
|
1175
|
-
for (let e = 0; e <
|
|
1285
|
+
let r = t.series[n], i = z(n, r), a = [];
|
|
1286
|
+
for (let e = 0; e < l; e++) {
|
|
1176
1287
|
let t = r.values[e];
|
|
1177
1288
|
if (t == null) {
|
|
1178
1289
|
a.push(null);
|
|
1179
1290
|
continue;
|
|
1180
1291
|
}
|
|
1181
|
-
let n = t /
|
|
1182
|
-
a.push([
|
|
1292
|
+
let n = t / A, i = M(e);
|
|
1293
|
+
a.push([w + Math.cos(i) * E * n, T + Math.sin(i) * E * n]);
|
|
1183
1294
|
}
|
|
1184
1295
|
e.beginPath();
|
|
1185
1296
|
let o = !1;
|
|
@@ -1191,102 +1302,102 @@ function ae(e, t, n, r) {
|
|
|
1191
1302
|
o ? e.lineTo(t[0], t[1]) : (e.moveTo(t[0], t[1]), o = !0);
|
|
1192
1303
|
}
|
|
1193
1304
|
let s = a.every((e) => e != null);
|
|
1194
|
-
if (
|
|
1305
|
+
if (P && s ? (e.closePath(), e.fillStyle = k(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !P && r.showMarker !== !1) {
|
|
1195
1306
|
e.fillStyle = i;
|
|
1196
|
-
for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1],
|
|
1307
|
+
for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], F, 0, Math.PI * 2), e.fill());
|
|
1197
1308
|
}
|
|
1198
1309
|
}
|
|
1199
|
-
|
|
1310
|
+
ie(e, t, m, i, a, o, s, w - S / 2, T - C / 2, S, C, p + 2);
|
|
1200
1311
|
}
|
|
1201
|
-
function
|
|
1202
|
-
let { x: i, y: a, w:
|
|
1312
|
+
function q(e, t, n, r) {
|
|
1313
|
+
let { x: i, y: a, w: o, h: s } = n, c = t.title ? ae(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = re(t, o, s), p = f?.side === "r" ? f.reserveW : 0, m = f?.side === "l" ? f.reserveW : 0, g = f?.side === "t" ? f.reserveH : 0, _ = f?.side === "b" ? f.reserveH : 0, v = Math.max(8, Math.min(10, s * .045)), b = t.catAxisTitle ? v + 4 : 0, x = t.valAxisTitle ? v + 4 : 0;
|
|
1203
1314
|
if (t.title) {
|
|
1204
1315
|
let n = t.titleManualLayout;
|
|
1205
|
-
n && (n.x !== void 0 || n.y !== void 0) ?
|
|
1316
|
+
n && (n.x !== void 0 || n.y !== void 0) ? se(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : se(e, t, i, a + l, o, c);
|
|
1206
1317
|
}
|
|
1207
|
-
let S = t.plotAreaManualLayout, C, w, T,
|
|
1208
|
-
if (S && S.w != null && S.h != null) C = i + S.x *
|
|
1318
|
+
let S = t.plotAreaManualLayout, C, w, T, E;
|
|
1319
|
+
if (S && S.w != null && S.h != null) C = i + S.x * o, w = a + S.y * s, T = S.w * o, E = S.h * s;
|
|
1209
1320
|
else {
|
|
1210
1321
|
let e = {
|
|
1211
|
-
t:
|
|
1212
|
-
r:
|
|
1213
|
-
b: (t.catAxisHidden ?
|
|
1214
|
-
l: (t.valAxisHidden ?
|
|
1322
|
+
t: d + g + s * .02,
|
|
1323
|
+
r: p + o * .05,
|
|
1324
|
+
b: (t.catAxisHidden ? s * .04 : s * .12) + b + _,
|
|
1325
|
+
l: (t.valAxisHidden ? o * .04 : o * .12) + x + m
|
|
1215
1326
|
};
|
|
1216
|
-
C = i + e.l, w = a + e.t, T =
|
|
1327
|
+
C = i + e.l, w = a + e.t, T = o - e.l - e.r, E = s - e.t - e.b;
|
|
1217
1328
|
}
|
|
1218
|
-
if (T <= 0 ||
|
|
1219
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(C, w, T,
|
|
1220
|
-
let
|
|
1329
|
+
if (T <= 0 || E <= 0) return;
|
|
1330
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(C, w, T, E));
|
|
1331
|
+
let D = [], O = [];
|
|
1221
1332
|
for (let e of t.series) {
|
|
1222
1333
|
let t = e.categories ?? [];
|
|
1223
1334
|
for (let e of t) {
|
|
1224
1335
|
let t = parseFloat(e);
|
|
1225
|
-
isNaN(t) ||
|
|
1336
|
+
isNaN(t) || D.push(t);
|
|
1226
1337
|
}
|
|
1227
|
-
for (let t of e.values) t != null &&
|
|
1338
|
+
for (let t of e.values) t != null && O.push(t);
|
|
1228
1339
|
}
|
|
1229
|
-
let
|
|
1230
|
-
if (
|
|
1340
|
+
let k = D.length === 0;
|
|
1341
|
+
if (k) {
|
|
1231
1342
|
let e = Math.max(...t.series.map((e) => e.values.length));
|
|
1232
|
-
for (let t = 0; t < e; t++)
|
|
1343
|
+
for (let t = 0; t < e; t++) D.push(t);
|
|
1233
1344
|
}
|
|
1234
|
-
let
|
|
1235
|
-
if (
|
|
1236
|
-
let e =
|
|
1237
|
-
e > 0 && (t.catAxisMin ?? (
|
|
1345
|
+
let A = Math.min(...D), j = Math.max(...D), M = Math.min(...O), N = Math.max(...O);
|
|
1346
|
+
if (A === j && (--A, j += 1), M === N && (--M, N += 1), t.valMin == null ? M > 0 && (M = 0) : M = t.valMin, t.valMax != null && (N = t.valMax), t.catAxisMin != null && (A = t.catAxisMin), t.catAxisMax != null && (j = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
|
|
1347
|
+
let e = h(j - A);
|
|
1348
|
+
e > 0 && (t.catAxisMin ?? (A = Math.floor(A / e) * e), t.catAxisMax ?? (j = Math.ceil(j / e) * e));
|
|
1238
1349
|
}
|
|
1239
|
-
let
|
|
1350
|
+
let P = (e) => C + (e - A) / (j - A) * T, I = (e) => w + E - (e - M) / (N - M) * E;
|
|
1240
1351
|
if (!t.valAxisHidden) {
|
|
1241
|
-
let n = Math.max(8, Math.min(11,
|
|
1352
|
+
let n = Math.max(8, Math.min(11, E / 20));
|
|
1242
1353
|
e.font = `${t.valAxisFontBold ? "bold " : ""}${n}px sans-serif`;
|
|
1243
|
-
let r =
|
|
1354
|
+
let r = h(N - M), i = Math.round((N - M) / r) + 1;
|
|
1244
1355
|
for (let n = 0; n < i; n++) {
|
|
1245
|
-
let i =
|
|
1246
|
-
if (i >
|
|
1247
|
-
let a =
|
|
1248
|
-
e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(C, a), e.lineTo(C + T, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(
|
|
1249
|
-
let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0, s = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu /
|
|
1250
|
-
|
|
1356
|
+
let i = M + n * r;
|
|
1357
|
+
if (i > N + r * .01) break;
|
|
1358
|
+
let a = I(i);
|
|
1359
|
+
e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(C, a), e.lineTo(C + T, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(y(i, t.valAxisFormatCode), C - 4, a);
|
|
1360
|
+
let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0, s = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / F) : void 0;
|
|
1361
|
+
G(e, t.valAxisMajorTickMark, "val", C, a, o, s);
|
|
1251
1362
|
}
|
|
1252
1363
|
}
|
|
1253
|
-
let
|
|
1254
|
-
if (t.catAxisCrossesAt != null)
|
|
1364
|
+
let L = w + E;
|
|
1365
|
+
if (t.catAxisCrossesAt != null) L = ve(I(t.catAxisCrossesAt), w, w + E);
|
|
1255
1366
|
else {
|
|
1256
1367
|
let e = t.catAxisCrosses ?? "autoZero";
|
|
1257
|
-
e === "autoZero" &&
|
|
1368
|
+
e === "autoZero" && M < 0 && N > 0 ? L = ve(I(0), w, w + E) : e === "min" ? L = w + E : e === "max" && (L = w);
|
|
1258
1369
|
}
|
|
1259
|
-
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu /
|
|
1260
|
-
let n = Math.max(8, Math.min(11,
|
|
1370
|
+
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / F) : 1, e.lineCap = "butt", e.beginPath(), e.moveTo(C, L), e.lineTo(C + T, L), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / F) : 1, e.beginPath(), e.moveTo(C, w), e.lineTo(C, w + E), e.stroke(), e.restore()), !t.catAxisHidden) {
|
|
1371
|
+
let n = Math.max(8, Math.min(11, E / 20));
|
|
1261
1372
|
e.font = `${t.catAxisFontBold ? "bold " : ""}${n}px sans-serif`;
|
|
1262
|
-
let r =
|
|
1373
|
+
let r = h(j - A), i = Math.round((j - A) / r) + 1;
|
|
1263
1374
|
e.fillStyle = "#555", e.textAlign = "center", e.textBaseline = "top";
|
|
1264
1375
|
for (let n = 0; n < i; n++) {
|
|
1265
|
-
let i =
|
|
1266
|
-
if (i >
|
|
1267
|
-
let a =
|
|
1268
|
-
e.fillText(
|
|
1269
|
-
let o = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0, s = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu /
|
|
1270
|
-
|
|
1376
|
+
let i = A + n * r;
|
|
1377
|
+
if (i > j + r * .01) break;
|
|
1378
|
+
let a = P(i);
|
|
1379
|
+
e.fillText(y(i, t.catAxisFormatCode), a, L + 4);
|
|
1380
|
+
let o = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0, s = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / F) : void 0;
|
|
1381
|
+
G(e, t.catAxisMajorTickMark, "cat", L, a, o, s);
|
|
1271
1382
|
}
|
|
1272
1383
|
}
|
|
1273
|
-
let
|
|
1384
|
+
let R = t.chartType === "bubble", B = R ? "marker" : t.scatterStyle ?? "marker", V = B === "line" || B === "lineMarker" || B === "lineNoMarker", H = B === "smooth" || B === "smoothMarker" || B === "smoothNoMarker", ee = B === "lineNoMarker" || B === "smoothNoMarker";
|
|
1274
1385
|
for (let n = 0; n < t.series.length; n++) {
|
|
1275
|
-
let i = t.series[n], a =
|
|
1276
|
-
for (let t of i.errBars ?? [])
|
|
1277
|
-
if (
|
|
1386
|
+
let i = t.series[n], a = z(n, i), o = i.categories ?? [];
|
|
1387
|
+
for (let t of i.errBars ?? []) he(e, i, t, o, k, P, I, a);
|
|
1388
|
+
if (V || H) {
|
|
1278
1389
|
let t = [];
|
|
1279
1390
|
for (let e = 0; e < i.values.length; e++) {
|
|
1280
1391
|
let n = i.values[e];
|
|
1281
1392
|
if (n == null) continue;
|
|
1282
|
-
let r =
|
|
1393
|
+
let r = k ? e : parseFloat(o[e] ?? "0");
|
|
1283
1394
|
isNaN(r) || t.push({
|
|
1284
|
-
x:
|
|
1285
|
-
y:
|
|
1395
|
+
x: P(r),
|
|
1396
|
+
y: I(n)
|
|
1286
1397
|
});
|
|
1287
1398
|
}
|
|
1288
1399
|
if (t.length >= 2) {
|
|
1289
|
-
if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y),
|
|
1400
|
+
if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), H && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
|
|
1290
1401
|
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;
|
|
1291
1402
|
e.bezierCurveTo(s, c, l, u, a.x, a.y);
|
|
1292
1403
|
}
|
|
@@ -1294,31 +1405,31 @@ function oe(e, t, n, r) {
|
|
|
1294
1405
|
e.stroke(), e.restore();
|
|
1295
1406
|
}
|
|
1296
1407
|
}
|
|
1297
|
-
if (!(
|
|
1408
|
+
if (!(ee || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
|
|
1298
1409
|
let t = 0;
|
|
1299
|
-
if (
|
|
1410
|
+
if (R && i.bubbleSizes && i.bubbleSizes.length > 0) {
|
|
1300
1411
|
let e = Math.max(0, ...i.bubbleSizes.filter((e) => e != null));
|
|
1301
|
-
e > 0 && (t = Math.min(T,
|
|
1412
|
+
e > 0 && (t = Math.min(T, E) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
|
|
1302
1413
|
}
|
|
1303
1414
|
for (let n = 0; n < i.values.length; n++) {
|
|
1304
1415
|
let s = i.values[n];
|
|
1305
1416
|
if (s == null) continue;
|
|
1306
|
-
let c =
|
|
1417
|
+
let c = k ? n : parseFloat(o[n] ?? "0");
|
|
1307
1418
|
if (isNaN(c)) continue;
|
|
1308
1419
|
let l = (i.dataPointOverrides ?? []).find((e) => e.idx === n), u = l?.markerSymbol ?? i.markerSymbol ?? "circle", d = l?.markerSize ?? i.markerSize ?? 5;
|
|
1309
|
-
if (
|
|
1420
|
+
if (R && t > 0) {
|
|
1310
1421
|
let e = i.bubbleSizes?.[n];
|
|
1311
1422
|
e != null && e > 0 && (d = Math.sqrt(e) * t * 2 / r);
|
|
1312
1423
|
}
|
|
1313
1424
|
let f = l?.markerFill ?? l?.color ?? i.markerFill ?? a, p = l?.markerLine ?? i.markerLine ?? null;
|
|
1314
|
-
|
|
1425
|
+
me(e, P(c), I(s), u, d, f, p, r);
|
|
1315
1426
|
}
|
|
1316
1427
|
}
|
|
1317
|
-
|
|
1428
|
+
ge(e, i, o, k, P, I, E, r);
|
|
1318
1429
|
}
|
|
1319
|
-
|
|
1430
|
+
ie(e, t, f, i, a, o, s, C, w, T, E, d + 2), t.catAxisTitle && U(e, t.catAxisTitle, C, w, T, E, "cat", v), t.valAxisTitle && U(e, t.valAxisTitle, C, w, T, E, "val", v);
|
|
1320
1431
|
}
|
|
1321
|
-
function
|
|
1432
|
+
function me(e, t, n, r, i, a, o, s) {
|
|
1322
1433
|
let c = Math.max(2, i * s), l = c / 2, u = a.startsWith("#") ? a : `#${a}`, d = o ? o.startsWith("#") ? o : `#${o}` : null;
|
|
1323
1434
|
switch (e.save(), e.fillStyle = u, d && (e.strokeStyle = d, e.lineWidth = 1), r) {
|
|
1324
1435
|
case "square":
|
|
@@ -1358,8 +1469,8 @@ function se(e, t, n, r, i, a, o, s) {
|
|
|
1358
1469
|
}
|
|
1359
1470
|
e.restore();
|
|
1360
1471
|
}
|
|
1361
|
-
function
|
|
1362
|
-
e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu /
|
|
1472
|
+
function he(e, t, n, r, i, a, o, s) {
|
|
1473
|
+
e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / F) : 1, e.setLineDash(ye(n.dash));
|
|
1363
1474
|
let c = n.barType === "plus" || n.barType === "both", l = n.barType === "minus" || n.barType === "both", u = n.dir === "x", d = e.lineWidth * 1.5;
|
|
1364
1475
|
for (let s = 0; s < t.values.length; s++) {
|
|
1365
1476
|
let f = t.values[s];
|
|
@@ -1381,28 +1492,28 @@ function ce(e, t, n, r, i, a, o, s) {
|
|
|
1381
1492
|
}
|
|
1382
1493
|
e.restore();
|
|
1383
1494
|
}
|
|
1384
|
-
function
|
|
1495
|
+
function ge(e, t, n, r, i, a, o, s) {
|
|
1385
1496
|
let c = t.dataLabelOverrides ?? [];
|
|
1386
1497
|
if (c.length === 0 && !t.seriesDataLabels) return;
|
|
1387
1498
|
let l = t.seriesDataLabels;
|
|
1388
|
-
for (let
|
|
1389
|
-
let
|
|
1390
|
-
if (
|
|
1391
|
-
let
|
|
1392
|
-
if (isNaN(
|
|
1393
|
-
let
|
|
1394
|
-
if (
|
|
1395
|
-
if (
|
|
1396
|
-
|
|
1499
|
+
for (let u = 0; u < t.values.length; u++) {
|
|
1500
|
+
let d = t.values[u];
|
|
1501
|
+
if (d == null) continue;
|
|
1502
|
+
let f = r ? u : parseFloat(n[u] ?? "0");
|
|
1503
|
+
if (isNaN(f)) continue;
|
|
1504
|
+
let p = c.find((e) => e.idx === u), m;
|
|
1505
|
+
if (p) {
|
|
1506
|
+
if (p.text === "") continue;
|
|
1507
|
+
m = p.text;
|
|
1397
1508
|
} else if (l && (l.showVal || l.showSerName || l.showCatName)) {
|
|
1398
1509
|
let e = [];
|
|
1399
|
-
if (l.showCatName && !r && e.push(n[
|
|
1510
|
+
if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(y(d, l.formatCode ?? null)), m = e.filter(Boolean).join(" "), !m) continue;
|
|
1400
1511
|
} else continue;
|
|
1401
|
-
let
|
|
1402
|
-
|
|
1512
|
+
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, b = p?.fontBold ?? l?.fontBold ?? !1;
|
|
1513
|
+
_e(e, i(f), a(d), m, h, _, v, b);
|
|
1403
1514
|
}
|
|
1404
1515
|
}
|
|
1405
|
-
function
|
|
1516
|
+
function _e(e, t, n, r, i, a, o, s) {
|
|
1406
1517
|
e.save(), e.font = `${s ? "bold " : ""}${a}px sans-serif`, e.fillStyle = o ? `#${o}` : "#333";
|
|
1407
1518
|
let c = a * .6, l = t, u = n;
|
|
1408
1519
|
switch (i) {
|
|
@@ -1430,10 +1541,10 @@ function ue(e, t, n, r, i, a, o, s) {
|
|
|
1430
1541
|
for (let t of d) e.fillText(t, l, m), m += f;
|
|
1431
1542
|
e.restore();
|
|
1432
1543
|
}
|
|
1433
|
-
function
|
|
1544
|
+
function ve(e, t, n) {
|
|
1434
1545
|
return e < t ? t : e > n ? n : e;
|
|
1435
1546
|
}
|
|
1436
|
-
function
|
|
1547
|
+
function ye(e) {
|
|
1437
1548
|
if (!e) return [];
|
|
1438
1549
|
switch (e) {
|
|
1439
1550
|
case "solid": return [];
|
|
@@ -1468,18 +1579,18 @@ function de(e) {
|
|
|
1468
1579
|
default: return [];
|
|
1469
1580
|
}
|
|
1470
1581
|
}
|
|
1471
|
-
function
|
|
1472
|
-
let { x: r, y: i, w: a, h:
|
|
1473
|
-
if (
|
|
1582
|
+
function be(e, t, n) {
|
|
1583
|
+
let { x: r, y: i, w: a, h: o } = n, s = t.plotAreaManualLayout, c, l, u, d;
|
|
1584
|
+
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;
|
|
1474
1585
|
else {
|
|
1475
|
-
let e = t.valAxisHidden ? a * .01 : a * .11, n = a * .01,
|
|
1476
|
-
|
|
1586
|
+
let e = t.valAxisHidden ? a * .01 : a * .11, n = a * .01, s = o * .12, f = o * .14;
|
|
1587
|
+
c = r + e, l = i + s, u = a - e - n, d = o - s - f;
|
|
1477
1588
|
}
|
|
1478
|
-
let
|
|
1479
|
-
if (
|
|
1589
|
+
let f = t.series[0]?.values ?? [], p = t.categories, m = p.length;
|
|
1590
|
+
if (m === 0) return;
|
|
1480
1591
|
let g = new Set(t.subtotalIndices), _ = 0, v = [];
|
|
1481
|
-
for (let e = 0; e <
|
|
1482
|
-
let t =
|
|
1592
|
+
for (let e = 0; e < m; e++) {
|
|
1593
|
+
let t = f[e] ?? 0;
|
|
1483
1594
|
if (e === 0 || g.has(e)) v.push({
|
|
1484
1595
|
start: 0,
|
|
1485
1596
|
end: t,
|
|
@@ -1498,36 +1609,36 @@ function fe(e, t, n) {
|
|
|
1498
1609
|
}
|
|
1499
1610
|
let y = v.map((e) => e.end), b = v.map((e) => e.start), x = Math.max(...y, ...b), S = Math.min(...b, 0), C = x - S;
|
|
1500
1611
|
if (C <= 0) return;
|
|
1501
|
-
let w = S < 0 ? S - C * .05 : 0, T = (x - w) * 1.1, E = w + T, D =
|
|
1612
|
+
let w = S < 0 ? S - C * .05 : 0, T = (x - w) * 1.1, E = w + T, D = h(T);
|
|
1502
1613
|
e.save();
|
|
1503
|
-
let O = Math.round(
|
|
1614
|
+
let O = Math.round(o * .042);
|
|
1504
1615
|
if (e.font = `${O}px sans-serif`, !t.valAxisHidden) {
|
|
1505
1616
|
e.strokeStyle = "#e8e8e8", e.lineWidth = .7, e.fillStyle = "#666", e.textAlign = "right", e.textBaseline = "middle";
|
|
1506
1617
|
for (let t = Math.ceil(w / D) * D; t <= E; t += D) {
|
|
1507
|
-
let n =
|
|
1508
|
-
e.beginPath(), e.moveTo(
|
|
1618
|
+
let n = l + d * (1 - (t - w) / T);
|
|
1619
|
+
e.beginPath(), e.moveTo(c, n), e.lineTo(c + u, n), e.stroke(), e.fillText(t.toLocaleString(), c - 4, n);
|
|
1509
1620
|
}
|
|
1510
1621
|
}
|
|
1511
1622
|
let k = !t.valAxisHidden && !t.valAxisLineHidden, A = !t.catAxisHidden && !t.catAxisLineHidden;
|
|
1512
|
-
(k || A) && (e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), k ? (e.moveTo(
|
|
1513
|
-
let j =
|
|
1623
|
+
(k || A) && (e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), k ? (e.moveTo(c, l), e.lineTo(c, l + d), A && e.lineTo(c + u, l + d)) : A && (e.moveTo(c, l + d), e.lineTo(c + u, l + d)), e.stroke());
|
|
1624
|
+
let j = u / m, M = j / (1 + (t.barGapWidth ?? 150) / 100);
|
|
1514
1625
|
v.forEach((n, r) => {
|
|
1515
|
-
let i =
|
|
1516
|
-
if (n.isSub ? (e.fillStyle = "#196ECA", e.fillRect(i, a, M,
|
|
1517
|
-
let t =
|
|
1518
|
-
e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(i + M,
|
|
1626
|
+
let i = c + j * r + (j - M) / 2, a = l + d * (1 - (n.end - w) / T), s = l + d * (1 - (n.start - w) / T), u = Math.max(1, s - a);
|
|
1627
|
+
if (n.isSub ? (e.fillStyle = "#196ECA", e.fillRect(i, a, M, u)) : (e.strokeStyle = n.isPos ? "#5BA4E6" : "#E46970", e.lineWidth = 1.5, e.strokeRect(i + .75, a + .75, M - 1.5, u - 1.5)), r < m - 1) {
|
|
1628
|
+
let t = c + j * (r + 1) + (j - M) / 2, o = n.isPos ? a : s;
|
|
1629
|
+
e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(i + M, o), e.lineTo(t, o), e.stroke(), e.setLineDash([]);
|
|
1519
1630
|
}
|
|
1520
|
-
let
|
|
1521
|
-
e.fillStyle = g ? `#${g}` : t.dataLabelFontColor ? `#${t.dataLabelFontColor}` : "#595959", e.font = `bold ${Math.round(
|
|
1522
|
-
}), e.textAlign = "center", e.textBaseline = "top", e.fillStyle = "#666", e.font = `${Math.round(
|
|
1523
|
-
let N =
|
|
1524
|
-
for (let t = 0; t <
|
|
1525
|
-
let n =
|
|
1526
|
-
|
|
1631
|
+
let p = f[r] ?? 0, h = p < 0 ? `△ ${Math.abs(p).toLocaleString()}` : p.toLocaleString(), g = t.series[0]?.dataLabelColors?.[r] ?? null;
|
|
1632
|
+
e.fillStyle = g ? `#${g}` : t.dataLabelFontColor ? `#${t.dataLabelFontColor}` : "#595959", e.font = `bold ${Math.round(o * .044)}px sans-serif`, e.textAlign = "center", p < 0 ? (e.textBaseline = "top", e.fillText(h, i + M / 2, s + 3)) : (e.textBaseline = "bottom", e.fillText(h, i + M / 2, a - 3));
|
|
1633
|
+
}), e.textAlign = "center", e.textBaseline = "top", e.fillStyle = "#666", e.font = `${Math.round(o * .038)}px sans-serif`;
|
|
1634
|
+
let N = l + d + 4;
|
|
1635
|
+
for (let t = 0; t < m; t++) {
|
|
1636
|
+
let n = c + j * t + j / 2;
|
|
1637
|
+
p[t].split(/\s+/).forEach((t, r) => e.fillText(t, n, N + r * (O + 2)));
|
|
1527
1638
|
}
|
|
1528
1639
|
e.restore();
|
|
1529
1640
|
}
|
|
1530
|
-
function
|
|
1641
|
+
function xe(e, t, n, r = L) {
|
|
1531
1642
|
let { x: i, y: a, w: o, h: s } = n;
|
|
1532
1643
|
if (t.chartBg && (e.fillStyle = `#${t.chartBg}`, e.fillRect(i, a, o, s)), t.series.length === 0) {
|
|
1533
1644
|
e.fillStyle = "#888", e.font = "12px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText("(no data)", i + o / 2, a + s / 2);
|
|
@@ -1540,40 +1651,40 @@ function pe(e, t, n, r = O) {
|
|
|
1540
1651
|
case "stackedBarH":
|
|
1541
1652
|
case "stackedBarPct":
|
|
1542
1653
|
case "stackedBarHPct":
|
|
1543
|
-
|
|
1654
|
+
ue(e, t, n, r);
|
|
1544
1655
|
break;
|
|
1545
1656
|
case "line":
|
|
1546
1657
|
case "stackedLine":
|
|
1547
1658
|
case "stackedLinePct":
|
|
1548
|
-
|
|
1659
|
+
K(e, t, n, r);
|
|
1549
1660
|
break;
|
|
1550
1661
|
case "area":
|
|
1551
1662
|
case "stackedArea":
|
|
1552
1663
|
case "stackedAreaPct":
|
|
1553
|
-
|
|
1664
|
+
de(e, t, n, r);
|
|
1554
1665
|
break;
|
|
1555
1666
|
case "pie":
|
|
1556
|
-
|
|
1667
|
+
fe(e, t, n, !1, r);
|
|
1557
1668
|
break;
|
|
1558
1669
|
case "doughnut":
|
|
1559
|
-
|
|
1670
|
+
fe(e, t, n, !0, r);
|
|
1560
1671
|
break;
|
|
1561
1672
|
case "radar":
|
|
1562
|
-
|
|
1673
|
+
pe(e, t, n, r);
|
|
1563
1674
|
break;
|
|
1564
1675
|
case "scatter":
|
|
1565
1676
|
case "bubble":
|
|
1566
|
-
|
|
1677
|
+
q(e, t, n, r);
|
|
1567
1678
|
break;
|
|
1568
1679
|
case "waterfall":
|
|
1569
|
-
|
|
1680
|
+
be(e, t, n);
|
|
1570
1681
|
break;
|
|
1571
1682
|
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);
|
|
1572
1683
|
}
|
|
1573
1684
|
}
|
|
1574
1685
|
//#endregion
|
|
1575
1686
|
//#region packages/core/src/autoResize.ts
|
|
1576
|
-
function
|
|
1687
|
+
function Se(e, t, n = {}) {
|
|
1577
1688
|
let r = n.pauseWhenHidden ?? !0, i = null, a = 0, o = 0, s = null, c = !1, l = !1, u = () => {
|
|
1578
1689
|
if (!l && !(r && typeof document < "u" && document.hidden)) {
|
|
1579
1690
|
if (s) {
|
|
@@ -1610,7 +1721,7 @@ function q(e, t, n = {}) {
|
|
|
1610
1721
|
}
|
|
1611
1722
|
//#endregion
|
|
1612
1723
|
//#region packages/core/src/shape/custGeom.ts
|
|
1613
|
-
function
|
|
1724
|
+
function Ce(e, t, n, r, i, a) {
|
|
1614
1725
|
for (let o of t) {
|
|
1615
1726
|
let t = 0, s = 0;
|
|
1616
1727
|
for (let c of o) switch (c.cmd) {
|
|
@@ -1646,7 +1757,7 @@ function J(e, t, n, r, i, a, o, s = -Math.PI / 2) {
|
|
|
1646
1757
|
}
|
|
1647
1758
|
e.closePath();
|
|
1648
1759
|
}
|
|
1649
|
-
function
|
|
1760
|
+
function we(e, t, n, r, i, a, o = -Math.PI / 2) {
|
|
1650
1761
|
for (let s = 0; s < a; s++) {
|
|
1651
1762
|
let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
|
|
1652
1763
|
s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
|
|
@@ -1660,7 +1771,7 @@ function Y(e, t, n, r, i, a, o) {
|
|
|
1660
1771
|
y: d + i * Math.sin(l)
|
|
1661
1772
|
};
|
|
1662
1773
|
}
|
|
1663
|
-
function
|
|
1774
|
+
function Te(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
1664
1775
|
let u = n + i / 2, d = r + a / 2;
|
|
1665
1776
|
switch (t) {
|
|
1666
1777
|
case "ellipse":
|
|
@@ -1695,22 +1806,22 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
1695
1806
|
break;
|
|
1696
1807
|
}
|
|
1697
1808
|
case "pentagon":
|
|
1698
|
-
|
|
1809
|
+
we(e, u, d, i / 2, a / 2, 5);
|
|
1699
1810
|
break;
|
|
1700
1811
|
case "hexagon":
|
|
1701
|
-
|
|
1812
|
+
we(e, u, d, i / 2, a / 2, 6, 0);
|
|
1702
1813
|
break;
|
|
1703
1814
|
case "heptagon":
|
|
1704
|
-
|
|
1815
|
+
we(e, u, d, i / 2, a / 2, 7);
|
|
1705
1816
|
break;
|
|
1706
1817
|
case "octagon":
|
|
1707
|
-
|
|
1818
|
+
we(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
|
|
1708
1819
|
break;
|
|
1709
1820
|
case "decagon":
|
|
1710
|
-
|
|
1821
|
+
we(e, u, d, i / 2, a / 2, 10);
|
|
1711
1822
|
break;
|
|
1712
1823
|
case "dodecagon":
|
|
1713
|
-
|
|
1824
|
+
we(e, u, d, i / 2, a / 2, 12);
|
|
1714
1825
|
break;
|
|
1715
1826
|
case "star4":
|
|
1716
1827
|
J(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
|
|
@@ -2294,8 +2405,8 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2294
2405
|
break;
|
|
2295
2406
|
}
|
|
2296
2407
|
case "ellipseribbon2": {
|
|
2297
|
-
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), I = m / 2, L = a - (b * I + M), R = i - I,
|
|
2298
|
-
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 + R, r + L, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r +
|
|
2408
|
+
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), I = m / 2, L = a - (b * I + M), R = i - I, z = a - (A + M);
|
|
2409
|
+
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 + R, r + L, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r + z, n + m, r + F), e.lineTo(n + m, r + P), e.quadraticCurveTo(n + I, r + L, n, r + T), e.lineTo(n + f, r + N), e.closePath();
|
|
2299
2410
|
break;
|
|
2300
2411
|
}
|
|
2301
2412
|
case "circulararrow": {
|
|
@@ -2393,7 +2504,7 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2393
2504
|
break;
|
|
2394
2505
|
}
|
|
2395
2506
|
}
|
|
2396
|
-
var
|
|
2507
|
+
var Ee = {
|
|
2397
2508
|
accentbordercallout1: {
|
|
2398
2509
|
adj: [
|
|
2399
2510
|
["adj1", "val 18750"],
|
|
@@ -24256,8 +24367,8 @@ var _e = {
|
|
|
24256
24367
|
]
|
|
24257
24368
|
}]
|
|
24258
24369
|
}
|
|
24259
|
-
}, X = 216e5,
|
|
24260
|
-
function
|
|
24370
|
+
}, X = 216e5, De = Math.PI * 2 / X;
|
|
24371
|
+
function Oe(e, t, n) {
|
|
24261
24372
|
let { w: r, h: i, adj: a } = e, o = Math.min(r, i), s = Math.max(r, i), c = Object.create(null);
|
|
24262
24373
|
Object.assign(c, {
|
|
24263
24374
|
w: r,
|
|
@@ -24346,10 +24457,10 @@ function ye(e, t, n) {
|
|
|
24346
24457
|
case "pin": return t[1] < t[0] ? t[0] : t[1] > t[2] ? t[2] : t[1];
|
|
24347
24458
|
case "sqrt": return Math.sqrt(Math.max(0, t[0]));
|
|
24348
24459
|
case "mod": return Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
|
|
24349
|
-
case "sin": return t[0] * Math.sin(t[1] *
|
|
24350
|
-
case "cos": return t[0] * Math.cos(t[1] *
|
|
24351
|
-
case "tan": return t[0] * Math.tan(t[1] *
|
|
24352
|
-
case "at2": return Math.atan2(t[1], t[0]) /
|
|
24460
|
+
case "sin": return t[0] * Math.sin(t[1] * De);
|
|
24461
|
+
case "cos": return t[0] * Math.cos(t[1] * De);
|
|
24462
|
+
case "tan": return t[0] * Math.tan(t[1] * De);
|
|
24463
|
+
case "at2": return Math.atan2(t[1], t[0]) / De;
|
|
24353
24464
|
case "cat2": return t[0] * Math.cos(Math.atan2(t[2], t[1]));
|
|
24354
24465
|
case "sat2": return t[0] * Math.sin(Math.atan2(t[2], t[1]));
|
|
24355
24466
|
default: throw Error(`preset-shape: unknown operator "${e}" in "${n}"`);
|
|
@@ -24358,8 +24469,8 @@ function ye(e, t, n) {
|
|
|
24358
24469
|
}
|
|
24359
24470
|
//#endregion
|
|
24360
24471
|
//#region packages/core/src/shape/preset-geometry/path-executor.ts
|
|
24361
|
-
var
|
|
24362
|
-
function
|
|
24472
|
+
var ke = Math.PI * 2 / 216e5;
|
|
24473
|
+
function Ae(e, t, n, r, i, a, o) {
|
|
24363
24474
|
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;
|
|
24364
24475
|
for (let r of t.cmds) switch (r[0]) {
|
|
24365
24476
|
case "m": {
|
|
@@ -24383,7 +24494,7 @@ function xe(e, t, n, r, i, a, o) {
|
|
|
24383
24494
|
break;
|
|
24384
24495
|
}
|
|
24385
24496
|
case "a": {
|
|
24386
|
-
let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) *
|
|
24497
|
+
let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * ke, u = n.resolve(r[4]) * ke, 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;
|
|
24387
24498
|
_ > 0 && v < 0 ? v += p : _ < 0 && v > 0 && (v -= p);
|
|
24388
24499
|
let y = h + v + g * p, b = d - a * Math.cos(h), x = f - o * Math.sin(h);
|
|
24389
24500
|
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));
|
|
@@ -24396,26 +24507,26 @@ function xe(e, t, n, r, i, a, o) {
|
|
|
24396
24507
|
}
|
|
24397
24508
|
//#endregion
|
|
24398
24509
|
//#region packages/core/src/shape/preset-geometry/index.ts
|
|
24399
|
-
var Z =
|
|
24400
|
-
function
|
|
24510
|
+
var Z = Ee;
|
|
24511
|
+
function je(e) {
|
|
24401
24512
|
return e.toLowerCase() in Z;
|
|
24402
24513
|
}
|
|
24403
|
-
function
|
|
24514
|
+
function Me(e, t, n, r, i, a, o = []) {
|
|
24404
24515
|
let s = Z[t.toLowerCase()];
|
|
24405
24516
|
if (!s) return !1;
|
|
24406
|
-
let c =
|
|
24517
|
+
let c = Oe({
|
|
24407
24518
|
w: i,
|
|
24408
24519
|
h: a,
|
|
24409
24520
|
adj: o
|
|
24410
24521
|
}, s.adj, s.gd);
|
|
24411
|
-
for (let t of s.paths)
|
|
24522
|
+
for (let t of s.paths) Ae(e, t, c, n, r, i, a);
|
|
24412
24523
|
return !0;
|
|
24413
24524
|
}
|
|
24414
|
-
var
|
|
24525
|
+
var Ne = {
|
|
24415
24526
|
wedgeroundrectcallout: "roundrect",
|
|
24416
24527
|
wedgeellipsecallout: "ellipse",
|
|
24417
24528
|
wedgerectcallout: null
|
|
24418
|
-
},
|
|
24529
|
+
}, Pe = {
|
|
24419
24530
|
adj: [],
|
|
24420
24531
|
gd: [],
|
|
24421
24532
|
paths: [{
|
|
@@ -24449,43 +24560,43 @@ var we = {
|
|
|
24449
24560
|
]
|
|
24450
24561
|
}]
|
|
24451
24562
|
};
|
|
24452
|
-
function
|
|
24563
|
+
function Fe(e, t, n) {
|
|
24453
24564
|
let r = e[n];
|
|
24454
24565
|
if (typeof r == "number") return r;
|
|
24455
24566
|
let i = t.adj[n];
|
|
24456
24567
|
return i && Number(i[1].replace(/^val\s+/, "")) || 0;
|
|
24457
24568
|
}
|
|
24458
|
-
function
|
|
24569
|
+
function Ie(e, t, n, r, i, a, o, s, c, l) {
|
|
24459
24570
|
let u = t.toLowerCase(), d = Z[u];
|
|
24460
24571
|
if (!d) return !1;
|
|
24461
|
-
if (u in
|
|
24462
|
-
let e =
|
|
24572
|
+
if (u in Ne) {
|
|
24573
|
+
let e = Fe(o, d, 0), t = Fe(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
|
|
24463
24574
|
if (n >= 0 && n <= i && r >= 0 && r <= a) {
|
|
24464
|
-
let e =
|
|
24465
|
-
e === "roundrect" ? (d = Z.roundrect, o = [
|
|
24575
|
+
let e = Ne[u];
|
|
24576
|
+
e === "roundrect" ? (d = Z.roundrect, o = [Fe(o, Z[u], 2)]) : e && Z[e] ? (d = Z[e], o = []) : (d = Pe, o = []);
|
|
24466
24577
|
}
|
|
24467
24578
|
}
|
|
24468
|
-
let f =
|
|
24579
|
+
let f = Oe({
|
|
24469
24580
|
w: i,
|
|
24470
24581
|
h: a,
|
|
24471
24582
|
adj: o
|
|
24472
24583
|
}, d.adj, d.gd), p = !1;
|
|
24473
24584
|
for (let t of d.paths) {
|
|
24474
|
-
e.beginPath(),
|
|
24585
|
+
e.beginPath(), Ae(e, t, f, n, r, i, a);
|
|
24475
24586
|
let o = t.fill;
|
|
24476
24587
|
if (o !== "none" && s != null) {
|
|
24477
24588
|
e.save(), e.fillStyle = s, e.fill();
|
|
24478
|
-
let t =
|
|
24589
|
+
let t = Re(o);
|
|
24479
24590
|
t && (e.fillStyle = t, e.fill()), e.restore(), p ||= (l(), !0);
|
|
24480
24591
|
}
|
|
24481
24592
|
t.stroke && c && c();
|
|
24482
24593
|
}
|
|
24483
24594
|
return !0;
|
|
24484
24595
|
}
|
|
24485
|
-
function
|
|
24596
|
+
function Le(e, t, n, r, i, a) {
|
|
24486
24597
|
let o = Z[e.toLowerCase()];
|
|
24487
24598
|
if (!o || o.paths.length === 0) return null;
|
|
24488
|
-
let s = o.paths[0], c =
|
|
24599
|
+
let s = o.paths[0], c = Oe({
|
|
24489
24600
|
w: r,
|
|
24490
24601
|
h: i,
|
|
24491
24602
|
adj: a
|
|
@@ -24519,7 +24630,7 @@ function Oe(e, t, n, r, i, a) {
|
|
|
24519
24630
|
}
|
|
24520
24631
|
};
|
|
24521
24632
|
}
|
|
24522
|
-
function
|
|
24633
|
+
function Re(e) {
|
|
24523
24634
|
switch (e) {
|
|
24524
24635
|
case "lighten": return "rgba(255,255,255,0.30)";
|
|
24525
24636
|
case "lightenLess": return "rgba(255,255,255,0.15)";
|
|
@@ -24530,10 +24641,10 @@ function ke(e) {
|
|
|
24530
24641
|
}
|
|
24531
24642
|
//#endregion
|
|
24532
24643
|
//#region packages/core/src/shape/effects.ts
|
|
24533
|
-
function
|
|
24644
|
+
function ze(e, t) {
|
|
24534
24645
|
return e * t;
|
|
24535
24646
|
}
|
|
24536
|
-
function
|
|
24647
|
+
function Be(e, t) {
|
|
24537
24648
|
let n = Math.max(1, Math.ceil(e)), r = Math.max(1, Math.ceil(t));
|
|
24538
24649
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
|
|
24539
24650
|
if (typeof document < "u") {
|
|
@@ -24542,29 +24653,29 @@ function je(e, t) {
|
|
|
24542
24653
|
}
|
|
24543
24654
|
return null;
|
|
24544
24655
|
}
|
|
24545
|
-
function
|
|
24656
|
+
function Ve(e) {
|
|
24546
24657
|
return e.getContext("2d") ?? null;
|
|
24547
24658
|
}
|
|
24548
|
-
function
|
|
24549
|
-
let s =
|
|
24659
|
+
function He(e, t, n, r, i, a, o) {
|
|
24660
|
+
let s = Be(a, o);
|
|
24550
24661
|
if (!s) return;
|
|
24551
|
-
let c =
|
|
24662
|
+
let c = Ve(s);
|
|
24552
24663
|
if (!c) return;
|
|
24553
|
-
let l =
|
|
24554
|
-
c.save(), c.fillStyle =
|
|
24664
|
+
let l = ze(r.blur, i), u = ze(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
|
|
24665
|
+
c.save(), c.fillStyle = k(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();
|
|
24555
24666
|
}
|
|
24556
|
-
function
|
|
24557
|
-
let c =
|
|
24667
|
+
function Ue(e, t, n, r, i, a, o, s) {
|
|
24668
|
+
let c = ze(r.radius, i);
|
|
24558
24669
|
if (c <= 0) {
|
|
24559
24670
|
t(e);
|
|
24560
24671
|
return;
|
|
24561
24672
|
}
|
|
24562
|
-
let l =
|
|
24673
|
+
let l = Be(a, o);
|
|
24563
24674
|
if (!l) {
|
|
24564
24675
|
t(e);
|
|
24565
24676
|
return;
|
|
24566
24677
|
}
|
|
24567
|
-
let u =
|
|
24678
|
+
let u = Ve(l);
|
|
24568
24679
|
if (!u) {
|
|
24569
24680
|
t(e);
|
|
24570
24681
|
return;
|
|
@@ -24572,24 +24683,24 @@ function Pe(e, t, n, r, i, a, o, s) {
|
|
|
24572
24683
|
let d = s ?? t;
|
|
24573
24684
|
t(u), u.save(), u.globalCompositeOperation = "destination-in", u.filter = `blur(${c}px)`, u.fillStyle = "#000", d(u), u.restore(), e.save(), e.drawImage(l, 0, 0), e.restore();
|
|
24574
24685
|
}
|
|
24575
|
-
function
|
|
24576
|
-
let s =
|
|
24686
|
+
function We(e, t, n, r, i, a, o) {
|
|
24687
|
+
let s = Be(a, o);
|
|
24577
24688
|
if (!s) return;
|
|
24578
|
-
let c =
|
|
24689
|
+
let c = Ve(s);
|
|
24579
24690
|
if (!c) return;
|
|
24580
|
-
let l =
|
|
24691
|
+
let l = ze(r.blur, i);
|
|
24581
24692
|
c.save(), l > 0 && (c.filter = `blur(${l}px)`), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in";
|
|
24582
|
-
let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p =
|
|
24693
|
+
let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = Ge(r.stPos), m = Ge(r.endPos);
|
|
24583
24694
|
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();
|
|
24584
|
-
let h =
|
|
24695
|
+
let h = ze(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
|
|
24585
24696
|
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();
|
|
24586
24697
|
}
|
|
24587
|
-
function
|
|
24698
|
+
function Ge(e) {
|
|
24588
24699
|
return e < 0 ? 0 : e > 1 ? 1 : e;
|
|
24589
24700
|
}
|
|
24590
24701
|
//#endregion
|
|
24591
24702
|
//#region packages/core/src/shape/scene3d-camera.ts
|
|
24592
|
-
var
|
|
24703
|
+
var Ke = 26, qe = {
|
|
24593
24704
|
orthographicFront: {
|
|
24594
24705
|
kind: "orthographic",
|
|
24595
24706
|
baseLat: 0,
|
|
@@ -24602,52 +24713,52 @@ var Le = 26, Re = {
|
|
|
24602
24713
|
baseLat: 0,
|
|
24603
24714
|
baseLon: 0,
|
|
24604
24715
|
baseRev: 0,
|
|
24605
|
-
fovDeg:
|
|
24716
|
+
fovDeg: Ke
|
|
24606
24717
|
},
|
|
24607
24718
|
perspectiveRelaxed: {
|
|
24608
24719
|
kind: "perspective",
|
|
24609
24720
|
baseLat: 0,
|
|
24610
24721
|
baseLon: 0,
|
|
24611
24722
|
baseRev: 0,
|
|
24612
|
-
fovDeg:
|
|
24723
|
+
fovDeg: Ke
|
|
24613
24724
|
},
|
|
24614
24725
|
perspectiveRelaxedModerately: {
|
|
24615
24726
|
kind: "perspective",
|
|
24616
24727
|
baseLat: 0,
|
|
24617
24728
|
baseLon: 0,
|
|
24618
24729
|
baseRev: 0,
|
|
24619
|
-
fovDeg:
|
|
24730
|
+
fovDeg: Ke
|
|
24620
24731
|
},
|
|
24621
24732
|
perspectiveAbove: {
|
|
24622
24733
|
kind: "perspective",
|
|
24623
24734
|
baseLat: -20,
|
|
24624
24735
|
baseLon: 0,
|
|
24625
24736
|
baseRev: 0,
|
|
24626
|
-
fovDeg:
|
|
24737
|
+
fovDeg: Ke
|
|
24627
24738
|
},
|
|
24628
24739
|
perspectiveBelow: {
|
|
24629
24740
|
kind: "perspective",
|
|
24630
24741
|
baseLat: 20,
|
|
24631
24742
|
baseLon: 0,
|
|
24632
24743
|
baseRev: 0,
|
|
24633
|
-
fovDeg:
|
|
24744
|
+
fovDeg: Ke
|
|
24634
24745
|
},
|
|
24635
24746
|
perspectiveLeft: {
|
|
24636
24747
|
kind: "perspective",
|
|
24637
24748
|
baseLat: 0,
|
|
24638
24749
|
baseLon: -20,
|
|
24639
24750
|
baseRev: 0,
|
|
24640
|
-
fovDeg:
|
|
24751
|
+
fovDeg: Ke
|
|
24641
24752
|
},
|
|
24642
24753
|
perspectiveRight: {
|
|
24643
24754
|
kind: "perspective",
|
|
24644
24755
|
baseLat: 0,
|
|
24645
24756
|
baseLon: 20,
|
|
24646
24757
|
baseRev: 0,
|
|
24647
|
-
fovDeg:
|
|
24758
|
+
fovDeg: Ke
|
|
24648
24759
|
}
|
|
24649
24760
|
};
|
|
24650
|
-
function
|
|
24761
|
+
function Je(e, t) {
|
|
24651
24762
|
let n = Array(9).fill(0);
|
|
24652
24763
|
for (let r = 0; r < 3; r++) for (let i = 0; i < 3; i++) {
|
|
24653
24764
|
let a = 0;
|
|
@@ -24656,7 +24767,7 @@ function ze(e, t) {
|
|
|
24656
24767
|
}
|
|
24657
24768
|
return n;
|
|
24658
24769
|
}
|
|
24659
|
-
function
|
|
24770
|
+
function Ye(e) {
|
|
24660
24771
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
24661
24772
|
return [
|
|
24662
24773
|
1,
|
|
@@ -24670,7 +24781,7 @@ function Be(e) {
|
|
|
24670
24781
|
n
|
|
24671
24782
|
];
|
|
24672
24783
|
}
|
|
24673
|
-
function
|
|
24784
|
+
function Xe(e) {
|
|
24674
24785
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
24675
24786
|
return [
|
|
24676
24787
|
n,
|
|
@@ -24684,7 +24795,7 @@ function Ve(e) {
|
|
|
24684
24795
|
n
|
|
24685
24796
|
];
|
|
24686
24797
|
}
|
|
24687
|
-
function
|
|
24798
|
+
function Ze(e) {
|
|
24688
24799
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
24689
24800
|
return [
|
|
24690
24801
|
n,
|
|
@@ -24698,22 +24809,22 @@ function He(e) {
|
|
|
24698
24809
|
1
|
|
24699
24810
|
];
|
|
24700
24811
|
}
|
|
24701
|
-
function
|
|
24812
|
+
function Qe(e, t, n, r) {
|
|
24702
24813
|
return [
|
|
24703
24814
|
e[0] * t + e[1] * n + e[2] * r,
|
|
24704
24815
|
e[3] * t + e[4] * n + e[5] * r,
|
|
24705
24816
|
e[6] * t + e[7] * n + e[8] * r
|
|
24706
24817
|
];
|
|
24707
24818
|
}
|
|
24708
|
-
function
|
|
24819
|
+
function $e(e, t) {
|
|
24709
24820
|
let n = t ? t.lat : e.baseLat, r = t ? t.lon : e.baseLon;
|
|
24710
|
-
return
|
|
24821
|
+
return Je(Ze(-(t ? t.rev : e.baseRev)), Je(Ye(-n), Xe(-r)));
|
|
24711
24822
|
}
|
|
24712
|
-
function
|
|
24713
|
-
return
|
|
24823
|
+
function et(e) {
|
|
24824
|
+
return qe[e] ?? qe.orthographicFront;
|
|
24714
24825
|
}
|
|
24715
|
-
function
|
|
24716
|
-
let r =
|
|
24826
|
+
function tt(e, t, n) {
|
|
24827
|
+
let r = et(e.prst), i = $e(r, e.rot);
|
|
24717
24828
|
if (t <= 0 || n <= 0) return {
|
|
24718
24829
|
corners: [
|
|
24719
24830
|
{
|
|
@@ -24745,11 +24856,11 @@ function Ke(e, t, n) {
|
|
|
24745
24856
|
if (r.kind === "perspective") {
|
|
24746
24857
|
let t = e.fov ?? r.fovDeg, n = Math.max(1, Math.min(179, t)) * Math.PI / 180, a = l / Math.tan(n / 2);
|
|
24747
24858
|
u = s.map(([e, t]) => {
|
|
24748
|
-
let [n, r, o] =
|
|
24859
|
+
let [n, r, o] = Qe(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
|
|
24749
24860
|
return [n * c, r * c];
|
|
24750
24861
|
});
|
|
24751
24862
|
} else u = s.map(([e, t]) => {
|
|
24752
|
-
let [n, r] =
|
|
24863
|
+
let [n, r] = Qe(i, e, t, 0);
|
|
24753
24864
|
return [n, r];
|
|
24754
24865
|
});
|
|
24755
24866
|
u = u.map(([e, t]) => [e * c, t * c]);
|
|
@@ -24774,18 +24885,18 @@ function Ke(e, t, n) {
|
|
|
24774
24885
|
isIdentity: E
|
|
24775
24886
|
};
|
|
24776
24887
|
}
|
|
24777
|
-
function
|
|
24778
|
-
let { isIdentity: t } =
|
|
24888
|
+
function nt(e) {
|
|
24889
|
+
let { isIdentity: t } = tt(e, 1e3, 1e3);
|
|
24779
24890
|
return !t;
|
|
24780
24891
|
}
|
|
24781
|
-
function
|
|
24782
|
-
let i =
|
|
24892
|
+
function rt(e, t, n, r) {
|
|
24893
|
+
let i = et(e.prst), a = $e(i, e.rot);
|
|
24783
24894
|
if (t <= 0 || n <= 0 || r === 0) return {
|
|
24784
24895
|
x: 0,
|
|
24785
24896
|
y: 0
|
|
24786
24897
|
};
|
|
24787
24898
|
let o = t / 2, s = n / 2, c = Math.max(o, s), l = e.zoom ?? 1, u = (t) => {
|
|
24788
|
-
let [n, r, o] =
|
|
24899
|
+
let [n, r, o] = Qe(a, 0, 0, t);
|
|
24789
24900
|
if (i.kind === "perspective") {
|
|
24790
24901
|
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);
|
|
24791
24902
|
return [n * d * l, r * d * l];
|
|
@@ -24799,7 +24910,7 @@ function Je(e, t, n, r) {
|
|
|
24799
24910
|
}
|
|
24800
24911
|
//#endregion
|
|
24801
24912
|
//#region packages/core/src/shape/scene3d-draw.ts
|
|
24802
|
-
function
|
|
24913
|
+
function it(e, t, n, r) {
|
|
24803
24914
|
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;
|
|
24804
24915
|
if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
|
|
24805
24916
|
else {
|
|
@@ -24819,15 +24930,15 @@ function Ye(e, t, n, r) {
|
|
|
24819
24930
|
1
|
|
24820
24931
|
];
|
|
24821
24932
|
}
|
|
24822
|
-
function
|
|
24933
|
+
function at(e, t, n) {
|
|
24823
24934
|
let r = e[6] * t + e[7] * n + e[8];
|
|
24824
24935
|
return {
|
|
24825
24936
|
x: (e[0] * t + e[1] * n + e[2]) / r,
|
|
24826
24937
|
y: (e[3] * t + e[4] * n + e[5]) / r
|
|
24827
24938
|
};
|
|
24828
24939
|
}
|
|
24829
|
-
var
|
|
24830
|
-
function
|
|
24940
|
+
var ot = 1;
|
|
24941
|
+
function st(e, t) {
|
|
24831
24942
|
let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
|
|
24832
24943
|
return [
|
|
24833
24944
|
n * c + i * l,
|
|
@@ -24838,13 +24949,13 @@ function Qe(e, t) {
|
|
|
24838
24949
|
r * f + a * p + s
|
|
24839
24950
|
];
|
|
24840
24951
|
}
|
|
24841
|
-
function
|
|
24952
|
+
function ct(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
24842
24953
|
let p = c - o, m = l - s;
|
|
24843
24954
|
if (p <= 0 || m <= 0) return;
|
|
24844
|
-
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 =
|
|
24955
|
+
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 = ot * p / y, S = ot * 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;
|
|
24845
24956
|
if (D <= 0 || O <= 0) return;
|
|
24846
24957
|
e.save();
|
|
24847
|
-
let [k, A, j, M, N, P] =
|
|
24958
|
+
let [k, A, j, M, N, P] = st(i, [
|
|
24848
24959
|
h,
|
|
24849
24960
|
g,
|
|
24850
24961
|
_,
|
|
@@ -24854,22 +24965,22 @@ function $e(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
|
24854
24965
|
]);
|
|
24855
24966
|
e.setTransform(k, A, j, M, N, P), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
|
|
24856
24967
|
}
|
|
24857
|
-
function
|
|
24858
|
-
let p =
|
|
24968
|
+
function lt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
24969
|
+
let p = at(o, s, c), m = at(o, l, c), h = at(o, s, u), g = at(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = at(o, _, v), b = {
|
|
24859
24970
|
x: (p.x + m.x + h.x + g.x) / 4,
|
|
24860
24971
|
y: (p.y + m.y + h.y + g.y) / 4
|
|
24861
|
-
}, x =
|
|
24972
|
+
}, x = dt(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
|
|
24862
24973
|
if (f <= 0 || S <= d) {
|
|
24863
|
-
|
|
24974
|
+
ct(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
|
|
24864
24975
|
return;
|
|
24865
24976
|
}
|
|
24866
|
-
l - s >= u - c ? (
|
|
24977
|
+
l - s >= u - c ? (lt(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), lt(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (lt(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), lt(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
|
|
24867
24978
|
}
|
|
24868
|
-
function
|
|
24979
|
+
function ut(e, t, n, r, i, a = .5) {
|
|
24869
24980
|
if (n <= 0 || r <= 0) return;
|
|
24870
24981
|
let [o, s, c, l] = i;
|
|
24871
24982
|
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;
|
|
24872
|
-
let u =
|
|
24983
|
+
let u = it(i[0], i[1], i[2], i[3]);
|
|
24873
24984
|
if (!u) return;
|
|
24874
24985
|
let d = t.getTransform(), f = [
|
|
24875
24986
|
d.a,
|
|
@@ -24878,14 +24989,14 @@ function tt(e, t, n, r, i, a = .5) {
|
|
|
24878
24989
|
d.d,
|
|
24879
24990
|
d.e,
|
|
24880
24991
|
d.f
|
|
24881
|
-
], p =
|
|
24882
|
-
|
|
24992
|
+
], p = dt(f);
|
|
24993
|
+
gt(e, t, n, r, i, f, p, u, a, 14) || (mt(), 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(), lt(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
|
|
24883
24994
|
}
|
|
24884
|
-
function
|
|
24995
|
+
function dt(e) {
|
|
24885
24996
|
return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
|
|
24886
24997
|
}
|
|
24887
|
-
function
|
|
24888
|
-
let r =
|
|
24998
|
+
function ft(e, t, n) {
|
|
24999
|
+
let r = it(e[0], e[1], e[2], e[3]);
|
|
24889
25000
|
if (!r) return null;
|
|
24890
25001
|
let i = [
|
|
24891
25002
|
[-t, -n],
|
|
@@ -24895,16 +25006,16 @@ function rt(e, t, n) {
|
|
|
24895
25006
|
], a = [];
|
|
24896
25007
|
for (let [e, t] of i) {
|
|
24897
25008
|
if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
|
|
24898
|
-
a.push(
|
|
25009
|
+
a.push(at(r, e, t));
|
|
24899
25010
|
}
|
|
24900
25011
|
return a;
|
|
24901
25012
|
}
|
|
24902
|
-
var
|
|
24903
|
-
function
|
|
24904
|
-
|
|
25013
|
+
var pt = !1;
|
|
25014
|
+
function mt() {
|
|
25015
|
+
pt || (pt = !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."));
|
|
24905
25016
|
}
|
|
24906
|
-
var
|
|
24907
|
-
function
|
|
25017
|
+
var ht = 2;
|
|
25018
|
+
function gt(e, t, n, r, i, a, o, s, c, l) {
|
|
24908
25019
|
let u = i.map((e) => ({
|
|
24909
25020
|
x: a[0] * e.x + a[2] * e.y + a[4],
|
|
24910
25021
|
y: a[1] * e.x + a[3] * e.y + a[5]
|
|
@@ -24913,11 +25024,11 @@ function st(e, t, n, r, i, a, o, s, c, l) {
|
|
|
24913
25024
|
d = Math.floor(d) - 1, f = Math.floor(f) - 1, p = Math.ceil(p) + 1, m = Math.ceil(m) + 1;
|
|
24914
25025
|
let h = p - d, g = m - f;
|
|
24915
25026
|
if (h <= 0 || g <= 0) return !1;
|
|
24916
|
-
let _ = Math.max(1, Math.ceil(h *
|
|
25027
|
+
let _ = Math.max(1, Math.ceil(h * ht)), v = Math.max(1, Math.ceil(g * ht)), y = Be(_, v);
|
|
24917
25028
|
if (!y || y.width !== _ || y.height !== v) return !1;
|
|
24918
25029
|
let b = y.getContext("2d") ?? null;
|
|
24919
25030
|
if (!b) return !1;
|
|
24920
|
-
let x =
|
|
25031
|
+
let x = ht, S = [
|
|
24921
25032
|
a[0] * x,
|
|
24922
25033
|
a[1] * x,
|
|
24923
25034
|
a[2] * x,
|
|
@@ -24925,18 +25036,18 @@ function st(e, t, n, r, i, a, o, s, c, l) {
|
|
|
24925
25036
|
(a[4] - d) * x,
|
|
24926
25037
|
(a[5] - f) * x
|
|
24927
25038
|
];
|
|
24928
|
-
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(),
|
|
25039
|
+
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(), lt(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);
|
|
24929
25040
|
let C = t.imageSmoothingEnabled, w = t.imageSmoothingQuality;
|
|
24930
25041
|
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;
|
|
24931
25042
|
}
|
|
24932
25043
|
//#endregion
|
|
24933
25044
|
//#region packages/core/src/shape/bevel-shading.ts
|
|
24934
|
-
function
|
|
25045
|
+
function _t(e, t) {
|
|
24935
25046
|
if (t <= 0) return () => 1;
|
|
24936
25047
|
let n = (e) => Math.max(0, Math.min(1, e / t));
|
|
24937
25048
|
switch (e) {
|
|
24938
25049
|
case "hardEdge": {
|
|
24939
|
-
let e =
|
|
25050
|
+
let e = Tt;
|
|
24940
25051
|
return (t) => {
|
|
24941
25052
|
let r = Math.min(1, n(t) / e);
|
|
24942
25053
|
return r * r * (3 - 2 * r);
|
|
@@ -24956,7 +25067,7 @@ function ct(e, t) {
|
|
|
24956
25067
|
};
|
|
24957
25068
|
}
|
|
24958
25069
|
}
|
|
24959
|
-
function
|
|
25070
|
+
function vt(e) {
|
|
24960
25071
|
let t = e.length, n = new Float64Array(t);
|
|
24961
25072
|
if (t === 0) return n;
|
|
24962
25073
|
let r = new Int32Array(t), i = new Float64Array(t + 1), a = 0;
|
|
@@ -24974,7 +25085,7 @@ function lt(e) {
|
|
|
24974
25085
|
}
|
|
24975
25086
|
return n;
|
|
24976
25087
|
}
|
|
24977
|
-
function
|
|
25088
|
+
function yt(e, t = 3) {
|
|
24978
25089
|
if (e <= 0) return Array(t).fill(1);
|
|
24979
25090
|
let n = Math.sqrt(12 * e * e / t + 1), r = Math.floor(n);
|
|
24980
25091
|
r % 2 == 0 && r--;
|
|
@@ -24982,7 +25093,7 @@ function ut(e, t = 3) {
|
|
|
24982
25093
|
for (let e = 0; e < t; e++) s.push(e < o ? r : i);
|
|
24983
25094
|
return s;
|
|
24984
25095
|
}
|
|
24985
|
-
function
|
|
25096
|
+
function bt(e, t, n, r, i, a) {
|
|
24986
25097
|
let o = 1 / (2 * i + 1);
|
|
24987
25098
|
if (a) for (let a = 0; a < r; a++) {
|
|
24988
25099
|
let r = a * n, s = 0;
|
|
@@ -25003,29 +25114,29 @@ function dt(e, t, n, r, i, a) {
|
|
|
25003
25114
|
}
|
|
25004
25115
|
}
|
|
25005
25116
|
}
|
|
25006
|
-
function
|
|
25117
|
+
function xt(e, t, n, r) {
|
|
25007
25118
|
let i = Float64Array.from(e);
|
|
25008
25119
|
if (r <= 0 || t <= 0 || n <= 0) return i;
|
|
25009
25120
|
let a = new Float64Array(t * n);
|
|
25010
|
-
for (let e of
|
|
25121
|
+
for (let e of yt(r, 3)) {
|
|
25011
25122
|
let r = Math.max(1, (e - 1) / 2);
|
|
25012
|
-
|
|
25123
|
+
bt(i, a, t, n, r, !0), bt(a, i, t, n, r, !1);
|
|
25013
25124
|
}
|
|
25014
25125
|
return i;
|
|
25015
25126
|
}
|
|
25016
|
-
function
|
|
25127
|
+
function St(e, t, n, r = 128) {
|
|
25017
25128
|
let i = new Float64Array(t * n);
|
|
25018
25129
|
for (let a = 0; a < t * n; a++) i[a] = (e[a] ?? 0) >= r ? 0x56bc75e2d63100000 : 0;
|
|
25019
25130
|
let a = new Float64Array(n);
|
|
25020
25131
|
for (let e = 0; e < t; e++) {
|
|
25021
25132
|
for (let r = 0; r < n; r++) a[r] = i[r * t + e];
|
|
25022
|
-
let r =
|
|
25133
|
+
let r = vt(a);
|
|
25023
25134
|
for (let a = 0; a < n; a++) i[a * t + e] = r[a];
|
|
25024
25135
|
}
|
|
25025
25136
|
let o = new Float64Array(t);
|
|
25026
25137
|
for (let e = 0; e < n; e++) {
|
|
25027
25138
|
for (let n = 0; n < t; n++) o[n] = i[e * t + n];
|
|
25028
|
-
let n =
|
|
25139
|
+
let n = vt(o);
|
|
25029
25140
|
for (let r = 0; r < t; r++) i[e * t + r] = n[r];
|
|
25030
25141
|
}
|
|
25031
25142
|
for (let e = 0; e < n; e++) for (let r = 0; r < t; r++) {
|
|
@@ -25037,15 +25148,15 @@ function pt(e, t, n, r = 128) {
|
|
|
25037
25148
|
for (let e = 0; e < t * n; e++) i[e] = Math.sqrt(i[e]);
|
|
25038
25149
|
return i;
|
|
25039
25150
|
}
|
|
25040
|
-
var
|
|
25041
|
-
function
|
|
25151
|
+
var Ct = .25, wt = .35, Tt = .5;
|
|
25152
|
+
function Et(e, t, n, r, i, a) {
|
|
25042
25153
|
let o = new Float32Array(t * n * 3), s = new Uint8Array(t * n), c = new Float32Array(t * n);
|
|
25043
25154
|
if (t <= 0 || n <= 0) return {
|
|
25044
25155
|
normals: o,
|
|
25045
25156
|
bandMask: s,
|
|
25046
25157
|
bandWeight: c
|
|
25047
25158
|
};
|
|
25048
|
-
let l =
|
|
25159
|
+
let l = St(e, t, n), u = _t(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = xt(l, t, n, Math.max(1, r * Ct)), m = (e) => {
|
|
25049
25160
|
let t = u(Math.max(0, e - .5));
|
|
25050
25161
|
return u(e + .5) - t;
|
|
25051
25162
|
};
|
|
@@ -25060,9 +25171,9 @@ function _t(e, t, n, r, i, a) {
|
|
|
25060
25171
|
o[a * 3 + 2] = 1;
|
|
25061
25172
|
continue;
|
|
25062
25173
|
}
|
|
25063
|
-
let g = u / r, _ = 1 -
|
|
25174
|
+
let g = u / r, _ = 1 - wt, v = 1;
|
|
25064
25175
|
if (g > _) {
|
|
25065
|
-
let e = Math.min(1, (g - _) /
|
|
25176
|
+
let e = Math.min(1, (g - _) / wt);
|
|
25066
25177
|
v = 1 - e * e * (3 - 2 * e);
|
|
25067
25178
|
}
|
|
25068
25179
|
c[a] = v;
|
|
@@ -25077,7 +25188,7 @@ function _t(e, t, n, r, i, a) {
|
|
|
25077
25188
|
bandWeight: c
|
|
25078
25189
|
};
|
|
25079
25190
|
}
|
|
25080
|
-
var
|
|
25191
|
+
var Dt = 35 * Math.PI / 180, Ot = 12 * Math.PI / 180, kt = {
|
|
25081
25192
|
t: {
|
|
25082
25193
|
x: 0,
|
|
25083
25194
|
y: -1
|
|
@@ -25111,22 +25222,22 @@ var vt = 35 * Math.PI / 180, yt = 12 * Math.PI / 180, bt = {
|
|
|
25111
25222
|
y: 1
|
|
25112
25223
|
}
|
|
25113
25224
|
};
|
|
25114
|
-
function
|
|
25225
|
+
function At(e, t, n) {
|
|
25115
25226
|
let r = n * Math.PI / 180, i = Math.cos(r), a = Math.sin(r);
|
|
25116
25227
|
return {
|
|
25117
25228
|
x: e * i - t * a,
|
|
25118
25229
|
y: e * a + t * i
|
|
25119
25230
|
};
|
|
25120
25231
|
}
|
|
25121
|
-
function
|
|
25122
|
-
let r =
|
|
25123
|
-
return n && n.rev && (r =
|
|
25232
|
+
function jt(e, t, n) {
|
|
25233
|
+
let r = kt[t] ?? kt.t;
|
|
25234
|
+
return n && n.rev && (r = At(r.x, r.y, n.rev)), Nt(r.x, r.y, Dt);
|
|
25124
25235
|
}
|
|
25125
|
-
function
|
|
25236
|
+
function Mt(e) {
|
|
25126
25237
|
let t = Math.hypot(e.x, e.y) || 1;
|
|
25127
|
-
return
|
|
25238
|
+
return Nt(-e.x / t, -e.y / t, Ot);
|
|
25128
25239
|
}
|
|
25129
|
-
function
|
|
25240
|
+
function Nt(e, t, n) {
|
|
25130
25241
|
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;
|
|
25131
25242
|
return {
|
|
25132
25243
|
x: o / l,
|
|
@@ -25134,7 +25245,7 @@ function wt(e, t, n) {
|
|
|
25134
25245
|
z: c / l
|
|
25135
25246
|
};
|
|
25136
25247
|
}
|
|
25137
|
-
var
|
|
25248
|
+
var Pt = 2, Ft = {
|
|
25138
25249
|
matte: {
|
|
25139
25250
|
ambient: .62,
|
|
25140
25251
|
diffuse: .45,
|
|
@@ -25147,8 +25258,8 @@ var Tt = 2, Et = {
|
|
|
25147
25258
|
specular: .35,
|
|
25148
25259
|
shininess: 22
|
|
25149
25260
|
}
|
|
25150
|
-
},
|
|
25151
|
-
function
|
|
25261
|
+
}, It = .8;
|
|
25262
|
+
function Lt(e) {
|
|
25152
25263
|
switch (e) {
|
|
25153
25264
|
case "plastic":
|
|
25154
25265
|
case "metal":
|
|
@@ -25159,8 +25270,8 @@ function Ot(e) {
|
|
|
25159
25270
|
default: return "matte";
|
|
25160
25271
|
}
|
|
25161
25272
|
}
|
|
25162
|
-
function
|
|
25163
|
-
let r =
|
|
25273
|
+
function Rt(e, t, n = !0) {
|
|
25274
|
+
let r = Ft[e], i = {
|
|
25164
25275
|
light: t,
|
|
25165
25276
|
material: e,
|
|
25166
25277
|
ambient: r.ambient,
|
|
@@ -25168,9 +25279,9 @@ function kt(e, t, n = !0) {
|
|
|
25168
25279
|
specular: r.specular,
|
|
25169
25280
|
shininess: r.shininess
|
|
25170
25281
|
};
|
|
25171
|
-
return n && (i.fillLight =
|
|
25282
|
+
return n && (i.fillLight = Mt(t), i.fillDiffuse = i.diffuse * It), i;
|
|
25172
25283
|
}
|
|
25173
|
-
function
|
|
25284
|
+
function zt(e, t) {
|
|
25174
25285
|
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;
|
|
25175
25286
|
if (t.fillLight && t.fillDiffuse) {
|
|
25176
25287
|
let n = e.x * t.fillLight.x + e.y * t.fillLight.y + e.z * t.fillLight.z;
|
|
@@ -25183,14 +25294,14 @@ function At(e, t) {
|
|
|
25183
25294
|
}
|
|
25184
25295
|
return Math.max(0, t.ambient + r + i + a);
|
|
25185
25296
|
}
|
|
25186
|
-
function
|
|
25297
|
+
function Bt(e, t) {
|
|
25187
25298
|
let n = e.canvas.width, r = e.canvas.height;
|
|
25188
25299
|
if (n <= 0 || r <= 0) return;
|
|
25189
25300
|
let i = t.widthPx;
|
|
25190
25301
|
if (i < .75) return;
|
|
25191
25302
|
let a = e.getImageData(0, 0, n, r), o = a.data, s = new Uint8ClampedArray(n * r);
|
|
25192
25303
|
for (let e = 0; e < n * r; e++) s[e] = o[e * 4 + 3];
|
|
25193
|
-
let { bandMask: c, bandWeight: l, normals: u } =
|
|
25304
|
+
let { bandMask: c, bandWeight: l, normals: u } = Et(s, n, r, i, t.prst, t.heightPx), d = Rt(t.material, t.light), f = zt({
|
|
25194
25305
|
x: 0,
|
|
25195
25306
|
y: 0,
|
|
25196
25307
|
z: 1
|
|
@@ -25201,13 +25312,13 @@ function jt(e, t) {
|
|
|
25201
25312
|
if (n <= 0) continue;
|
|
25202
25313
|
let r = u[e * 3], i = u[e * 3 + 1], a = u[e * 3 + 2];
|
|
25203
25314
|
t.bottom && (r = -r, i = -i);
|
|
25204
|
-
let s = 1 + (
|
|
25315
|
+
let s = 1 + (zt({
|
|
25205
25316
|
x: r,
|
|
25206
25317
|
y: i,
|
|
25207
25318
|
z: a
|
|
25208
25319
|
}, d) / f - 1) * n, p = e * 4;
|
|
25209
25320
|
if (s >= 1) {
|
|
25210
|
-
let e = Math.min(1, (s - 1) *
|
|
25321
|
+
let e = Math.min(1, (s - 1) * Pt);
|
|
25211
25322
|
for (let t = 0; t < 3; t++) {
|
|
25212
25323
|
let n = Math.min(255, o[p + t] * s);
|
|
25213
25324
|
o[p + t] = n + (255 - n) * e;
|
|
@@ -25216,7 +25327,7 @@ function jt(e, t) {
|
|
|
25216
25327
|
}
|
|
25217
25328
|
e.putImageData(a, 0, 0);
|
|
25218
25329
|
}
|
|
25219
|
-
function
|
|
25330
|
+
function Vt(e, t) {
|
|
25220
25331
|
let n = e.canvas.width, r = e.canvas.height;
|
|
25221
25332
|
if (n <= 0 || r <= 0) return;
|
|
25222
25333
|
let i = t.offsetX, a = t.offsetY, o = Math.hypot(i, a);
|
|
@@ -25243,7 +25354,7 @@ function Mt(e, t) {
|
|
|
25243
25354
|
}
|
|
25244
25355
|
//#endregion
|
|
25245
25356
|
//#region packages/core/src/sparkline/renderer.ts
|
|
25246
|
-
function
|
|
25357
|
+
function Ht(e, t, n) {
|
|
25247
25358
|
let { values: r } = n;
|
|
25248
25359
|
if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
|
|
25249
25360
|
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");
|
|
@@ -25252,11 +25363,11 @@ function Nt(e, t, n) {
|
|
|
25252
25363
|
m === h && (h = m + 1, --m);
|
|
25253
25364
|
let g = h - m, _ = (e) => c + u - (e - m) / g * u;
|
|
25254
25365
|
if (n.kind === "stem") {
|
|
25255
|
-
|
|
25366
|
+
Gt(e, n, s, c, l, u);
|
|
25256
25367
|
return;
|
|
25257
25368
|
}
|
|
25258
25369
|
if (n.kind === "column") {
|
|
25259
|
-
|
|
25370
|
+
Wt(e, n, r, s, c, l, u, m, h);
|
|
25260
25371
|
return;
|
|
25261
25372
|
}
|
|
25262
25373
|
if (n.displayXAxis && m < 0 && h > 0) {
|
|
@@ -25265,7 +25376,7 @@ function Nt(e, t, n) {
|
|
|
25265
25376
|
e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
|
|
25266
25377
|
}
|
|
25267
25378
|
let v = r.length, y = (e) => v === 1 ? s + l / 2 : s + e / (v - 1) * l;
|
|
25268
|
-
e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) *
|
|
25379
|
+
e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * L, e.beginPath();
|
|
25269
25380
|
let b = !1, x = n.displayEmptyCellsAs ?? "gap";
|
|
25270
25381
|
for (let t = 0; t < v; t++) {
|
|
25271
25382
|
let n = r[t];
|
|
@@ -25280,7 +25391,7 @@ function Nt(e, t, n) {
|
|
|
25280
25391
|
b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
|
|
25281
25392
|
}
|
|
25282
25393
|
e.stroke(), e.restore();
|
|
25283
|
-
let S = Math.max(1, Math.min(2.5, u * .12)), C =
|
|
25394
|
+
let S = Math.max(1, Math.min(2.5, u * .12)), C = Ut(r, n);
|
|
25284
25395
|
for (let t = 0; t < v; t++) {
|
|
25285
25396
|
let a = r[t];
|
|
25286
25397
|
if (a == null) continue;
|
|
@@ -25288,7 +25399,7 @@ function Nt(e, t, n) {
|
|
|
25288
25399
|
(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());
|
|
25289
25400
|
}
|
|
25290
25401
|
}
|
|
25291
|
-
function
|
|
25402
|
+
function Ut(e, t) {
|
|
25292
25403
|
let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
|
|
25293
25404
|
for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
|
|
25294
25405
|
a = e;
|
|
@@ -25303,10 +25414,10 @@ function Pt(e, t) {
|
|
|
25303
25414
|
if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
|
|
25304
25415
|
return n;
|
|
25305
25416
|
}
|
|
25306
|
-
function
|
|
25417
|
+
function Wt(e, t, n, r, i, a, o, s, c) {
|
|
25307
25418
|
let l = n.length;
|
|
25308
25419
|
if (l === 0) return;
|
|
25309
|
-
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 =
|
|
25420
|
+
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 = Ut(n, t);
|
|
25310
25421
|
for (let i = 0; i < l; i++) {
|
|
25311
25422
|
let a = n[i];
|
|
25312
25423
|
if (a == null) continue;
|
|
@@ -25314,10 +25425,10 @@ function Ft(e, t, n, r, i, a, o, s, c) {
|
|
|
25314
25425
|
e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
|
|
25315
25426
|
}
|
|
25316
25427
|
}
|
|
25317
|
-
function
|
|
25428
|
+
function Gt(e, t, n, r, i, a) {
|
|
25318
25429
|
let o = t.values.length;
|
|
25319
25430
|
if (o === 0) return;
|
|
25320
|
-
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d =
|
|
25431
|
+
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = Ut(t.values, t);
|
|
25321
25432
|
for (let r = 0; r < o; r++) {
|
|
25322
25433
|
let i = t.values[r];
|
|
25323
25434
|
if (i == null || i === 0) continue;
|
|
@@ -25327,13 +25438,13 @@ function It(e, t, n, r, i, a) {
|
|
|
25327
25438
|
}
|
|
25328
25439
|
//#endregion
|
|
25329
25440
|
//#region packages/core/src/math/mathml.ts
|
|
25330
|
-
var
|
|
25441
|
+
var Kt = {
|
|
25331
25442
|
"&": "&",
|
|
25332
25443
|
"<": "<",
|
|
25333
25444
|
">": ">",
|
|
25334
25445
|
"\"": """
|
|
25335
|
-
}, Q = (e) => e.replace(/[&<>"]/g, (e) =>
|
|
25336
|
-
function
|
|
25446
|
+
}, Q = (e) => e.replace(/[&<>"]/g, (e) => Kt[e]);
|
|
25447
|
+
function qt(e) {
|
|
25337
25448
|
switch (e) {
|
|
25338
25449
|
case "roman": return "normal";
|
|
25339
25450
|
case "bold": return "bold";
|
|
@@ -25341,9 +25452,9 @@ function Rt(e) {
|
|
|
25341
25452
|
case "italic": return null;
|
|
25342
25453
|
}
|
|
25343
25454
|
}
|
|
25344
|
-
var
|
|
25345
|
-
function
|
|
25346
|
-
let n =
|
|
25455
|
+
var Jt = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), Yt = "+−±∓×÷·∗⋅∘∙*/", Xt = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", Zt = "([{⟨⌈⌊", Qt = ")]}⟩⌉⌋", $t = ",;";
|
|
25456
|
+
function en(e, t) {
|
|
25457
|
+
let n = qt(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
|
|
25347
25458
|
a &&= (i += `<mn${r}>${Q(a)}</mn>`, "");
|
|
25348
25459
|
};
|
|
25349
25460
|
for (let t of e) {
|
|
@@ -25355,42 +25466,42 @@ function Gt(e, t) {
|
|
|
25355
25466
|
a += t;
|
|
25356
25467
|
continue;
|
|
25357
25468
|
}
|
|
25358
|
-
o(),
|
|
25469
|
+
o(), Yt.includes(t) || Xt.includes(t) || $t.includes(t) ? i += `<mo>${Q(t)}</mo>` : Zt.includes(t) || Qt.includes(t) ? i += `<mo fence="true" stretchy="false">${Q(t)}</mo>` : i += `<mi${r}>${Q(t)}</mi>`;
|
|
25359
25470
|
}
|
|
25360
25471
|
return o(), i;
|
|
25361
25472
|
}
|
|
25362
|
-
function
|
|
25363
|
-
return e.map(
|
|
25473
|
+
function tn(e) {
|
|
25474
|
+
return e.map(nn).join("");
|
|
25364
25475
|
}
|
|
25365
25476
|
function $(e) {
|
|
25366
|
-
return `<mrow>${
|
|
25477
|
+
return `<mrow>${tn(e)}</mrow>`;
|
|
25367
25478
|
}
|
|
25368
|
-
function
|
|
25479
|
+
function nn(e) {
|
|
25369
25480
|
switch (e.kind) {
|
|
25370
|
-
case "run": return
|
|
25481
|
+
case "run": return en(e.text, e.style);
|
|
25371
25482
|
case "group": return $(e.items);
|
|
25372
25483
|
case "fraction": return `<mfrac${e.bar === !1 ? " linethickness=\"0\"" : ""}>${$(e.num)}${$(e.den)}</mfrac>`;
|
|
25373
25484
|
case "sup": return `<msup>${$(e.base)}${$(e.sup ?? [])}</msup>`;
|
|
25374
25485
|
case "sub": return `<msub>${$(e.base)}${$(e.sub ?? [])}</msub>`;
|
|
25375
25486
|
case "subSup": return `<msubsup>${$(e.base)}${$(e.sub ?? [])}${$(e.sup ?? [])}</msubsup>`;
|
|
25376
|
-
case "nary": return
|
|
25377
|
-
case "delimiter": return
|
|
25378
|
-
case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${
|
|
25379
|
-
case "limit": return
|
|
25380
|
-
case "array": return
|
|
25487
|
+
case "nary": return un(e);
|
|
25488
|
+
case "delimiter": return dn(e);
|
|
25489
|
+
case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${tn(e.radicand)}</msqrt>`;
|
|
25490
|
+
case "limit": return sn(e);
|
|
25491
|
+
case "array": return cn(e);
|
|
25381
25492
|
case "groupChr": {
|
|
25382
|
-
let t = $(e.base), n =
|
|
25493
|
+
let t = $(e.base), n = Jt.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${Q(e.char)}</mo>`;
|
|
25383
25494
|
return n ? `<${r}>${t}${i}</${r}>` : `<${r} accent="true">${t}${i}</${r}>`;
|
|
25384
25495
|
}
|
|
25385
25496
|
case "bar": {
|
|
25386
25497
|
let t = $(e.base), n = "<mo stretchy=\"true\">―</mo>";
|
|
25387
25498
|
return e.pos === "bot" ? `<munder>${t}${n}</munder>` : `<mover>${t}${n}</mover>`;
|
|
25388
25499
|
}
|
|
25389
|
-
case "accent": return
|
|
25500
|
+
case "accent": return on(e);
|
|
25390
25501
|
case "func": return `<mrow>${$(e.name)}<mo>⁡</mo>${$(e.arg)}</mrow>`;
|
|
25391
25502
|
}
|
|
25392
25503
|
}
|
|
25393
|
-
var
|
|
25504
|
+
var rn = {
|
|
25394
25505
|
"̀": "`",
|
|
25395
25506
|
"́": "´",
|
|
25396
25507
|
"̂": "^",
|
|
@@ -25401,7 +25512,7 @@ var Jt = {
|
|
|
25401
25512
|
"̌": "ˇ",
|
|
25402
25513
|
"⃗": "→",
|
|
25403
25514
|
"⃖": "←"
|
|
25404
|
-
},
|
|
25515
|
+
}, an = new Set([
|
|
25405
25516
|
"̅",
|
|
25406
25517
|
"̄",
|
|
25407
25518
|
"¯",
|
|
@@ -25409,37 +25520,45 @@ var Jt = {
|
|
|
25409
25520
|
"̲",
|
|
25410
25521
|
"̳"
|
|
25411
25522
|
]);
|
|
25412
|
-
function
|
|
25523
|
+
function on(e) {
|
|
25413
25524
|
let t = $(e.base);
|
|
25414
|
-
if (
|
|
25415
|
-
let n =
|
|
25525
|
+
if (an.has(e.char)) return `<mover>${t}<mo stretchy="true">―</mo></mover>`;
|
|
25526
|
+
let n = rn[e.char] ?? e.char;
|
|
25416
25527
|
return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${Q(n)}</mo></mover>`;
|
|
25417
25528
|
}
|
|
25418
|
-
function
|
|
25529
|
+
function sn(e) {
|
|
25419
25530
|
let t = $(e.base), n = e.lower && e.lower.length ? $(e.lower) : null, r = e.upper && e.upper.length ? $(e.upper) : null;
|
|
25420
25531
|
return n && r ? `<munderover>${t}${n}${r}</munderover>` : n ? `<munder>${t}${n}</munder>` : r ? `<mover>${t}${r}</mover>` : t;
|
|
25421
25532
|
}
|
|
25422
|
-
function
|
|
25533
|
+
function cn(e) {
|
|
25423
25534
|
let t = Math.max(1, ...e.rows.map((e) => e.length)), n;
|
|
25424
25535
|
n = e.align === "eq" ? Array.from({ length: t }, (e, t) => t % 2 == 0 ? "right" : "left").join(" ") : e.align === "left" ? "left" : "center";
|
|
25425
|
-
let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${
|
|
25536
|
+
let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${tn(e)}</mtd>`).join("")}</mtr>`).join("");
|
|
25426
25537
|
return `<mtable columnalign="${n}" rowspacing="0.2em" columnspacing="0.3em">${r}</mtable>`;
|
|
25427
25538
|
}
|
|
25428
|
-
var
|
|
25429
|
-
function
|
|
25430
|
-
let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 :
|
|
25431
|
-
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}${
|
|
25539
|
+
var ln = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
|
|
25540
|
+
function un(e) {
|
|
25541
|
+
let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : ln.has(e.op), n = `<mo largeop="true">${Q(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
|
|
25542
|
+
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}${tn(e.body)}</mrow>`;
|
|
25432
25543
|
}
|
|
25433
|
-
function
|
|
25544
|
+
function dn(e) {
|
|
25434
25545
|
let t = (e) => `<mo fence="true" stretchy="true">${Q(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
|
|
25435
25546
|
return `<mrow>${t(e.begChar)}${n}${t(e.endChar)}</mrow>`;
|
|
25436
25547
|
}
|
|
25437
|
-
function
|
|
25438
|
-
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${
|
|
25548
|
+
function fn(e, t) {
|
|
25549
|
+
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${tn(e)}</math>`;
|
|
25550
|
+
}
|
|
25551
|
+
//#endregion
|
|
25552
|
+
//#region packages/core/src/canvas/env.ts
|
|
25553
|
+
function pn(e) {
|
|
25554
|
+
return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
|
|
25555
|
+
}
|
|
25556
|
+
function mn(e = 1) {
|
|
25557
|
+
return typeof window < "u" && window.devicePixelRatio || e;
|
|
25439
25558
|
}
|
|
25440
25559
|
//#endregion
|
|
25441
25560
|
//#region packages/core/src/worker/bridge.ts
|
|
25442
|
-
var
|
|
25561
|
+
var hn = class {
|
|
25443
25562
|
_worker;
|
|
25444
25563
|
_opts;
|
|
25445
25564
|
_pending = /* @__PURE__ */ new Map();
|
|
@@ -25479,7 +25598,7 @@ var rn = class {
|
|
|
25479
25598
|
for (let e of this._pending.values()) e.reject(/* @__PURE__ */ Error("Worker terminated"));
|
|
25480
25599
|
this._pending.clear();
|
|
25481
25600
|
}
|
|
25482
|
-
},
|
|
25601
|
+
}, gn = [
|
|
25483
25602
|
"L",
|
|
25484
25603
|
"R",
|
|
25485
25604
|
"AL",
|
|
@@ -25503,7 +25622,7 @@ var rn = class {
|
|
|
25503
25622
|
"RLI",
|
|
25504
25623
|
"FSI",
|
|
25505
25624
|
"PDI"
|
|
25506
|
-
],
|
|
25625
|
+
], _n = [
|
|
25507
25626
|
0,
|
|
25508
25627
|
9,
|
|
25509
25628
|
10,
|
|
@@ -26771,7 +26890,7 @@ var rn = class {
|
|
|
26771
26890
|
1048574,
|
|
26772
26891
|
1048576,
|
|
26773
26892
|
1114110
|
|
26774
|
-
],
|
|
26893
|
+
], vn = [
|
|
26775
26894
|
9,
|
|
26776
26895
|
11,
|
|
26777
26896
|
10,
|
|
@@ -28039,7 +28158,7 @@ var rn = class {
|
|
|
28039
28158
|
9,
|
|
28040
28159
|
0,
|
|
28041
28160
|
9
|
|
28042
|
-
],
|
|
28161
|
+
], yn = [
|
|
28043
28162
|
40,
|
|
28044
28163
|
41,
|
|
28045
28164
|
41,
|
|
@@ -28896,7 +29015,7 @@ var rn = class {
|
|
|
28896
29015
|
65379,
|
|
28897
29016
|
65379,
|
|
28898
29017
|
65378
|
|
28899
|
-
],
|
|
29018
|
+
], bn = [
|
|
28900
29019
|
40,
|
|
28901
29020
|
41,
|
|
28902
29021
|
0,
|
|
@@ -29284,42 +29403,42 @@ var rn = class {
|
|
|
29284
29403
|
];
|
|
29285
29404
|
//#endregion
|
|
29286
29405
|
//#region packages/core/src/text/bidi/char-data.ts
|
|
29287
|
-
function
|
|
29288
|
-
let t = 0, n =
|
|
29406
|
+
function xn(e) {
|
|
29407
|
+
let t = 0, n = _n.length - 1;
|
|
29289
29408
|
for (; t < n;) {
|
|
29290
29409
|
let r = t + n + 1 >> 1;
|
|
29291
|
-
|
|
29410
|
+
_n[r] <= e ? t = r : n = r - 1;
|
|
29292
29411
|
}
|
|
29293
|
-
return
|
|
29412
|
+
return vn[t];
|
|
29294
29413
|
}
|
|
29295
|
-
function
|
|
29296
|
-
return
|
|
29414
|
+
function Sn(e) {
|
|
29415
|
+
return gn[xn(e)];
|
|
29297
29416
|
}
|
|
29298
|
-
var
|
|
29417
|
+
var Cn = (() => {
|
|
29299
29418
|
let e = /* @__PURE__ */ new Map();
|
|
29300
|
-
for (let t = 0; t <
|
|
29419
|
+
for (let t = 0; t < yn.length; t += 2) e.set(yn[t], yn[t + 1]);
|
|
29301
29420
|
return e;
|
|
29302
29421
|
})();
|
|
29303
|
-
function
|
|
29304
|
-
return
|
|
29422
|
+
function wn(e) {
|
|
29423
|
+
return Cn.get(e) ?? null;
|
|
29305
29424
|
}
|
|
29306
|
-
var
|
|
29425
|
+
var Tn = (() => {
|
|
29307
29426
|
let e = /* @__PURE__ */ new Map();
|
|
29308
|
-
for (let t = 0; t <
|
|
29309
|
-
pair:
|
|
29310
|
-
type:
|
|
29427
|
+
for (let t = 0; t < bn.length; t += 3) e.set(bn[t], {
|
|
29428
|
+
pair: bn[t + 1],
|
|
29429
|
+
type: bn[t + 2] === 0 ? "o" : "c"
|
|
29311
29430
|
});
|
|
29312
29431
|
return e;
|
|
29313
29432
|
})();
|
|
29314
|
-
function
|
|
29315
|
-
return
|
|
29433
|
+
function En(e) {
|
|
29434
|
+
return Tn.get(e) ?? null;
|
|
29316
29435
|
}
|
|
29317
|
-
var
|
|
29318
|
-
function
|
|
29436
|
+
var Dn = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", On = (e) => e === "LRI" || e === "RLI" || e === "FSI", kn = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", An = (e) => e & 1 ? e + 2 : e + 1, jn = (e) => e & 1 ? e + 1 : e + 2;
|
|
29437
|
+
function Mn(e, t, n) {
|
|
29319
29438
|
let r = 0;
|
|
29320
29439
|
for (let i = t; i < n; i++) {
|
|
29321
29440
|
let t = e[i];
|
|
29322
|
-
if (
|
|
29441
|
+
if (On(t)) r++;
|
|
29323
29442
|
else if (t === "PDI") r > 0 && r--;
|
|
29324
29443
|
else if (r === 0) {
|
|
29325
29444
|
if (t === "L") return 0;
|
|
@@ -29328,11 +29447,11 @@ function xn(e, t, n) {
|
|
|
29328
29447
|
}
|
|
29329
29448
|
return 0;
|
|
29330
29449
|
}
|
|
29331
|
-
function
|
|
29450
|
+
function Nn(e) {
|
|
29332
29451
|
let t = e.length, n = new Int32Array(t).fill(t), r = new Int32Array(t).fill(-1), i = [];
|
|
29333
29452
|
for (let a = 0; a < t; a++) {
|
|
29334
29453
|
let t = e[a];
|
|
29335
|
-
if (
|
|
29454
|
+
if (On(t)) i.push(a);
|
|
29336
29455
|
else if (t === "PDI" && i.length) {
|
|
29337
29456
|
let e = i.pop();
|
|
29338
29457
|
n[e] = a, r[a] = e;
|
|
@@ -29343,7 +29462,7 @@ function Sn(e) {
|
|
|
29343
29462
|
initOf: r
|
|
29344
29463
|
};
|
|
29345
29464
|
}
|
|
29346
|
-
function
|
|
29465
|
+
function Pn(e, t, n) {
|
|
29347
29466
|
let r = e.length, i = Array(r).fill(t), a = e.slice(), o = [{
|
|
29348
29467
|
level: t,
|
|
29349
29468
|
override: "neutral",
|
|
@@ -29357,7 +29476,7 @@ function Cn(e, t, n) {
|
|
|
29357
29476
|
case "RLO":
|
|
29358
29477
|
case "LRO": {
|
|
29359
29478
|
i[d] = u().level;
|
|
29360
|
-
let e = r === "RLE" || r === "RLO" ?
|
|
29479
|
+
let e = r === "RLE" || r === "RLO" ? An(u().level) : jn(u().level);
|
|
29361
29480
|
e <= 125 && s === 0 && c === 0 ? o.push({
|
|
29362
29481
|
level: e,
|
|
29363
29482
|
override: r === "RLO" ? "R" : r === "LRO" ? "L" : "neutral",
|
|
@@ -29372,8 +29491,8 @@ function Cn(e, t, n) {
|
|
|
29372
29491
|
let t = u().override;
|
|
29373
29492
|
t !== "neutral" && (a[d] = t);
|
|
29374
29493
|
let f;
|
|
29375
|
-
f = r === "RLI" ? "R" : r === "LRI" ? "L" :
|
|
29376
|
-
let p = f === "R" ?
|
|
29494
|
+
f = r === "RLI" ? "R" : r === "LRI" ? "L" : Mn(e, d + 1, n[d]) === 1 ? "R" : "L";
|
|
29495
|
+
let p = f === "R" ? An(u().level) : jn(u().level);
|
|
29377
29496
|
p <= 125 && s === 0 && c === 0 ? (l++, o.push({
|
|
29378
29497
|
level: p,
|
|
29379
29498
|
override: "neutral",
|
|
@@ -29415,10 +29534,10 @@ function Cn(e, t, n) {
|
|
|
29415
29534
|
types: a
|
|
29416
29535
|
};
|
|
29417
29536
|
}
|
|
29418
|
-
function
|
|
29537
|
+
function Fn(e) {
|
|
29419
29538
|
return e === 9001 ? 12296 : e === 9002 ? 12297 : e;
|
|
29420
29539
|
}
|
|
29421
|
-
function
|
|
29540
|
+
function In(e, t, n, r, i, a) {
|
|
29422
29541
|
let o = e.length, s = [];
|
|
29423
29542
|
for (let e = 0; e < o; e++) n[e] || s.push(e);
|
|
29424
29543
|
let c = [];
|
|
@@ -29436,7 +29555,7 @@ function Tn(e, t, n, r, i, a) {
|
|
|
29436
29555
|
for (;;) {
|
|
29437
29556
|
for (let e of p) f.push(e);
|
|
29438
29557
|
let t = p[p.length - 1];
|
|
29439
|
-
if (
|
|
29558
|
+
if (On(e[t]) && i[t] !== o) {
|
|
29440
29559
|
let e = l.get(i[t]);
|
|
29441
29560
|
if (e) {
|
|
29442
29561
|
p = e;
|
|
@@ -29451,7 +29570,7 @@ function Tn(e, t, n, r, i, a) {
|
|
|
29451
29570
|
break;
|
|
29452
29571
|
}
|
|
29453
29572
|
let g = u(Math.max(m, h)), _ = f[f.length - 1], v = r;
|
|
29454
|
-
if (!(
|
|
29573
|
+
if (!(On(e[_]) && i[_] === o)) {
|
|
29455
29574
|
for (let e = _ + 1; e < o; e++) if (!n[e]) {
|
|
29456
29575
|
v = t[e];
|
|
29457
29576
|
break;
|
|
@@ -29467,8 +29586,8 @@ function Tn(e, t, n, r, i, a) {
|
|
|
29467
29586
|
}
|
|
29468
29587
|
return d;
|
|
29469
29588
|
}
|
|
29470
|
-
var
|
|
29471
|
-
function
|
|
29589
|
+
var Ln = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
|
|
29590
|
+
function Rn(e, t, n, r, i) {
|
|
29472
29591
|
let a = e.indices, o = a.length, { sos: s, eos: c, level: l } = e;
|
|
29473
29592
|
for (let e = 0; e < o; e++) {
|
|
29474
29593
|
let t = a[e];
|
|
@@ -29515,15 +29634,15 @@ function Dn(e, t, n, r, i) {
|
|
|
29515
29634
|
outer: for (let n = 0; n < o; n++) {
|
|
29516
29635
|
let i = a[n];
|
|
29517
29636
|
if (r[i] !== "ON") continue;
|
|
29518
|
-
let o =
|
|
29637
|
+
let o = En(t[i]);
|
|
29519
29638
|
if (o) if (o.type === "o") {
|
|
29520
29639
|
if (e.length === 63) break outer;
|
|
29521
29640
|
e.push({
|
|
29522
|
-
expect:
|
|
29641
|
+
expect: Fn(o.pair),
|
|
29523
29642
|
pos: n
|
|
29524
29643
|
});
|
|
29525
29644
|
} else {
|
|
29526
|
-
let r =
|
|
29645
|
+
let r = Fn(t[i]);
|
|
29527
29646
|
for (let t = e.length - 1; t >= 0; t--) if (e[t].expect === r) {
|
|
29528
29647
|
f.push({
|
|
29529
29648
|
open: e[t].pos,
|
|
@@ -29541,7 +29660,7 @@ function Dn(e, t, n, r, i) {
|
|
|
29541
29660
|
for (let { open: e, close: t } of f) {
|
|
29542
29661
|
let n = !1, i = !1;
|
|
29543
29662
|
for (let o = e + 1; o < t; o++) {
|
|
29544
|
-
let e =
|
|
29663
|
+
let e = Ln(r[a[o]]);
|
|
29545
29664
|
e === u ? n = !0 : e === d && (i = !0);
|
|
29546
29665
|
}
|
|
29547
29666
|
let o = null;
|
|
@@ -29549,7 +29668,7 @@ function Dn(e, t, n, r, i) {
|
|
|
29549
29668
|
else if (i) {
|
|
29550
29669
|
let t = s;
|
|
29551
29670
|
for (let n = e - 1; n >= 0; n--) {
|
|
29552
|
-
let e =
|
|
29671
|
+
let e = Ln(r[a[n]]);
|
|
29553
29672
|
if (e) {
|
|
29554
29673
|
t = e;
|
|
29555
29674
|
break;
|
|
@@ -29560,29 +29679,29 @@ function Dn(e, t, n, r, i) {
|
|
|
29560
29679
|
o && (r[a[e]] = o, r[a[t]] = o, p(e, o), p(t, o));
|
|
29561
29680
|
}
|
|
29562
29681
|
for (let e = 0; e < o; e++) {
|
|
29563
|
-
if (!
|
|
29682
|
+
if (!kn(r[a[e]])) continue;
|
|
29564
29683
|
let t = e;
|
|
29565
|
-
for (; t < o &&
|
|
29566
|
-
let n = e > 0 ?
|
|
29684
|
+
for (; t < o && kn(r[a[t]]);) t++;
|
|
29685
|
+
let n = e > 0 ? Ln(r[a[e - 1]]) : s, i = t < o ? Ln(r[a[t]]) : c;
|
|
29567
29686
|
if (n && i && n === i) for (let i = e; i < t; i++) r[a[i]] = n;
|
|
29568
29687
|
e = t - 1;
|
|
29569
29688
|
}
|
|
29570
|
-
for (let e = 0; e < o; e++)
|
|
29689
|
+
for (let e = 0; e < o; e++) kn(r[a[e]]) && (r[a[e]] = u);
|
|
29571
29690
|
for (let e = 0; e < o; e++) {
|
|
29572
29691
|
let t = a[e], n = r[t];
|
|
29573
29692
|
l & 1 ? (n === "L" || n === "EN" || n === "AN") && (i[t] += 1) : n === "R" ? i[t] += 1 : (n === "AN" || n === "EN") && (i[t] += 2);
|
|
29574
29693
|
}
|
|
29575
29694
|
}
|
|
29576
|
-
function
|
|
29695
|
+
function zn(e, t, n) {
|
|
29577
29696
|
let r = e.length, i = Array(r);
|
|
29578
|
-
for (let t = 0; t < r; t++) i[t] = n?.[t] ??
|
|
29579
|
-
let a = t === "rtl" ? 1 : t === "ltr" ? 0 :
|
|
29580
|
-
for (let e = 0; e < r; e++) u[e] =
|
|
29581
|
-
let d =
|
|
29582
|
-
for (let t of d)
|
|
29697
|
+
for (let t = 0; t < r; t++) i[t] = n?.[t] ?? Sn(e[t]);
|
|
29698
|
+
let a = t === "rtl" ? 1 : t === "ltr" ? 0 : Mn(i, 0, r), { pdiOf: o, initOf: s } = Nn(i), { levels: c, types: l } = Pn(i, a, o), u = Array(r);
|
|
29699
|
+
for (let e = 0; e < r; e++) u[e] = Dn(i[e]);
|
|
29700
|
+
let d = In(i, c, u, a, o, s), f = l.slice();
|
|
29701
|
+
for (let t of d) Rn(t, e, i, f, c);
|
|
29583
29702
|
let p = (e) => {
|
|
29584
29703
|
let t = i[e];
|
|
29585
|
-
return t === "WS" ||
|
|
29704
|
+
return t === "WS" || On(t) || t === "PDI" || u[e];
|
|
29586
29705
|
};
|
|
29587
29706
|
for (let e = 0; e < r; e++) {
|
|
29588
29707
|
let t = i[e];
|
|
@@ -29598,7 +29717,7 @@ function On(e, t, n) {
|
|
|
29598
29717
|
paragraphLevel: a
|
|
29599
29718
|
};
|
|
29600
29719
|
}
|
|
29601
|
-
function
|
|
29720
|
+
function Bn(e, t, n) {
|
|
29602
29721
|
let r = [];
|
|
29603
29722
|
for (let i = t; i < n; i++) {
|
|
29604
29723
|
let t = e[i];
|
|
@@ -29626,7 +29745,7 @@ function kn(e, t, n) {
|
|
|
29626
29745
|
}
|
|
29627
29746
|
//#endregion
|
|
29628
29747
|
//#region packages/core/src/text/bidi/uax9/index.ts
|
|
29629
|
-
function
|
|
29748
|
+
function Vn(e) {
|
|
29630
29749
|
let t = [], n = [], r = [];
|
|
29631
29750
|
for (let i = 0; i < e.length;) {
|
|
29632
29751
|
let a = e.codePointAt(i), o = a > 65535 ? 2 : 1;
|
|
@@ -29638,9 +29757,9 @@ function An(e) {
|
|
|
29638
29757
|
starts: r
|
|
29639
29758
|
};
|
|
29640
29759
|
}
|
|
29641
|
-
var
|
|
29760
|
+
var Hn = class {
|
|
29642
29761
|
computeLevels(e, t, n) {
|
|
29643
|
-
let { cps: r, units: i, starts: a } =
|
|
29762
|
+
let { cps: r, units: i, starts: a } = Vn(e), { levels: o, paragraphLevel: s } = zn(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
|
|
29644
29763
|
for (let e = 0; e < o.length; e++) {
|
|
29645
29764
|
let t = o[e] === -1 ? 255 : o[e];
|
|
29646
29765
|
for (let n = 0; n < i[e]; n++) c[l++] = t;
|
|
@@ -29651,25 +29770,25 @@ var jn = class {
|
|
|
29651
29770
|
};
|
|
29652
29771
|
}
|
|
29653
29772
|
reorderVisual(e, t, n) {
|
|
29654
|
-
return
|
|
29773
|
+
return Bn(e, t, n);
|
|
29655
29774
|
}
|
|
29656
29775
|
getMirror(e) {
|
|
29657
|
-
return
|
|
29776
|
+
return wn(e);
|
|
29658
29777
|
}
|
|
29659
29778
|
};
|
|
29660
|
-
function
|
|
29661
|
-
return new
|
|
29779
|
+
function Un() {
|
|
29780
|
+
return new Hn();
|
|
29662
29781
|
}
|
|
29663
29782
|
//#endregion
|
|
29664
29783
|
//#region packages/core/src/text/bidi/engine.ts
|
|
29665
|
-
var
|
|
29666
|
-
function
|
|
29667
|
-
return
|
|
29784
|
+
var Wn = null;
|
|
29785
|
+
function Gn() {
|
|
29786
|
+
return Wn === null && (Wn = Un()), Wn;
|
|
29668
29787
|
}
|
|
29669
29788
|
//#endregion
|
|
29670
29789
|
//#region packages/core/src/text/bidi/segments.ts
|
|
29671
|
-
function
|
|
29672
|
-
return e === !0 ? "rtl" : e === !1 ? "ltr" :
|
|
29790
|
+
function Kn(e, t) {
|
|
29791
|
+
return e === !0 ? "rtl" : e === !1 ? "ltr" : Gn().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
|
|
29673
29792
|
}
|
|
29674
29793
|
//#endregion
|
|
29675
|
-
export {
|
|
29794
|
+
export { I as A, c as B, je as C, Se as D, Ce as E, u as F, t as H, d as I, p as L, P as M, k as N, xe as O, A as P, m as R, Le as S, Te as T, s as V, He as _, pn as a, Be as b, Bt as c, Lt as d, ut as f, nt as g, tt as h, mn as i, L as j, F as k, Vt as l, rt as m, Gn as n, fn as o, ft as p, hn as r, Ht as s, Kn as t, jt as u, We as v, Ie as w, Me as x, Ue as y, l as z };
|