@silurus/ooxml 0.58.0 → 0.59.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -1
- package/dist/docx-DY7eFs9B.js +1928 -0
- package/dist/docx.mjs +2 -2
- package/dist/index.mjs +3 -3
- package/dist/{pptx-B6H-We19.js → pptx-xgNDotJs.js} +788 -676
- package/dist/pptx.mjs +2 -2
- package/dist/render-worker-host-4u3rfN2s.js +27 -0
- package/dist/render-worker-host-CKCAegrs.js +27 -0
- package/dist/render-worker-host-Ds6V4X86.js +27 -0
- package/dist/{src-B06n2_Dm.js → src-BAZYl43H.js} +772 -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-BKOjsh6j.js} +880 -815
- package/dist/xlsx.mjs +2 -2
- package/package.json +1 -1
- package/dist/docx-BBTq20zc.js +0 -1811
|
@@ -8,70 +8,190 @@ 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).`);
|
|
79
|
+
}
|
|
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
|
+
};
|
|
142
|
+
function m(e, t) {
|
|
143
|
+
let n = !1, r = !1, i = !1, a = !1, o = !1, s = !1, c = !1, l = !1, u = () => n && r && i && a && o && s && c && l;
|
|
144
|
+
outer: for (let t of e) if (t) for (let e of t) {
|
|
145
|
+
let t = e.codePointAt(0);
|
|
146
|
+
if (t !== void 0 && !(t <= 591) && (t >= 4352 && t <= 4607 || t >= 12592 && t <= 12687 || t >= 44032 && t <= 55215 ? r = !0 : t >= 12352 && t <= 12543 ? i = !0 : t >= 13312 && t <= 19903 || t >= 19968 && t <= 40959 || t >= 63744 && t <= 64255 || t >= 131072 && t <= 195103 ? n = !0 : t >= 1536 && t <= 1791 || t >= 1872 && t <= 1919 || t >= 2208 && t <= 2303 || t >= 64336 && t <= 65023 || t >= 65136 && t <= 65279 ? a = !0 : t >= 3584 && t <= 3711 ? o = !0 : t >= 1424 && t <= 1535 || t >= 64285 && t <= 64335 ? s = !0 : t >= 2304 && t <= 2431 ? c = !0 : (t >= 1024 && t <= 1279 || t >= 880 && t <= 1023) && (l = !0), u())) break outer;
|
|
147
|
+
}
|
|
148
|
+
let d = [], f = /* @__PURE__ */ new Set();
|
|
149
|
+
r && f.add("kr"), i && f.add("jp"), n && f.size === 0 && f.add(t ?? "jp");
|
|
150
|
+
for (let e of [
|
|
151
|
+
"kr",
|
|
152
|
+
"sc",
|
|
153
|
+
"tc",
|
|
154
|
+
"jp"
|
|
155
|
+
]) if (f.has(e)) {
|
|
156
|
+
let t = {
|
|
157
|
+
kr: "KR",
|
|
158
|
+
sc: "SC",
|
|
159
|
+
tc: "TC",
|
|
160
|
+
jp: "JP"
|
|
161
|
+
}[e];
|
|
162
|
+
d.push(`Noto Sans ${t}`, `Noto Serif ${t}`);
|
|
163
|
+
}
|
|
164
|
+
return l && d.push("Noto Sans", "Noto Serif"), a && d.push("Noto Naskh Arabic", "Noto Sans Arabic"), o && d.push("Noto Sans Thai"), s && d.push("Noto Sans Hebrew", "Noto Serif Hebrew"), c && d.push("Noto Sans Devanagari"), d;
|
|
45
165
|
}
|
|
46
166
|
//#endregion
|
|
47
167
|
//#region packages/core/src/chart/axis-scale.ts
|
|
48
|
-
function
|
|
168
|
+
function h(e, t = 5) {
|
|
49
169
|
if (e === 0) return 1;
|
|
50
170
|
let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
|
|
51
171
|
return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
|
|
52
172
|
}
|
|
53
|
-
function
|
|
173
|
+
function g(e, t, n = 0) {
|
|
54
174
|
if (e <= 0) return t;
|
|
55
175
|
let r = e + (e - n) / 20;
|
|
56
176
|
return Math.ceil(r / t) * t;
|
|
57
177
|
}
|
|
58
|
-
function
|
|
178
|
+
function _(e, t) {
|
|
59
179
|
if (e >= 0) return 0;
|
|
60
180
|
let n = Math.floor(e / t) * t;
|
|
61
181
|
return Math.abs(n - e) < t * 1e-9 ? n - t : n;
|
|
62
182
|
}
|
|
63
183
|
//#endregion
|
|
64
184
|
//#region packages/core/src/chart/chart-number-format.ts
|
|
65
|
-
function
|
|
185
|
+
function v(e) {
|
|
66
186
|
return Number.isInteger(e) ? String(e) : e.toFixed(6).replace(/\.?0+$/, "");
|
|
67
187
|
}
|
|
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 ? "-" : "") +
|
|
188
|
+
function y(e, t) {
|
|
189
|
+
if (!t || t.trim().toLowerCase() === "general") return v(e);
|
|
190
|
+
if (b(t)) return x(e, t);
|
|
191
|
+
let n = S(t), r;
|
|
192
|
+
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
193
|
}
|
|
74
|
-
function
|
|
194
|
+
function b(e) {
|
|
75
195
|
let t = !1;
|
|
76
196
|
for (let n = 0; n < e.length; n++) {
|
|
77
197
|
let r = e[n];
|
|
@@ -93,7 +213,7 @@ function d(e) {
|
|
|
93
213
|
}
|
|
94
214
|
return !1;
|
|
95
215
|
}
|
|
96
|
-
function
|
|
216
|
+
function x(e, t) {
|
|
97
217
|
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
218
|
for (; h < t.length;) {
|
|
99
219
|
let e = t[h];
|
|
@@ -148,7 +268,7 @@ function f(e, t) {
|
|
|
148
268
|
}
|
|
149
269
|
return p;
|
|
150
270
|
}
|
|
151
|
-
function
|
|
271
|
+
function S(e) {
|
|
152
272
|
let t = [], n = "";
|
|
153
273
|
for (let r = 0; r < e.length; r++) {
|
|
154
274
|
let i = e[r];
|
|
@@ -174,7 +294,7 @@ function p(e) {
|
|
|
174
294
|
}
|
|
175
295
|
return t.push(n), t;
|
|
176
296
|
}
|
|
177
|
-
function
|
|
297
|
+
function C(e, t) {
|
|
178
298
|
let n = [], r = 0, i = !1, a = !1;
|
|
179
299
|
for (; r < t.length;) {
|
|
180
300
|
let e = t[r];
|
|
@@ -235,16 +355,16 @@ function m(e, t) {
|
|
|
235
355
|
if (!i) return n.map((e) => e.text).join("");
|
|
236
356
|
let o = a ? e * 100 : e, s = "";
|
|
237
357
|
for (let e of n) e.kind === "num" && (s += e.text);
|
|
238
|
-
let c =
|
|
358
|
+
let c = w(o, s), l = !1;
|
|
239
359
|
return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
|
|
240
360
|
}
|
|
241
|
-
function
|
|
361
|
+
function w(e, t) {
|
|
242
362
|
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
363
|
return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
|
|
244
364
|
}
|
|
245
365
|
//#endregion
|
|
246
366
|
//#region packages/core/src/shape/pattern-bitmaps.ts
|
|
247
|
-
var
|
|
367
|
+
var T = {
|
|
248
368
|
pct5: [
|
|
249
369
|
0,
|
|
250
370
|
16,
|
|
@@ -626,21 +746,21 @@ var g = {
|
|
|
626
746
|
90
|
|
627
747
|
]
|
|
628
748
|
};
|
|
629
|
-
function
|
|
630
|
-
let r =
|
|
749
|
+
function E(e, t, n) {
|
|
750
|
+
let r = T[e];
|
|
631
751
|
if (!r) return null;
|
|
632
|
-
let i =
|
|
752
|
+
let i = D(8, 8);
|
|
633
753
|
if (!i) return null;
|
|
634
754
|
let a = i.getContext("2d");
|
|
635
755
|
if (!a) return null;
|
|
636
|
-
a.fillStyle =
|
|
756
|
+
a.fillStyle = O(n), a.fillRect(0, 0, 8, 8), a.fillStyle = O(t);
|
|
637
757
|
for (let e = 0; e < 8; e++) {
|
|
638
758
|
let t = r[e];
|
|
639
759
|
for (let n = 0; n < 8; n++) t & 1 << 7 - n && a.fillRect(n, e, 1, 1);
|
|
640
760
|
}
|
|
641
761
|
return i;
|
|
642
762
|
}
|
|
643
|
-
function
|
|
763
|
+
function D(e, t) {
|
|
644
764
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, t);
|
|
645
765
|
if (typeof document < "u") {
|
|
646
766
|
let n = document.createElement("canvas");
|
|
@@ -648,23 +768,23 @@ function v(e, t) {
|
|
|
648
768
|
}
|
|
649
769
|
return null;
|
|
650
770
|
}
|
|
651
|
-
function
|
|
771
|
+
function O(e) {
|
|
652
772
|
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
773
|
}
|
|
654
774
|
//#endregion
|
|
655
775
|
//#region packages/core/src/shape/paint.ts
|
|
656
|
-
function
|
|
776
|
+
function k(e, t = 1) {
|
|
657
777
|
let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
|
|
658
778
|
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
779
|
}
|
|
660
|
-
function
|
|
780
|
+
function A(e, t, n, r, i, a) {
|
|
661
781
|
if (!e || e.fillType === "none") return null;
|
|
662
|
-
if (e.fillType === "solid") return
|
|
663
|
-
if (e.fillType === "pattern") return
|
|
782
|
+
if (e.fillType === "solid") return k(e.color);
|
|
783
|
+
if (e.fillType === "pattern") return M(e, t);
|
|
664
784
|
if (e.fillType === "gradient") {
|
|
665
785
|
let o = e.stops;
|
|
666
786
|
if (o.length === 0) return null;
|
|
667
|
-
if (o.length === 1) return
|
|
787
|
+
if (o.length === 1) return k(o[0].color);
|
|
668
788
|
let s;
|
|
669
789
|
if (e.gradType === "radial") {
|
|
670
790
|
let e = n + i / 2, o = r + a / 2, c = Math.sqrt(i * i + a * a) / 2;
|
|
@@ -673,23 +793,23 @@ function x(e, t, n, r, i, a) {
|
|
|
673
793
|
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
794
|
s = t.createLinearGradient(c - Math.cos(o) * u, l - Math.sin(o) * u, c + Math.cos(o) * u, l + Math.sin(o) * u);
|
|
675
795
|
}
|
|
676
|
-
for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)),
|
|
796
|
+
for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), k(e.color));
|
|
677
797
|
return s;
|
|
678
798
|
}
|
|
679
799
|
return null;
|
|
680
800
|
}
|
|
681
|
-
var
|
|
682
|
-
function
|
|
683
|
-
let n = `${e.preset}|${e.fg}|${e.bg}`, r =
|
|
684
|
-
r || (r = /* @__PURE__ */ new Map(),
|
|
801
|
+
var j = /* @__PURE__ */ new WeakMap();
|
|
802
|
+
function M(e, t) {
|
|
803
|
+
let n = `${e.preset}|${e.fg}|${e.bg}`, r = j.get(t);
|
|
804
|
+
r || (r = /* @__PURE__ */ new Map(), j.set(t, r));
|
|
685
805
|
let i = r.get(n);
|
|
686
806
|
if (i) return i;
|
|
687
|
-
let a =
|
|
688
|
-
if (!a) return
|
|
807
|
+
let a = E(e.preset, e.fg, e.bg);
|
|
808
|
+
if (!a) return k(e.fg);
|
|
689
809
|
let o = t.createPattern(a, "repeat");
|
|
690
|
-
return o ? (r.set(n, o), o) :
|
|
810
|
+
return o ? (r.set(n, o), o) : k(e.fg);
|
|
691
811
|
}
|
|
692
|
-
var
|
|
812
|
+
var N = {
|
|
693
813
|
dash: [6, 3],
|
|
694
814
|
dot: [1.5, 3],
|
|
695
815
|
dashDot: [
|
|
@@ -722,20 +842,20 @@ var w = {
|
|
|
722
842
|
2
|
|
723
843
|
]
|
|
724
844
|
};
|
|
725
|
-
function
|
|
845
|
+
function P(e, t, n) {
|
|
726
846
|
if (!t) {
|
|
727
847
|
e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]);
|
|
728
848
|
return;
|
|
729
849
|
}
|
|
730
|
-
e.strokeStyle =
|
|
850
|
+
e.strokeStyle = k(t.color);
|
|
731
851
|
let r = Math.max(.5, t.width * n);
|
|
732
852
|
e.lineWidth = r;
|
|
733
|
-
let i = t.dashStyle ?
|
|
853
|
+
let i = t.dashStyle ? N[t.dashStyle] : null;
|
|
734
854
|
e.setLineDash(i ? i.map((e) => e * r) : []);
|
|
735
855
|
}
|
|
736
856
|
//#endregion
|
|
737
857
|
//#region packages/core/src/units.ts
|
|
738
|
-
var
|
|
858
|
+
var F = 12700, I = 9525, L = 4 / 3, R = [
|
|
739
859
|
"4472C4",
|
|
740
860
|
"ED7D31",
|
|
741
861
|
"A9D18E",
|
|
@@ -749,30 +869,30 @@ var E = 12700, D = 9525, O = 4 / 3, k = [
|
|
|
749
869
|
"255E91",
|
|
750
870
|
"967300"
|
|
751
871
|
];
|
|
752
|
-
function
|
|
753
|
-
return t?.color ? `#${t.color}` : `#${
|
|
872
|
+
function z(e, t) {
|
|
873
|
+
return t?.color ? `#${t.color}` : `#${R[e % R.length]}`;
|
|
754
874
|
}
|
|
755
|
-
function
|
|
875
|
+
function B(e, t) {
|
|
756
876
|
let n = t.dataPointColors?.[e];
|
|
757
|
-
return n ? `#${n}` : `#${
|
|
877
|
+
return n ? `#${n}` : `#${R[e % R.length]}`;
|
|
758
878
|
}
|
|
759
|
-
function
|
|
879
|
+
function V(e) {
|
|
760
880
|
return e === "pie" || e === "doughnut";
|
|
761
881
|
}
|
|
762
|
-
function
|
|
763
|
-
if (
|
|
882
|
+
function H(e, t, n) {
|
|
883
|
+
if (V(e)) {
|
|
764
884
|
let e = t[0];
|
|
765
|
-
return e ?
|
|
885
|
+
return e ? B(n, e) : `#${R[n % R.length]}`;
|
|
766
886
|
}
|
|
767
|
-
return
|
|
887
|
+
return z(n, t[n]);
|
|
768
888
|
}
|
|
769
|
-
function
|
|
889
|
+
function U(e, t, n, r, i, a, o, s) {
|
|
770
890
|
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
891
|
}
|
|
772
|
-
function
|
|
892
|
+
function ee(e) {
|
|
773
893
|
return e && (e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "radar" || e === "scatter") ? "line" : "fill";
|
|
774
894
|
}
|
|
775
|
-
function
|
|
895
|
+
function te(e, t, n, r, i, a, o) {
|
|
776
896
|
if (e.fillStyle = n, t === "line") {
|
|
777
897
|
e.strokeStyle = n;
|
|
778
898
|
let t = e.lineWidth;
|
|
@@ -781,34 +901,34 @@ function I(e, t, n, r, i, a, o) {
|
|
|
781
901
|
e.moveTo(r, s), e.lineTo(r + a, s), e.stroke(), e.lineWidth = t;
|
|
782
902
|
} else e.fillRect(r, i, a, o);
|
|
783
903
|
}
|
|
784
|
-
function
|
|
785
|
-
if (
|
|
904
|
+
function ne(e, t) {
|
|
905
|
+
if (V(t)) {
|
|
786
906
|
let n = e[0], r = n ? n.values.length : 0, i = n?.categories ?? [];
|
|
787
907
|
return Array.from({ length: r }, (n, r) => ({
|
|
788
908
|
label: (i[r] ?? `Item ${r + 1}`).toString(),
|
|
789
|
-
color:
|
|
909
|
+
color: H(t, e, r)
|
|
790
910
|
}));
|
|
791
911
|
}
|
|
792
912
|
return e.map((n, r) => ({
|
|
793
913
|
label: n.name || `Series ${r + 1}`,
|
|
794
|
-
color:
|
|
914
|
+
color: H(t, e, r)
|
|
795
915
|
}));
|
|
796
916
|
}
|
|
797
|
-
function
|
|
798
|
-
let c =
|
|
917
|
+
function W(e, t, n, r, i, a, o = "vertical", s) {
|
|
918
|
+
let c = ee(s), l = ne(t, s);
|
|
799
919
|
if (o === "horizontal") {
|
|
800
920
|
let t = Math.max(9, Math.min(12, a * .7));
|
|
801
921
|
e.font = `${t}px sans-serif`, e.textBaseline = "middle";
|
|
802
922
|
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++)
|
|
923
|
+
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
924
|
return;
|
|
805
925
|
}
|
|
806
926
|
let u = Math.max(9, Math.min(12, a / (l.length + 1)));
|
|
807
927
|
e.font = `${u}px sans-serif`, e.textBaseline = "middle";
|
|
808
928
|
let d = u + 4, f = r + (a - d * l.length) / 2;
|
|
809
|
-
for (let t = 0; t < l.length; t++)
|
|
929
|
+
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
930
|
}
|
|
811
|
-
function
|
|
931
|
+
function re(e, t, n) {
|
|
812
932
|
if (!e.showLegend) return null;
|
|
813
933
|
let r = e.legendPos ?? "r", i = r === "l" ? "l" : r === "t" ? "t" : r === "b" ? "b" : "r";
|
|
814
934
|
return i === "r" || i === "l" ? {
|
|
@@ -821,30 +941,30 @@ function ee(e, t, n) {
|
|
|
821
941
|
reserveH: Math.max(18, n * .08)
|
|
822
942
|
};
|
|
823
943
|
}
|
|
824
|
-
function
|
|
944
|
+
function ie(e, t, n, r, i, a, o, s, c, l, u, d) {
|
|
825
945
|
if (!n) return;
|
|
826
946
|
let f = t.legendManualLayout;
|
|
827
947
|
if (f && f.xMode === "edge" && f.yMode === "edge" && f.w > 0 && f.h > 0) {
|
|
828
948
|
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
|
-
|
|
949
|
+
W(e, t.series, n, s, c, l, u, t.chartType);
|
|
830
950
|
return;
|
|
831
951
|
}
|
|
832
952
|
switch (n.side) {
|
|
833
953
|
case "r":
|
|
834
|
-
|
|
954
|
+
W(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
835
955
|
break;
|
|
836
956
|
case "l":
|
|
837
|
-
|
|
957
|
+
W(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
838
958
|
break;
|
|
839
959
|
case "t":
|
|
840
|
-
|
|
960
|
+
W(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
|
|
841
961
|
break;
|
|
842
962
|
case "b":
|
|
843
|
-
|
|
963
|
+
W(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
|
|
844
964
|
break;
|
|
845
965
|
}
|
|
846
966
|
}
|
|
847
|
-
function
|
|
967
|
+
function G(e, t, n, r, i, a, o) {
|
|
848
968
|
if (t === "none" || !t) return;
|
|
849
969
|
let s = o ? Math.max(4, o + 2) : 4, c = e.strokeStyle, l = e.lineWidth;
|
|
850
970
|
if (e.strokeStyle = a ?? "#888", e.lineWidth = o ?? 1, e.beginPath(), n === "val") {
|
|
@@ -856,16 +976,16 @@ function z(e, t, n, r, i, a, o) {
|
|
|
856
976
|
}
|
|
857
977
|
e.stroke(), e.strokeStyle = c, e.lineWidth = l;
|
|
858
978
|
}
|
|
859
|
-
function
|
|
979
|
+
function ae(e, t, n) {
|
|
860
980
|
return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
|
|
861
981
|
}
|
|
862
|
-
function
|
|
982
|
+
function oe(e, t, n) {
|
|
863
983
|
return e ? e / 100 * n : Math.max(8, t * .045);
|
|
864
984
|
}
|
|
865
|
-
function
|
|
985
|
+
function se(e, t, n, r, i, a) {
|
|
866
986
|
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
987
|
}
|
|
868
|
-
function
|
|
988
|
+
function ce(e) {
|
|
869
989
|
if (e.categories.length > 0) return e.categories;
|
|
870
990
|
let t = e.series[0];
|
|
871
991
|
if (t?.categories && t.categories.length > 0) return t.categories;
|
|
@@ -873,7 +993,7 @@ function V(e) {
|
|
|
873
993
|
for (let t of e.series) t.values.length > n && (n = t.values.length);
|
|
874
994
|
return n > 0 ? Array.from({ length: n }, (e, t) => String(t + 1)) : [];
|
|
875
995
|
}
|
|
876
|
-
function
|
|
996
|
+
function le(e, t, n, r, i, a, o, s, c) {
|
|
877
997
|
let l = s ?? "outEnd";
|
|
878
998
|
if (e.fillStyle = c ? `#${c}` : "#333", o === "vertical") {
|
|
879
999
|
let o = n + a / 2;
|
|
@@ -883,225 +1003,225 @@ function H(e, t, n, r, i, a, o, s, c) {
|
|
|
883
1003
|
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
1004
|
}
|
|
885
1005
|
}
|
|
886
|
-
function
|
|
887
|
-
let { x: i, y: a, w:
|
|
888
|
-
if (
|
|
889
|
-
let
|
|
890
|
-
t: x + T +
|
|
891
|
-
r: C +
|
|
892
|
-
b:
|
|
893
|
-
l:
|
|
1006
|
+
function ue(e, t, n, r) {
|
|
1007
|
+
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;
|
|
1008
|
+
if (m === 0) return;
|
|
1009
|
+
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 = {
|
|
1010
|
+
t: x + T + s * .02,
|
|
1011
|
+
r: C + o * .03,
|
|
1012
|
+
b: s * .14 + O + E,
|
|
1013
|
+
l: o * .12 + k + w
|
|
894
1014
|
};
|
|
895
|
-
|
|
896
|
-
let
|
|
897
|
-
if (
|
|
898
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(
|
|
899
|
-
let
|
|
900
|
-
for (let e = 0; e <
|
|
1015
|
+
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, _);
|
|
1016
|
+
let j = t.plotAreaManualLayout, M, N, P, I;
|
|
1017
|
+
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;
|
|
1018
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(M, N, P, I));
|
|
1019
|
+
let L = 0;
|
|
1020
|
+
for (let e = 0; e < m; e++) {
|
|
901
1021
|
let t = 0;
|
|
902
|
-
for (let n of
|
|
1022
|
+
for (let n of d) {
|
|
903
1023
|
let r = n.values[e] ?? 0;
|
|
904
|
-
|
|
1024
|
+
l ? t += Math.abs(r) : L = Math.max(L, Math.abs(r));
|
|
905
1025
|
}
|
|
906
|
-
|
|
1026
|
+
l && (L = Math.max(L, t));
|
|
907
1027
|
}
|
|
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" :
|
|
1028
|
+
u && (L = 100), t.valMax != null && (L = t.valMax), L === 0 && (L = 1);
|
|
1029
|
+
let R = h(L), B = t.valMax ?? g(L, R), V = "#e0e0e0", H = Math.round(B / R);
|
|
1030
|
+
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++) {
|
|
1031
|
+
let r = n * R, i = u ? `${Math.round(r)}%` : y(r, t.valAxisFormatCode);
|
|
1032
|
+
if (c) {
|
|
1033
|
+
let t = M + r / B * P;
|
|
1034
|
+
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
1035
|
} else {
|
|
916
|
-
let t =
|
|
917
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1036
|
+
let t = N + I - r / B * I;
|
|
1037
|
+
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
1038
|
}
|
|
919
1039
|
}
|
|
920
|
-
let
|
|
1040
|
+
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
1041
|
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 <
|
|
1042
|
+
}, oe = !t.catAxisHidden && !t.catAxisLineHidden, ue = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null;
|
|
1043
|
+
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));
|
|
1044
|
+
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;
|
|
1045
|
+
for (let n = 0; n < m; n++) {
|
|
926
1046
|
let i = 0, a = 0;
|
|
927
|
-
if (
|
|
928
|
-
for (let e of
|
|
1047
|
+
if (u) {
|
|
1048
|
+
for (let e of d) a += Math.abs(e.values[n] ?? 0);
|
|
929
1049
|
a === 0 && (a = 1);
|
|
930
1050
|
}
|
|
931
|
-
for (let o = 0; o <
|
|
932
|
-
let s =
|
|
933
|
-
if (
|
|
934
|
-
let a =
|
|
935
|
-
e.fillStyle = h, e.fillRect(g, c,
|
|
1051
|
+
for (let o = 0; o < d.length; o++) {
|
|
1052
|
+
let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), h = z(o, s);
|
|
1053
|
+
if (c) {
|
|
1054
|
+
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;
|
|
1055
|
+
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
1056
|
} else {
|
|
937
|
-
let a =
|
|
938
|
-
e.fillStyle = h, e.fillRect(a, d, q, c), t.showDataLabels &&
|
|
1057
|
+
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;
|
|
1058
|
+
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
1059
|
}
|
|
940
|
-
|
|
1060
|
+
l && (i += p);
|
|
941
1061
|
}
|
|
942
1062
|
}
|
|
943
1063
|
if (!t.catAxisHidden) {
|
|
944
1064
|
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,
|
|
1065
|
+
for (let t = 0; t < m; t++) {
|
|
1066
|
+
let n = (p[t] ?? "").toString().slice(0, 12);
|
|
1067
|
+
if (c) {
|
|
1068
|
+
let r = N + (m - 1 - t) * K + K / 2;
|
|
1069
|
+
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, M - 4, r);
|
|
950
1070
|
} else {
|
|
951
|
-
let r =
|
|
952
|
-
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r,
|
|
1071
|
+
let r = M + t * K + K / 2;
|
|
1072
|
+
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, N + I + 3);
|
|
953
1073
|
}
|
|
954
1074
|
}
|
|
955
1075
|
}
|
|
956
|
-
if (
|
|
957
|
-
let n =
|
|
1076
|
+
if (f.length > 0 && !c) for (let t = 0; t < f.length; t++) {
|
|
1077
|
+
let n = f[t], r = z(d.length + t, n);
|
|
958
1078
|
e.strokeStyle = r, e.lineWidth = 2, e.setLineDash([]), e.beginPath();
|
|
959
1079
|
let i = !1;
|
|
960
|
-
for (let t = 0; t <
|
|
1080
|
+
for (let t = 0; t < m; t++) {
|
|
961
1081
|
let r = n.values[t];
|
|
962
1082
|
if (r == null) {
|
|
963
1083
|
i = !1;
|
|
964
1084
|
continue;
|
|
965
1085
|
}
|
|
966
|
-
let a =
|
|
1086
|
+
let a = M + t * K + K / 2, o = N + I - r / B * I;
|
|
967
1087
|
i ? e.lineTo(a, o) : (e.moveTo(a, o), i = !0);
|
|
968
1088
|
}
|
|
969
|
-
if (e.stroke(), n.showMarker !== !1) for (let t = 0; t <
|
|
1089
|
+
if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < m; t++) {
|
|
970
1090
|
let i = n.values[t];
|
|
971
1091
|
if (i == null) continue;
|
|
972
|
-
let a =
|
|
1092
|
+
let a = M + t * K + K / 2, o = N + I - i / B * I;
|
|
973
1093
|
e.fillStyle = r, e.beginPath(), e.arc(a, o, 3, 0, Math.PI * 2), e.fill();
|
|
974
1094
|
}
|
|
975
1095
|
}
|
|
976
|
-
|
|
1096
|
+
ie(e, c && !l ? {
|
|
977
1097
|
...t,
|
|
978
1098
|
series: [...t.series].reverse()
|
|
979
|
-
} : t, S, i, a,
|
|
1099
|
+
} : 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
1100
|
}
|
|
981
|
-
function
|
|
982
|
-
let { x: i, y: a, w:
|
|
983
|
-
if (
|
|
984
|
-
let
|
|
985
|
-
t:
|
|
986
|
-
r: b +
|
|
1101
|
+
function K(e, t, n, r) {
|
|
1102
|
+
let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
|
|
1103
|
+
if (l === 0) return;
|
|
1104
|
+
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 = {
|
|
1105
|
+
t: p + S + T / 2 + 2,
|
|
1106
|
+
r: b + o * .05,
|
|
987
1107
|
b: w + 12 + D + C,
|
|
988
1108
|
l: T * 2.2 + 10 + O + x
|
|
989
1109
|
};
|
|
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
|
|
1110
|
+
se(e, t, i, a + d, o, u);
|
|
1111
|
+
let A = i + k.l, j = a + k.t, M = o - k.l - k.r, N = s - k.t - k.b;
|
|
1112
|
+
if (M <= 0 || N <= 0) return;
|
|
1113
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(A, j, M, N));
|
|
1114
|
+
let P = Infinity, F = -Infinity;
|
|
1115
|
+
for (let e of t.series) for (let t of e.values) t != null && (P = Math.min(P, t), F = Math.max(F, t));
|
|
1116
|
+
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);
|
|
1117
|
+
let I = h(F - P), L = t.valMin ?? _(P, I), R = t.valMax ?? g(F, I), B = R - L;
|
|
1118
|
+
if (B === 0) return;
|
|
1119
|
+
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
1120
|
if (!t.valAxisHidden) {
|
|
1001
|
-
let n = Math.round((
|
|
1121
|
+
let n = Math.round((R - L) / I);
|
|
1002
1122
|
e.font = `${T}px sans-serif`, e.textBaseline = "middle";
|
|
1003
1123
|
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(
|
|
1124
|
+
let n = L + r * I, i = V(n);
|
|
1125
|
+
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
1126
|
}
|
|
1007
1127
|
}
|
|
1008
|
-
e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(
|
|
1009
|
-
let
|
|
1128
|
+
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());
|
|
1129
|
+
let ee = Math.max(1, 2.25 * r), te = Math.max(2, 2.5 * r), ne = oe(t.dataLabelFontSizeHpt, s, r);
|
|
1010
1130
|
for (let n = 0; n < t.series.length; n++) {
|
|
1011
|
-
let r = t.series[n], i =
|
|
1012
|
-
e.strokeStyle = i, e.lineWidth =
|
|
1131
|
+
let r = t.series[n], i = z(n, r);
|
|
1132
|
+
e.strokeStyle = i, e.lineWidth = ee, e.setLineDash([]), e.beginPath();
|
|
1013
1133
|
let a = !1;
|
|
1014
|
-
for (let t = 0; t <
|
|
1134
|
+
for (let t = 0; t < l; t++) {
|
|
1015
1135
|
let n = r.values[t];
|
|
1016
1136
|
if (n == null) {
|
|
1017
1137
|
a = !1;
|
|
1018
1138
|
continue;
|
|
1019
1139
|
}
|
|
1020
|
-
let i =
|
|
1140
|
+
let i = H(t), o = V(n);
|
|
1021
1141
|
a ? e.lineTo(i, o) : (e.moveTo(i, o), a = !0);
|
|
1022
1142
|
}
|
|
1023
1143
|
e.stroke(), e.fillStyle = i;
|
|
1024
1144
|
let o = r.showMarker !== !1;
|
|
1025
|
-
for (let n = 0; n <
|
|
1145
|
+
for (let n = 0; n < l; n++) {
|
|
1026
1146
|
let a = r.values[n];
|
|
1027
|
-
if (a != null && (o && (e.beginPath(), e.arc(
|
|
1028
|
-
e.font = `${
|
|
1029
|
-
let t = o ?
|
|
1030
|
-
e.fillText(
|
|
1147
|
+
if (a != null && (o && (e.beginPath(), e.arc(H(n), V(a), te, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
|
|
1148
|
+
e.font = `${ne}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
|
|
1149
|
+
let t = o ? te + 1 : 2;
|
|
1150
|
+
e.fillText(v(a), H(n), V(a) - t), e.fillStyle = i;
|
|
1031
1151
|
}
|
|
1032
1152
|
}
|
|
1033
1153
|
}
|
|
1034
1154
|
if (!t.catAxisHidden) {
|
|
1035
|
-
let n = Math.max(1, Math.ceil(
|
|
1155
|
+
let n = Math.max(1, Math.ceil(l / 8)), r = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555";
|
|
1036
1156
|
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
|
-
|
|
1157
|
+
for (let i = 0; i < l; i += n) {
|
|
1158
|
+
let n = H(i);
|
|
1159
|
+
G(e, t.catAxisMajorTickMark, "cat", j + N, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, j + N + 5);
|
|
1040
1160
|
}
|
|
1041
1161
|
}
|
|
1042
|
-
|
|
1162
|
+
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
1163
|
}
|
|
1044
|
-
function
|
|
1045
|
-
let { x: i, y: a, w:
|
|
1046
|
-
if (
|
|
1047
|
-
let
|
|
1048
|
-
t:
|
|
1049
|
-
r:
|
|
1050
|
-
b:
|
|
1051
|
-
l:
|
|
1164
|
+
function de(e, t, n, r) {
|
|
1165
|
+
let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
|
|
1166
|
+
if (l === 0) return;
|
|
1167
|
+
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 = {
|
|
1168
|
+
t: m + x + s * .02,
|
|
1169
|
+
r: v + o * .05,
|
|
1170
|
+
b: s * .14 + w + S,
|
|
1171
|
+
l: o * .12 + T + b
|
|
1052
1172
|
};
|
|
1053
|
-
|
|
1054
|
-
let
|
|
1055
|
-
if (
|
|
1056
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(O,
|
|
1057
|
-
let
|
|
1058
|
-
for (let e = 0; e <
|
|
1173
|
+
se(e, t, i, a + f, o, d);
|
|
1174
|
+
let D = i + E.l, O = a + E.t, A = o - E.l - E.r, j = s - E.t - E.b;
|
|
1175
|
+
if (A <= 0 || j <= 0) return;
|
|
1176
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(D, O, A, j));
|
|
1177
|
+
let M = 0;
|
|
1178
|
+
for (let e = 0; e < l; e++) if (u) {
|
|
1059
1179
|
let n = 0;
|
|
1060
1180
|
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
|
|
1181
|
+
M = Math.max(M, n);
|
|
1182
|
+
} else for (let n of t.series) M = Math.max(M, n.values[e] ?? 0);
|
|
1183
|
+
t.valMax != null && (M = t.valMax), M === 0 && (M = 1);
|
|
1184
|
+
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
1185
|
if (!t.valAxisHidden) {
|
|
1066
|
-
e.font = `${Math.max(8, Math.min(11,
|
|
1067
|
-
let n = Math.round(
|
|
1186
|
+
e.font = `${Math.max(8, Math.min(11, j / 20))}px sans-serif`, e.textBaseline = "middle";
|
|
1187
|
+
let n = Math.round(P / N);
|
|
1068
1188
|
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(
|
|
1189
|
+
let n = r * N, i = I(n);
|
|
1190
|
+
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
1191
|
}
|
|
1072
1192
|
}
|
|
1073
|
-
!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(
|
|
1074
|
-
let
|
|
1193
|
+
!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());
|
|
1194
|
+
let L = u ? Array(l).fill(0) : null;
|
|
1075
1195
|
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) +
|
|
1196
|
+
let r = t.series[n], i = z(n, r), a = O + j;
|
|
1197
|
+
if (e.beginPath(), u && L) {
|
|
1198
|
+
for (let t = 0; t < l; t++) {
|
|
1199
|
+
let n = (r.values[t] ?? 0) + L[t], i = F(t), a = I(n);
|
|
1080
1200
|
t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
|
|
1081
1201
|
}
|
|
1082
|
-
for (let t =
|
|
1083
|
-
for (let e = 0; e <
|
|
1202
|
+
for (let t = l - 1; t >= 0; t--) e.lineTo(F(t), I(L[t]));
|
|
1203
|
+
for (let e = 0; e < l; e++) L[e] += r.values[e] ?? 0;
|
|
1084
1204
|
} else {
|
|
1085
|
-
e.moveTo(
|
|
1086
|
-
for (let t = 0; t <
|
|
1087
|
-
e.lineTo(
|
|
1205
|
+
e.moveTo(F(0), a);
|
|
1206
|
+
for (let t = 0; t < l; t++) e.lineTo(F(t), I(r.values[t] ?? 0));
|
|
1207
|
+
e.lineTo(F(l - 1), a);
|
|
1088
1208
|
}
|
|
1089
|
-
e.closePath(), e.fillStyle =
|
|
1209
|
+
e.closePath(), e.fillStyle = k(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
|
|
1090
1210
|
}
|
|
1091
1211
|
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 <
|
|
1212
|
+
let n = Math.max(1, Math.ceil(l / 8));
|
|
1213
|
+
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`;
|
|
1214
|
+
for (let t = 0; t < l; t += n) e.fillText((c[t] ?? "").toString().slice(0, 10), F(t), O + j + 3);
|
|
1095
1215
|
}
|
|
1096
|
-
|
|
1216
|
+
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
1217
|
}
|
|
1098
|
-
function
|
|
1218
|
+
function fe(e, t, n, r, i) {
|
|
1099
1219
|
let { x: a, y: o, w: s, h: c } = n, l = t.series[0];
|
|
1100
1220
|
if (!l) return;
|
|
1101
1221
|
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
1222
|
if (f === 0) return;
|
|
1103
|
-
let p = t.title ?
|
|
1104
|
-
|
|
1223
|
+
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;
|
|
1224
|
+
se(e, t, a, o + m, s, p);
|
|
1105
1225
|
let _ = t.showLegend ? (() => {
|
|
1106
1226
|
let e = t.legendPos ?? "r", n = e === "l" ? "l" : e === "t" ? "t" : e === "b" ? "b" : "r";
|
|
1107
1227
|
return n === "r" || n === "l" ? {
|
|
@@ -1115,7 +1235,7 @@ function G(e, t, n, r, i) {
|
|
|
1115
1235
|
};
|
|
1116
1236
|
})() : 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
1237
|
for (let n = 0; n < d.length; n++) {
|
|
1118
|
-
let i = d[n] / f * Math.PI * 2, a =
|
|
1238
|
+
let i = d[n] / f * Math.PI * 2, a = B(n, l);
|
|
1119
1239
|
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
1240
|
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
1241
|
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 +1247,59 @@ function G(e, t, n, r, i) {
|
|
|
1127
1247
|
...l,
|
|
1128
1248
|
categories: u
|
|
1129
1249
|
}], r = w - S / 2;
|
|
1130
|
-
|
|
1250
|
+
ie(e, {
|
|
1131
1251
|
...t,
|
|
1132
1252
|
series: n
|
|
1133
1253
|
}, _, a, o, s, c, r, T - C / 2, S, C, g + 2);
|
|
1134
1254
|
}
|
|
1135
1255
|
}
|
|
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
|
|
1256
|
+
function pe(e, t, n, r) {
|
|
1257
|
+
let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
|
|
1258
|
+
if (l < 3) return;
|
|
1259
|
+
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;
|
|
1260
|
+
se(e, t, i, a + d, o, u);
|
|
1261
|
+
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;
|
|
1262
|
+
for (let e of t.series) for (let t of e.values) D = Math.max(D, t ?? 0);
|
|
1263
|
+
t.valMax != null && (D = t.valMax), D === 0 && (D = 1);
|
|
1264
|
+
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
1265
|
e.strokeStyle = "#ddd", e.lineWidth = .5;
|
|
1146
|
-
for (let t = 1; t <=
|
|
1147
|
-
let n = t /
|
|
1266
|
+
for (let t = 1; t <= N; t++) {
|
|
1267
|
+
let n = t / N * E;
|
|
1148
1268
|
e.beginPath();
|
|
1149
|
-
for (let t = 0; t <
|
|
1150
|
-
let r =
|
|
1269
|
+
for (let t = 0; t < l; t++) {
|
|
1270
|
+
let r = M(t), i = w + Math.cos(r) * n, a = T + Math.sin(r) * n;
|
|
1151
1271
|
t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
|
|
1152
1272
|
}
|
|
1153
1273
|
e.closePath(), e.stroke();
|
|
1154
1274
|
}
|
|
1155
1275
|
e.strokeStyle = "#bbb", e.lineWidth = .5;
|
|
1156
|
-
for (let t = 0; t <
|
|
1157
|
-
let n =
|
|
1158
|
-
e.beginPath(), e.moveTo(
|
|
1276
|
+
for (let t = 0; t < l; t++) {
|
|
1277
|
+
let n = M(t);
|
|
1278
|
+
e.beginPath(), e.moveTo(w, T), e.lineTo(w + Math.cos(n) * E, T + Math.sin(n) * E), e.stroke();
|
|
1159
1279
|
}
|
|
1160
1280
|
if (!t.valAxisHidden) {
|
|
1161
|
-
e.font = `${
|
|
1162
|
-
for (let t = 1; t <=
|
|
1163
|
-
let n = t /
|
|
1164
|
-
e.fillText(
|
|
1281
|
+
e.font = `${oe(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
|
|
1282
|
+
for (let t = 1; t <= N; t++) {
|
|
1283
|
+
let n = t / N * A, r = t / N * E;
|
|
1284
|
+
e.fillText(v(n), w - 3, T - r);
|
|
1165
1285
|
}
|
|
1166
1286
|
}
|
|
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((
|
|
1287
|
+
e.font = `${Math.max(8, Math.min(11, E * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
|
|
1288
|
+
for (let t = 0; t < l; t++) {
|
|
1289
|
+
let n = M(t), r = w + Math.cos(n) * (E + 12), i = T + Math.sin(n) * (E + 12);
|
|
1290
|
+
e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((c[t] ?? "").toString().slice(0, 12), r, i);
|
|
1171
1291
|
}
|
|
1172
|
-
let
|
|
1292
|
+
let P = t.radarStyle === "filled", F = Math.max(2, E * .025);
|
|
1173
1293
|
for (let n = 0; n < t.series.length; n++) {
|
|
1174
|
-
let r = t.series[n], i =
|
|
1175
|
-
for (let e = 0; e <
|
|
1294
|
+
let r = t.series[n], i = z(n, r), a = [];
|
|
1295
|
+
for (let e = 0; e < l; e++) {
|
|
1176
1296
|
let t = r.values[e];
|
|
1177
1297
|
if (t == null) {
|
|
1178
1298
|
a.push(null);
|
|
1179
1299
|
continue;
|
|
1180
1300
|
}
|
|
1181
|
-
let n = t /
|
|
1182
|
-
a.push([
|
|
1301
|
+
let n = t / A, i = M(e);
|
|
1302
|
+
a.push([w + Math.cos(i) * E * n, T + Math.sin(i) * E * n]);
|
|
1183
1303
|
}
|
|
1184
1304
|
e.beginPath();
|
|
1185
1305
|
let o = !1;
|
|
@@ -1191,102 +1311,102 @@ function ae(e, t, n, r) {
|
|
|
1191
1311
|
o ? e.lineTo(t[0], t[1]) : (e.moveTo(t[0], t[1]), o = !0);
|
|
1192
1312
|
}
|
|
1193
1313
|
let s = a.every((e) => e != null);
|
|
1194
|
-
if (
|
|
1314
|
+
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
1315
|
e.fillStyle = i;
|
|
1196
|
-
for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1],
|
|
1316
|
+
for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], F, 0, Math.PI * 2), e.fill());
|
|
1197
1317
|
}
|
|
1198
1318
|
}
|
|
1199
|
-
|
|
1319
|
+
ie(e, t, m, i, a, o, s, w - S / 2, T - C / 2, S, C, p + 2);
|
|
1200
1320
|
}
|
|
1201
|
-
function
|
|
1202
|
-
let { x: i, y: a, w:
|
|
1321
|
+
function q(e, t, n, r) {
|
|
1322
|
+
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
1323
|
if (t.title) {
|
|
1204
1324
|
let n = t.titleManualLayout;
|
|
1205
|
-
n && (n.x !== void 0 || n.y !== void 0) ?
|
|
1325
|
+
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
1326
|
}
|
|
1207
|
-
let S = t.plotAreaManualLayout, C, w, T,
|
|
1208
|
-
if (S && S.w != null && S.h != null) C = i + S.x *
|
|
1327
|
+
let S = t.plotAreaManualLayout, C, w, T, E;
|
|
1328
|
+
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
1329
|
else {
|
|
1210
1330
|
let e = {
|
|
1211
|
-
t:
|
|
1212
|
-
r:
|
|
1213
|
-
b: (t.catAxisHidden ?
|
|
1214
|
-
l: (t.valAxisHidden ?
|
|
1331
|
+
t: d + g + s * .02,
|
|
1332
|
+
r: p + o * .05,
|
|
1333
|
+
b: (t.catAxisHidden ? s * .04 : s * .12) + b + _,
|
|
1334
|
+
l: (t.valAxisHidden ? o * .04 : o * .12) + x + m
|
|
1215
1335
|
};
|
|
1216
|
-
C = i + e.l, w = a + e.t, T =
|
|
1336
|
+
C = i + e.l, w = a + e.t, T = o - e.l - e.r, E = s - e.t - e.b;
|
|
1217
1337
|
}
|
|
1218
|
-
if (T <= 0 ||
|
|
1219
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(C, w, T,
|
|
1220
|
-
let
|
|
1338
|
+
if (T <= 0 || E <= 0) return;
|
|
1339
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(C, w, T, E));
|
|
1340
|
+
let D = [], O = [];
|
|
1221
1341
|
for (let e of t.series) {
|
|
1222
1342
|
let t = e.categories ?? [];
|
|
1223
1343
|
for (let e of t) {
|
|
1224
1344
|
let t = parseFloat(e);
|
|
1225
|
-
isNaN(t) ||
|
|
1345
|
+
isNaN(t) || D.push(t);
|
|
1226
1346
|
}
|
|
1227
|
-
for (let t of e.values) t != null &&
|
|
1347
|
+
for (let t of e.values) t != null && O.push(t);
|
|
1228
1348
|
}
|
|
1229
|
-
let
|
|
1230
|
-
if (
|
|
1349
|
+
let k = D.length === 0;
|
|
1350
|
+
if (k) {
|
|
1231
1351
|
let e = Math.max(...t.series.map((e) => e.values.length));
|
|
1232
|
-
for (let t = 0; t < e; t++)
|
|
1352
|
+
for (let t = 0; t < e; t++) D.push(t);
|
|
1233
1353
|
}
|
|
1234
|
-
let
|
|
1235
|
-
if (
|
|
1236
|
-
let e =
|
|
1237
|
-
e > 0 && (t.catAxisMin ?? (
|
|
1354
|
+
let A = Math.min(...D), j = Math.max(...D), M = Math.min(...O), N = Math.max(...O);
|
|
1355
|
+
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) {
|
|
1356
|
+
let e = h(j - A);
|
|
1357
|
+
e > 0 && (t.catAxisMin ?? (A = Math.floor(A / e) * e), t.catAxisMax ?? (j = Math.ceil(j / e) * e));
|
|
1238
1358
|
}
|
|
1239
|
-
let
|
|
1359
|
+
let P = (e) => C + (e - A) / (j - A) * T, I = (e) => w + E - (e - M) / (N - M) * E;
|
|
1240
1360
|
if (!t.valAxisHidden) {
|
|
1241
|
-
let n = Math.max(8, Math.min(11,
|
|
1361
|
+
let n = Math.max(8, Math.min(11, E / 20));
|
|
1242
1362
|
e.font = `${t.valAxisFontBold ? "bold " : ""}${n}px sans-serif`;
|
|
1243
|
-
let r =
|
|
1363
|
+
let r = h(N - M), i = Math.round((N - M) / r) + 1;
|
|
1244
1364
|
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
|
-
|
|
1365
|
+
let i = M + n * r;
|
|
1366
|
+
if (i > N + r * .01) break;
|
|
1367
|
+
let a = I(i);
|
|
1368
|
+
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);
|
|
1369
|
+
let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0, s = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / F) : void 0;
|
|
1370
|
+
G(e, t.valAxisMajorTickMark, "val", C, a, o, s);
|
|
1251
1371
|
}
|
|
1252
1372
|
}
|
|
1253
|
-
let
|
|
1254
|
-
if (t.catAxisCrossesAt != null)
|
|
1373
|
+
let L = w + E;
|
|
1374
|
+
if (t.catAxisCrossesAt != null) L = ve(I(t.catAxisCrossesAt), w, w + E);
|
|
1255
1375
|
else {
|
|
1256
1376
|
let e = t.catAxisCrosses ?? "autoZero";
|
|
1257
|
-
e === "autoZero" &&
|
|
1377
|
+
e === "autoZero" && M < 0 && N > 0 ? L = ve(I(0), w, w + E) : e === "min" ? L = w + E : e === "max" && (L = w);
|
|
1258
1378
|
}
|
|
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,
|
|
1379
|
+
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) {
|
|
1380
|
+
let n = Math.max(8, Math.min(11, E / 20));
|
|
1261
1381
|
e.font = `${t.catAxisFontBold ? "bold " : ""}${n}px sans-serif`;
|
|
1262
|
-
let r =
|
|
1382
|
+
let r = h(j - A), i = Math.round((j - A) / r) + 1;
|
|
1263
1383
|
e.fillStyle = "#555", e.textAlign = "center", e.textBaseline = "top";
|
|
1264
1384
|
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
|
-
|
|
1385
|
+
let i = A + n * r;
|
|
1386
|
+
if (i > j + r * .01) break;
|
|
1387
|
+
let a = P(i);
|
|
1388
|
+
e.fillText(y(i, t.catAxisFormatCode), a, L + 4);
|
|
1389
|
+
let o = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0, s = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / F) : void 0;
|
|
1390
|
+
G(e, t.catAxisMajorTickMark, "cat", L, a, o, s);
|
|
1271
1391
|
}
|
|
1272
1392
|
}
|
|
1273
|
-
let
|
|
1393
|
+
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
1394
|
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 (
|
|
1395
|
+
let i = t.series[n], a = z(n, i), o = i.categories ?? [];
|
|
1396
|
+
for (let t of i.errBars ?? []) he(e, i, t, o, k, P, I, a);
|
|
1397
|
+
if (V || H) {
|
|
1278
1398
|
let t = [];
|
|
1279
1399
|
for (let e = 0; e < i.values.length; e++) {
|
|
1280
1400
|
let n = i.values[e];
|
|
1281
1401
|
if (n == null) continue;
|
|
1282
|
-
let r =
|
|
1402
|
+
let r = k ? e : parseFloat(o[e] ?? "0");
|
|
1283
1403
|
isNaN(r) || t.push({
|
|
1284
|
-
x:
|
|
1285
|
-
y:
|
|
1404
|
+
x: P(r),
|
|
1405
|
+
y: I(n)
|
|
1286
1406
|
});
|
|
1287
1407
|
}
|
|
1288
1408
|
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),
|
|
1409
|
+
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
1410
|
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
1411
|
e.bezierCurveTo(s, c, l, u, a.x, a.y);
|
|
1292
1412
|
}
|
|
@@ -1294,31 +1414,31 @@ function oe(e, t, n, r) {
|
|
|
1294
1414
|
e.stroke(), e.restore();
|
|
1295
1415
|
}
|
|
1296
1416
|
}
|
|
1297
|
-
if (!(
|
|
1417
|
+
if (!(ee || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
|
|
1298
1418
|
let t = 0;
|
|
1299
|
-
if (
|
|
1419
|
+
if (R && i.bubbleSizes && i.bubbleSizes.length > 0) {
|
|
1300
1420
|
let e = Math.max(0, ...i.bubbleSizes.filter((e) => e != null));
|
|
1301
|
-
e > 0 && (t = Math.min(T,
|
|
1421
|
+
e > 0 && (t = Math.min(T, E) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
|
|
1302
1422
|
}
|
|
1303
1423
|
for (let n = 0; n < i.values.length; n++) {
|
|
1304
1424
|
let s = i.values[n];
|
|
1305
1425
|
if (s == null) continue;
|
|
1306
|
-
let c =
|
|
1426
|
+
let c = k ? n : parseFloat(o[n] ?? "0");
|
|
1307
1427
|
if (isNaN(c)) continue;
|
|
1308
1428
|
let l = (i.dataPointOverrides ?? []).find((e) => e.idx === n), u = l?.markerSymbol ?? i.markerSymbol ?? "circle", d = l?.markerSize ?? i.markerSize ?? 5;
|
|
1309
|
-
if (
|
|
1429
|
+
if (R && t > 0) {
|
|
1310
1430
|
let e = i.bubbleSizes?.[n];
|
|
1311
1431
|
e != null && e > 0 && (d = Math.sqrt(e) * t * 2 / r);
|
|
1312
1432
|
}
|
|
1313
1433
|
let f = l?.markerFill ?? l?.color ?? i.markerFill ?? a, p = l?.markerLine ?? i.markerLine ?? null;
|
|
1314
|
-
|
|
1434
|
+
me(e, P(c), I(s), u, d, f, p, r);
|
|
1315
1435
|
}
|
|
1316
1436
|
}
|
|
1317
|
-
|
|
1437
|
+
ge(e, i, o, k, P, I, E, r);
|
|
1318
1438
|
}
|
|
1319
|
-
|
|
1439
|
+
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
1440
|
}
|
|
1321
|
-
function
|
|
1441
|
+
function me(e, t, n, r, i, a, o, s) {
|
|
1322
1442
|
let c = Math.max(2, i * s), l = c / 2, u = a.startsWith("#") ? a : `#${a}`, d = o ? o.startsWith("#") ? o : `#${o}` : null;
|
|
1323
1443
|
switch (e.save(), e.fillStyle = u, d && (e.strokeStyle = d, e.lineWidth = 1), r) {
|
|
1324
1444
|
case "square":
|
|
@@ -1358,8 +1478,8 @@ function se(e, t, n, r, i, a, o, s) {
|
|
|
1358
1478
|
}
|
|
1359
1479
|
e.restore();
|
|
1360
1480
|
}
|
|
1361
|
-
function
|
|
1362
|
-
e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu /
|
|
1481
|
+
function he(e, t, n, r, i, a, o, s) {
|
|
1482
|
+
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
1483
|
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
1484
|
for (let s = 0; s < t.values.length; s++) {
|
|
1365
1485
|
let f = t.values[s];
|
|
@@ -1381,28 +1501,28 @@ function ce(e, t, n, r, i, a, o, s) {
|
|
|
1381
1501
|
}
|
|
1382
1502
|
e.restore();
|
|
1383
1503
|
}
|
|
1384
|
-
function
|
|
1504
|
+
function ge(e, t, n, r, i, a, o, s) {
|
|
1385
1505
|
let c = t.dataLabelOverrides ?? [];
|
|
1386
1506
|
if (c.length === 0 && !t.seriesDataLabels) return;
|
|
1387
1507
|
let l = t.seriesDataLabels;
|
|
1388
|
-
for (let
|
|
1389
|
-
let
|
|
1390
|
-
if (
|
|
1391
|
-
let
|
|
1392
|
-
if (isNaN(
|
|
1393
|
-
let
|
|
1394
|
-
if (
|
|
1395
|
-
if (
|
|
1396
|
-
|
|
1508
|
+
for (let u = 0; u < t.values.length; u++) {
|
|
1509
|
+
let d = t.values[u];
|
|
1510
|
+
if (d == null) continue;
|
|
1511
|
+
let f = r ? u : parseFloat(n[u] ?? "0");
|
|
1512
|
+
if (isNaN(f)) continue;
|
|
1513
|
+
let p = c.find((e) => e.idx === u), m;
|
|
1514
|
+
if (p) {
|
|
1515
|
+
if (p.text === "") continue;
|
|
1516
|
+
m = p.text;
|
|
1397
1517
|
} else if (l && (l.showVal || l.showSerName || l.showCatName)) {
|
|
1398
1518
|
let e = [];
|
|
1399
|
-
if (l.showCatName && !r && e.push(n[
|
|
1519
|
+
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
1520
|
} else continue;
|
|
1401
|
-
let
|
|
1402
|
-
|
|
1521
|
+
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;
|
|
1522
|
+
_e(e, i(f), a(d), m, h, _, v, b);
|
|
1403
1523
|
}
|
|
1404
1524
|
}
|
|
1405
|
-
function
|
|
1525
|
+
function _e(e, t, n, r, i, a, o, s) {
|
|
1406
1526
|
e.save(), e.font = `${s ? "bold " : ""}${a}px sans-serif`, e.fillStyle = o ? `#${o}` : "#333";
|
|
1407
1527
|
let c = a * .6, l = t, u = n;
|
|
1408
1528
|
switch (i) {
|
|
@@ -1430,10 +1550,10 @@ function ue(e, t, n, r, i, a, o, s) {
|
|
|
1430
1550
|
for (let t of d) e.fillText(t, l, m), m += f;
|
|
1431
1551
|
e.restore();
|
|
1432
1552
|
}
|
|
1433
|
-
function
|
|
1553
|
+
function ve(e, t, n) {
|
|
1434
1554
|
return e < t ? t : e > n ? n : e;
|
|
1435
1555
|
}
|
|
1436
|
-
function
|
|
1556
|
+
function ye(e) {
|
|
1437
1557
|
if (!e) return [];
|
|
1438
1558
|
switch (e) {
|
|
1439
1559
|
case "solid": return [];
|
|
@@ -1468,18 +1588,18 @@ function de(e) {
|
|
|
1468
1588
|
default: return [];
|
|
1469
1589
|
}
|
|
1470
1590
|
}
|
|
1471
|
-
function
|
|
1472
|
-
let { x: r, y: i, w: a, h:
|
|
1473
|
-
if (
|
|
1591
|
+
function be(e, t, n) {
|
|
1592
|
+
let { x: r, y: i, w: a, h: o } = n, s = t.plotAreaManualLayout, c, l, u, d;
|
|
1593
|
+
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
1594
|
else {
|
|
1475
|
-
let e = t.valAxisHidden ? a * .01 : a * .11, n = a * .01,
|
|
1476
|
-
|
|
1595
|
+
let e = t.valAxisHidden ? a * .01 : a * .11, n = a * .01, s = o * .12, f = o * .14;
|
|
1596
|
+
c = r + e, l = i + s, u = a - e - n, d = o - s - f;
|
|
1477
1597
|
}
|
|
1478
|
-
let
|
|
1479
|
-
if (
|
|
1598
|
+
let f = t.series[0]?.values ?? [], p = t.categories, m = p.length;
|
|
1599
|
+
if (m === 0) return;
|
|
1480
1600
|
let g = new Set(t.subtotalIndices), _ = 0, v = [];
|
|
1481
|
-
for (let e = 0; e <
|
|
1482
|
-
let t =
|
|
1601
|
+
for (let e = 0; e < m; e++) {
|
|
1602
|
+
let t = f[e] ?? 0;
|
|
1483
1603
|
if (e === 0 || g.has(e)) v.push({
|
|
1484
1604
|
start: 0,
|
|
1485
1605
|
end: t,
|
|
@@ -1498,36 +1618,36 @@ function fe(e, t, n) {
|
|
|
1498
1618
|
}
|
|
1499
1619
|
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
1620
|
if (C <= 0) return;
|
|
1501
|
-
let w = S < 0 ? S - C * .05 : 0, T = (x - w) * 1.1, E = w + T, D =
|
|
1621
|
+
let w = S < 0 ? S - C * .05 : 0, T = (x - w) * 1.1, E = w + T, D = h(T);
|
|
1502
1622
|
e.save();
|
|
1503
|
-
let O = Math.round(
|
|
1623
|
+
let O = Math.round(o * .042);
|
|
1504
1624
|
if (e.font = `${O}px sans-serif`, !t.valAxisHidden) {
|
|
1505
1625
|
e.strokeStyle = "#e8e8e8", e.lineWidth = .7, e.fillStyle = "#666", e.textAlign = "right", e.textBaseline = "middle";
|
|
1506
1626
|
for (let t = Math.ceil(w / D) * D; t <= E; t += D) {
|
|
1507
|
-
let n =
|
|
1508
|
-
e.beginPath(), e.moveTo(
|
|
1627
|
+
let n = l + d * (1 - (t - w) / T);
|
|
1628
|
+
e.beginPath(), e.moveTo(c, n), e.lineTo(c + u, n), e.stroke(), e.fillText(t.toLocaleString(), c - 4, n);
|
|
1509
1629
|
}
|
|
1510
1630
|
}
|
|
1511
1631
|
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 =
|
|
1632
|
+
(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());
|
|
1633
|
+
let j = u / m, M = j / (1 + (t.barGapWidth ?? 150) / 100);
|
|
1514
1634
|
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,
|
|
1635
|
+
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);
|
|
1636
|
+
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) {
|
|
1637
|
+
let t = c + j * (r + 1) + (j - M) / 2, o = n.isPos ? a : s;
|
|
1638
|
+
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
1639
|
}
|
|
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
|
-
|
|
1640
|
+
let p = f[r] ?? 0, h = p < 0 ? `△ ${Math.abs(p).toLocaleString()}` : p.toLocaleString(), g = t.series[0]?.dataLabelColors?.[r] ?? null;
|
|
1641
|
+
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));
|
|
1642
|
+
}), e.textAlign = "center", e.textBaseline = "top", e.fillStyle = "#666", e.font = `${Math.round(o * .038)}px sans-serif`;
|
|
1643
|
+
let N = l + d + 4;
|
|
1644
|
+
for (let t = 0; t < m; t++) {
|
|
1645
|
+
let n = c + j * t + j / 2;
|
|
1646
|
+
p[t].split(/\s+/).forEach((t, r) => e.fillText(t, n, N + r * (O + 2)));
|
|
1527
1647
|
}
|
|
1528
1648
|
e.restore();
|
|
1529
1649
|
}
|
|
1530
|
-
function
|
|
1650
|
+
function xe(e, t, n, r = L) {
|
|
1531
1651
|
let { x: i, y: a, w: o, h: s } = n;
|
|
1532
1652
|
if (t.chartBg && (e.fillStyle = `#${t.chartBg}`, e.fillRect(i, a, o, s)), t.series.length === 0) {
|
|
1533
1653
|
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 +1660,40 @@ function pe(e, t, n, r = O) {
|
|
|
1540
1660
|
case "stackedBarH":
|
|
1541
1661
|
case "stackedBarPct":
|
|
1542
1662
|
case "stackedBarHPct":
|
|
1543
|
-
|
|
1663
|
+
ue(e, t, n, r);
|
|
1544
1664
|
break;
|
|
1545
1665
|
case "line":
|
|
1546
1666
|
case "stackedLine":
|
|
1547
1667
|
case "stackedLinePct":
|
|
1548
|
-
|
|
1668
|
+
K(e, t, n, r);
|
|
1549
1669
|
break;
|
|
1550
1670
|
case "area":
|
|
1551
1671
|
case "stackedArea":
|
|
1552
1672
|
case "stackedAreaPct":
|
|
1553
|
-
|
|
1673
|
+
de(e, t, n, r);
|
|
1554
1674
|
break;
|
|
1555
1675
|
case "pie":
|
|
1556
|
-
|
|
1676
|
+
fe(e, t, n, !1, r);
|
|
1557
1677
|
break;
|
|
1558
1678
|
case "doughnut":
|
|
1559
|
-
|
|
1679
|
+
fe(e, t, n, !0, r);
|
|
1560
1680
|
break;
|
|
1561
1681
|
case "radar":
|
|
1562
|
-
|
|
1682
|
+
pe(e, t, n, r);
|
|
1563
1683
|
break;
|
|
1564
1684
|
case "scatter":
|
|
1565
1685
|
case "bubble":
|
|
1566
|
-
|
|
1686
|
+
q(e, t, n, r);
|
|
1567
1687
|
break;
|
|
1568
1688
|
case "waterfall":
|
|
1569
|
-
|
|
1689
|
+
be(e, t, n);
|
|
1570
1690
|
break;
|
|
1571
1691
|
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
1692
|
}
|
|
1573
1693
|
}
|
|
1574
1694
|
//#endregion
|
|
1575
1695
|
//#region packages/core/src/autoResize.ts
|
|
1576
|
-
function
|
|
1696
|
+
function Se(e, t, n = {}) {
|
|
1577
1697
|
let r = n.pauseWhenHidden ?? !0, i = null, a = 0, o = 0, s = null, c = !1, l = !1, u = () => {
|
|
1578
1698
|
if (!l && !(r && typeof document < "u" && document.hidden)) {
|
|
1579
1699
|
if (s) {
|
|
@@ -1610,7 +1730,7 @@ function q(e, t, n = {}) {
|
|
|
1610
1730
|
}
|
|
1611
1731
|
//#endregion
|
|
1612
1732
|
//#region packages/core/src/shape/custGeom.ts
|
|
1613
|
-
function
|
|
1733
|
+
function Ce(e, t, n, r, i, a) {
|
|
1614
1734
|
for (let o of t) {
|
|
1615
1735
|
let t = 0, s = 0;
|
|
1616
1736
|
for (let c of o) switch (c.cmd) {
|
|
@@ -1646,7 +1766,7 @@ function J(e, t, n, r, i, a, o, s = -Math.PI / 2) {
|
|
|
1646
1766
|
}
|
|
1647
1767
|
e.closePath();
|
|
1648
1768
|
}
|
|
1649
|
-
function
|
|
1769
|
+
function we(e, t, n, r, i, a, o = -Math.PI / 2) {
|
|
1650
1770
|
for (let s = 0; s < a; s++) {
|
|
1651
1771
|
let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
|
|
1652
1772
|
s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
|
|
@@ -1660,7 +1780,7 @@ function Y(e, t, n, r, i, a, o) {
|
|
|
1660
1780
|
y: d + i * Math.sin(l)
|
|
1661
1781
|
};
|
|
1662
1782
|
}
|
|
1663
|
-
function
|
|
1783
|
+
function Te(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
1664
1784
|
let u = n + i / 2, d = r + a / 2;
|
|
1665
1785
|
switch (t) {
|
|
1666
1786
|
case "ellipse":
|
|
@@ -1695,22 +1815,22 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
1695
1815
|
break;
|
|
1696
1816
|
}
|
|
1697
1817
|
case "pentagon":
|
|
1698
|
-
|
|
1818
|
+
we(e, u, d, i / 2, a / 2, 5);
|
|
1699
1819
|
break;
|
|
1700
1820
|
case "hexagon":
|
|
1701
|
-
|
|
1821
|
+
we(e, u, d, i / 2, a / 2, 6, 0);
|
|
1702
1822
|
break;
|
|
1703
1823
|
case "heptagon":
|
|
1704
|
-
|
|
1824
|
+
we(e, u, d, i / 2, a / 2, 7);
|
|
1705
1825
|
break;
|
|
1706
1826
|
case "octagon":
|
|
1707
|
-
|
|
1827
|
+
we(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
|
|
1708
1828
|
break;
|
|
1709
1829
|
case "decagon":
|
|
1710
|
-
|
|
1830
|
+
we(e, u, d, i / 2, a / 2, 10);
|
|
1711
1831
|
break;
|
|
1712
1832
|
case "dodecagon":
|
|
1713
|
-
|
|
1833
|
+
we(e, u, d, i / 2, a / 2, 12);
|
|
1714
1834
|
break;
|
|
1715
1835
|
case "star4":
|
|
1716
1836
|
J(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
|
|
@@ -2294,8 +2414,8 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2294
2414
|
break;
|
|
2295
2415
|
}
|
|
2296
2416
|
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 +
|
|
2417
|
+
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);
|
|
2418
|
+
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
2419
|
break;
|
|
2300
2420
|
}
|
|
2301
2421
|
case "circulararrow": {
|
|
@@ -2393,7 +2513,7 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2393
2513
|
break;
|
|
2394
2514
|
}
|
|
2395
2515
|
}
|
|
2396
|
-
var
|
|
2516
|
+
var Ee = {
|
|
2397
2517
|
accentbordercallout1: {
|
|
2398
2518
|
adj: [
|
|
2399
2519
|
["adj1", "val 18750"],
|
|
@@ -24256,8 +24376,8 @@ var _e = {
|
|
|
24256
24376
|
]
|
|
24257
24377
|
}]
|
|
24258
24378
|
}
|
|
24259
|
-
}, X = 216e5,
|
|
24260
|
-
function
|
|
24379
|
+
}, X = 216e5, De = Math.PI * 2 / X;
|
|
24380
|
+
function Oe(e, t, n) {
|
|
24261
24381
|
let { w: r, h: i, adj: a } = e, o = Math.min(r, i), s = Math.max(r, i), c = Object.create(null);
|
|
24262
24382
|
Object.assign(c, {
|
|
24263
24383
|
w: r,
|
|
@@ -24346,10 +24466,10 @@ function ye(e, t, n) {
|
|
|
24346
24466
|
case "pin": return t[1] < t[0] ? t[0] : t[1] > t[2] ? t[2] : t[1];
|
|
24347
24467
|
case "sqrt": return Math.sqrt(Math.max(0, t[0]));
|
|
24348
24468
|
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]) /
|
|
24469
|
+
case "sin": return t[0] * Math.sin(t[1] * De);
|
|
24470
|
+
case "cos": return t[0] * Math.cos(t[1] * De);
|
|
24471
|
+
case "tan": return t[0] * Math.tan(t[1] * De);
|
|
24472
|
+
case "at2": return Math.atan2(t[1], t[0]) / De;
|
|
24353
24473
|
case "cat2": return t[0] * Math.cos(Math.atan2(t[2], t[1]));
|
|
24354
24474
|
case "sat2": return t[0] * Math.sin(Math.atan2(t[2], t[1]));
|
|
24355
24475
|
default: throw Error(`preset-shape: unknown operator "${e}" in "${n}"`);
|
|
@@ -24358,8 +24478,8 @@ function ye(e, t, n) {
|
|
|
24358
24478
|
}
|
|
24359
24479
|
//#endregion
|
|
24360
24480
|
//#region packages/core/src/shape/preset-geometry/path-executor.ts
|
|
24361
|
-
var
|
|
24362
|
-
function
|
|
24481
|
+
var ke = Math.PI * 2 / 216e5;
|
|
24482
|
+
function Ae(e, t, n, r, i, a, o) {
|
|
24363
24483
|
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
24484
|
for (let r of t.cmds) switch (r[0]) {
|
|
24365
24485
|
case "m": {
|
|
@@ -24383,7 +24503,7 @@ function xe(e, t, n, r, i, a, o) {
|
|
|
24383
24503
|
break;
|
|
24384
24504
|
}
|
|
24385
24505
|
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]) *
|
|
24506
|
+
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
24507
|
_ > 0 && v < 0 ? v += p : _ < 0 && v > 0 && (v -= p);
|
|
24388
24508
|
let y = h + v + g * p, b = d - a * Math.cos(h), x = f - o * Math.sin(h);
|
|
24389
24509
|
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 +24516,26 @@ function xe(e, t, n, r, i, a, o) {
|
|
|
24396
24516
|
}
|
|
24397
24517
|
//#endregion
|
|
24398
24518
|
//#region packages/core/src/shape/preset-geometry/index.ts
|
|
24399
|
-
var Z =
|
|
24400
|
-
function
|
|
24519
|
+
var Z = Ee;
|
|
24520
|
+
function je(e) {
|
|
24401
24521
|
return e.toLowerCase() in Z;
|
|
24402
24522
|
}
|
|
24403
|
-
function
|
|
24523
|
+
function Me(e, t, n, r, i, a, o = []) {
|
|
24404
24524
|
let s = Z[t.toLowerCase()];
|
|
24405
24525
|
if (!s) return !1;
|
|
24406
|
-
let c =
|
|
24526
|
+
let c = Oe({
|
|
24407
24527
|
w: i,
|
|
24408
24528
|
h: a,
|
|
24409
24529
|
adj: o
|
|
24410
24530
|
}, s.adj, s.gd);
|
|
24411
|
-
for (let t of s.paths)
|
|
24531
|
+
for (let t of s.paths) Ae(e, t, c, n, r, i, a);
|
|
24412
24532
|
return !0;
|
|
24413
24533
|
}
|
|
24414
|
-
var
|
|
24534
|
+
var Ne = {
|
|
24415
24535
|
wedgeroundrectcallout: "roundrect",
|
|
24416
24536
|
wedgeellipsecallout: "ellipse",
|
|
24417
24537
|
wedgerectcallout: null
|
|
24418
|
-
},
|
|
24538
|
+
}, Pe = {
|
|
24419
24539
|
adj: [],
|
|
24420
24540
|
gd: [],
|
|
24421
24541
|
paths: [{
|
|
@@ -24449,43 +24569,43 @@ var we = {
|
|
|
24449
24569
|
]
|
|
24450
24570
|
}]
|
|
24451
24571
|
};
|
|
24452
|
-
function
|
|
24572
|
+
function Fe(e, t, n) {
|
|
24453
24573
|
let r = e[n];
|
|
24454
24574
|
if (typeof r == "number") return r;
|
|
24455
24575
|
let i = t.adj[n];
|
|
24456
24576
|
return i && Number(i[1].replace(/^val\s+/, "")) || 0;
|
|
24457
24577
|
}
|
|
24458
|
-
function
|
|
24578
|
+
function Ie(e, t, n, r, i, a, o, s, c, l) {
|
|
24459
24579
|
let u = t.toLowerCase(), d = Z[u];
|
|
24460
24580
|
if (!d) return !1;
|
|
24461
|
-
if (u in
|
|
24462
|
-
let e =
|
|
24581
|
+
if (u in Ne) {
|
|
24582
|
+
let e = Fe(o, d, 0), t = Fe(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
|
|
24463
24583
|
if (n >= 0 && n <= i && r >= 0 && r <= a) {
|
|
24464
|
-
let e =
|
|
24465
|
-
e === "roundrect" ? (d = Z.roundrect, o = [
|
|
24584
|
+
let e = Ne[u];
|
|
24585
|
+
e === "roundrect" ? (d = Z.roundrect, o = [Fe(o, Z[u], 2)]) : e && Z[e] ? (d = Z[e], o = []) : (d = Pe, o = []);
|
|
24466
24586
|
}
|
|
24467
24587
|
}
|
|
24468
|
-
let f =
|
|
24588
|
+
let f = Oe({
|
|
24469
24589
|
w: i,
|
|
24470
24590
|
h: a,
|
|
24471
24591
|
adj: o
|
|
24472
24592
|
}, d.adj, d.gd), p = !1;
|
|
24473
24593
|
for (let t of d.paths) {
|
|
24474
|
-
e.beginPath(),
|
|
24594
|
+
e.beginPath(), Ae(e, t, f, n, r, i, a);
|
|
24475
24595
|
let o = t.fill;
|
|
24476
24596
|
if (o !== "none" && s != null) {
|
|
24477
24597
|
e.save(), e.fillStyle = s, e.fill();
|
|
24478
|
-
let t =
|
|
24598
|
+
let t = Re(o);
|
|
24479
24599
|
t && (e.fillStyle = t, e.fill()), e.restore(), p ||= (l(), !0);
|
|
24480
24600
|
}
|
|
24481
24601
|
t.stroke && c && c();
|
|
24482
24602
|
}
|
|
24483
24603
|
return !0;
|
|
24484
24604
|
}
|
|
24485
|
-
function
|
|
24605
|
+
function Le(e, t, n, r, i, a) {
|
|
24486
24606
|
let o = Z[e.toLowerCase()];
|
|
24487
24607
|
if (!o || o.paths.length === 0) return null;
|
|
24488
|
-
let s = o.paths[0], c =
|
|
24608
|
+
let s = o.paths[0], c = Oe({
|
|
24489
24609
|
w: r,
|
|
24490
24610
|
h: i,
|
|
24491
24611
|
adj: a
|
|
@@ -24519,7 +24639,7 @@ function Oe(e, t, n, r, i, a) {
|
|
|
24519
24639
|
}
|
|
24520
24640
|
};
|
|
24521
24641
|
}
|
|
24522
|
-
function
|
|
24642
|
+
function Re(e) {
|
|
24523
24643
|
switch (e) {
|
|
24524
24644
|
case "lighten": return "rgba(255,255,255,0.30)";
|
|
24525
24645
|
case "lightenLess": return "rgba(255,255,255,0.15)";
|
|
@@ -24530,10 +24650,10 @@ function ke(e) {
|
|
|
24530
24650
|
}
|
|
24531
24651
|
//#endregion
|
|
24532
24652
|
//#region packages/core/src/shape/effects.ts
|
|
24533
|
-
function
|
|
24653
|
+
function ze(e, t) {
|
|
24534
24654
|
return e * t;
|
|
24535
24655
|
}
|
|
24536
|
-
function
|
|
24656
|
+
function Be(e, t) {
|
|
24537
24657
|
let n = Math.max(1, Math.ceil(e)), r = Math.max(1, Math.ceil(t));
|
|
24538
24658
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
|
|
24539
24659
|
if (typeof document < "u") {
|
|
@@ -24542,29 +24662,29 @@ function je(e, t) {
|
|
|
24542
24662
|
}
|
|
24543
24663
|
return null;
|
|
24544
24664
|
}
|
|
24545
|
-
function
|
|
24665
|
+
function Ve(e) {
|
|
24546
24666
|
return e.getContext("2d") ?? null;
|
|
24547
24667
|
}
|
|
24548
|
-
function
|
|
24549
|
-
let s =
|
|
24668
|
+
function He(e, t, n, r, i, a, o) {
|
|
24669
|
+
let s = Be(a, o);
|
|
24550
24670
|
if (!s) return;
|
|
24551
|
-
let c =
|
|
24671
|
+
let c = Ve(s);
|
|
24552
24672
|
if (!c) return;
|
|
24553
|
-
let l =
|
|
24554
|
-
c.save(), c.fillStyle =
|
|
24673
|
+
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;
|
|
24674
|
+
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
24675
|
}
|
|
24556
|
-
function
|
|
24557
|
-
let c =
|
|
24676
|
+
function Ue(e, t, n, r, i, a, o, s) {
|
|
24677
|
+
let c = ze(r.radius, i);
|
|
24558
24678
|
if (c <= 0) {
|
|
24559
24679
|
t(e);
|
|
24560
24680
|
return;
|
|
24561
24681
|
}
|
|
24562
|
-
let l =
|
|
24682
|
+
let l = Be(a, o);
|
|
24563
24683
|
if (!l) {
|
|
24564
24684
|
t(e);
|
|
24565
24685
|
return;
|
|
24566
24686
|
}
|
|
24567
|
-
let u =
|
|
24687
|
+
let u = Ve(l);
|
|
24568
24688
|
if (!u) {
|
|
24569
24689
|
t(e);
|
|
24570
24690
|
return;
|
|
@@ -24572,24 +24692,24 @@ function Pe(e, t, n, r, i, a, o, s) {
|
|
|
24572
24692
|
let d = s ?? t;
|
|
24573
24693
|
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
24694
|
}
|
|
24575
|
-
function
|
|
24576
|
-
let s =
|
|
24695
|
+
function We(e, t, n, r, i, a, o) {
|
|
24696
|
+
let s = Be(a, o);
|
|
24577
24697
|
if (!s) return;
|
|
24578
|
-
let c =
|
|
24698
|
+
let c = Ve(s);
|
|
24579
24699
|
if (!c) return;
|
|
24580
|
-
let l =
|
|
24700
|
+
let l = ze(r.blur, i);
|
|
24581
24701
|
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 =
|
|
24702
|
+
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
24703
|
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 =
|
|
24704
|
+
let h = ze(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
|
|
24585
24705
|
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
24706
|
}
|
|
24587
|
-
function
|
|
24707
|
+
function Ge(e) {
|
|
24588
24708
|
return e < 0 ? 0 : e > 1 ? 1 : e;
|
|
24589
24709
|
}
|
|
24590
24710
|
//#endregion
|
|
24591
24711
|
//#region packages/core/src/shape/scene3d-camera.ts
|
|
24592
|
-
var
|
|
24712
|
+
var Ke = 26, qe = {
|
|
24593
24713
|
orthographicFront: {
|
|
24594
24714
|
kind: "orthographic",
|
|
24595
24715
|
baseLat: 0,
|
|
@@ -24602,52 +24722,52 @@ var Le = 26, Re = {
|
|
|
24602
24722
|
baseLat: 0,
|
|
24603
24723
|
baseLon: 0,
|
|
24604
24724
|
baseRev: 0,
|
|
24605
|
-
fovDeg:
|
|
24725
|
+
fovDeg: Ke
|
|
24606
24726
|
},
|
|
24607
24727
|
perspectiveRelaxed: {
|
|
24608
24728
|
kind: "perspective",
|
|
24609
24729
|
baseLat: 0,
|
|
24610
24730
|
baseLon: 0,
|
|
24611
24731
|
baseRev: 0,
|
|
24612
|
-
fovDeg:
|
|
24732
|
+
fovDeg: Ke
|
|
24613
24733
|
},
|
|
24614
24734
|
perspectiveRelaxedModerately: {
|
|
24615
24735
|
kind: "perspective",
|
|
24616
24736
|
baseLat: 0,
|
|
24617
24737
|
baseLon: 0,
|
|
24618
24738
|
baseRev: 0,
|
|
24619
|
-
fovDeg:
|
|
24739
|
+
fovDeg: Ke
|
|
24620
24740
|
},
|
|
24621
24741
|
perspectiveAbove: {
|
|
24622
24742
|
kind: "perspective",
|
|
24623
24743
|
baseLat: -20,
|
|
24624
24744
|
baseLon: 0,
|
|
24625
24745
|
baseRev: 0,
|
|
24626
|
-
fovDeg:
|
|
24746
|
+
fovDeg: Ke
|
|
24627
24747
|
},
|
|
24628
24748
|
perspectiveBelow: {
|
|
24629
24749
|
kind: "perspective",
|
|
24630
24750
|
baseLat: 20,
|
|
24631
24751
|
baseLon: 0,
|
|
24632
24752
|
baseRev: 0,
|
|
24633
|
-
fovDeg:
|
|
24753
|
+
fovDeg: Ke
|
|
24634
24754
|
},
|
|
24635
24755
|
perspectiveLeft: {
|
|
24636
24756
|
kind: "perspective",
|
|
24637
24757
|
baseLat: 0,
|
|
24638
24758
|
baseLon: -20,
|
|
24639
24759
|
baseRev: 0,
|
|
24640
|
-
fovDeg:
|
|
24760
|
+
fovDeg: Ke
|
|
24641
24761
|
},
|
|
24642
24762
|
perspectiveRight: {
|
|
24643
24763
|
kind: "perspective",
|
|
24644
24764
|
baseLat: 0,
|
|
24645
24765
|
baseLon: 20,
|
|
24646
24766
|
baseRev: 0,
|
|
24647
|
-
fovDeg:
|
|
24767
|
+
fovDeg: Ke
|
|
24648
24768
|
}
|
|
24649
24769
|
};
|
|
24650
|
-
function
|
|
24770
|
+
function Je(e, t) {
|
|
24651
24771
|
let n = Array(9).fill(0);
|
|
24652
24772
|
for (let r = 0; r < 3; r++) for (let i = 0; i < 3; i++) {
|
|
24653
24773
|
let a = 0;
|
|
@@ -24656,7 +24776,7 @@ function ze(e, t) {
|
|
|
24656
24776
|
}
|
|
24657
24777
|
return n;
|
|
24658
24778
|
}
|
|
24659
|
-
function
|
|
24779
|
+
function Ye(e) {
|
|
24660
24780
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
24661
24781
|
return [
|
|
24662
24782
|
1,
|
|
@@ -24670,7 +24790,7 @@ function Be(e) {
|
|
|
24670
24790
|
n
|
|
24671
24791
|
];
|
|
24672
24792
|
}
|
|
24673
|
-
function
|
|
24793
|
+
function Xe(e) {
|
|
24674
24794
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
24675
24795
|
return [
|
|
24676
24796
|
n,
|
|
@@ -24684,7 +24804,7 @@ function Ve(e) {
|
|
|
24684
24804
|
n
|
|
24685
24805
|
];
|
|
24686
24806
|
}
|
|
24687
|
-
function
|
|
24807
|
+
function Ze(e) {
|
|
24688
24808
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
24689
24809
|
return [
|
|
24690
24810
|
n,
|
|
@@ -24698,22 +24818,22 @@ function He(e) {
|
|
|
24698
24818
|
1
|
|
24699
24819
|
];
|
|
24700
24820
|
}
|
|
24701
|
-
function
|
|
24821
|
+
function Qe(e, t, n, r) {
|
|
24702
24822
|
return [
|
|
24703
24823
|
e[0] * t + e[1] * n + e[2] * r,
|
|
24704
24824
|
e[3] * t + e[4] * n + e[5] * r,
|
|
24705
24825
|
e[6] * t + e[7] * n + e[8] * r
|
|
24706
24826
|
];
|
|
24707
24827
|
}
|
|
24708
|
-
function
|
|
24828
|
+
function $e(e, t) {
|
|
24709
24829
|
let n = t ? t.lat : e.baseLat, r = t ? t.lon : e.baseLon;
|
|
24710
|
-
return
|
|
24830
|
+
return Je(Ze(-(t ? t.rev : e.baseRev)), Je(Ye(-n), Xe(-r)));
|
|
24711
24831
|
}
|
|
24712
|
-
function
|
|
24713
|
-
return
|
|
24832
|
+
function et(e) {
|
|
24833
|
+
return qe[e] ?? qe.orthographicFront;
|
|
24714
24834
|
}
|
|
24715
|
-
function
|
|
24716
|
-
let r =
|
|
24835
|
+
function tt(e, t, n) {
|
|
24836
|
+
let r = et(e.prst), i = $e(r, e.rot);
|
|
24717
24837
|
if (t <= 0 || n <= 0) return {
|
|
24718
24838
|
corners: [
|
|
24719
24839
|
{
|
|
@@ -24745,11 +24865,11 @@ function Ke(e, t, n) {
|
|
|
24745
24865
|
if (r.kind === "perspective") {
|
|
24746
24866
|
let t = e.fov ?? r.fovDeg, n = Math.max(1, Math.min(179, t)) * Math.PI / 180, a = l / Math.tan(n / 2);
|
|
24747
24867
|
u = s.map(([e, t]) => {
|
|
24748
|
-
let [n, r, o] =
|
|
24868
|
+
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
24869
|
return [n * c, r * c];
|
|
24750
24870
|
});
|
|
24751
24871
|
} else u = s.map(([e, t]) => {
|
|
24752
|
-
let [n, r] =
|
|
24872
|
+
let [n, r] = Qe(i, e, t, 0);
|
|
24753
24873
|
return [n, r];
|
|
24754
24874
|
});
|
|
24755
24875
|
u = u.map(([e, t]) => [e * c, t * c]);
|
|
@@ -24774,18 +24894,18 @@ function Ke(e, t, n) {
|
|
|
24774
24894
|
isIdentity: E
|
|
24775
24895
|
};
|
|
24776
24896
|
}
|
|
24777
|
-
function
|
|
24778
|
-
let { isIdentity: t } =
|
|
24897
|
+
function nt(e) {
|
|
24898
|
+
let { isIdentity: t } = tt(e, 1e3, 1e3);
|
|
24779
24899
|
return !t;
|
|
24780
24900
|
}
|
|
24781
|
-
function
|
|
24782
|
-
let i =
|
|
24901
|
+
function rt(e, t, n, r) {
|
|
24902
|
+
let i = et(e.prst), a = $e(i, e.rot);
|
|
24783
24903
|
if (t <= 0 || n <= 0 || r === 0) return {
|
|
24784
24904
|
x: 0,
|
|
24785
24905
|
y: 0
|
|
24786
24906
|
};
|
|
24787
24907
|
let o = t / 2, s = n / 2, c = Math.max(o, s), l = e.zoom ?? 1, u = (t) => {
|
|
24788
|
-
let [n, r, o] =
|
|
24908
|
+
let [n, r, o] = Qe(a, 0, 0, t);
|
|
24789
24909
|
if (i.kind === "perspective") {
|
|
24790
24910
|
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
24911
|
return [n * d * l, r * d * l];
|
|
@@ -24799,7 +24919,7 @@ function Je(e, t, n, r) {
|
|
|
24799
24919
|
}
|
|
24800
24920
|
//#endregion
|
|
24801
24921
|
//#region packages/core/src/shape/scene3d-draw.ts
|
|
24802
|
-
function
|
|
24922
|
+
function it(e, t, n, r) {
|
|
24803
24923
|
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
24924
|
if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
|
|
24805
24925
|
else {
|
|
@@ -24819,15 +24939,15 @@ function Ye(e, t, n, r) {
|
|
|
24819
24939
|
1
|
|
24820
24940
|
];
|
|
24821
24941
|
}
|
|
24822
|
-
function
|
|
24942
|
+
function at(e, t, n) {
|
|
24823
24943
|
let r = e[6] * t + e[7] * n + e[8];
|
|
24824
24944
|
return {
|
|
24825
24945
|
x: (e[0] * t + e[1] * n + e[2]) / r,
|
|
24826
24946
|
y: (e[3] * t + e[4] * n + e[5]) / r
|
|
24827
24947
|
};
|
|
24828
24948
|
}
|
|
24829
|
-
var
|
|
24830
|
-
function
|
|
24949
|
+
var ot = 1;
|
|
24950
|
+
function st(e, t) {
|
|
24831
24951
|
let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
|
|
24832
24952
|
return [
|
|
24833
24953
|
n * c + i * l,
|
|
@@ -24838,13 +24958,13 @@ function Qe(e, t) {
|
|
|
24838
24958
|
r * f + a * p + s
|
|
24839
24959
|
];
|
|
24840
24960
|
}
|
|
24841
|
-
function
|
|
24961
|
+
function ct(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
24842
24962
|
let p = c - o, m = l - s;
|
|
24843
24963
|
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 =
|
|
24964
|
+
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
24965
|
if (D <= 0 || O <= 0) return;
|
|
24846
24966
|
e.save();
|
|
24847
|
-
let [k, A, j, M, N, P] =
|
|
24967
|
+
let [k, A, j, M, N, P] = st(i, [
|
|
24848
24968
|
h,
|
|
24849
24969
|
g,
|
|
24850
24970
|
_,
|
|
@@ -24854,22 +24974,22 @@ function $e(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
|
24854
24974
|
]);
|
|
24855
24975
|
e.setTransform(k, A, j, M, N, P), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
|
|
24856
24976
|
}
|
|
24857
|
-
function
|
|
24858
|
-
let p =
|
|
24977
|
+
function lt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
24978
|
+
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
24979
|
x: (p.x + m.x + h.x + g.x) / 4,
|
|
24860
24980
|
y: (p.y + m.y + h.y + g.y) / 4
|
|
24861
|
-
}, x =
|
|
24981
|
+
}, x = dt(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
|
|
24862
24982
|
if (f <= 0 || S <= d) {
|
|
24863
|
-
|
|
24983
|
+
ct(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
|
|
24864
24984
|
return;
|
|
24865
24985
|
}
|
|
24866
|
-
l - s >= u - c ? (
|
|
24986
|
+
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
24987
|
}
|
|
24868
|
-
function
|
|
24988
|
+
function ut(e, t, n, r, i, a = .5) {
|
|
24869
24989
|
if (n <= 0 || r <= 0) return;
|
|
24870
24990
|
let [o, s, c, l] = i;
|
|
24871
24991
|
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 =
|
|
24992
|
+
let u = it(i[0], i[1], i[2], i[3]);
|
|
24873
24993
|
if (!u) return;
|
|
24874
24994
|
let d = t.getTransform(), f = [
|
|
24875
24995
|
d.a,
|
|
@@ -24878,14 +24998,14 @@ function tt(e, t, n, r, i, a = .5) {
|
|
|
24878
24998
|
d.d,
|
|
24879
24999
|
d.e,
|
|
24880
25000
|
d.f
|
|
24881
|
-
], p =
|
|
24882
|
-
|
|
25001
|
+
], p = dt(f);
|
|
25002
|
+
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
25003
|
}
|
|
24884
|
-
function
|
|
25004
|
+
function dt(e) {
|
|
24885
25005
|
return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
|
|
24886
25006
|
}
|
|
24887
|
-
function
|
|
24888
|
-
let r =
|
|
25007
|
+
function ft(e, t, n) {
|
|
25008
|
+
let r = it(e[0], e[1], e[2], e[3]);
|
|
24889
25009
|
if (!r) return null;
|
|
24890
25010
|
let i = [
|
|
24891
25011
|
[-t, -n],
|
|
@@ -24895,16 +25015,16 @@ function rt(e, t, n) {
|
|
|
24895
25015
|
], a = [];
|
|
24896
25016
|
for (let [e, t] of i) {
|
|
24897
25017
|
if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
|
|
24898
|
-
a.push(
|
|
25018
|
+
a.push(at(r, e, t));
|
|
24899
25019
|
}
|
|
24900
25020
|
return a;
|
|
24901
25021
|
}
|
|
24902
|
-
var
|
|
24903
|
-
function
|
|
24904
|
-
|
|
25022
|
+
var pt = !1;
|
|
25023
|
+
function mt() {
|
|
25024
|
+
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
25025
|
}
|
|
24906
|
-
var
|
|
24907
|
-
function
|
|
25026
|
+
var ht = 2;
|
|
25027
|
+
function gt(e, t, n, r, i, a, o, s, c, l) {
|
|
24908
25028
|
let u = i.map((e) => ({
|
|
24909
25029
|
x: a[0] * e.x + a[2] * e.y + a[4],
|
|
24910
25030
|
y: a[1] * e.x + a[3] * e.y + a[5]
|
|
@@ -24913,11 +25033,11 @@ function st(e, t, n, r, i, a, o, s, c, l) {
|
|
|
24913
25033
|
d = Math.floor(d) - 1, f = Math.floor(f) - 1, p = Math.ceil(p) + 1, m = Math.ceil(m) + 1;
|
|
24914
25034
|
let h = p - d, g = m - f;
|
|
24915
25035
|
if (h <= 0 || g <= 0) return !1;
|
|
24916
|
-
let _ = Math.max(1, Math.ceil(h *
|
|
25036
|
+
let _ = Math.max(1, Math.ceil(h * ht)), v = Math.max(1, Math.ceil(g * ht)), y = Be(_, v);
|
|
24917
25037
|
if (!y || y.width !== _ || y.height !== v) return !1;
|
|
24918
25038
|
let b = y.getContext("2d") ?? null;
|
|
24919
25039
|
if (!b) return !1;
|
|
24920
|
-
let x =
|
|
25040
|
+
let x = ht, S = [
|
|
24921
25041
|
a[0] * x,
|
|
24922
25042
|
a[1] * x,
|
|
24923
25043
|
a[2] * x,
|
|
@@ -24925,18 +25045,18 @@ function st(e, t, n, r, i, a, o, s, c, l) {
|
|
|
24925
25045
|
(a[4] - d) * x,
|
|
24926
25046
|
(a[5] - f) * x
|
|
24927
25047
|
];
|
|
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(),
|
|
25048
|
+
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
25049
|
let C = t.imageSmoothingEnabled, w = t.imageSmoothingQuality;
|
|
24930
25050
|
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
25051
|
}
|
|
24932
25052
|
//#endregion
|
|
24933
25053
|
//#region packages/core/src/shape/bevel-shading.ts
|
|
24934
|
-
function
|
|
25054
|
+
function _t(e, t) {
|
|
24935
25055
|
if (t <= 0) return () => 1;
|
|
24936
25056
|
let n = (e) => Math.max(0, Math.min(1, e / t));
|
|
24937
25057
|
switch (e) {
|
|
24938
25058
|
case "hardEdge": {
|
|
24939
|
-
let e =
|
|
25059
|
+
let e = Tt;
|
|
24940
25060
|
return (t) => {
|
|
24941
25061
|
let r = Math.min(1, n(t) / e);
|
|
24942
25062
|
return r * r * (3 - 2 * r);
|
|
@@ -24956,7 +25076,7 @@ function ct(e, t) {
|
|
|
24956
25076
|
};
|
|
24957
25077
|
}
|
|
24958
25078
|
}
|
|
24959
|
-
function
|
|
25079
|
+
function vt(e) {
|
|
24960
25080
|
let t = e.length, n = new Float64Array(t);
|
|
24961
25081
|
if (t === 0) return n;
|
|
24962
25082
|
let r = new Int32Array(t), i = new Float64Array(t + 1), a = 0;
|
|
@@ -24974,7 +25094,7 @@ function lt(e) {
|
|
|
24974
25094
|
}
|
|
24975
25095
|
return n;
|
|
24976
25096
|
}
|
|
24977
|
-
function
|
|
25097
|
+
function yt(e, t = 3) {
|
|
24978
25098
|
if (e <= 0) return Array(t).fill(1);
|
|
24979
25099
|
let n = Math.sqrt(12 * e * e / t + 1), r = Math.floor(n);
|
|
24980
25100
|
r % 2 == 0 && r--;
|
|
@@ -24982,7 +25102,7 @@ function ut(e, t = 3) {
|
|
|
24982
25102
|
for (let e = 0; e < t; e++) s.push(e < o ? r : i);
|
|
24983
25103
|
return s;
|
|
24984
25104
|
}
|
|
24985
|
-
function
|
|
25105
|
+
function bt(e, t, n, r, i, a) {
|
|
24986
25106
|
let o = 1 / (2 * i + 1);
|
|
24987
25107
|
if (a) for (let a = 0; a < r; a++) {
|
|
24988
25108
|
let r = a * n, s = 0;
|
|
@@ -25003,29 +25123,29 @@ function dt(e, t, n, r, i, a) {
|
|
|
25003
25123
|
}
|
|
25004
25124
|
}
|
|
25005
25125
|
}
|
|
25006
|
-
function
|
|
25126
|
+
function xt(e, t, n, r) {
|
|
25007
25127
|
let i = Float64Array.from(e);
|
|
25008
25128
|
if (r <= 0 || t <= 0 || n <= 0) return i;
|
|
25009
25129
|
let a = new Float64Array(t * n);
|
|
25010
|
-
for (let e of
|
|
25130
|
+
for (let e of yt(r, 3)) {
|
|
25011
25131
|
let r = Math.max(1, (e - 1) / 2);
|
|
25012
|
-
|
|
25132
|
+
bt(i, a, t, n, r, !0), bt(a, i, t, n, r, !1);
|
|
25013
25133
|
}
|
|
25014
25134
|
return i;
|
|
25015
25135
|
}
|
|
25016
|
-
function
|
|
25136
|
+
function St(e, t, n, r = 128) {
|
|
25017
25137
|
let i = new Float64Array(t * n);
|
|
25018
25138
|
for (let a = 0; a < t * n; a++) i[a] = (e[a] ?? 0) >= r ? 0x56bc75e2d63100000 : 0;
|
|
25019
25139
|
let a = new Float64Array(n);
|
|
25020
25140
|
for (let e = 0; e < t; e++) {
|
|
25021
25141
|
for (let r = 0; r < n; r++) a[r] = i[r * t + e];
|
|
25022
|
-
let r =
|
|
25142
|
+
let r = vt(a);
|
|
25023
25143
|
for (let a = 0; a < n; a++) i[a * t + e] = r[a];
|
|
25024
25144
|
}
|
|
25025
25145
|
let o = new Float64Array(t);
|
|
25026
25146
|
for (let e = 0; e < n; e++) {
|
|
25027
25147
|
for (let n = 0; n < t; n++) o[n] = i[e * t + n];
|
|
25028
|
-
let n =
|
|
25148
|
+
let n = vt(o);
|
|
25029
25149
|
for (let r = 0; r < t; r++) i[e * t + r] = n[r];
|
|
25030
25150
|
}
|
|
25031
25151
|
for (let e = 0; e < n; e++) for (let r = 0; r < t; r++) {
|
|
@@ -25037,15 +25157,15 @@ function pt(e, t, n, r = 128) {
|
|
|
25037
25157
|
for (let e = 0; e < t * n; e++) i[e] = Math.sqrt(i[e]);
|
|
25038
25158
|
return i;
|
|
25039
25159
|
}
|
|
25040
|
-
var
|
|
25041
|
-
function
|
|
25160
|
+
var Ct = .25, wt = .35, Tt = .5;
|
|
25161
|
+
function Et(e, t, n, r, i, a) {
|
|
25042
25162
|
let o = new Float32Array(t * n * 3), s = new Uint8Array(t * n), c = new Float32Array(t * n);
|
|
25043
25163
|
if (t <= 0 || n <= 0) return {
|
|
25044
25164
|
normals: o,
|
|
25045
25165
|
bandMask: s,
|
|
25046
25166
|
bandWeight: c
|
|
25047
25167
|
};
|
|
25048
|
-
let l =
|
|
25168
|
+
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
25169
|
let t = u(Math.max(0, e - .5));
|
|
25050
25170
|
return u(e + .5) - t;
|
|
25051
25171
|
};
|
|
@@ -25060,9 +25180,9 @@ function _t(e, t, n, r, i, a) {
|
|
|
25060
25180
|
o[a * 3 + 2] = 1;
|
|
25061
25181
|
continue;
|
|
25062
25182
|
}
|
|
25063
|
-
let g = u / r, _ = 1 -
|
|
25183
|
+
let g = u / r, _ = 1 - wt, v = 1;
|
|
25064
25184
|
if (g > _) {
|
|
25065
|
-
let e = Math.min(1, (g - _) /
|
|
25185
|
+
let e = Math.min(1, (g - _) / wt);
|
|
25066
25186
|
v = 1 - e * e * (3 - 2 * e);
|
|
25067
25187
|
}
|
|
25068
25188
|
c[a] = v;
|
|
@@ -25077,7 +25197,7 @@ function _t(e, t, n, r, i, a) {
|
|
|
25077
25197
|
bandWeight: c
|
|
25078
25198
|
};
|
|
25079
25199
|
}
|
|
25080
|
-
var
|
|
25200
|
+
var Dt = 35 * Math.PI / 180, Ot = 12 * Math.PI / 180, kt = {
|
|
25081
25201
|
t: {
|
|
25082
25202
|
x: 0,
|
|
25083
25203
|
y: -1
|
|
@@ -25111,22 +25231,22 @@ var vt = 35 * Math.PI / 180, yt = 12 * Math.PI / 180, bt = {
|
|
|
25111
25231
|
y: 1
|
|
25112
25232
|
}
|
|
25113
25233
|
};
|
|
25114
|
-
function
|
|
25234
|
+
function At(e, t, n) {
|
|
25115
25235
|
let r = n * Math.PI / 180, i = Math.cos(r), a = Math.sin(r);
|
|
25116
25236
|
return {
|
|
25117
25237
|
x: e * i - t * a,
|
|
25118
25238
|
y: e * a + t * i
|
|
25119
25239
|
};
|
|
25120
25240
|
}
|
|
25121
|
-
function
|
|
25122
|
-
let r =
|
|
25123
|
-
return n && n.rev && (r =
|
|
25241
|
+
function jt(e, t, n) {
|
|
25242
|
+
let r = kt[t] ?? kt.t;
|
|
25243
|
+
return n && n.rev && (r = At(r.x, r.y, n.rev)), Nt(r.x, r.y, Dt);
|
|
25124
25244
|
}
|
|
25125
|
-
function
|
|
25245
|
+
function Mt(e) {
|
|
25126
25246
|
let t = Math.hypot(e.x, e.y) || 1;
|
|
25127
|
-
return
|
|
25247
|
+
return Nt(-e.x / t, -e.y / t, Ot);
|
|
25128
25248
|
}
|
|
25129
|
-
function
|
|
25249
|
+
function Nt(e, t, n) {
|
|
25130
25250
|
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
25251
|
return {
|
|
25132
25252
|
x: o / l,
|
|
@@ -25134,7 +25254,7 @@ function wt(e, t, n) {
|
|
|
25134
25254
|
z: c / l
|
|
25135
25255
|
};
|
|
25136
25256
|
}
|
|
25137
|
-
var
|
|
25257
|
+
var Pt = 2, Ft = {
|
|
25138
25258
|
matte: {
|
|
25139
25259
|
ambient: .62,
|
|
25140
25260
|
diffuse: .45,
|
|
@@ -25147,8 +25267,8 @@ var Tt = 2, Et = {
|
|
|
25147
25267
|
specular: .35,
|
|
25148
25268
|
shininess: 22
|
|
25149
25269
|
}
|
|
25150
|
-
},
|
|
25151
|
-
function
|
|
25270
|
+
}, It = .8;
|
|
25271
|
+
function Lt(e) {
|
|
25152
25272
|
switch (e) {
|
|
25153
25273
|
case "plastic":
|
|
25154
25274
|
case "metal":
|
|
@@ -25159,8 +25279,8 @@ function Ot(e) {
|
|
|
25159
25279
|
default: return "matte";
|
|
25160
25280
|
}
|
|
25161
25281
|
}
|
|
25162
|
-
function
|
|
25163
|
-
let r =
|
|
25282
|
+
function Rt(e, t, n = !0) {
|
|
25283
|
+
let r = Ft[e], i = {
|
|
25164
25284
|
light: t,
|
|
25165
25285
|
material: e,
|
|
25166
25286
|
ambient: r.ambient,
|
|
@@ -25168,9 +25288,9 @@ function kt(e, t, n = !0) {
|
|
|
25168
25288
|
specular: r.specular,
|
|
25169
25289
|
shininess: r.shininess
|
|
25170
25290
|
};
|
|
25171
|
-
return n && (i.fillLight =
|
|
25291
|
+
return n && (i.fillLight = Mt(t), i.fillDiffuse = i.diffuse * It), i;
|
|
25172
25292
|
}
|
|
25173
|
-
function
|
|
25293
|
+
function zt(e, t) {
|
|
25174
25294
|
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
25295
|
if (t.fillLight && t.fillDiffuse) {
|
|
25176
25296
|
let n = e.x * t.fillLight.x + e.y * t.fillLight.y + e.z * t.fillLight.z;
|
|
@@ -25183,14 +25303,14 @@ function At(e, t) {
|
|
|
25183
25303
|
}
|
|
25184
25304
|
return Math.max(0, t.ambient + r + i + a);
|
|
25185
25305
|
}
|
|
25186
|
-
function
|
|
25306
|
+
function Bt(e, t) {
|
|
25187
25307
|
let n = e.canvas.width, r = e.canvas.height;
|
|
25188
25308
|
if (n <= 0 || r <= 0) return;
|
|
25189
25309
|
let i = t.widthPx;
|
|
25190
25310
|
if (i < .75) return;
|
|
25191
25311
|
let a = e.getImageData(0, 0, n, r), o = a.data, s = new Uint8ClampedArray(n * r);
|
|
25192
25312
|
for (let e = 0; e < n * r; e++) s[e] = o[e * 4 + 3];
|
|
25193
|
-
let { bandMask: c, bandWeight: l, normals: u } =
|
|
25313
|
+
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
25314
|
x: 0,
|
|
25195
25315
|
y: 0,
|
|
25196
25316
|
z: 1
|
|
@@ -25201,13 +25321,13 @@ function jt(e, t) {
|
|
|
25201
25321
|
if (n <= 0) continue;
|
|
25202
25322
|
let r = u[e * 3], i = u[e * 3 + 1], a = u[e * 3 + 2];
|
|
25203
25323
|
t.bottom && (r = -r, i = -i);
|
|
25204
|
-
let s = 1 + (
|
|
25324
|
+
let s = 1 + (zt({
|
|
25205
25325
|
x: r,
|
|
25206
25326
|
y: i,
|
|
25207
25327
|
z: a
|
|
25208
25328
|
}, d) / f - 1) * n, p = e * 4;
|
|
25209
25329
|
if (s >= 1) {
|
|
25210
|
-
let e = Math.min(1, (s - 1) *
|
|
25330
|
+
let e = Math.min(1, (s - 1) * Pt);
|
|
25211
25331
|
for (let t = 0; t < 3; t++) {
|
|
25212
25332
|
let n = Math.min(255, o[p + t] * s);
|
|
25213
25333
|
o[p + t] = n + (255 - n) * e;
|
|
@@ -25216,7 +25336,7 @@ function jt(e, t) {
|
|
|
25216
25336
|
}
|
|
25217
25337
|
e.putImageData(a, 0, 0);
|
|
25218
25338
|
}
|
|
25219
|
-
function
|
|
25339
|
+
function Vt(e, t) {
|
|
25220
25340
|
let n = e.canvas.width, r = e.canvas.height;
|
|
25221
25341
|
if (n <= 0 || r <= 0) return;
|
|
25222
25342
|
let i = t.offsetX, a = t.offsetY, o = Math.hypot(i, a);
|
|
@@ -25243,7 +25363,7 @@ function Mt(e, t) {
|
|
|
25243
25363
|
}
|
|
25244
25364
|
//#endregion
|
|
25245
25365
|
//#region packages/core/src/sparkline/renderer.ts
|
|
25246
|
-
function
|
|
25366
|
+
function Ht(e, t, n) {
|
|
25247
25367
|
let { values: r } = n;
|
|
25248
25368
|
if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
|
|
25249
25369
|
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 +25372,11 @@ function Nt(e, t, n) {
|
|
|
25252
25372
|
m === h && (h = m + 1, --m);
|
|
25253
25373
|
let g = h - m, _ = (e) => c + u - (e - m) / g * u;
|
|
25254
25374
|
if (n.kind === "stem") {
|
|
25255
|
-
|
|
25375
|
+
Gt(e, n, s, c, l, u);
|
|
25256
25376
|
return;
|
|
25257
25377
|
}
|
|
25258
25378
|
if (n.kind === "column") {
|
|
25259
|
-
|
|
25379
|
+
Wt(e, n, r, s, c, l, u, m, h);
|
|
25260
25380
|
return;
|
|
25261
25381
|
}
|
|
25262
25382
|
if (n.displayXAxis && m < 0 && h > 0) {
|
|
@@ -25265,7 +25385,7 @@ function Nt(e, t, n) {
|
|
|
25265
25385
|
e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
|
|
25266
25386
|
}
|
|
25267
25387
|
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) *
|
|
25388
|
+
e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * L, e.beginPath();
|
|
25269
25389
|
let b = !1, x = n.displayEmptyCellsAs ?? "gap";
|
|
25270
25390
|
for (let t = 0; t < v; t++) {
|
|
25271
25391
|
let n = r[t];
|
|
@@ -25280,7 +25400,7 @@ function Nt(e, t, n) {
|
|
|
25280
25400
|
b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
|
|
25281
25401
|
}
|
|
25282
25402
|
e.stroke(), e.restore();
|
|
25283
|
-
let S = Math.max(1, Math.min(2.5, u * .12)), C =
|
|
25403
|
+
let S = Math.max(1, Math.min(2.5, u * .12)), C = Ut(r, n);
|
|
25284
25404
|
for (let t = 0; t < v; t++) {
|
|
25285
25405
|
let a = r[t];
|
|
25286
25406
|
if (a == null) continue;
|
|
@@ -25288,7 +25408,7 @@ function Nt(e, t, n) {
|
|
|
25288
25408
|
(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
25409
|
}
|
|
25290
25410
|
}
|
|
25291
|
-
function
|
|
25411
|
+
function Ut(e, t) {
|
|
25292
25412
|
let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
|
|
25293
25413
|
for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
|
|
25294
25414
|
a = e;
|
|
@@ -25303,10 +25423,10 @@ function Pt(e, t) {
|
|
|
25303
25423
|
if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
|
|
25304
25424
|
return n;
|
|
25305
25425
|
}
|
|
25306
|
-
function
|
|
25426
|
+
function Wt(e, t, n, r, i, a, o, s, c) {
|
|
25307
25427
|
let l = n.length;
|
|
25308
25428
|
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 =
|
|
25429
|
+
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
25430
|
for (let i = 0; i < l; i++) {
|
|
25311
25431
|
let a = n[i];
|
|
25312
25432
|
if (a == null) continue;
|
|
@@ -25314,10 +25434,10 @@ function Ft(e, t, n, r, i, a, o, s, c) {
|
|
|
25314
25434
|
e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
|
|
25315
25435
|
}
|
|
25316
25436
|
}
|
|
25317
|
-
function
|
|
25437
|
+
function Gt(e, t, n, r, i, a) {
|
|
25318
25438
|
let o = t.values.length;
|
|
25319
25439
|
if (o === 0) return;
|
|
25320
|
-
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d =
|
|
25440
|
+
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = Ut(t.values, t);
|
|
25321
25441
|
for (let r = 0; r < o; r++) {
|
|
25322
25442
|
let i = t.values[r];
|
|
25323
25443
|
if (i == null || i === 0) continue;
|
|
@@ -25327,13 +25447,13 @@ function It(e, t, n, r, i, a) {
|
|
|
25327
25447
|
}
|
|
25328
25448
|
//#endregion
|
|
25329
25449
|
//#region packages/core/src/math/mathml.ts
|
|
25330
|
-
var
|
|
25450
|
+
var Kt = {
|
|
25331
25451
|
"&": "&",
|
|
25332
25452
|
"<": "<",
|
|
25333
25453
|
">": ">",
|
|
25334
25454
|
"\"": """
|
|
25335
|
-
}, Q = (e) => e.replace(/[&<>"]/g, (e) =>
|
|
25336
|
-
function
|
|
25455
|
+
}, Q = (e) => e.replace(/[&<>"]/g, (e) => Kt[e]);
|
|
25456
|
+
function qt(e) {
|
|
25337
25457
|
switch (e) {
|
|
25338
25458
|
case "roman": return "normal";
|
|
25339
25459
|
case "bold": return "bold";
|
|
@@ -25341,9 +25461,9 @@ function Rt(e) {
|
|
|
25341
25461
|
case "italic": return null;
|
|
25342
25462
|
}
|
|
25343
25463
|
}
|
|
25344
|
-
var
|
|
25345
|
-
function
|
|
25346
|
-
let n =
|
|
25464
|
+
var Jt = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), Yt = "+−±∓×÷·∗⋅∘∙*/", Xt = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", Zt = "([{⟨⌈⌊", Qt = ")]}⟩⌉⌋", $t = ",;";
|
|
25465
|
+
function en(e, t) {
|
|
25466
|
+
let n = qt(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
|
|
25347
25467
|
a &&= (i += `<mn${r}>${Q(a)}</mn>`, "");
|
|
25348
25468
|
};
|
|
25349
25469
|
for (let t of e) {
|
|
@@ -25355,42 +25475,42 @@ function Gt(e, t) {
|
|
|
25355
25475
|
a += t;
|
|
25356
25476
|
continue;
|
|
25357
25477
|
}
|
|
25358
|
-
o(),
|
|
25478
|
+
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
25479
|
}
|
|
25360
25480
|
return o(), i;
|
|
25361
25481
|
}
|
|
25362
|
-
function
|
|
25363
|
-
return e.map(
|
|
25482
|
+
function tn(e) {
|
|
25483
|
+
return e.map(nn).join("");
|
|
25364
25484
|
}
|
|
25365
25485
|
function $(e) {
|
|
25366
|
-
return `<mrow>${
|
|
25486
|
+
return `<mrow>${tn(e)}</mrow>`;
|
|
25367
25487
|
}
|
|
25368
|
-
function
|
|
25488
|
+
function nn(e) {
|
|
25369
25489
|
switch (e.kind) {
|
|
25370
|
-
case "run": return
|
|
25490
|
+
case "run": return en(e.text, e.style);
|
|
25371
25491
|
case "group": return $(e.items);
|
|
25372
25492
|
case "fraction": return `<mfrac${e.bar === !1 ? " linethickness=\"0\"" : ""}>${$(e.num)}${$(e.den)}</mfrac>`;
|
|
25373
25493
|
case "sup": return `<msup>${$(e.base)}${$(e.sup ?? [])}</msup>`;
|
|
25374
25494
|
case "sub": return `<msub>${$(e.base)}${$(e.sub ?? [])}</msub>`;
|
|
25375
25495
|
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
|
|
25496
|
+
case "nary": return un(e);
|
|
25497
|
+
case "delimiter": return dn(e);
|
|
25498
|
+
case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${tn(e.radicand)}</msqrt>`;
|
|
25499
|
+
case "limit": return sn(e);
|
|
25500
|
+
case "array": return cn(e);
|
|
25381
25501
|
case "groupChr": {
|
|
25382
|
-
let t = $(e.base), n =
|
|
25502
|
+
let t = $(e.base), n = Jt.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${Q(e.char)}</mo>`;
|
|
25383
25503
|
return n ? `<${r}>${t}${i}</${r}>` : `<${r} accent="true">${t}${i}</${r}>`;
|
|
25384
25504
|
}
|
|
25385
25505
|
case "bar": {
|
|
25386
25506
|
let t = $(e.base), n = "<mo stretchy=\"true\">―</mo>";
|
|
25387
25507
|
return e.pos === "bot" ? `<munder>${t}${n}</munder>` : `<mover>${t}${n}</mover>`;
|
|
25388
25508
|
}
|
|
25389
|
-
case "accent": return
|
|
25509
|
+
case "accent": return on(e);
|
|
25390
25510
|
case "func": return `<mrow>${$(e.name)}<mo>⁡</mo>${$(e.arg)}</mrow>`;
|
|
25391
25511
|
}
|
|
25392
25512
|
}
|
|
25393
|
-
var
|
|
25513
|
+
var rn = {
|
|
25394
25514
|
"̀": "`",
|
|
25395
25515
|
"́": "´",
|
|
25396
25516
|
"̂": "^",
|
|
@@ -25401,7 +25521,7 @@ var Jt = {
|
|
|
25401
25521
|
"̌": "ˇ",
|
|
25402
25522
|
"⃗": "→",
|
|
25403
25523
|
"⃖": "←"
|
|
25404
|
-
},
|
|
25524
|
+
}, an = new Set([
|
|
25405
25525
|
"̅",
|
|
25406
25526
|
"̄",
|
|
25407
25527
|
"¯",
|
|
@@ -25409,37 +25529,45 @@ var Jt = {
|
|
|
25409
25529
|
"̲",
|
|
25410
25530
|
"̳"
|
|
25411
25531
|
]);
|
|
25412
|
-
function
|
|
25532
|
+
function on(e) {
|
|
25413
25533
|
let t = $(e.base);
|
|
25414
|
-
if (
|
|
25415
|
-
let n =
|
|
25534
|
+
if (an.has(e.char)) return `<mover>${t}<mo stretchy="true">―</mo></mover>`;
|
|
25535
|
+
let n = rn[e.char] ?? e.char;
|
|
25416
25536
|
return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${Q(n)}</mo></mover>`;
|
|
25417
25537
|
}
|
|
25418
|
-
function
|
|
25538
|
+
function sn(e) {
|
|
25419
25539
|
let t = $(e.base), n = e.lower && e.lower.length ? $(e.lower) : null, r = e.upper && e.upper.length ? $(e.upper) : null;
|
|
25420
25540
|
return n && r ? `<munderover>${t}${n}${r}</munderover>` : n ? `<munder>${t}${n}</munder>` : r ? `<mover>${t}${r}</mover>` : t;
|
|
25421
25541
|
}
|
|
25422
|
-
function
|
|
25542
|
+
function cn(e) {
|
|
25423
25543
|
let t = Math.max(1, ...e.rows.map((e) => e.length)), n;
|
|
25424
25544
|
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>${
|
|
25545
|
+
let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${tn(e)}</mtd>`).join("")}</mtr>`).join("");
|
|
25426
25546
|
return `<mtable columnalign="${n}" rowspacing="0.2em" columnspacing="0.3em">${r}</mtable>`;
|
|
25427
25547
|
}
|
|
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}${
|
|
25548
|
+
var ln = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
|
|
25549
|
+
function un(e) {
|
|
25550
|
+
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;
|
|
25551
|
+
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
25552
|
}
|
|
25433
|
-
function
|
|
25553
|
+
function dn(e) {
|
|
25434
25554
|
let t = (e) => `<mo fence="true" stretchy="true">${Q(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
|
|
25435
25555
|
return `<mrow>${t(e.begChar)}${n}${t(e.endChar)}</mrow>`;
|
|
25436
25556
|
}
|
|
25437
|
-
function
|
|
25438
|
-
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${
|
|
25557
|
+
function fn(e, t) {
|
|
25558
|
+
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${tn(e)}</math>`;
|
|
25559
|
+
}
|
|
25560
|
+
//#endregion
|
|
25561
|
+
//#region packages/core/src/canvas/env.ts
|
|
25562
|
+
function pn(e) {
|
|
25563
|
+
return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
|
|
25564
|
+
}
|
|
25565
|
+
function mn(e = 1) {
|
|
25566
|
+
return typeof window < "u" && window.devicePixelRatio || e;
|
|
25439
25567
|
}
|
|
25440
25568
|
//#endregion
|
|
25441
25569
|
//#region packages/core/src/worker/bridge.ts
|
|
25442
|
-
var
|
|
25570
|
+
var hn = class {
|
|
25443
25571
|
_worker;
|
|
25444
25572
|
_opts;
|
|
25445
25573
|
_pending = /* @__PURE__ */ new Map();
|
|
@@ -25479,7 +25607,7 @@ var rn = class {
|
|
|
25479
25607
|
for (let e of this._pending.values()) e.reject(/* @__PURE__ */ Error("Worker terminated"));
|
|
25480
25608
|
this._pending.clear();
|
|
25481
25609
|
}
|
|
25482
|
-
},
|
|
25610
|
+
}, gn = [
|
|
25483
25611
|
"L",
|
|
25484
25612
|
"R",
|
|
25485
25613
|
"AL",
|
|
@@ -25503,7 +25631,7 @@ var rn = class {
|
|
|
25503
25631
|
"RLI",
|
|
25504
25632
|
"FSI",
|
|
25505
25633
|
"PDI"
|
|
25506
|
-
],
|
|
25634
|
+
], _n = [
|
|
25507
25635
|
0,
|
|
25508
25636
|
9,
|
|
25509
25637
|
10,
|
|
@@ -26771,7 +26899,7 @@ var rn = class {
|
|
|
26771
26899
|
1048574,
|
|
26772
26900
|
1048576,
|
|
26773
26901
|
1114110
|
|
26774
|
-
],
|
|
26902
|
+
], vn = [
|
|
26775
26903
|
9,
|
|
26776
26904
|
11,
|
|
26777
26905
|
10,
|
|
@@ -28039,7 +28167,7 @@ var rn = class {
|
|
|
28039
28167
|
9,
|
|
28040
28168
|
0,
|
|
28041
28169
|
9
|
|
28042
|
-
],
|
|
28170
|
+
], yn = [
|
|
28043
28171
|
40,
|
|
28044
28172
|
41,
|
|
28045
28173
|
41,
|
|
@@ -28896,7 +29024,7 @@ var rn = class {
|
|
|
28896
29024
|
65379,
|
|
28897
29025
|
65379,
|
|
28898
29026
|
65378
|
|
28899
|
-
],
|
|
29027
|
+
], bn = [
|
|
28900
29028
|
40,
|
|
28901
29029
|
41,
|
|
28902
29030
|
0,
|
|
@@ -29284,42 +29412,42 @@ var rn = class {
|
|
|
29284
29412
|
];
|
|
29285
29413
|
//#endregion
|
|
29286
29414
|
//#region packages/core/src/text/bidi/char-data.ts
|
|
29287
|
-
function
|
|
29288
|
-
let t = 0, n =
|
|
29415
|
+
function xn(e) {
|
|
29416
|
+
let t = 0, n = _n.length - 1;
|
|
29289
29417
|
for (; t < n;) {
|
|
29290
29418
|
let r = t + n + 1 >> 1;
|
|
29291
|
-
|
|
29419
|
+
_n[r] <= e ? t = r : n = r - 1;
|
|
29292
29420
|
}
|
|
29293
|
-
return
|
|
29421
|
+
return vn[t];
|
|
29294
29422
|
}
|
|
29295
|
-
function
|
|
29296
|
-
return
|
|
29423
|
+
function Sn(e) {
|
|
29424
|
+
return gn[xn(e)];
|
|
29297
29425
|
}
|
|
29298
|
-
var
|
|
29426
|
+
var Cn = (() => {
|
|
29299
29427
|
let e = /* @__PURE__ */ new Map();
|
|
29300
|
-
for (let t = 0; t <
|
|
29428
|
+
for (let t = 0; t < yn.length; t += 2) e.set(yn[t], yn[t + 1]);
|
|
29301
29429
|
return e;
|
|
29302
29430
|
})();
|
|
29303
|
-
function
|
|
29304
|
-
return
|
|
29431
|
+
function wn(e) {
|
|
29432
|
+
return Cn.get(e) ?? null;
|
|
29305
29433
|
}
|
|
29306
|
-
var
|
|
29434
|
+
var Tn = (() => {
|
|
29307
29435
|
let e = /* @__PURE__ */ new Map();
|
|
29308
|
-
for (let t = 0; t <
|
|
29309
|
-
pair:
|
|
29310
|
-
type:
|
|
29436
|
+
for (let t = 0; t < bn.length; t += 3) e.set(bn[t], {
|
|
29437
|
+
pair: bn[t + 1],
|
|
29438
|
+
type: bn[t + 2] === 0 ? "o" : "c"
|
|
29311
29439
|
});
|
|
29312
29440
|
return e;
|
|
29313
29441
|
})();
|
|
29314
|
-
function
|
|
29315
|
-
return
|
|
29442
|
+
function En(e) {
|
|
29443
|
+
return Tn.get(e) ?? null;
|
|
29316
29444
|
}
|
|
29317
|
-
var
|
|
29318
|
-
function
|
|
29445
|
+
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;
|
|
29446
|
+
function Mn(e, t, n) {
|
|
29319
29447
|
let r = 0;
|
|
29320
29448
|
for (let i = t; i < n; i++) {
|
|
29321
29449
|
let t = e[i];
|
|
29322
|
-
if (
|
|
29450
|
+
if (On(t)) r++;
|
|
29323
29451
|
else if (t === "PDI") r > 0 && r--;
|
|
29324
29452
|
else if (r === 0) {
|
|
29325
29453
|
if (t === "L") return 0;
|
|
@@ -29328,11 +29456,11 @@ function xn(e, t, n) {
|
|
|
29328
29456
|
}
|
|
29329
29457
|
return 0;
|
|
29330
29458
|
}
|
|
29331
|
-
function
|
|
29459
|
+
function Nn(e) {
|
|
29332
29460
|
let t = e.length, n = new Int32Array(t).fill(t), r = new Int32Array(t).fill(-1), i = [];
|
|
29333
29461
|
for (let a = 0; a < t; a++) {
|
|
29334
29462
|
let t = e[a];
|
|
29335
|
-
if (
|
|
29463
|
+
if (On(t)) i.push(a);
|
|
29336
29464
|
else if (t === "PDI" && i.length) {
|
|
29337
29465
|
let e = i.pop();
|
|
29338
29466
|
n[e] = a, r[a] = e;
|
|
@@ -29343,7 +29471,7 @@ function Sn(e) {
|
|
|
29343
29471
|
initOf: r
|
|
29344
29472
|
};
|
|
29345
29473
|
}
|
|
29346
|
-
function
|
|
29474
|
+
function Pn(e, t, n) {
|
|
29347
29475
|
let r = e.length, i = Array(r).fill(t), a = e.slice(), o = [{
|
|
29348
29476
|
level: t,
|
|
29349
29477
|
override: "neutral",
|
|
@@ -29357,7 +29485,7 @@ function Cn(e, t, n) {
|
|
|
29357
29485
|
case "RLO":
|
|
29358
29486
|
case "LRO": {
|
|
29359
29487
|
i[d] = u().level;
|
|
29360
|
-
let e = r === "RLE" || r === "RLO" ?
|
|
29488
|
+
let e = r === "RLE" || r === "RLO" ? An(u().level) : jn(u().level);
|
|
29361
29489
|
e <= 125 && s === 0 && c === 0 ? o.push({
|
|
29362
29490
|
level: e,
|
|
29363
29491
|
override: r === "RLO" ? "R" : r === "LRO" ? "L" : "neutral",
|
|
@@ -29372,8 +29500,8 @@ function Cn(e, t, n) {
|
|
|
29372
29500
|
let t = u().override;
|
|
29373
29501
|
t !== "neutral" && (a[d] = t);
|
|
29374
29502
|
let f;
|
|
29375
|
-
f = r === "RLI" ? "R" : r === "LRI" ? "L" :
|
|
29376
|
-
let p = f === "R" ?
|
|
29503
|
+
f = r === "RLI" ? "R" : r === "LRI" ? "L" : Mn(e, d + 1, n[d]) === 1 ? "R" : "L";
|
|
29504
|
+
let p = f === "R" ? An(u().level) : jn(u().level);
|
|
29377
29505
|
p <= 125 && s === 0 && c === 0 ? (l++, o.push({
|
|
29378
29506
|
level: p,
|
|
29379
29507
|
override: "neutral",
|
|
@@ -29415,10 +29543,10 @@ function Cn(e, t, n) {
|
|
|
29415
29543
|
types: a
|
|
29416
29544
|
};
|
|
29417
29545
|
}
|
|
29418
|
-
function
|
|
29546
|
+
function Fn(e) {
|
|
29419
29547
|
return e === 9001 ? 12296 : e === 9002 ? 12297 : e;
|
|
29420
29548
|
}
|
|
29421
|
-
function
|
|
29549
|
+
function In(e, t, n, r, i, a) {
|
|
29422
29550
|
let o = e.length, s = [];
|
|
29423
29551
|
for (let e = 0; e < o; e++) n[e] || s.push(e);
|
|
29424
29552
|
let c = [];
|
|
@@ -29436,7 +29564,7 @@ function Tn(e, t, n, r, i, a) {
|
|
|
29436
29564
|
for (;;) {
|
|
29437
29565
|
for (let e of p) f.push(e);
|
|
29438
29566
|
let t = p[p.length - 1];
|
|
29439
|
-
if (
|
|
29567
|
+
if (On(e[t]) && i[t] !== o) {
|
|
29440
29568
|
let e = l.get(i[t]);
|
|
29441
29569
|
if (e) {
|
|
29442
29570
|
p = e;
|
|
@@ -29451,7 +29579,7 @@ function Tn(e, t, n, r, i, a) {
|
|
|
29451
29579
|
break;
|
|
29452
29580
|
}
|
|
29453
29581
|
let g = u(Math.max(m, h)), _ = f[f.length - 1], v = r;
|
|
29454
|
-
if (!(
|
|
29582
|
+
if (!(On(e[_]) && i[_] === o)) {
|
|
29455
29583
|
for (let e = _ + 1; e < o; e++) if (!n[e]) {
|
|
29456
29584
|
v = t[e];
|
|
29457
29585
|
break;
|
|
@@ -29467,8 +29595,8 @@ function Tn(e, t, n, r, i, a) {
|
|
|
29467
29595
|
}
|
|
29468
29596
|
return d;
|
|
29469
29597
|
}
|
|
29470
|
-
var
|
|
29471
|
-
function
|
|
29598
|
+
var Ln = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
|
|
29599
|
+
function Rn(e, t, n, r, i) {
|
|
29472
29600
|
let a = e.indices, o = a.length, { sos: s, eos: c, level: l } = e;
|
|
29473
29601
|
for (let e = 0; e < o; e++) {
|
|
29474
29602
|
let t = a[e];
|
|
@@ -29515,15 +29643,15 @@ function Dn(e, t, n, r, i) {
|
|
|
29515
29643
|
outer: for (let n = 0; n < o; n++) {
|
|
29516
29644
|
let i = a[n];
|
|
29517
29645
|
if (r[i] !== "ON") continue;
|
|
29518
|
-
let o =
|
|
29646
|
+
let o = En(t[i]);
|
|
29519
29647
|
if (o) if (o.type === "o") {
|
|
29520
29648
|
if (e.length === 63) break outer;
|
|
29521
29649
|
e.push({
|
|
29522
|
-
expect:
|
|
29650
|
+
expect: Fn(o.pair),
|
|
29523
29651
|
pos: n
|
|
29524
29652
|
});
|
|
29525
29653
|
} else {
|
|
29526
|
-
let r =
|
|
29654
|
+
let r = Fn(t[i]);
|
|
29527
29655
|
for (let t = e.length - 1; t >= 0; t--) if (e[t].expect === r) {
|
|
29528
29656
|
f.push({
|
|
29529
29657
|
open: e[t].pos,
|
|
@@ -29541,7 +29669,7 @@ function Dn(e, t, n, r, i) {
|
|
|
29541
29669
|
for (let { open: e, close: t } of f) {
|
|
29542
29670
|
let n = !1, i = !1;
|
|
29543
29671
|
for (let o = e + 1; o < t; o++) {
|
|
29544
|
-
let e =
|
|
29672
|
+
let e = Ln(r[a[o]]);
|
|
29545
29673
|
e === u ? n = !0 : e === d && (i = !0);
|
|
29546
29674
|
}
|
|
29547
29675
|
let o = null;
|
|
@@ -29549,7 +29677,7 @@ function Dn(e, t, n, r, i) {
|
|
|
29549
29677
|
else if (i) {
|
|
29550
29678
|
let t = s;
|
|
29551
29679
|
for (let n = e - 1; n >= 0; n--) {
|
|
29552
|
-
let e =
|
|
29680
|
+
let e = Ln(r[a[n]]);
|
|
29553
29681
|
if (e) {
|
|
29554
29682
|
t = e;
|
|
29555
29683
|
break;
|
|
@@ -29560,29 +29688,29 @@ function Dn(e, t, n, r, i) {
|
|
|
29560
29688
|
o && (r[a[e]] = o, r[a[t]] = o, p(e, o), p(t, o));
|
|
29561
29689
|
}
|
|
29562
29690
|
for (let e = 0; e < o; e++) {
|
|
29563
|
-
if (!
|
|
29691
|
+
if (!kn(r[a[e]])) continue;
|
|
29564
29692
|
let t = e;
|
|
29565
|
-
for (; t < o &&
|
|
29566
|
-
let n = e > 0 ?
|
|
29693
|
+
for (; t < o && kn(r[a[t]]);) t++;
|
|
29694
|
+
let n = e > 0 ? Ln(r[a[e - 1]]) : s, i = t < o ? Ln(r[a[t]]) : c;
|
|
29567
29695
|
if (n && i && n === i) for (let i = e; i < t; i++) r[a[i]] = n;
|
|
29568
29696
|
e = t - 1;
|
|
29569
29697
|
}
|
|
29570
|
-
for (let e = 0; e < o; e++)
|
|
29698
|
+
for (let e = 0; e < o; e++) kn(r[a[e]]) && (r[a[e]] = u);
|
|
29571
29699
|
for (let e = 0; e < o; e++) {
|
|
29572
29700
|
let t = a[e], n = r[t];
|
|
29573
29701
|
l & 1 ? (n === "L" || n === "EN" || n === "AN") && (i[t] += 1) : n === "R" ? i[t] += 1 : (n === "AN" || n === "EN") && (i[t] += 2);
|
|
29574
29702
|
}
|
|
29575
29703
|
}
|
|
29576
|
-
function
|
|
29704
|
+
function zn(e, t, n) {
|
|
29577
29705
|
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)
|
|
29706
|
+
for (let t = 0; t < r; t++) i[t] = n?.[t] ?? Sn(e[t]);
|
|
29707
|
+
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);
|
|
29708
|
+
for (let e = 0; e < r; e++) u[e] = Dn(i[e]);
|
|
29709
|
+
let d = In(i, c, u, a, o, s), f = l.slice();
|
|
29710
|
+
for (let t of d) Rn(t, e, i, f, c);
|
|
29583
29711
|
let p = (e) => {
|
|
29584
29712
|
let t = i[e];
|
|
29585
|
-
return t === "WS" ||
|
|
29713
|
+
return t === "WS" || On(t) || t === "PDI" || u[e];
|
|
29586
29714
|
};
|
|
29587
29715
|
for (let e = 0; e < r; e++) {
|
|
29588
29716
|
let t = i[e];
|
|
@@ -29598,7 +29726,7 @@ function On(e, t, n) {
|
|
|
29598
29726
|
paragraphLevel: a
|
|
29599
29727
|
};
|
|
29600
29728
|
}
|
|
29601
|
-
function
|
|
29729
|
+
function Bn(e, t, n) {
|
|
29602
29730
|
let r = [];
|
|
29603
29731
|
for (let i = t; i < n; i++) {
|
|
29604
29732
|
let t = e[i];
|
|
@@ -29626,7 +29754,7 @@ function kn(e, t, n) {
|
|
|
29626
29754
|
}
|
|
29627
29755
|
//#endregion
|
|
29628
29756
|
//#region packages/core/src/text/bidi/uax9/index.ts
|
|
29629
|
-
function
|
|
29757
|
+
function Vn(e) {
|
|
29630
29758
|
let t = [], n = [], r = [];
|
|
29631
29759
|
for (let i = 0; i < e.length;) {
|
|
29632
29760
|
let a = e.codePointAt(i), o = a > 65535 ? 2 : 1;
|
|
@@ -29638,9 +29766,9 @@ function An(e) {
|
|
|
29638
29766
|
starts: r
|
|
29639
29767
|
};
|
|
29640
29768
|
}
|
|
29641
|
-
var
|
|
29769
|
+
var Hn = class {
|
|
29642
29770
|
computeLevels(e, t, n) {
|
|
29643
|
-
let { cps: r, units: i, starts: a } =
|
|
29771
|
+
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
29772
|
for (let e = 0; e < o.length; e++) {
|
|
29645
29773
|
let t = o[e] === -1 ? 255 : o[e];
|
|
29646
29774
|
for (let n = 0; n < i[e]; n++) c[l++] = t;
|
|
@@ -29651,25 +29779,25 @@ var jn = class {
|
|
|
29651
29779
|
};
|
|
29652
29780
|
}
|
|
29653
29781
|
reorderVisual(e, t, n) {
|
|
29654
|
-
return
|
|
29782
|
+
return Bn(e, t, n);
|
|
29655
29783
|
}
|
|
29656
29784
|
getMirror(e) {
|
|
29657
|
-
return
|
|
29785
|
+
return wn(e);
|
|
29658
29786
|
}
|
|
29659
29787
|
};
|
|
29660
|
-
function
|
|
29661
|
-
return new
|
|
29788
|
+
function Un() {
|
|
29789
|
+
return new Hn();
|
|
29662
29790
|
}
|
|
29663
29791
|
//#endregion
|
|
29664
29792
|
//#region packages/core/src/text/bidi/engine.ts
|
|
29665
|
-
var
|
|
29666
|
-
function
|
|
29667
|
-
return
|
|
29793
|
+
var Wn = null;
|
|
29794
|
+
function Gn() {
|
|
29795
|
+
return Wn === null && (Wn = Un()), Wn;
|
|
29668
29796
|
}
|
|
29669
29797
|
//#endregion
|
|
29670
29798
|
//#region packages/core/src/text/bidi/segments.ts
|
|
29671
|
-
function
|
|
29672
|
-
return e === !0 ? "rtl" : e === !1 ? "ltr" :
|
|
29799
|
+
function Kn(e, t) {
|
|
29800
|
+
return e === !0 ? "rtl" : e === !1 ? "ltr" : Gn().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
|
|
29673
29801
|
}
|
|
29674
29802
|
//#endregion
|
|
29675
|
-
export {
|
|
29803
|
+
export { I as A, m 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, l 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, c as z };
|