@silurus/ooxml 0.80.2 → 0.81.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +57 -77
  2. package/dist/assets/render-worker-C2ACcLes.js +11 -0
  3. package/dist/assets/render-worker-Cx5uR77k.js +10 -0
  4. package/dist/assets/render-worker-DtU8oQZ7.js +24 -0
  5. package/dist/{canvas-viewer-mechanics-D-r6wHY_.js → canvas-viewer-mechanics-CqxKRGCp.js} +1 -1
  6. package/dist/chart-ex.mjs +1017 -0
  7. package/dist/{document-pull-client-Cukkyojh.js → document-pull-client-Ux4a_ax8.js} +4540 -4412
  8. package/dist/{docx-BlELeDNF.js → docx-SEyQ4gS-.js} +79 -75
  9. package/dist/docx.mjs +5 -4
  10. package/dist/docx_parser_bg.wasm +0 -0
  11. package/dist/index.mjs +3 -3
  12. package/dist/{line-distribute-Bvtp0Gt6.js → line-distribute-BBGvvwLt.js} +17 -16
  13. package/dist/{line-metrics-DdEJYxjx.js → line-metrics-Baz31mML.js} +663 -7488
  14. package/dist/math.mjs +29 -24
  15. package/dist/node.mjs +248 -247
  16. package/dist/plot-area-frame-Dg1VIpUU.js +3669 -0
  17. package/dist/{pptx-JBkXh6Cy.js → pptx-5lQrMvMR.js} +236 -232
  18. package/dist/pptx.mjs +6 -5
  19. package/dist/pptx_parser_bg.wasm +0 -0
  20. package/dist/region-map.mjs +102 -97
  21. package/dist/{render-CoqMHcbF.js → render-DEHjijQD.js} +1 -1
  22. package/dist/{render-worker-host-CM1JXVqg.js → render-worker-host-B1nbV_k7.js} +1 -1
  23. package/dist/{render-worker-host-DFtd9Z-J.js → render-worker-host-Bze5M6k5.js} +1 -1
  24. package/dist/{render-worker-host-Br7ZDyGE.js → render-worker-host-Dg_74V64.js} +1 -1
  25. package/dist/renderer-DuopJE1K.js +5855 -0
  26. package/dist/{renderer-module-contract-BNGz8HvO.js → renderer-module-contract-0bO_5SC0.js} +4 -3
  27. package/dist/{resource-measurement-CgMubiAI.js → resource-measurement-DRLp4nFt.js} +12 -11
  28. package/dist/{session-DkPblDiq.js → session-CNVc3VJ4.js} +8 -8
  29. package/dist/{slide-pull-client-m2blvngt.js → slide-pull-client-CzutXnGc.js} +888 -1082
  30. package/dist/three-d-BYiWCNlz.js +1345 -0
  31. package/dist/three-d.mjs +1238 -798
  32. package/dist/types/chart-ex.d.ts +949 -0
  33. package/dist/types/docx.d.ts +325 -18
  34. package/dist/types/index.d.ts +325 -26
  35. package/dist/types/math.d.ts +1 -1
  36. package/dist/types/node.d.ts +303 -14
  37. package/dist/types/pptx.d.ts +314 -22
  38. package/dist/types/region-map.d.ts +318 -6
  39. package/dist/types/three-d.d.ts +318 -6
  40. package/dist/types/xlsx.d.ts +317 -18
  41. package/dist/{worksheet-pull-client-BntP6RiO.js → worksheet-pull-client-Cxj3Ej0s.js} +19 -19
  42. package/dist/{xlsx-dhsUXUpX.js → xlsx-Bl3TIEVu.js} +1313 -1279
  43. package/dist/xlsx.mjs +6 -5
  44. package/dist/xlsx_parser_bg.wasm +0 -0
  45. package/package.json +7 -1
  46. package/dist/assets/render-worker-BD1_LaFD.js +0 -9
  47. package/dist/assets/render-worker-BIqMQFkZ.js +0 -8
  48. package/dist/assets/render-worker-DuvX4_li.js +0 -22
  49. package/dist/chart-number-format-qLhnk6hj.js +0 -475
  50. package/dist/three-d-C28kqDym.js +0 -1086
  51. /package/dist/{highlight-rect-BuX5rWP4.js → highlight-rect-BqcZMHUE.js} +0 -0
  52. /package/dist/{mathjax-DgAl7Yi5.js → mathjax-DJa-Q93p.js} +0 -0
  53. /package/dist/{transfer-CKZ79zFw.js → transfer-D0U6Uhn4.js} +0 -0
  54. /package/dist/{visible-index-BjesVGhg.js → visible-index-DbDuGMCE.js} +0 -0
@@ -0,0 +1,1345 @@
1
+ import { Bt as e, D as t, F as n, I as r, M as i, N as a, O as o, P as s, _ as c, a as l, b as u, cn as d, gn as f, hn as p, on as m, rn as h, sn as g, v as _ } from "./plot-area-frame-Dg1VIpUU.js";
2
+ //#region packages/core/src/canvas/clamp.ts
3
+ var v = 32767, y = 1 << 24;
4
+ function b(e, t) {
5
+ let n = Number.isFinite(e) && e > 0 ? Math.max(1, Math.round(e)) : 1, r = Number.isFinite(t) && t > 0 ? Math.max(1, Math.round(t)) : 1, i = Math.min(1, v / n, v / r), a = n * r, o = a > 16777216 ? Math.sqrt(y / a) : 1, s = Math.min(i, o);
6
+ return s >= 1 ? {
7
+ width: n,
8
+ height: r,
9
+ scale: 1,
10
+ clamped: !1
11
+ } : {
12
+ width: Math.max(1, Math.floor(n * s)),
13
+ height: Math.max(1, Math.floor(r * s)),
14
+ scale: s,
15
+ clamped: !0
16
+ };
17
+ }
18
+ //#endregion
19
+ //#region packages/core/src/shape/effects.ts
20
+ function x(e, t) {
21
+ return [t === "tl" || t === "l" || t === "bl" ? e.x : t === "tr" || t === "r" || t === "br" ? e.x + e.w : e.x + e.w / 2, t === "tl" || t === "t" || t === "tr" ? e.y : t === "l" || t === "ctr" || t === "r" ? e.y + e.h / 2 : e.y + e.h];
22
+ }
23
+ function S(e, t) {
24
+ return e * t;
25
+ }
26
+ function C(e) {
27
+ return e.getContext("2d") ?? null;
28
+ }
29
+ function w(e, t, n, r) {
30
+ let i = Math.max(0, Math.floor(e.x - t)), a = Math.max(0, Math.floor(e.y - t)), o = Math.min(n, Math.ceil(e.x + e.w + t)), s = Math.min(r, Math.ceil(e.y + e.h + t));
31
+ return {
32
+ x: i,
33
+ y: a,
34
+ w: Math.max(1, o - i),
35
+ h: Math.max(1, s - a)
36
+ };
37
+ }
38
+ function T(e, t) {
39
+ if (t.x === 0 && t.y === 0) return e;
40
+ let n = t.x, r = t.y;
41
+ return new Proxy(e, {
42
+ get(e, t) {
43
+ if (t === "setTransform") return (t) => {
44
+ e.setTransform(t.a, t.b, t.c, t.d, t.e - n, t.f - r);
45
+ };
46
+ let i = Reflect.get(e, t);
47
+ return typeof i == "function" ? i.bind(e) : i;
48
+ },
49
+ set(e, t, n) {
50
+ return e[t] = n, !0;
51
+ }
52
+ });
53
+ }
54
+ function E(e, t, n, r, i, a, o, s = 0, l) {
55
+ let u = Math.max(0, S(r.blur, i)), d = S(r.dist, i), f = r.rotWithShape === !1 ? 0 : s, m = (r.dir + f) * Math.PI / 180, h = Math.cos(m) * d, g = Math.sin(m) * d, _ = w(n, Math.ceil(u * 3 + Math.max(Math.abs(h), Math.abs(g))) + 2, a, o), v = p(_.w, _.h);
56
+ if (!v) return !1;
57
+ let y = C(v);
58
+ if (!y) return !1;
59
+ t(T(y, _)), y.save(), y.setTransform(1, 0, 0, 1, 0, 0), y.globalCompositeOperation = "source-in", y.fillStyle = c(r.color, r.alpha), y.fillRect(0, 0, _.w, _.h), y.restore(), e.save(), u > 0 && (e.filter = `blur(${u}px)`);
60
+ let [b, E] = l ?? x(n, r.algn ?? "b"), D = r.sx ?? 1, O = r.sy ?? 1, k = Math.tan((r.kx ?? 0) * Math.PI / 180), A = Math.tan((r.ky ?? 0) * Math.PI / 180);
61
+ return e.translate(h, g), e.translate(b, E), f !== 0 && e.rotate(f * Math.PI / 180), e.transform(D, A, k, O, 0, 0), f !== 0 && e.rotate(-f * Math.PI / 180), e.translate(-b, -E), e.drawImage(v, _.x, _.y), e.restore(), !0;
62
+ }
63
+ function D(e, t, n, r, i, a, o) {
64
+ let s = S(r.blur, i), l = S(r.dist, i), u = r.dir * Math.PI / 180, d = Math.cos(u) * l, f = Math.sin(u) * l, m = w(n, Math.ceil(3 * s + Math.abs(l)) + 2, a, o), h = p(m.w, m.h);
65
+ if (!h) return;
66
+ let g = C(h);
67
+ if (!g) return;
68
+ let _ = T(g, m);
69
+ _.save(), _.fillStyle = c(r.color, r.alpha), t(_), _.restore(), _.save(), _.globalCompositeOperation = "destination-out", _.filter = s > 0 ? `blur(${s}px)` : "none", _.translate(d, f), _.fillStyle = "#000", t(_), _.restore(), _.save(), _.globalCompositeOperation = "destination-in", _.filter = "none", _.fillStyle = "#000", t(_), _.restore(), e.save(), e.drawImage(h, m.x, m.y), e.restore();
70
+ }
71
+ function O(e, t, n, r, i, a, o, s) {
72
+ let c = S(r.radius, i);
73
+ if (c <= 0) {
74
+ t(e);
75
+ return;
76
+ }
77
+ let l = w(n, Math.ceil(c) + 2, a, o), u = n.x - l.x, d = n.y - l.y, f = p(l.w, l.h);
78
+ if (!f) {
79
+ t(e);
80
+ return;
81
+ }
82
+ let m = C(f);
83
+ if (!m) {
84
+ t(e);
85
+ return;
86
+ }
87
+ let h = T(m, l), g = s ?? t;
88
+ t(h);
89
+ let _ = p(l.w, l.h), v = p(l.w, l.h), y = _ ? C(_) : null, b = v ? C(v) : null;
90
+ if (_ && y && v && b) {
91
+ let t = T(y, l);
92
+ t.fillStyle = "#000", g(t), b.drawImage(f, u, d, n.w, n.h, u - c, d - c, n.w + c * 2, n.h + c * 2), b.drawImage(f, 0, 0), b.globalCompositeOperation = "destination-in", b.filter = `blur(${c / 3}px)`, b.drawImage(_, 0, 0), b.filter = "none", b.globalCompositeOperation = "source-over", e.save(), e.drawImage(v, l.x, l.y), e.restore();
93
+ return;
94
+ }
95
+ e.save(), e.drawImage(f, 0, 0), e.restore();
96
+ }
97
+ function k(e, t, n, r, i, a, o) {
98
+ let s = p(a, o);
99
+ if (!s) return;
100
+ let c = C(s);
101
+ if (!c) return;
102
+ let l = S(r.blur, i);
103
+ c.save(), l > 0 && (c.filter = `blur(${l}px)`), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in";
104
+ let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), m = A(r.stPos), h = A(r.endPos);
105
+ f.addColorStop(0, `rgba(0,0,0,${r.stA})`), m > 0 && f.addColorStop(m, `rgba(0,0,0,${r.stA})`), h < 1 && h > m && f.addColorStop(h, `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();
106
+ let g = S(r.dist, i), _ = r.dir * Math.PI / 180, v = Math.cos(_) * g, y = Math.sin(_) * g;
107
+ e.save(), e.translate(n.x + v, d + y), e.scale(r.sx, r.sy), e.translate(-n.x, -d), e.drawImage(s, 0, 0), e.restore();
108
+ }
109
+ function A(e) {
110
+ return e < 0 ? 0 : e > 1 ? 1 : e;
111
+ }
112
+ //#endregion
113
+ //#region packages/core/src/shape/scene3d-draw.ts
114
+ function j(e, t, n, r) {
115
+ 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;
116
+ if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
117
+ else {
118
+ let e = f * g - p * h;
119
+ if (Math.abs(e) < 1e-12) return null;
120
+ v = (m * g - p * _) / e, y = (f * _ - m * h) / e;
121
+ }
122
+ return [
123
+ o - i + v * o,
124
+ u - i + y * u,
125
+ i,
126
+ s - a + v * s,
127
+ d - a + y * d,
128
+ a,
129
+ v,
130
+ y,
131
+ 1
132
+ ];
133
+ }
134
+ function M(e, t, n) {
135
+ let r = e[6] * t + e[7] * n + e[8];
136
+ return {
137
+ x: (e[0] * t + e[1] * n + e[2]) / r,
138
+ y: (e[3] * t + e[4] * n + e[5]) / r
139
+ };
140
+ }
141
+ var N = 1;
142
+ function P(e, t) {
143
+ let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
144
+ return [
145
+ n * c + i * l,
146
+ r * c + a * l,
147
+ n * u + i * d,
148
+ r * u + a * d,
149
+ n * f + i * p + o,
150
+ r * f + a * p + s
151
+ ];
152
+ }
153
+ function F(e, t, n, r, i, a, o, s, c, l, u, d, f) {
154
+ let p = c - o, m = l - s;
155
+ if (p <= 0 || m <= 0) return;
156
+ 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 = N * p / y, S = N * 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;
157
+ if (D <= 0 || O <= 0) return;
158
+ e.save();
159
+ let [k, A, j, M, F, I] = P(i, [
160
+ h,
161
+ g,
162
+ _,
163
+ v,
164
+ u.x - o * h - s * _,
165
+ u.y - o * g - s * v
166
+ ]);
167
+ e.setTransform(k, A, j, M, F, I), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
168
+ }
169
+ function I(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
170
+ let m = M(o, c, l), h = M(o, u, l), g = M(o, c, d), _ = M(o, u, d), v = (c + u) / 2, y = (l + d) / 2, b = M(o, v, y), x = {
171
+ x: (m.x + h.x + g.x + _.x) / 4,
172
+ y: (m.y + h.y + g.y + _.y) / 4
173
+ }, S = R(i), C = Math.hypot(b.x - x.x, b.y - x.y) * S;
174
+ if (p <= 0 || C <= f) {
175
+ let o = s.x1 - s.x0, f = s.y1 - s.y0;
176
+ F(e, t, n, r, i, a, s.x0 + c * o, s.y0 + l * f, s.x0 + u * o, s.y0 + d * f, m, h, g);
177
+ return;
178
+ }
179
+ u - c >= d - l ? (I(e, t, n, r, i, a, o, s, c, l, v, d, f, p - 1), I(e, t, n, r, i, a, o, s, v, l, u, d, f, p - 1)) : (I(e, t, n, r, i, a, o, s, c, l, u, y, f, p - 1), I(e, t, n, r, i, a, o, s, c, y, u, d, f, p - 1));
180
+ }
181
+ function L(e, t, n, r, i, a = .5, o) {
182
+ if (n <= 0 || r <= 0) return;
183
+ let s = o ?? {
184
+ x0: 0,
185
+ y0: 0,
186
+ x1: n,
187
+ y1: r
188
+ };
189
+ if (![
190
+ s.x0,
191
+ s.y0,
192
+ s.x1,
193
+ s.y1
194
+ ].every(Number.isFinite) || s.x0 < 0 || s.y0 < 0 || s.x1 > n || s.y1 > r || s.x1 <= s.x0 || s.y1 <= s.y0) return;
195
+ let [c, l, u, d] = i;
196
+ if (Math.abs(c.x * l.y - l.x * c.y + l.x * u.y - u.x * l.y + u.x * d.y - d.x * u.y + d.x * c.y - c.x * d.y) / 2 < 1e-6) return;
197
+ let f = j(i[0], i[1], i[2], i[3]);
198
+ if (!f) return;
199
+ let p = t.getTransform(), m = [
200
+ p.a,
201
+ p.b,
202
+ p.c,
203
+ p.d,
204
+ p.e,
205
+ p.f
206
+ ], h = R(m);
207
+ W(e, t, n, r, i, m, h, f, s, a, 14) || (H(), 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(), I(t, e, n, r, m, h, f, s, 0, 0, 1, 1, a, 14), t.restore());
208
+ }
209
+ function R(e) {
210
+ return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
211
+ }
212
+ function z(e, t, n) {
213
+ let r = j(e[0], e[1], e[2], e[3]);
214
+ if (!r) return null;
215
+ let i = [
216
+ [-t, -n],
217
+ [1 + t, -n],
218
+ [1 + t, 1 + n],
219
+ [-t, 1 + n]
220
+ ], a = [];
221
+ for (let [e, t] of i) {
222
+ if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
223
+ a.push(M(r, e, t));
224
+ }
225
+ return a;
226
+ }
227
+ function B(e, t, n) {
228
+ let r = j(e[0], e[1], e[2], e[3]);
229
+ return r && r[6] * t + r[7] * n + r[8] > 1e-9 ? M(r, t, n) : null;
230
+ }
231
+ var V = !1;
232
+ function H() {
233
+ V || (V = !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."));
234
+ }
235
+ var U = 2;
236
+ function W(e, t, n, r, i, a, o, s, c, l, u) {
237
+ let d = i.map((e) => ({
238
+ x: a[0] * e.x + a[2] * e.y + a[4],
239
+ y: a[1] * e.x + a[3] * e.y + a[5]
240
+ })), f = Infinity, m = Infinity, h = -Infinity, g = -Infinity;
241
+ for (let e of d) e.x < f && (f = e.x), e.y < m && (m = e.y), e.x > h && (h = e.x), e.y > g && (g = e.y);
242
+ f = Math.floor(f) - 1, m = Math.floor(m) - 1, h = Math.ceil(h) + 1, g = Math.ceil(g) + 1;
243
+ let _ = h - f, v = g - m;
244
+ if (_ <= 0 || v <= 0) return !1;
245
+ let y = Math.max(1, Math.ceil(_ * U)), b = Math.max(1, Math.ceil(v * U)), x = p(y, b);
246
+ if (!x || x.width !== y || x.height !== b) return !1;
247
+ let S = x.getContext("2d") ?? null;
248
+ if (!S) return !1;
249
+ let C = U, w = [
250
+ a[0] * C,
251
+ a[1] * C,
252
+ a[2] * C,
253
+ a[3] * C,
254
+ (a[4] - f) * C,
255
+ (a[5] - m) * C
256
+ ];
257
+ S.save(), S.setTransform(w[0], w[1], w[2], w[3], w[4], w[5]), S.beginPath(), S.moveTo(i[0].x, i[0].y), S.lineTo(i[1].x, i[1].y), S.lineTo(i[2].x, i[2].y), S.lineTo(i[3].x, i[3].y), S.closePath(), S.clip(), I(S, e, n, r, w, o, s, c, 0, 0, 1, 1, l * C, u), S.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
258
+ let T = t.imageSmoothingEnabled, E = t.imageSmoothingQuality;
259
+ return t.imageSmoothingEnabled = !0, t.imageSmoothingQuality = "high", t.drawImage(x, 0, 0, _ * C, v * C, f, m, _, v), t.imageSmoothingEnabled = T, t.imageSmoothingQuality = E, t.restore(), !0;
260
+ }
261
+ //#endregion
262
+ //#region packages/core/src/chart/three-d-surface-picture.ts
263
+ function ee(e, t) {
264
+ if (!t || ![
265
+ t.l,
266
+ t.t,
267
+ t.r,
268
+ t.b
269
+ ].some((e) => (e ?? 0) !== 0)) return e;
270
+ let n = t.l ?? 0, r = t.t ?? 0, i = 1 - (t.r ?? 0), a = 1 - (t.b ?? 0), o = [
271
+ B(e, n, r),
272
+ B(e, i, r),
273
+ B(e, i, a),
274
+ B(e, n, a)
275
+ ];
276
+ return o.every((e) => e != null) ? o : null;
277
+ }
278
+ function te(e, t) {
279
+ if (e.length !== 4) return null;
280
+ let n = e.map((e, n) => ({
281
+ scenePoint: e,
282
+ projected: t(e),
283
+ index: n
284
+ })).sort((e, t) => e.projected.y - t.projected.y || e.projected.x - t.projected.x), r = n.slice(0, 2).sort((e, t) => e.projected.x - t.projected.x), i = n.slice(2).sort((e, t) => e.projected.x - t.projected.x);
285
+ return new Set([...r, ...i].map((e) => e.index)).size === 4 ? [
286
+ r[0].scenePoint,
287
+ r[1].scenePoint,
288
+ i[1].scenePoint,
289
+ i[0].scenePoint
290
+ ] : null;
291
+ }
292
+ function G(e, t, n, r) {
293
+ if (e.thickness === 0 && n === 0) return [
294
+ e.inner[3],
295
+ e.inner[2],
296
+ e.inner[1],
297
+ e.inner[0]
298
+ ];
299
+ let i = te(e.faces[n] ?? [], r);
300
+ return !i || t !== "backWall" || n !== 4 ? i : [
301
+ i[1],
302
+ i[2],
303
+ i[3],
304
+ i[0]
305
+ ];
306
+ }
307
+ function ne(e, t, n) {
308
+ if (!(e != null && Number.isFinite(e) && e > 0) || !(t > 0) || !(n > 0)) return null;
309
+ let r = e * n / t;
310
+ return Number.isFinite(r) && r > 0 ? r : null;
311
+ }
312
+ function re(e, t, n) {
313
+ return Math.hypot(e.x - t.x, e.y - t.y, (e.depth - t.depth) * n);
314
+ }
315
+ function ie(e, c, l, u, p, h, _, v, y) {
316
+ let b = i(c, u, p, y);
317
+ if (!b || h.inner.length !== 4) return !1;
318
+ let x = d(l);
319
+ if (!(x.w > 0) || !(x.h > 0)) return !1;
320
+ let S = m(l, c.srcRect), C = S ? {
321
+ x0: S.sx,
322
+ y0: S.sy,
323
+ x1: S.sx + S.sw,
324
+ y1: S.sy + S.sh
325
+ } : void 0, w = [
326
+ v(h.inner[3]),
327
+ v(h.inner[2]),
328
+ v(h.inner[1]),
329
+ v(h.inner[0])
330
+ ], T = (e, t, n) => ({
331
+ x: e.x + (t.x - e.x) * n,
332
+ y: e.y + (t.y - e.y) * n,
333
+ depth: e.depth + (t.depth - e.depth) * n
334
+ }), E = (e, t, n) => [
335
+ v(T(e[3], e[0], n)),
336
+ v(T(e[2], e[1], n)),
337
+ v(T(e[2], e[1], t)),
338
+ v(T(e[3], e[0], t))
339
+ ], D = b.mode === "stack" ? ne(h.pictureStackAspect, x.w, x.h) : null, O = b.mode === "tile" ? t(c, l) : null, k = [];
340
+ if (b.mode === "stack") {
341
+ if (D == null) return !1;
342
+ let e = 0, t = !1;
343
+ for (let r of _) {
344
+ if (!a(b, r) || !G(h, p, r, v)) continue;
345
+ let i = n(b, r) ? Math.ceil(1 / D) : 1;
346
+ if (!Number.isSafeInteger(i) || i < 1 || (e += i, e > 4096)) return !1;
347
+ t = !0;
348
+ }
349
+ if (!t) return !1;
350
+ }
351
+ if (b.mode === "tile") {
352
+ if (!O) return !1;
353
+ let t = 0, n = 0, r = !1;
354
+ for (let i of _) {
355
+ if (!a(b, i)) continue;
356
+ let s = G(h, p, i, v);
357
+ if (!s) continue;
358
+ let c = re(s[0], s[1], h.modelDepth), l = re(s[0], s[3], h.modelDepth);
359
+ if (!(c > 0) || !(l > 0)) continue;
360
+ let u = o(O, c, l), d = Math.floor(-u.x / O.tileW), m = Math.floor(-u.y / O.tileH), g = Math.ceil((c - u.x) / O.tileW), _ = Math.ceil((l - u.y) / O.tileH), y = Math.max(0, g - d) * Math.max(0, _ - m);
361
+ if (!Number.isSafeInteger(y) || (t += y, t > 4096)) return !1;
362
+ if (y === 0) continue;
363
+ let x = Math.ceil(c), S = Math.ceil(l);
364
+ if (!(x > 0 && x <= 32767) || !(S > 0 && S <= 32767) || x > Math.floor((16777216 - n) / S)) return !1;
365
+ n += x * S;
366
+ let C = f(e, x, S), w = C?.getContext("2d");
367
+ if (!C || !w) return !1;
368
+ k.push({
369
+ faceIndex: i,
370
+ width: c,
371
+ height: l,
372
+ origin: u,
373
+ firstColumn: d,
374
+ firstRow: m,
375
+ lastColumn: g,
376
+ lastRow: _,
377
+ canvas: C,
378
+ context: w
379
+ }), r = !0;
380
+ }
381
+ if (!r) return !1;
382
+ }
383
+ if (e.save(), c.alpha != null && (e.globalAlpha *= c.alpha), b.mode === "stretch") for (let t of _) {
384
+ if (!a(b, t)) continue;
385
+ let n = G(h, p, t, v), r = h.thickness === 0 && t === 0 ? w : n?.map(v);
386
+ if (!r) continue;
387
+ let i = ee(r, c.fillRect);
388
+ if (!i) continue;
389
+ let o = S ? ee(i, {
390
+ l: S.dxFraction,
391
+ t: S.dyFraction,
392
+ r: 1 - S.dxFraction - S.dwFraction,
393
+ b: 1 - S.dyFraction - S.dhFraction
394
+ }) : i;
395
+ if (o) {
396
+ e.save(), e.beginPath(), e.moveTo(r[0].x, r[0].y);
397
+ for (let t = 1; t < r.length; t++) e.lineTo(r[t].x, r[t].y);
398
+ e.closePath(), e.clip(), L(l, e, x.w, x.h, o, .5, C), e.restore();
399
+ }
400
+ }
401
+ else for (let t of _) {
402
+ if (!a(b, t)) continue;
403
+ let i = G(h, p, t, v);
404
+ if (!i) continue;
405
+ let o = i.map(v);
406
+ e.save(), e.beginPath(), e.moveTo(o[0].x, o[0].y);
407
+ for (let t = 1; t < o.length; t++) e.lineTo(o[t].x, o[t].y);
408
+ e.closePath(), e.clip();
409
+ let u = s(b, t);
410
+ if (b.mode === "tile") {
411
+ if (!O) continue;
412
+ let n = k.find((e) => e.faceIndex === t);
413
+ if (!n) continue;
414
+ let r = n.canvas.width / n.width, i = n.canvas.height / n.height;
415
+ n.context.save(), n.context.scale(r, i);
416
+ for (let e = n.firstRow; e < n.lastRow; e++) for (let t = n.firstColumn; t < n.lastColumn; t++) {
417
+ let r = n.origin.x + t * O.tileW, i = n.origin.y + e * O.tileH, a = O.flipX && Math.abs(t) % 2 == 1, o = O.flipY && Math.abs(e) % 2 == 1;
418
+ n.context.save(), n.context.translate(r + (a ? O.tileW : 0), i + (o ? O.tileH : 0)), n.context.scale(a ? -1 : 1, o ? -1 : 1), g(n.context, l, c.srcRect, 0, 0, O.tileW, O.tileH), n.context.restore();
419
+ }
420
+ n.context.restore(), L(n.canvas, e, n.canvas.width, n.canvas.height, o, .5);
421
+ } else if (b.mode === "stack") {
422
+ if (D == null) continue;
423
+ if (n(b, t)) for (let t = 0; t < Math.ceil(1 / D); t++) L(l, e, x.w, x.h, E(i, t * D, (t + 1) * D), .5, C);
424
+ else L(l, e, x.w, x.h, o, .5, C);
425
+ } else if (b.stackUnit != null && r(b, t)) for (let t = 0; t < u; t++) {
426
+ let n = t * b.stackUnit / y, r = (t + 1) * b.stackUnit / y;
427
+ L(l, e, x.w, x.h, E(i, n, r), .5, C);
428
+ }
429
+ else b.stackUnit != null && L(l, e, x.w, x.h, o, .5, C);
430
+ e.restore();
431
+ }
432
+ return e.restore(), !0;
433
+ }
434
+ //#endregion
435
+ //#region packages/core/src/chart/label-box.ts
436
+ function K(e, t) {
437
+ if (!e) return t ?? void 0;
438
+ if (!t) return e;
439
+ let n = e.fillPaintAuthored === !0 || e.fill != null || e.fillPaint != null || e.fillHidden === !0, r = e.borderPaintAuthored === !0 || e.borderColor != null || e.borderFill != null || e.borderHidden === !0, i = e.borderDashAuthored === !0 || e.borderDash != null || e.borderCustomDash != null;
440
+ return {
441
+ ...t,
442
+ ...e,
443
+ fill: n ? e.fill : t.fill,
444
+ fillPaint: n ? e.fillPaint : t.fillPaint,
445
+ fillHidden: n ? e.fillHidden : t.fillHidden,
446
+ fillPaintAuthored: n ? e.fillPaintAuthored : t.fillPaintAuthored,
447
+ borderColor: r ? e.borderColor : t.borderColor,
448
+ borderFill: r ? e.borderFill : t.borderFill,
449
+ borderHidden: r ? e.borderHidden : t.borderHidden,
450
+ borderPaintAuthored: r ? e.borderPaintAuthored : t.borderPaintAuthored,
451
+ borderWidthEmu: e.borderWidthEmu ?? t.borderWidthEmu,
452
+ borderDash: i ? e.borderDash : t.borderDash,
453
+ borderCustomDash: i ? e.borderCustomDash : t.borderCustomDash,
454
+ borderDashAuthored: i ? e.borderDashAuthored : t.borderDashAuthored,
455
+ borderCap: e.borderCap ?? t.borderCap,
456
+ borderJoin: e.borderJoin ?? t.borderJoin,
457
+ borderCompound: e.borderCompound ?? t.borderCompound
458
+ };
459
+ }
460
+ function ae(e, t, n, r, i = 0) {
461
+ if (!t) return;
462
+ if (t.fillHidden !== !0) {
463
+ let r = t.fillPaint ? _(t.fillPaint, e, n.x, n.y, n.w, n.h, i) : t.fill ? `#${t.fill}` : null;
464
+ r && (e.fillStyle = r, e.fillRect(n.x, n.y, n.w, n.h));
465
+ }
466
+ if (t.borderHidden === !0) return;
467
+ let a = t.borderFill ? _(t.borderFill, e, n.x, n.y, n.w, n.h, i) : t.borderColor ? `#${t.borderColor}` : null;
468
+ a && (e.save(), e.strokeStyle = a, e.lineWidth = t.borderWidthEmu == null ? Math.max(.25, .75 * r) : Math.max(.25, t.borderWidthEmu / h * r), e.setLineDash(u(t.borderCustomDash, t.borderDash, e.lineWidth)), t.borderCap === "rnd" ? e.lineCap = "round" : t.borderCap === "sq" ? e.lineCap = "square" : t.borderCap === "flat" && (e.lineCap = "butt"), t.borderJoin === "round" ? e.lineJoin = "round" : t.borderJoin === "bevel" ? e.lineJoin = "bevel" : t.borderJoin === "miter" && (e.lineJoin = "miter"), e.strokeRect(n.x, n.y, n.w, n.h), e.restore());
469
+ }
470
+ //#endregion
471
+ //#region packages/core/src/chart/axis-scale.ts
472
+ function oe(e, t = {
473
+ min: 0,
474
+ max: 1
475
+ }) {
476
+ let n = Infinity, r = -Infinity;
477
+ for (let t of e) t == null || !Number.isFinite(t) || (t < n && (n = t), t > r && (r = t));
478
+ return Number.isFinite(n) && Number.isFinite(r) ? {
479
+ min: n,
480
+ max: r
481
+ } : t;
482
+ }
483
+ function q(e, t = 5) {
484
+ if (e === 0) return 1;
485
+ let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
486
+ return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
487
+ }
488
+ function se(e, t, n, r) {
489
+ let i = Number.isFinite(e) ? e : 0, a = Number.isFinite(t) ? t : 100, o = a > i ? a - i : 100, s = i < 0 && a > 0, c = n === "horizontal" || r == null || !Number.isFinite(r) || r < 120 ? s ? 4 : 5 : 10;
490
+ return J(a > i ? Z(i, a, c) : o / c);
491
+ }
492
+ function ce(e, t, n) {
493
+ let r = Number.isFinite(e) ? e : 0, i = Number.isFinite(t) ? t : 1, a = i > r ? null : 1, o = n != null && Number.isFinite(n) ? n < 45 ? 4 : n < 90 ? 8 : 10 : 8;
494
+ return J(i > r ? Z(r, i, o) : (a ?? 1) / o);
495
+ }
496
+ function le(e, t, n) {
497
+ let r = Number.isFinite(e) ? e : 0, i = Number.isFinite(t) ? t : 1;
498
+ return J((i > r ? i - r : 1) / (n != null && Number.isFinite(n) && n > 0 ? Math.max(5, Math.round(n / 28)) : 5));
499
+ }
500
+ function J(e) {
501
+ if (!(e > 0) || !isFinite(e)) return 1;
502
+ let t = 10 ** Math.floor(Math.log10(e));
503
+ if (!(t > 0) || !isFinite(t)) return e;
504
+ let n = e / t, r = n <= 1 ? 1 : n <= 2 ? 2 : n <= 5 ? 5 : 10;
505
+ return Math.min(Number.MAX_VALUE, r * t);
506
+ }
507
+ function Y(e) {
508
+ return e != null && isFinite(e) ? e : null;
509
+ }
510
+ function X(e) {
511
+ return e != null && isFinite(e) && e > 0 ? e : null;
512
+ }
513
+ function Z(e, t, n) {
514
+ let r = t - e, i = isFinite(r) ? r / n : t / n - e / n;
515
+ return i > 0 && isFinite(i) ? i : r > 0 && isFinite(r) ? Number.MIN_VALUE : Number.MAX_VALUE;
516
+ }
517
+ function ue(e, t, n) {
518
+ if (!isFinite(e) || !isFinite(t) || !(t >= e) || !(n > 0) || !isFinite(n)) return 0;
519
+ let r = t - e, i = isFinite(r) ? r / n : t / n - e / n;
520
+ return !isFinite(i) || i > 2 ** 53 - 1 ? Infinity : Math.max(1, Math.floor(i + 1e-9) + 1);
521
+ }
522
+ function de(e, t, n, r, i) {
523
+ let a = ue(e, t, n);
524
+ if (a === 0 || a > 512 && r === "skip") return [];
525
+ let o = Math.min(a, 512), s = [], c = t - e, l = Math.max(Math.abs(n), isFinite(c) ? Math.abs(c) : Math.max(Math.abs(e), Math.abs(t))) * 1e-9, u = -Infinity;
526
+ for (let r = 0; r < o; r++) {
527
+ let a = r * n, o = e + a;
528
+ if ((!isFinite(a) || !isFinite(o) || r > 0 && !(o > u)) && (o = (e / n + r) * n), !isFinite(o) || o > t + l || r > 0 && !(o > u)) break;
529
+ if (u = o, i != null) {
530
+ if (o >= t - l) break;
531
+ let n = o - e, r = isFinite(n) ? n / i : o / i - e / i;
532
+ if (isFinite(r) && Math.abs(r - Math.round(r)) <= 1e-8) continue;
533
+ }
534
+ s.push(o);
535
+ }
536
+ return s;
537
+ }
538
+ function fe(e) {
539
+ let t = isFinite(e.dataMin) ? e.dataMin : 0, n = isFinite(e.dataMax) ? e.dataMax : 1;
540
+ t > n && ([t, n] = [n, t]);
541
+ let r, i, a;
542
+ if (t === 0 && n === 0) r = 0, i = 1, a = .1;
543
+ else {
544
+ t === n && (t = Math.min(0, t), n = Math.max(0, n));
545
+ let e = t >= 0 && (t === 0 || n > 1.2 * t), o = n <= 0 && (n === 0 || Math.abs(t) > 1.2 * Math.abs(n)), s = e ? 0 : t, c = o ? 0 : n, l = c - s, u = isFinite(l) ? l * .05 : c * .05 - s * .05, d = e ? 0 : t - u, f = o ? 0 : n + u;
546
+ a = J(f / 10 - d / 10), r = Math.floor(d / a) * a, i = Math.ceil(f / a) * a, (!isFinite(r) || !isFinite(i) || !(i > r)) && (r = Math.min(t, 0), i = Math.max(n, r + a));
547
+ }
548
+ let o = Y(e.explicitMin), s = Y(e.explicitMax), c = X(e.majorUnit), l = o ?? (c == null ? r : Math.floor(r / c) * c), u = s ?? (c == null ? i : Math.ceil(i / c) * c), d = a;
549
+ if (c == null && o != null && s != null && s > o) {
550
+ if (e.axisOrientation === "horizontal") d = J(Z(o, s, e.axisLenPt != null && isFinite(e.axisLenPt) && e.axisLenPt > 0 ? Math.max(5, Math.round(e.axisLenPt / 38)) : 8));
551
+ else if (e.axisOrientation === "vertical") {
552
+ let t = e.axisLenPt != null && isFinite(e.axisLenPt) && e.axisLenPt > 0 ? Math.max(5, Math.round(e.axisLenPt / 28)) : 7;
553
+ d = Math.max(J(Z(o, s, 10)), Math.min(Number.MAX_VALUE, q(Z(o, s, t), 1)));
554
+ }
555
+ }
556
+ let f = c ?? d;
557
+ c == null && ue(l, u, f) > 512 && (f = J(u / 511 - l / 511));
558
+ let p = X(e.minorUnit);
559
+ e.needMinor && c == null && p == null && ue(l, u, f / 5) > 512 && (f = J(u / 102 - l / 102));
560
+ let m = f / 5, h = e.needMinor ? p ?? (m > 0 && isFinite(m) ? m : f) : null, g = de(l, u, f, c == null ? "skip" : "truncate"), _ = h == null ? [] : de(l, u, h, "skip", f);
561
+ return {
562
+ min: l,
563
+ max: u,
564
+ majorUnit: f,
565
+ minorUnit: h,
566
+ majorTicks: g,
567
+ minorTicks: _
568
+ };
569
+ }
570
+ function pe(e, t, n, r) {
571
+ let i, a = r?.logBase;
572
+ if (a != null && isFinite(a) && a >= 2 && t > 0 && n > 0) {
573
+ let r = Math.log(t), a = Math.log(n) - r;
574
+ i = a === 0 ? 0 : (Math.log(Math.max(e, Number.MIN_VALUE)) - r) / a;
575
+ } else {
576
+ let r = n - t;
577
+ if (r === 0) i = 0;
578
+ else if (Number.isFinite(r) && Number.isFinite(e - t)) i = (e - t) / r;
579
+ else {
580
+ let r = Math.max(Math.abs(e), Math.abs(t), Math.abs(n)), a = n / r - t / r;
581
+ i = a === 0 ? 0 : (e / r - t / r) / a;
582
+ }
583
+ }
584
+ return r?.reversed ? 1 - i : i;
585
+ }
586
+ function me(e, t, n, r, i) {
587
+ let a = isFinite(n) && n >= 2 ? n : 10, o = (e) => Math.log(e) / Math.log(a), s = t > 0 ? t : 1, c = Math.floor(o(e > 0 ? e : s)), l = Math.ceil(o(s)), u = (e) => {
588
+ let t = a ** +e;
589
+ return t === 0 ? Number.MIN_VALUE : isFinite(t) ? t : Number.MAX_VALUE;
590
+ }, d = r ?? u(c), f = i ?? u(Math.max(l, c + 1)), p = [], m = Math.ceil(o(d) - 1e-9), h = Math.floor(o(f) + 1e-9);
591
+ if (!isFinite(m) || !isFinite(h) || h < m) return {
592
+ min: d,
593
+ max: f,
594
+ lines: p
595
+ };
596
+ let g = h - m + 1, _ = Math.max(1, Math.ceil((g - 1) / 511)), v = Math.min(512, Math.floor((g - 1) / _) + 1);
597
+ for (let e = 0; e < v; e++) {
598
+ let t = u(m + e * _);
599
+ t >= d && t <= f && (p.length === 0 || t > p[p.length - 1]) && p.push(t);
600
+ }
601
+ let y = u(h);
602
+ return p.length < 512 && y >= d && y <= f && y > (p[p.length - 1] ?? 0) && p.push(y), {
603
+ min: d,
604
+ max: f,
605
+ lines: p
606
+ };
607
+ }
608
+ function he(e) {
609
+ let t = e.logBase;
610
+ if (t != null && Number.isFinite(t) && t >= 2) {
611
+ let { min: n, max: r, lines: i } = me(e.dataMin, e.dataMax, t, Y(e.explicitMin), Y(e.explicitMax));
612
+ return {
613
+ min: n,
614
+ max: r,
615
+ majorUnit: i.length > 1 ? i[1] - i[0] : r - n,
616
+ minorUnit: null,
617
+ majorTicks: i,
618
+ minorTicks: [],
619
+ fraction: (i) => pe(i, n, r, {
620
+ logBase: t,
621
+ reversed: e.reversed
622
+ })
623
+ };
624
+ }
625
+ let n = fe(e);
626
+ return {
627
+ ...n,
628
+ fraction: (t) => pe(t, n.min, n.max, { reversed: e.reversed })
629
+ };
630
+ }
631
+ function ge(e, t, n) {
632
+ let r = Math.min(e.length, t.length);
633
+ if (r < 2) return null;
634
+ let i = 0, a = 0, o = 0, s = 0;
635
+ for (let n = 0; n < r; n++) i += e[n], a += t[n], o += e[n] * e[n], s += e[n] * t[n];
636
+ let c, l;
637
+ if (n != null && isFinite(n)) c = o === 0 ? 0 : (s - n * i) / o, l = n;
638
+ else {
639
+ let e = r * o - i * i;
640
+ c = e === 0 ? 0 : (r * s - i * a) / e, l = (a - c * i) / r;
641
+ }
642
+ let u = a / r, d = 0, f = 0;
643
+ for (let n = 0; n < r; n++) {
644
+ let r = t[n] - (c * e[n] + l);
645
+ d += r * r;
646
+ let i = t[n] - u;
647
+ f += i * i;
648
+ }
649
+ let p = f === 0 ? +(d === 0) : 1 - d / f;
650
+ return {
651
+ slope: c,
652
+ intercept: l,
653
+ rSquared: p
654
+ };
655
+ }
656
+ function _e(e, t, n, r) {
657
+ let i = Math.min(e.length, t.length);
658
+ if (i < 2) return {
659
+ xs: [],
660
+ ys: []
661
+ };
662
+ if (n === "linear") {
663
+ let n = ge(e, t, r?.intercept);
664
+ if (!n) return {
665
+ xs: [],
666
+ ys: []
667
+ };
668
+ let a = e[0], o = e[i - 1];
669
+ return {
670
+ xs: [a, o],
671
+ ys: [n.slope * a + n.intercept, n.slope * o + n.intercept]
672
+ };
673
+ }
674
+ if (n === "movingAvg") {
675
+ let n = Math.max(2, Math.round(r?.period ?? 2));
676
+ if (i < n) return {
677
+ xs: [],
678
+ ys: []
679
+ };
680
+ let a = [], o = [], s = 0;
681
+ for (let e = 0; e < n; e++) s += t[e];
682
+ for (let r = n - 1; r < i; r++) {
683
+ a.push(e[r]), o.push(s / n);
684
+ let c = r + 1;
685
+ c < i && (s += t[c] - t[c - n]);
686
+ }
687
+ return {
688
+ xs: a,
689
+ ys: o
690
+ };
691
+ }
692
+ let a = [];
693
+ for (let r = 0; r < i; r++) {
694
+ let i = e[r], o = t[r];
695
+ !Number.isFinite(i) || !Number.isFinite(o) || n === "log" && i <= 0 || n === "exp" && o <= 0 || n === "power" && (i <= 0 || o <= 0) || a.push({
696
+ x: i,
697
+ y: o
698
+ });
699
+ }
700
+ if (a.length < 2) return {
701
+ xs: [],
702
+ ys: []
703
+ };
704
+ let o = Infinity, s = -Infinity;
705
+ for (let e of a) o = Math.min(o, e.x), s = Math.max(s, e.x);
706
+ if (!Number.isFinite(o) || !Number.isFinite(s) || s <= o) return {
707
+ xs: [],
708
+ ys: []
709
+ };
710
+ let c = Number.isFinite(r?.backward) ? Math.max(0, r?.backward ?? 0) : 0, l = Number.isFinite(r?.forward) ? Math.max(0, r?.forward ?? 0) : 0, u = o - c, d = s + l;
711
+ if ((n === "log" || n === "power") && (u = Math.max(Number.MIN_VALUE, u)), !Number.isFinite(u) || !Number.isFinite(d) || d <= u) return {
712
+ xs: [],
713
+ ys: []
714
+ };
715
+ let f = (e) => {
716
+ let t = [], n = [];
717
+ for (let r = 0; r <= 64; r++) {
718
+ let i = r / 64, a = u * (1 - i) + d * i, o = e(a);
719
+ if (!Number.isFinite(a) || !Number.isFinite(o)) return {
720
+ xs: [],
721
+ ys: []
722
+ };
723
+ t.push(a), n.push(o);
724
+ }
725
+ return {
726
+ xs: t,
727
+ ys: n
728
+ };
729
+ };
730
+ if (n === "exp" || n === "log" || n === "power") {
731
+ let e = ge(a.map((e) => n === "log" || n === "power" ? Math.log(e.x) : e.x), a.map((e) => n === "exp" || n === "power" ? Math.log(e.y) : e.y));
732
+ if (!e || ![e.slope, e.intercept].every(Number.isFinite)) return {
733
+ xs: [],
734
+ ys: []
735
+ };
736
+ if (n === "exp") {
737
+ let t = Math.exp(e.intercept);
738
+ return f((n) => t * Math.exp(e.slope * n));
739
+ }
740
+ if (n === "log") return f((t) => e.slope * Math.log(t) + e.intercept);
741
+ let t = Math.exp(e.intercept);
742
+ return f((n) => t * n ** e.slope);
743
+ }
744
+ if (n === "poly") {
745
+ let e = Math.min(6, a.length - 1, Math.max(2, Math.round(r?.order ?? 2)));
746
+ if (e < 2) return {
747
+ xs: [],
748
+ ys: []
749
+ };
750
+ let t = o / 2 + s / 2, n = Math.max(Math.abs(o - t), Math.abs(s - t));
751
+ if (!Number.isFinite(t) || !Number.isFinite(n) || n <= 0) return {
752
+ xs: [],
753
+ ys: []
754
+ };
755
+ let i = a.length, c = e + 1, l = Array.from({ length: c }, () => Array(i).fill(0));
756
+ for (let e = 0; e < i; e++) {
757
+ let r = (a[e].x - t) / n, i = 1;
758
+ for (let t = 0; t < c; t++) l[t][e] = i, i *= r;
759
+ }
760
+ let u = [], d = Array.from({ length: c }, () => Array(c).fill(0)), p = Array(c).fill(0);
761
+ for (let e = 0; e < c; e++) {
762
+ let t = l[e].slice();
763
+ for (let n = 0; n < e; n++) {
764
+ let r = 0;
765
+ for (let e = 0; e < i; e++) r += u[n][e] * t[e];
766
+ d[n][e] = r;
767
+ for (let e = 0; e < i; e++) t[e] -= r * u[n][e];
768
+ }
769
+ let n = 0;
770
+ for (let e of t) n += e * e;
771
+ let r = Math.sqrt(n);
772
+ if (!Number.isFinite(r) || r <= 2 ** -52 * Math.sqrt(i)) return {
773
+ xs: [],
774
+ ys: []
775
+ };
776
+ d[e][e] = r;
777
+ let o = t.map((e) => e / r);
778
+ u.push(o);
779
+ let s = 0;
780
+ for (let e = 0; e < i; e++) s += o[e] * a[e].y;
781
+ if (!Number.isFinite(s)) return {
782
+ xs: [],
783
+ ys: []
784
+ };
785
+ p[e] = s;
786
+ }
787
+ let m = Array(c).fill(0);
788
+ for (let e = c - 1; e >= 0; e--) {
789
+ let t = p[e];
790
+ for (let n = e + 1; n < c; n++) t -= d[e][n] * m[n];
791
+ if (m[e] = t / d[e][e], !Number.isFinite(m[e])) return {
792
+ xs: [],
793
+ ys: []
794
+ };
795
+ }
796
+ return f((r) => {
797
+ let i = (r - t) / n, a = m[e];
798
+ for (let t = e - 1; t >= 0; t--) a = a * i + m[t];
799
+ return a;
800
+ });
801
+ }
802
+ return {
803
+ xs: [],
804
+ ys: []
805
+ };
806
+ }
807
+ //#endregion
808
+ //#region packages/core/src/chart/text-elide.ts
809
+ var ve = "…";
810
+ function ye(e, t, n) {
811
+ if (t === "" || n <= 0) return "";
812
+ if (e.measureText(t).width <= n) return t;
813
+ if (e.measureText(ve).width > n) return "";
814
+ let r = 0, i = t.length - 1, a = 0;
815
+ for (; r <= i;) {
816
+ let o = r + i >> 1;
817
+ e.measureText(t.slice(0, o) + ve).width <= n ? (a = o, r = o + 1) : i = o - 1;
818
+ }
819
+ let o = a > 0 ? t.charCodeAt(a - 1) : 0;
820
+ return o >= 55296 && o <= 56319 && a--, t.slice(0, a) + ve;
821
+ }
822
+ //#endregion
823
+ //#region packages/core/src/chart/rich-data-label.ts
824
+ var be = 4096, xe = 4, Se = be;
825
+ function Ce(t, n, r, i) {
826
+ let a = [[]], o = [null], s = 0, c = (e) => {
827
+ if (!e) return null;
828
+ let t = e.startsWith("#") ? e.slice(1) : e;
829
+ return /^[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(t) ? `#${t}` : null;
830
+ };
831
+ outer: for (let l = 0; l < n.runs.length && l < Se; l++) {
832
+ let u = n.runs[l];
833
+ u.text !== "\n" && o[a.length - 1] == null && (o[a.length - 1] = u.paragraphAlign ?? null);
834
+ let d = e(u.fontSizeHpt, n.ptToPx) ?? r, f = u.fontFace?.trim().replaceAll("\"", ""), p = f && !f.startsWith("+") ? f : null, m = f && n.fontFamilyForFace ? n.fontFamilyForFace(f) : p ? `"${p}", Calibri, Arial, sans-serif` : n.fontFamily, h = `${u.italic ?? n.fallbackItalic ?? !1 ? "italic " : ""}${u.bold ?? n.fallbackBold ? "bold " : ""}${d}px ${m}`, g = (u.baseline ?? n.fallbackBaseline ?? 0) * d, _ = u.colorPaintAuthored === !0 || u.color != null || u.colorHidden === !0 ? u.colorHidden === !0 ? null : c(u.color) : n.fallbackColorHidden === !0 ? null : i, v = "", y = () => {
835
+ v &&= (t.font = h, a[a.length - 1].push({
836
+ text: v,
837
+ font: h,
838
+ fillStyle: _,
839
+ width: t.measureText(v).width,
840
+ fontSizePx: d,
841
+ baselineShiftPx: g
842
+ }), "");
843
+ }, b = !1;
844
+ for (let e of u.text) {
845
+ if (b && e === "\n") {
846
+ b = !1;
847
+ continue;
848
+ }
849
+ b = !1;
850
+ let t = e === "\r" ? "\n" : e;
851
+ if (e === "\r" && (b = !0), s >= be) {
852
+ y();
853
+ break outer;
854
+ }
855
+ if (s++, t === "\n") {
856
+ if (y(), a.length >= xe) break outer;
857
+ a.push([]), o.push(u.paragraphAlign ?? null);
858
+ } else v += t;
859
+ }
860
+ y();
861
+ }
862
+ if (!a.some((e) => e.length > 0)) return null;
863
+ let l = a.map((e) => Math.max(r * 1.15, ...e.map((e) => e.fontSizePx * 1.15 + Math.abs(e.baselineShiftPx)))), u = a.map((e) => e.reduce((e, t) => e + t.width, 0));
864
+ return {
865
+ lines: a,
866
+ lineAligns: o,
867
+ lineHeights: l,
868
+ lineWidths: u,
869
+ width: Math.max(0, ...u),
870
+ height: l.reduce((e, t) => e + t, 0)
871
+ };
872
+ }
873
+ function we(e, t, n, r, i = "center", a = "middle", o = t.width) {
874
+ let s = a === "top" ? r : a === "bottom" ? r - t.height : r - t.height / 2;
875
+ for (let r = 0; r < t.lines.length; r++) {
876
+ let c = t.lines[r], l = t.lineWidths[r], u = t.lineAligns[r], d = u === "l" ? "left" : u === "r" ? "right" : u === "ctr" ? "center" : i, f = i === "left" ? n : i === "right" ? n - o : n - o / 2, p = f + o, m = d === "left" ? f : d === "right" ? p - l : f + (o - l) / 2, h = a === "top" ? s : a === "bottom" ? s + t.lineHeights[r] : s + t.lineHeights[r] / 2;
877
+ for (let t of c) {
878
+ if (e.font = t.font, t.fillStyle == null) {
879
+ m += t.width;
880
+ continue;
881
+ }
882
+ e.fillStyle = t.fillStyle, e.textAlign = "left", e.textBaseline = a, e.fillText(t.text, m, h - t.baselineShiftPx), m += t.width;
883
+ }
884
+ s += t.lineHeights[r];
885
+ }
886
+ }
887
+ //#endregion
888
+ //#region packages/core/src/chart/data-label-content.ts
889
+ function Te(e) {
890
+ if (e.customText) return e.customText;
891
+ let t = [];
892
+ if (e.showCategory && e.category && t.push(e.category), e.showSeries && e.seriesName && t.push(e.seriesName), e.showValue && e.sourceValue != null) {
893
+ let n = e.valueDivisor != null && Number.isFinite(e.valueDivisor) && e.valueDivisor > 0 ? e.valueDivisor : 1;
894
+ t.push(l(e.sourceValue / n, e.formatCode ?? null, e.date1904));
895
+ }
896
+ return e.showPercent && e.percentRatio != null && t.push(l(e.percentRatio, e.percentFormatCode ?? e.formatCode ?? "0%", e.date1904)), e.showBubbleSize && e.bubbleSize != null && t.push(l(e.bubbleSize, e.formatCode ?? null, e.date1904)), t.filter((e) => e !== "").join(e.separator ?? e.defaultSeparator ?? " ");
897
+ }
898
+ //#endregion
899
+ //#region packages/core/src/chart/material-color.ts
900
+ function Ee(e) {
901
+ return e.rotationX === 15 && e.rotationY === 20 && e.rightAngleAxes === !1 && e.perspective === 30;
902
+ }
903
+ function De(e) {
904
+ return Ee(e) ? 2 : 1;
905
+ }
906
+ function Oe(e, t) {
907
+ let n = e.replace(/^#/, "");
908
+ if (!/^[0-9a-f]{6}$/i.test(n) || !Number.isFinite(t)) return e;
909
+ let r = Math.max(0, t), i = (e) => Math.max(0, Math.min(255, Math.round(Number.parseInt(n.slice(e, e + 2), 16) * r))).toString(16).padStart(2, "0");
910
+ return `#${i(0)}${i(2)}${i(4)}`.toUpperCase();
911
+ }
912
+ var ke = (e) => e <= .04045 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4, Ae = (e) => e <= .0031308 ? e * 12.92 : 1.055 * e ** (1 / 2.4) - .055;
913
+ function je(e, t) {
914
+ let n = e.replace(/^#/, "");
915
+ if (!/^[0-9a-f]{6}$/i.test(n) || !Number.isFinite(t)) return e;
916
+ let r = Math.max(-1, Math.min(1, t)), i = (e) => {
917
+ let t = ke(Number.parseInt(n.slice(e, e + 2), 16) / 255), i = r < 0 ? t * (1 + r) : t * (1 - r) + r;
918
+ return Math.round(Math.max(0, Math.min(1, Ae(i))) * 255).toString(16).padStart(2, "0");
919
+ };
920
+ return `#${i(0)}${i(2)}${i(4)}`.toUpperCase();
921
+ }
922
+ function Me(e, t, n, r) {
923
+ if (e.length < 6 || t < 0 || n <= 0) return null;
924
+ let i = e[t % 6];
925
+ if (!i) return null;
926
+ if (![
927
+ 2,
928
+ 10,
929
+ 18,
930
+ 26,
931
+ 34,
932
+ 42
933
+ ].includes(r ?? -1)) return `#${i}`.toUpperCase();
934
+ let a = Math.floor(n / 6);
935
+ return je(i, -.7 + 1.4 * ((Math.floor(t / 6) + 1) / (a + 2)));
936
+ }
937
+ function Ne(e) {
938
+ if (!e) return 1;
939
+ let t = e.z < 0 ? {
940
+ x: -e.x,
941
+ y: -e.y,
942
+ z: -e.z
943
+ } : e, n = {
944
+ x: .24,
945
+ y: .42,
946
+ z: .88
947
+ }, r = Math.hypot(n.x, n.y, n.z), i = Math.max(0, (t.x * n.x + t.y * n.y + t.z * n.z) / r);
948
+ return Math.max(.48, Math.min(1.22, .48 + .78 * i));
949
+ }
950
+ //#endregion
951
+ //#region packages/core/src/chart/three-d.ts
952
+ function Pe(e, t, n, r, i) {
953
+ let a = Number.isFinite(e) && e > 0 ? e : 0, o = Number.isFinite(t) ? $(t, 0, 500) : 150, s = Math.max(1, Math.trunc(r)), c = $(Math.trunc(n), 0, s - 1), l = i ? 1 : s, u = a / (l + o / 100);
954
+ return {
955
+ offset: (a - u * l) / 2 + (i ? 0 : c * u),
956
+ size: u
957
+ };
958
+ }
959
+ function Fe(e, t, n) {
960
+ if (![
961
+ e,
962
+ t,
963
+ n
964
+ ].every(Number.isFinite)) return 1;
965
+ let r = e >= 0 ? n : t;
966
+ return 1 - Math.min(1, Math.abs(e) / Math.max(Number.MIN_VALUE, Math.abs(r)));
967
+ }
968
+ function Ie(e) {
969
+ return !(e.heightPercentAuthored ?? e.heightPercent != null) || e.heightPercent == null || !Number.isFinite(e.heightPercent) || e.heightPercent < 5 || e.heightPercent > 500 ? 1 : e.heightPercent / 100;
970
+ }
971
+ function Le(e, t, n, r) {
972
+ if (!t.length || t.length > 1e5 || ![
973
+ n.x,
974
+ n.y,
975
+ n.w,
976
+ n.h
977
+ ].every(Number.isFinite) || n.w <= 0 || n.h <= 0 || !t.every((e) => Number.isFinite(e.x) && Number.isFinite(e.y))) return e;
978
+ let i = Infinity, a = -Infinity, o = Infinity, s = -Infinity;
979
+ for (let e of t) i = Math.min(i, e.x), a = Math.max(a, e.x), o = Math.min(o, e.y), s = Math.max(s, e.y);
980
+ let c = a - i, l = s - o;
981
+ if (!(c > 2 ** -52) || !(l > 2 ** -52)) return e;
982
+ let u = $(Q(r, .06), 0, .45), d = n.w * (1 - 2 * u), f = n.h * (1 - 2 * u), p = Math.min(d / c, f / l);
983
+ if (!(p > 0) || !Number.isFinite(p)) return e;
984
+ let m = {
985
+ x: (i + a) / 2,
986
+ y: (o + s) / 2
987
+ }, h = {
988
+ x: n.x + n.w / 2,
989
+ y: n.y + n.h / 2
990
+ }, g = (e) => (t, n, r) => {
991
+ let i = e(t, n, r);
992
+ return {
993
+ x: h.x + (i.x - m.x) * p,
994
+ y: h.y + (i.y - m.y) * p
995
+ };
996
+ };
997
+ return {
998
+ ...e,
999
+ project: g(e.project),
1000
+ projectUnbounded: g(e.projectUnbounded),
1001
+ depthX: e.depthX * p,
1002
+ depthY: e.depthY * p
1003
+ };
1004
+ }
1005
+ function Re(e, t, n, r = .06) {
1006
+ return !t.length || t.length > 1e5 ? e : Le(e, t.map((t) => e.project(t.x, t.y, t.depth)), n, r);
1007
+ }
1008
+ var ze = 4294967295;
1009
+ function Be(e, t, n) {
1010
+ let { front: r } = e, i = r.x, a = r.x + r.w, o = e.topology.farX === "min" ? i : a, s = e.topology.axisY === "min" ? r.y : r.y + r.h, c = s === r.y ? r.y + r.h : r.y, { nearDepth: l, farDepth: u } = e.topology, d = [
1011
+ e.projectUnbounded(i, c, u),
1012
+ e.projectUnbounded(a, c, u),
1013
+ e.projectUnbounded(i, s, u)
1014
+ ], f = [i, a].flatMap((t) => [c, s].flatMap((n) => [l, u].map((r) => e.projectUnbounded(t, n, r).x))), p = Math.max(...f) - Math.min(...f), m = Math.hypot(d[0].x - d[2].x, d[0].y - d[2].y), h = p > 0 && m > 0 ? p / m : null, g = n ?? 0, _ = Number.isFinite(g) && g >= 0 && g <= ze ? g : 0, v = Math.max(r.w, r.h, e.modelDepth) * _ / 100, y, b;
1015
+ if (t === "floor") {
1016
+ y = [
1017
+ {
1018
+ x: i,
1019
+ y: s,
1020
+ depth: l
1021
+ },
1022
+ {
1023
+ x: a,
1024
+ y: s,
1025
+ depth: l
1026
+ },
1027
+ {
1028
+ x: a,
1029
+ y: s,
1030
+ depth: u
1031
+ },
1032
+ {
1033
+ x: i,
1034
+ y: s,
1035
+ depth: u
1036
+ }
1037
+ ];
1038
+ let e = s + (s === r.y ? -v : v);
1039
+ b = y.map((t) => ({
1040
+ ...t,
1041
+ y: e
1042
+ }));
1043
+ } else if (t === "sideWall") {
1044
+ y = [
1045
+ {
1046
+ x: o,
1047
+ y: s,
1048
+ depth: l
1049
+ },
1050
+ {
1051
+ x: o,
1052
+ y: s,
1053
+ depth: u
1054
+ },
1055
+ {
1056
+ x: o,
1057
+ y: c,
1058
+ depth: u
1059
+ },
1060
+ {
1061
+ x: o,
1062
+ y: c,
1063
+ depth: l
1064
+ }
1065
+ ];
1066
+ let e = o + (o === i ? -v : v);
1067
+ b = y.map((t) => ({
1068
+ ...t,
1069
+ x: e
1070
+ }));
1071
+ } else {
1072
+ y = [
1073
+ {
1074
+ x: i,
1075
+ y: s,
1076
+ depth: u
1077
+ },
1078
+ {
1079
+ x: a,
1080
+ y: s,
1081
+ depth: u
1082
+ },
1083
+ {
1084
+ x: a,
1085
+ y: c,
1086
+ depth: u
1087
+ },
1088
+ {
1089
+ x: i,
1090
+ y: c,
1091
+ depth: u
1092
+ }
1093
+ ];
1094
+ let t = e.modelDepth > 0 ? v / e.modelDepth : 0, n = u === 0 ? -t : 1 + t;
1095
+ b = y.map((e) => ({
1096
+ ...e,
1097
+ depth: n
1098
+ }));
1099
+ }
1100
+ if (!(v > 0)) return {
1101
+ thickness: 0,
1102
+ inner: y,
1103
+ outer: [...y],
1104
+ faces: [y],
1105
+ pictureStackAspect: h,
1106
+ modelDepth: e.modelDepth
1107
+ };
1108
+ let x = y.map((e, t) => [
1109
+ e,
1110
+ y[(t + 1) % y.length],
1111
+ b[(t + 1) % b.length],
1112
+ b[t]
1113
+ ]), S = [
1114
+ y,
1115
+ b,
1116
+ ...x
1117
+ ], C = [...y, ...b].reduce((e, t) => ({
1118
+ x: e.x + t.x / 8,
1119
+ y: e.y + t.y / 8,
1120
+ depth: e.depth + t.depth / 8
1121
+ }), {
1122
+ x: 0,
1123
+ y: 0,
1124
+ depth: 0
1125
+ }), w = S.map((e) => {
1126
+ let [t, n, r] = e, i = {
1127
+ x: n.x - t.x,
1128
+ y: n.y - t.y,
1129
+ depth: n.depth - t.depth
1130
+ }, a = {
1131
+ x: r.x - t.x,
1132
+ y: r.y - t.y,
1133
+ depth: r.depth - t.depth
1134
+ }, o = {
1135
+ x: i.y * a.depth - i.depth * a.y,
1136
+ y: i.depth * a.x - i.x * a.depth,
1137
+ depth: i.x * a.y - i.y * a.x
1138
+ }, s = e.reduce((t, n) => ({
1139
+ x: t.x + n.x / e.length,
1140
+ y: t.y + n.y / e.length,
1141
+ depth: t.depth + n.depth / e.length
1142
+ }), {
1143
+ x: 0,
1144
+ y: 0,
1145
+ depth: 0
1146
+ }), c = {
1147
+ x: s.x - C.x,
1148
+ y: s.y - C.y,
1149
+ depth: s.depth - C.depth
1150
+ };
1151
+ return o.x * c.x + o.y * c.y + o.depth * c.depth < 0 ? [...e].reverse() : e;
1152
+ });
1153
+ return {
1154
+ thickness: v,
1155
+ inner: y,
1156
+ outer: b,
1157
+ faces: w,
1158
+ pictureStackAspect: h,
1159
+ modelDepth: e.modelDepth
1160
+ };
1161
+ }
1162
+ function Ve(e, t, n, r) {
1163
+ if (!Number.isFinite(r) || r < 0 || r > 1 || n === "x" && t === "sideWall" || n === "y" && t === "floor") return [];
1164
+ let i = (e, t) => ({
1165
+ x: e.x + (t.x - e.x) * r,
1166
+ y: e.y + (t.y - e.y) * r,
1167
+ depth: e.depth + (t.depth - e.depth) * r
1168
+ }), a, o, s, c, l, u;
1169
+ n === "x" ? (a = i(e.inner[0], e.inner[1]), o = i(e.inner[3], e.inner[2]), s = i(e.outer[0], e.outer[1]), c = i(e.outer[3], e.outer[2]), l = 2, u = 4) : (a = i(e.inner[0], e.inner[3]), o = i(e.inner[1], e.inner[2]), s = i(e.outer[0], e.outer[3]), c = i(e.outer[1], e.outer[2]), l = 5, u = 3);
1170
+ let d = [{
1171
+ faceIndex: 0,
1172
+ scenePoints: [a, o]
1173
+ }];
1174
+ return e.thickness > 0 && d.push({
1175
+ faceIndex: 1,
1176
+ scenePoints: [s, c]
1177
+ }, {
1178
+ faceIndex: l,
1179
+ scenePoints: [a, s]
1180
+ }, {
1181
+ faceIndex: u,
1182
+ scenePoints: [o, c]
1183
+ }), d;
1184
+ }
1185
+ function He(e, t, n) {
1186
+ let r = [
1187
+ ["floor", t.floor?.thicknessPercent],
1188
+ ["sideWall", t.sideWall?.thicknessPercent],
1189
+ ["backWall", t.backWall?.thicknessPercent]
1190
+ ].map(([t, n]) => Be(e, t, n));
1191
+ return r.some((e) => e.thickness > 0) ? Le(e, r.flatMap((e) => e.faces.flat()).map((t) => e.projectUnbounded(t.x, t.y, t.depth)), n, .03) : e;
1192
+ }
1193
+ var Q = (e, t) => typeof e == "number" && Number.isFinite(e) ? e : t, $ = (e, t, n) => Math.min(n, Math.max(t, e));
1194
+ function Ue(e, t, n = {}) {
1195
+ if (![
1196
+ t.x,
1197
+ t.y,
1198
+ t.w,
1199
+ t.h
1200
+ ].every(Number.isFinite) || t.w <= 0 || t.h <= 0) return null;
1201
+ let r = $(Q(e.rotationX, 15), -90, 90), i = ($(Q(e.rotationY, 20), 0, 360) + 180) % 360 - 180, a = $(Q(e.depthPercent, 100), 20, 2e3), o = $(Q(e.perspective, 30), 0, 240), s = $(Q(e.gapDepthPercent, 150), 0, 500), c = (e.heightPercentAuthored ?? e.heightPercent != null) && e.heightPercent != null && Number.isFinite(e.heightPercent) ? $(e.heightPercent, 5, 500) : null, l = n.sceneHeightScale != null && Number.isFinite(n.sceneHeightScale) ? $(n.sceneHeightScale * 100, 5, 500) : null, u = c ?? l, d = t;
1202
+ if (u != null) {
1203
+ let e = u / 100, n = Math.min(t.w, t.h / e), r = n * e;
1204
+ d = {
1205
+ x: t.x + (t.w - n) / 2,
1206
+ y: t.y + (t.h - r) / 2,
1207
+ w: n,
1208
+ h: r
1209
+ };
1210
+ }
1211
+ let f = Math.PI / 180, p = $(Q(n.sceneDepthScale, .1), .01, 2), m = d.w * p * (a / 100), h = d.x + d.w / 2, g = d.y + d.h / 2, _ = -i * f, v = r * f, y = Math.cos(_), b = Math.sin(_), x = Math.cos(v), S = Math.sin(v), C = e.rightAngleAxes !== !0 && o > 0, w = $(o * .25, .25, 60) * f, T = $(Q(n.perspectiveTangentGain, 2), .25, 4), E = Math.atan(T * Math.tan(w)), D = Math.hypot(d.w, d.h, m), O = C ? D * .5 / Math.tan(E) : Infinity, k = (e, t, n, r = !0) => {
1212
+ let i = e - h, a = g - t, o = Number.isFinite(n) ? n : 0, s = (.5 - (r ? $(o, 0, 1) : o)) * m, c = y * i + b * s, l = -b * i + y * s;
1213
+ return {
1214
+ x: c,
1215
+ y: x * a - S * l,
1216
+ z: S * a + x * l
1217
+ };
1218
+ }, A = (e) => {
1219
+ if (e.length < 3) return null;
1220
+ let t = e.map((e) => k(e.x, e.y, e.depth, !1)), n = t[0], r = null;
1221
+ for (let e = 1; e + 1 < t.length && !r; e++) for (let i = e + 1; i < t.length; i++) {
1222
+ let a = t[e], o = t[i], s = {
1223
+ x: a.x - n.x,
1224
+ y: a.y - n.y,
1225
+ z: a.z - n.z
1226
+ }, c = {
1227
+ x: o.x - n.x,
1228
+ y: o.y - n.y,
1229
+ z: o.z - n.z
1230
+ }, l = {
1231
+ x: s.y * c.z - s.z * c.y,
1232
+ y: s.z * c.x - s.x * c.z,
1233
+ z: s.x * c.y - s.y * c.x
1234
+ }, u = Math.hypot(l.x, l.y, l.z);
1235
+ if (u > 2 ** -52) {
1236
+ r = {
1237
+ x: l.x / u,
1238
+ y: l.y / u,
1239
+ z: l.z / u
1240
+ };
1241
+ break;
1242
+ }
1243
+ }
1244
+ return r ? {
1245
+ normal: r,
1246
+ centroid: t.reduce((e, n) => ({
1247
+ x: e.x + n.x / t.length,
1248
+ y: e.y + n.y / t.length,
1249
+ z: e.z + n.z / t.length
1250
+ }), {
1251
+ x: 0,
1252
+ y: 0,
1253
+ z: 0
1254
+ })
1255
+ } : null;
1256
+ }, j = -Infinity;
1257
+ for (let e of [d.x, d.x + d.w]) for (let t of [d.y, d.y + d.h]) for (let n of [0, 1]) j = Math.max(j, k(e, t, n).z);
1258
+ let M = C ? Math.max(O, j + D * .01) : Infinity, N = (e, t, n, r = !0) => {
1259
+ let i = k(e, t, n, r);
1260
+ if (!C) return {
1261
+ x: i.x,
1262
+ y: -i.y
1263
+ };
1264
+ let a = M / Math.max(M * 1e-9, M - i.z);
1265
+ return {
1266
+ x: i.x * a,
1267
+ y: -i.y * a
1268
+ };
1269
+ }, P = [];
1270
+ for (let e of [d.x, d.x + d.w]) for (let t of [d.y, d.y + d.h]) for (let n of [0, 1]) P.push(N(e, t, n));
1271
+ let F = Math.min(...P.map((e) => e.x)), I = Math.max(...P.map((e) => e.x)), L = Math.min(...P.map((e) => e.y)), R = Math.max(...P.map((e) => e.y)), z = Math.max(Number.MIN_VALUE, I - F), B = Math.max(Number.MIN_VALUE, R - L), V = Math.min(t.w / z, t.h / B) * .94, H = t.x + (t.w - z * V) / 2 - F * V, U = t.y + (t.h - B * V) / 2 - L * V, W = (e, t, n) => {
1272
+ let r = N(e, t, n);
1273
+ return {
1274
+ x: H + r.x * V,
1275
+ y: U + r.y * V
1276
+ };
1277
+ }, ee = (e, t, n) => {
1278
+ let r = N(e, t, n, !1);
1279
+ return {
1280
+ x: H + r.x * V,
1281
+ y: U + r.y * V
1282
+ };
1283
+ }, te = { ...d }, G = W(h, g, 0), ne = W(h, g, 1), re = ne.x - G.x, ie = ne.y - G.y, K = (e, t) => k(e === "x" ? t === "min" ? d.x : d.x + d.w : h, e === "y" ? t === "min" ? d.y : d.y + d.h : g, e === "depth" ? t === "min" ? 0 : 1 : .5).z, ae = K("x", "min") <= K("x", "max") ? "min" : "max", oe = K("y", "min") <= K("y", "max") ? "min" : "max", q = K("depth", "min") >= K("depth", "max") ? 0 : 1, se = +(q === 0), ce = (e) => {
1284
+ let t = e === "min" ? d.x : d.x + d.w, n = W(t, d.y, q), r = W(t, d.y + d.h, q);
1285
+ return (n.x + r.x) / 2;
1286
+ }, le = (e) => {
1287
+ let t = e === "min" ? d.y : d.y + d.h, n = W(d.x, t, q), r = W(d.x + d.w, t, q);
1288
+ return (n.y + r.y) / 2;
1289
+ }, J = ce("min") <= ce("max") ? "min" : "max", Y = le("min") >= le("max") ? "min" : "max", X = (e) => 1 / Math.max(1, Math.trunc(e)) / (1 + s / 100), Z = (e, t, n = !1) => n || t <= 1 ? .5 : ($(Math.trunc(e), 0, Math.max(0, t - 1)) + .5) / t;
1290
+ return {
1291
+ scene: d,
1292
+ front: te,
1293
+ depthX: re,
1294
+ depthY: ie,
1295
+ modelDepth: m,
1296
+ pieScaleY: $(Math.sin(Math.max(1, Math.abs(r)) * f) ** 1.15, .2, 1),
1297
+ pieThicknessFraction: .3 * Math.max(0, Math.cos(Math.abs(r) * f)),
1298
+ project: W,
1299
+ projectUnbounded: ee,
1300
+ cameraDepth(e, t, n) {
1301
+ return k(e, t, n, !1).z;
1302
+ },
1303
+ cameraProjectionWeight(e, t, n) {
1304
+ if (!C) return 1;
1305
+ let r = k(e, t, n, !1).z;
1306
+ return 1 / Math.max(M * 1e-9, M - r);
1307
+ },
1308
+ cameraFacing(e) {
1309
+ let t = A(e);
1310
+ if (!t) return !1;
1311
+ let { normal: n, centroid: r } = t, i = C ? {
1312
+ x: -r.x,
1313
+ y: -r.y,
1314
+ z: M - r.z
1315
+ } : {
1316
+ x: 0,
1317
+ y: 0,
1318
+ z: 1
1319
+ }, a = n.x * i.x + n.y * i.y + n.z * i.z, o = Math.hypot(i.x, i.y, i.z);
1320
+ return o > 0 && a > o * 1e-10;
1321
+ },
1322
+ cameraNormal(e) {
1323
+ return A(e)?.normal ?? null;
1324
+ },
1325
+ topology: {
1326
+ farX: ae,
1327
+ farY: oe,
1328
+ axisX: J,
1329
+ axisY: Y,
1330
+ nearDepth: q,
1331
+ farDepth: se
1332
+ },
1333
+ seriesDepth: Z,
1334
+ prismDepth: X,
1335
+ prismInterval(e, t, n = !1) {
1336
+ let r = Z(e, t, n), i = X(n ? 1 : t) / 2;
1337
+ return {
1338
+ near: $(r - i, 0, 1),
1339
+ far: $(r + i, 0, 1)
1340
+ };
1341
+ }
1342
+ };
1343
+ }
1344
+ //#endregion
1345
+ export { L as A, ge as C, K as D, he as E, k as F, O as I, b as L, B as M, D as N, ae as O, E as P, _e as S, fe as T, ye as _, Be as a, le as b, Fe as c, Oe as d, Ne as f, Ce as g, we as h, Ue as i, z as j, ie as k, Ee as l, Te as m, He as n, Ve as o, De as p, Ie as r, Pe as s, Re as t, Me as u, se as v, q as w, oe as x, ce as y };