@silurus/ooxml 0.78.1 → 0.79.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.
Files changed (46) hide show
  1. package/README.md +39 -1
  2. package/THIRD_PARTY_NOTICES.md +13 -0
  3. package/dist/{canvas-viewer-mechanics-B4K_t5X_.js → canvas-viewer-mechanics-DJ9yfiLN.js} +1 -1
  4. package/dist/chart-number-format-tjYUR9eS.js +435 -0
  5. package/dist/dash-CMzZIDz_.js +824 -0
  6. package/dist/{document-pull-client-5AakVD6e.js → document-pull-client-DYoybVCn.js} +2119 -2113
  7. package/dist/{docx-bjhRwb2u.js → docx-CSk_-kj_.js} +65 -56
  8. package/dist/docx.mjs +4 -4
  9. package/dist/docx_parser_bg.wasm +0 -0
  10. package/dist/index.mjs +3 -3
  11. package/dist/{line-distribute-BVFW1-Hs.js → line-distribute-CU7vu7XS.js} +1 -1
  12. package/dist/{line-metrics-DS0NS2Iq.js → line-metrics-A77J_KRx.js} +4229 -3233
  13. package/dist/math.mjs +1 -1
  14. package/dist/node.mjs +322 -322
  15. package/dist/{pptx-D1rCrHGR.js → pptx-CO1Ut97p.js} +192 -183
  16. package/dist/pptx.mjs +5 -5
  17. package/dist/pptx_parser_bg.wasm +0 -0
  18. package/dist/region-map.mjs +12708 -0
  19. package/dist/{render-DhlT5jxZ.js → render-C5m7Ddwx.js} +1 -1
  20. package/dist/render-worker-host-BhMT5U73.js +27 -0
  21. package/dist/render-worker-host-DNMxGh5s.js +27 -0
  22. package/dist/render-worker-host-DWyg7wio.js +27 -0
  23. package/dist/{resource-measurement-BA-4Q-II.js → resource-measurement-COxqtfGk.js} +1 -1
  24. package/dist/{session-C_HGxbRD.js → session-CJwZaquG.js} +10 -10
  25. package/dist/{slide-pull-client-BiC4sVGi.js → slide-pull-client-CFHNk0ek.js} +584 -583
  26. package/dist/three-d.mjs +2426 -0
  27. package/dist/types/docx.d.ts +251 -16
  28. package/dist/types/index.d.ts +266 -20
  29. package/dist/types/math.d.ts +1 -1
  30. package/dist/types/node.d.ts +225 -1
  31. package/dist/types/pptx.d.ts +253 -16
  32. package/dist/types/region-map.d.ts +586 -0
  33. package/dist/types/three-d.d.ts +586 -0
  34. package/dist/types/xlsx.d.ts +256 -16
  35. package/dist/{worksheet-pull-client-BnvgeqfG.js → worksheet-pull-client-CziyJf24.js} +13 -13
  36. package/dist/{xlsx-BG_WYSc0.js → xlsx-DHQmjAfh.js} +1246 -1073
  37. package/dist/xlsx.mjs +5 -5
  38. package/dist/xlsx_parser_bg.wasm +0 -0
  39. package/package.json +13 -1
  40. package/dist/render-worker-host-CtJo7hc9.js +0 -27
  41. package/dist/render-worker-host-D8vv-Asx.js +0 -27
  42. package/dist/render-worker-host-DAjG9nmw.js +0 -27
  43. /package/dist/{highlight-rect-CAkCWJ37.js → highlight-rect-cCvVU-MW.js} +0 -0
  44. /package/dist/{mathjax-CMjda8Ip.js → mathjax-Dqo857oC.js} +0 -0
  45. /package/dist/{transfer-DCu4c2BL.js → transfer-3QEJrsJa.js} +0 -0
  46. /package/dist/{visible-index-CgyJLAS_.js → visible-index-CKvgpUrf.js} +0 -0
@@ -0,0 +1,824 @@
1
+ import { S as e, r as t, v as n } from "./chart-number-format-tjYUR9eS.js";
2
+ //#region packages/core/src/chart/axis-scale.ts
3
+ function r(e, t = {
4
+ min: 0,
5
+ max: 1
6
+ }) {
7
+ let n = Infinity, r = -Infinity;
8
+ for (let t of e) t == null || !Number.isFinite(t) || (t < n && (n = t), t > r && (r = t));
9
+ return Number.isFinite(n) && Number.isFinite(r) ? {
10
+ min: n,
11
+ max: r
12
+ } : t;
13
+ }
14
+ function i(e, t = 5) {
15
+ if (e === 0) return 1;
16
+ let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
17
+ return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
18
+ }
19
+ function a(e, t, n, r) {
20
+ let i = Number.isFinite(e) ? e : 0, a = Number.isFinite(t) ? t : 100, o = a > i ? a - i : 100, c = i < 0 && a > 0, l = n === "horizontal" || r == null || !Number.isFinite(r) || r < 120 ? c ? 4 : 5 : 10;
21
+ return s(a > i ? u(i, a, l) : o / l);
22
+ }
23
+ function o(e, t, n) {
24
+ 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;
25
+ return s(i > r ? u(r, i, o) : (a ?? 1) / o);
26
+ }
27
+ function s(e) {
28
+ if (!(e > 0) || !isFinite(e)) return 1;
29
+ let t = 10 ** Math.floor(Math.log10(e));
30
+ if (!(t > 0) || !isFinite(t)) return e;
31
+ let n = e / t, r = n <= 1 ? 1 : n <= 2 ? 2 : n <= 5 ? 5 : 10;
32
+ return Math.min(Number.MAX_VALUE, r * t);
33
+ }
34
+ function c(e) {
35
+ return e != null && isFinite(e) ? e : null;
36
+ }
37
+ function l(e) {
38
+ return e != null && isFinite(e) && e > 0 ? e : null;
39
+ }
40
+ function u(e, t, n) {
41
+ let r = t - e, i = isFinite(r) ? r / n : t / n - e / n;
42
+ return i > 0 && isFinite(i) ? i : r > 0 && isFinite(r) ? Number.MIN_VALUE : Number.MAX_VALUE;
43
+ }
44
+ function d(e, t, n) {
45
+ if (!isFinite(e) || !isFinite(t) || !(t >= e) || !(n > 0) || !isFinite(n)) return 0;
46
+ let r = t - e, i = isFinite(r) ? r / n : t / n - e / n;
47
+ return !isFinite(i) || i > 2 ** 53 - 1 ? Infinity : Math.max(1, Math.floor(i + 1e-9) + 1);
48
+ }
49
+ function f(e, t, n, r, i) {
50
+ let a = d(e, t, n);
51
+ if (a === 0 || a > 512 && r === "skip") return [];
52
+ 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;
53
+ for (let r = 0; r < o; r++) {
54
+ let a = r * n, o = e + a;
55
+ if ((!isFinite(a) || !isFinite(o) || r > 0 && !(o > u)) && (o = (e / n + r) * n), !isFinite(o) || o > t + l || r > 0 && !(o > u)) break;
56
+ if (u = o, i != null) {
57
+ if (o >= t - l) break;
58
+ let n = o - e, r = isFinite(n) ? n / i : o / i - e / i;
59
+ if (isFinite(r) && Math.abs(r - Math.round(r)) <= 1e-8) continue;
60
+ }
61
+ s.push(o);
62
+ }
63
+ return s;
64
+ }
65
+ function p(e) {
66
+ let t = isFinite(e.dataMin) ? e.dataMin : 0, n = isFinite(e.dataMax) ? e.dataMax : 1;
67
+ t > n && ([t, n] = [n, t]);
68
+ let r, a, o;
69
+ if (t === 0 && n === 0) r = 0, a = 1, o = .1;
70
+ else {
71
+ t === n && (t = Math.min(0, t), n = Math.max(0, n));
72
+ let e = n - t, i = isFinite(e) ? e * .05 : n * .05 - t * .05, c = t - i, l = n + i;
73
+ t >= 0 && (t === 0 || n > 1.2 * t) && (c = 0), n <= 0 && (n === 0 || Math.abs(t) > 1.2 * Math.abs(n)) && (l = 0), o = s(l / 10 - c / 10), r = Math.floor(c / o) * o, a = Math.ceil(l / o) * o, (!isFinite(r) || !isFinite(a) || !(a > r)) && (r = Math.min(t, 0), a = Math.max(n, r + o));
74
+ }
75
+ let p = c(e.explicitMin), m = c(e.explicitMax), h = l(e.majorUnit), g = p ?? (h == null ? r : Math.floor(r / h) * h), _ = m ?? (h == null ? a : Math.ceil(a / h) * h), v = o;
76
+ if (h == null && p != null && m != null && m > p) {
77
+ if (e.axisOrientation === "horizontal") v = s(u(p, m, e.axisLenPt != null && isFinite(e.axisLenPt) && e.axisLenPt > 0 ? Math.max(5, Math.round(e.axisLenPt / 38)) : 8));
78
+ else if (e.axisOrientation === "vertical") {
79
+ let t = e.axisLenPt != null && isFinite(e.axisLenPt) && e.axisLenPt > 0 ? Math.max(5, Math.round(e.axisLenPt / 28)) : 7;
80
+ v = Math.max(s(u(p, m, 10)), Math.min(Number.MAX_VALUE, i(u(p, m, t), 1)));
81
+ }
82
+ }
83
+ let y = h ?? v;
84
+ h == null && d(g, _, y) > 512 && (y = s(_ / 511 - g / 511));
85
+ let b = l(e.minorUnit);
86
+ e.needMinor && h == null && b == null && d(g, _, y / 5) > 512 && (y = s(_ / 102 - g / 102));
87
+ let x = y / 5, S = e.needMinor ? b ?? (x > 0 && isFinite(x) ? x : y) : null, C = f(g, _, y, h == null ? "skip" : "truncate"), w = S == null ? [] : f(g, _, S, "skip", y);
88
+ return {
89
+ min: g,
90
+ max: _,
91
+ majorUnit: y,
92
+ minorUnit: S,
93
+ majorTicks: C,
94
+ minorTicks: w
95
+ };
96
+ }
97
+ function m(e, t, n, r) {
98
+ let i, a = r?.logBase;
99
+ if (a != null && isFinite(a) && a >= 2 && t > 0 && n > 0) {
100
+ let r = Math.log(t), a = Math.log(n) - r;
101
+ i = a === 0 ? 0 : (Math.log(Math.max(e, Number.MIN_VALUE)) - r) / a;
102
+ } else {
103
+ let r = n - t;
104
+ if (r === 0) i = 0;
105
+ else if (Number.isFinite(r) && Number.isFinite(e - t)) i = (e - t) / r;
106
+ else {
107
+ let r = Math.max(Math.abs(e), Math.abs(t), Math.abs(n)), a = n / r - t / r;
108
+ i = a === 0 ? 0 : (e / r - t / r) / a;
109
+ }
110
+ }
111
+ return r?.reversed ? 1 - i : i;
112
+ }
113
+ function h(e, t, n, r, i) {
114
+ 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) => {
115
+ let t = a ** +e;
116
+ return t === 0 ? Number.MIN_VALUE : isFinite(t) ? t : Number.MAX_VALUE;
117
+ }, 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);
118
+ if (!isFinite(m) || !isFinite(h) || h < m) return {
119
+ min: d,
120
+ max: f,
121
+ lines: p
122
+ };
123
+ let g = h - m + 1, _ = Math.max(1, Math.ceil((g - 1) / 511)), v = Math.min(512, Math.floor((g - 1) / _) + 1);
124
+ for (let e = 0; e < v; e++) {
125
+ let t = u(m + e * _);
126
+ t >= d && t <= f && (p.length === 0 || t > p[p.length - 1]) && p.push(t);
127
+ }
128
+ let y = u(h);
129
+ return p.length < 512 && y >= d && y <= f && y > (p[p.length - 1] ?? 0) && p.push(y), {
130
+ min: d,
131
+ max: f,
132
+ lines: p
133
+ };
134
+ }
135
+ function g(e) {
136
+ let t = e.logBase;
137
+ if (t != null && Number.isFinite(t) && t >= 2) {
138
+ let { min: n, max: r, lines: i } = h(e.dataMin, e.dataMax, t, c(e.explicitMin), c(e.explicitMax));
139
+ return {
140
+ min: n,
141
+ max: r,
142
+ majorUnit: i.length > 1 ? i[1] - i[0] : r - n,
143
+ minorUnit: null,
144
+ majorTicks: i,
145
+ minorTicks: [],
146
+ fraction: (i) => m(i, n, r, {
147
+ logBase: t,
148
+ reversed: e.reversed
149
+ })
150
+ };
151
+ }
152
+ let n = p(e);
153
+ return {
154
+ ...n,
155
+ fraction: (t) => m(t, n.min, n.max, { reversed: e.reversed })
156
+ };
157
+ }
158
+ function _(e, t, n) {
159
+ let r = Math.min(e.length, t.length);
160
+ if (r < 2) return null;
161
+ let i = 0, a = 0, o = 0, s = 0;
162
+ for (let n = 0; n < r; n++) i += e[n], a += t[n], o += e[n] * e[n], s += e[n] * t[n];
163
+ let c, l;
164
+ if (n != null && isFinite(n)) c = o === 0 ? 0 : (s - n * i) / o, l = n;
165
+ else {
166
+ let e = r * o - i * i;
167
+ c = e === 0 ? 0 : (r * s - i * a) / e, l = (a - c * i) / r;
168
+ }
169
+ let u = a / r, d = 0, f = 0;
170
+ for (let n = 0; n < r; n++) {
171
+ let r = t[n] - (c * e[n] + l);
172
+ d += r * r;
173
+ let i = t[n] - u;
174
+ f += i * i;
175
+ }
176
+ let p = f === 0 ? +(d === 0) : 1 - d / f;
177
+ return {
178
+ slope: c,
179
+ intercept: l,
180
+ rSquared: p
181
+ };
182
+ }
183
+ function v(e, t, n, r) {
184
+ let i = Math.min(e.length, t.length);
185
+ if (i < 2) return {
186
+ xs: [],
187
+ ys: []
188
+ };
189
+ if (n === "linear") {
190
+ let n = _(e, t, r?.intercept);
191
+ if (!n) return {
192
+ xs: [],
193
+ ys: []
194
+ };
195
+ let a = e[0], o = e[i - 1];
196
+ return {
197
+ xs: [a, o],
198
+ ys: [n.slope * a + n.intercept, n.slope * o + n.intercept]
199
+ };
200
+ }
201
+ if (n === "movingAvg") {
202
+ let n = Math.max(2, Math.round(r?.period ?? 2));
203
+ if (i < n) return {
204
+ xs: [],
205
+ ys: []
206
+ };
207
+ let a = [], o = [];
208
+ for (let r = n - 1; r < i; r++) {
209
+ let i = 0;
210
+ for (let e = 0; e < n; e++) i += t[r - e];
211
+ a.push(e[r]), o.push(i / n);
212
+ }
213
+ return {
214
+ xs: a,
215
+ ys: o
216
+ };
217
+ }
218
+ let a = [];
219
+ for (let r = 0; r < i; r++) {
220
+ let i = e[r], o = t[r];
221
+ !Number.isFinite(i) || !Number.isFinite(o) || n === "log" && i <= 0 || n === "exp" && o <= 0 || n === "power" && (i <= 0 || o <= 0) || a.push({
222
+ x: i,
223
+ y: o
224
+ });
225
+ }
226
+ if (a.length < 2) return {
227
+ xs: [],
228
+ ys: []
229
+ };
230
+ let o = Infinity, s = -Infinity;
231
+ for (let e of a) o = Math.min(o, e.x), s = Math.max(s, e.x);
232
+ if (!Number.isFinite(o) || !Number.isFinite(s) || s <= o) return {
233
+ xs: [],
234
+ ys: []
235
+ };
236
+ 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;
237
+ if ((n === "log" || n === "power") && (u = Math.max(Number.MIN_VALUE, u)), !Number.isFinite(u) || !Number.isFinite(d) || d <= u) return {
238
+ xs: [],
239
+ ys: []
240
+ };
241
+ let f = (e) => {
242
+ let t = [], n = [];
243
+ for (let r = 0; r <= 64; r++) {
244
+ let i = r / 64, a = u * (1 - i) + d * i, o = e(a);
245
+ if (!Number.isFinite(a) || !Number.isFinite(o)) return {
246
+ xs: [],
247
+ ys: []
248
+ };
249
+ t.push(a), n.push(o);
250
+ }
251
+ return {
252
+ xs: t,
253
+ ys: n
254
+ };
255
+ };
256
+ if (n === "exp" || n === "log" || n === "power") {
257
+ let e = _(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));
258
+ if (!e || ![e.slope, e.intercept].every(Number.isFinite)) return {
259
+ xs: [],
260
+ ys: []
261
+ };
262
+ if (n === "exp") {
263
+ let t = Math.exp(e.intercept);
264
+ return f((n) => t * Math.exp(e.slope * n));
265
+ }
266
+ if (n === "log") return f((t) => e.slope * Math.log(t) + e.intercept);
267
+ let t = Math.exp(e.intercept);
268
+ return f((n) => t * n ** e.slope);
269
+ }
270
+ if (n === "poly") {
271
+ let e = Math.min(6, a.length - 1, Math.max(2, Math.round(r?.order ?? 2)));
272
+ if (e < 2) return {
273
+ xs: [],
274
+ ys: []
275
+ };
276
+ let t = o / 2 + s / 2, n = Math.max(Math.abs(o - t), Math.abs(s - t));
277
+ if (!Number.isFinite(t) || !Number.isFinite(n) || n <= 0) return {
278
+ xs: [],
279
+ ys: []
280
+ };
281
+ let i = a.length, c = e + 1, l = Array.from({ length: c }, () => Array(i).fill(0));
282
+ for (let e = 0; e < i; e++) {
283
+ let r = (a[e].x - t) / n, i = 1;
284
+ for (let t = 0; t < c; t++) l[t][e] = i, i *= r;
285
+ }
286
+ let u = [], d = Array.from({ length: c }, () => Array(c).fill(0)), p = Array(c).fill(0);
287
+ for (let e = 0; e < c; e++) {
288
+ let t = l[e].slice();
289
+ for (let n = 0; n < e; n++) {
290
+ let r = 0;
291
+ for (let e = 0; e < i; e++) r += u[n][e] * t[e];
292
+ d[n][e] = r;
293
+ for (let e = 0; e < i; e++) t[e] -= r * u[n][e];
294
+ }
295
+ let n = 0;
296
+ for (let e of t) n += e * e;
297
+ let r = Math.sqrt(n);
298
+ if (!Number.isFinite(r) || r <= 2 ** -52 * Math.sqrt(i)) return {
299
+ xs: [],
300
+ ys: []
301
+ };
302
+ d[e][e] = r;
303
+ let o = t.map((e) => e / r);
304
+ u.push(o);
305
+ let s = 0;
306
+ for (let e = 0; e < i; e++) s += o[e] * a[e].y;
307
+ if (!Number.isFinite(s)) return {
308
+ xs: [],
309
+ ys: []
310
+ };
311
+ p[e] = s;
312
+ }
313
+ let m = Array(c).fill(0);
314
+ for (let e = c - 1; e >= 0; e--) {
315
+ let t = p[e];
316
+ for (let n = e + 1; n < c; n++) t -= d[e][n] * m[n];
317
+ if (m[e] = t / d[e][e], !Number.isFinite(m[e])) return {
318
+ xs: [],
319
+ ys: []
320
+ };
321
+ }
322
+ return f((r) => {
323
+ let i = (r - t) / n, a = m[e];
324
+ for (let t = e - 1; t >= 0; t--) a = a * i + m[t];
325
+ return a;
326
+ });
327
+ }
328
+ return {
329
+ xs: [],
330
+ ys: []
331
+ };
332
+ }
333
+ //#endregion
334
+ //#region packages/core/src/units.ts
335
+ var y = 12700, b = 9525, x = 4 / 3, S = 91440, C = 45720;
336
+ //#endregion
337
+ //#region packages/core/src/chart/axis-style.ts
338
+ function w(e, t) {
339
+ return e ? Math.max(.5, e / y) * t : 1;
340
+ }
341
+ function T(e, t, n) {
342
+ return {
343
+ color: e ? `#${e}` : "#aaa",
344
+ width: w(t, n)
345
+ };
346
+ }
347
+ function E(e, t, n) {
348
+ return {
349
+ color: e ? `#${e}` : "#e0e0e0",
350
+ width: t ? w(t, n) : .5
351
+ };
352
+ }
353
+ function D(e) {
354
+ return e.catAxisCrossBetween !== "midCat";
355
+ }
356
+ //#endregion
357
+ //#region packages/core/src/chart/text-elide.ts
358
+ var O = "…";
359
+ function k(e, t, n) {
360
+ if (t === "" || n <= 0) return "";
361
+ if (e.measureText(t).width <= n) return t;
362
+ if (e.measureText(O).width > n) return "";
363
+ let r = 0, i = t.length - 1, a = 0;
364
+ for (; r <= i;) {
365
+ let o = r + i >> 1;
366
+ e.measureText(t.slice(0, o) + O).width <= n ? (a = o, r = o + 1) : i = o - 1;
367
+ }
368
+ let o = a > 0 ? t.charCodeAt(a - 1) : 0;
369
+ return o >= 55296 && o <= 56319 && a--, t.slice(0, a) + O;
370
+ }
371
+ //#endregion
372
+ //#region packages/core/src/chart/rich-data-label.ts
373
+ var A = 4096, j = 4, M = A;
374
+ function N(e, t, r, i) {
375
+ let a = [[]], o = 0, s = (e) => {
376
+ if (!e) return null;
377
+ let t = e.startsWith("#") ? e.slice(1) : e;
378
+ return /^[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(t) ? `#${t}` : null;
379
+ };
380
+ outer: for (let c = 0; c < t.runs.length && c < M; c++) {
381
+ let l = t.runs[c], u = n(l.fontSizeHpt, t.ptToPx) ?? r, d = l.fontFace?.trim().replaceAll("\"", ""), f = d && !d.startsWith("+") ? d : null, p = d && t.fontFamilyForFace ? t.fontFamilyForFace(d) : f ? `"${f}", Calibri, Arial, sans-serif` : t.fontFamily, m = `${l.bold ?? t.fallbackBold ? "bold " : ""}${u}px ${p}`, h = s(l.color) ?? i, g = "", _ = () => {
382
+ g &&= (e.font = m, a[a.length - 1].push({
383
+ text: g,
384
+ font: m,
385
+ fillStyle: h,
386
+ width: e.measureText(g).width,
387
+ fontSizePx: u
388
+ }), "");
389
+ }, v = !1;
390
+ for (let e of l.text) {
391
+ if (v && e === "\n") {
392
+ v = !1;
393
+ continue;
394
+ }
395
+ v = !1;
396
+ let t = e === "\r" ? "\n" : e;
397
+ if (e === "\r" && (v = !0), o >= A) {
398
+ _();
399
+ break outer;
400
+ }
401
+ if (o++, t === "\n") {
402
+ if (_(), a.length >= j) break outer;
403
+ a.push([]);
404
+ } else g += t;
405
+ }
406
+ _();
407
+ }
408
+ if (!a.some((e) => e.length > 0)) return null;
409
+ let c = a.map((e) => Math.max(r, ...e.map((e) => e.fontSizePx)) * 1.15), l = a.map((e) => e.reduce((e, t) => e + t.width, 0));
410
+ return {
411
+ lines: a,
412
+ lineHeights: c,
413
+ lineWidths: l,
414
+ width: Math.max(0, ...l),
415
+ height: c.reduce((e, t) => e + t, 0)
416
+ };
417
+ }
418
+ function P(e, t, n, r, i = "center", a = "middle") {
419
+ let o = a === "top" ? r : a === "bottom" ? r - t.height : r - t.height / 2;
420
+ for (let r = 0; r < t.lines.length; r++) {
421
+ let s = t.lines[r], c = t.lineWidths[r], l = i === "left" ? n : i === "right" ? n - c : n - c / 2, u = a === "top" ? o : a === "bottom" ? o + t.lineHeights[r] : o + t.lineHeights[r] / 2;
422
+ for (let t of s) e.font = t.font, e.fillStyle = t.fillStyle, e.textAlign = "left", e.textBaseline = a, e.fillText(t.text, l, u), l += t.width;
423
+ o += t.lineHeights[r];
424
+ }
425
+ }
426
+ //#endregion
427
+ //#region packages/core/src/chart/data-label-content.ts
428
+ function F(e) {
429
+ if (e.customText) return e.customText;
430
+ let n = [];
431
+ if (e.showCategory && e.category && n.push(e.category), e.showSeries && e.seriesName && n.push(e.seriesName), e.showValue && e.sourceValue != null) {
432
+ let r = e.valueDivisor != null && Number.isFinite(e.valueDivisor) && e.valueDivisor > 0 ? e.valueDivisor : 1;
433
+ n.push(t(e.sourceValue / r, e.formatCode ?? null, e.date1904));
434
+ }
435
+ return e.showPercent && e.percentRatio != null && n.push(t(e.percentRatio, e.percentFormatCode ?? e.formatCode ?? "0%", e.date1904)), n.filter((e) => e !== "").join(e.separator ?? e.defaultSeparator ?? " ");
436
+ }
437
+ //#endregion
438
+ //#region packages/core/src/chart/legend-frame.ts
439
+ function I(e, t, n, r) {
440
+ if (!(!t.legendFillColor && !t.legendLineColor)) {
441
+ if (e.save(), t.legendFillColor && (e.fillStyle = `#${t.legendFillColor}`, e.fillRect(n.x, n.y, n.w, n.h)), t.legendLineColor && n.w > 0 && n.h > 0) {
442
+ let i = w(t.legendLineWidthEmu, r);
443
+ e.strokeStyle = `#${t.legendLineColor}`, e.lineWidth = i, e.lineCap = "butt", e.lineJoin = "miter", e.setLineDash([]), e.strokeRect(n.x + i / 2, n.y + i / 2, Math.max(0, n.w - i), Math.max(0, n.h - i));
444
+ }
445
+ e.restore();
446
+ }
447
+ }
448
+ //#endregion
449
+ //#region packages/core/src/chart/data-label-layout.ts
450
+ var L = (e) => [
451
+ e.x,
452
+ e.y,
453
+ e.w,
454
+ e.h
455
+ ].every(Number.isFinite) && e.w > 0 && e.h > 0;
456
+ function R(e, t) {
457
+ let n = Math.max(e.x, t.x), r = Math.max(e.y, t.y), i = Math.min(e.x + e.w, t.x + t.w), a = Math.min(e.y + e.h, t.y + t.h);
458
+ return i > n && a > r ? {
459
+ x: n,
460
+ y: r,
461
+ w: i - n,
462
+ h: a - r
463
+ } : null;
464
+ }
465
+ function z(e, t, n) {
466
+ return Math.min(Math.max(e, t), n);
467
+ }
468
+ function B(t, n, r, i, a, o = n) {
469
+ if (!L(n) || !L(o) || !Number.isFinite(i) || i <= 0 || ![r.w, r.h].every(Number.isFinite) || r.w < 0 || r.h <= 0) return null;
470
+ let s = i * .5, c = n, l, u, d = !1, f = "center", p = "middle";
471
+ if (t.kind === "point") {
472
+ if (![
473
+ t.x,
474
+ t.y,
475
+ t.markerGap ?? 0
476
+ ].every(Number.isFinite)) return null;
477
+ let e = s + Math.max(0, t.markerGap ?? 0);
478
+ switch (l = t.x, u = t.y, t.position ?? "r") {
479
+ case "l":
480
+ l -= e + r.w / 2, f = "right";
481
+ break;
482
+ case "t":
483
+ u -= e + r.h / 2, p = "bottom";
484
+ break;
485
+ case "b":
486
+ u += e + r.h / 2, p = "top";
487
+ break;
488
+ case "ctr":
489
+ case "inEnd":
490
+ case "bestFit": break;
491
+ default:
492
+ l += e + r.w / 2, f = "left";
493
+ break;
494
+ }
495
+ } else if (t.kind === "box") {
496
+ if (![
497
+ t.rect.x,
498
+ t.rect.y,
499
+ t.rect.w,
500
+ t.rect.h
501
+ ].every(Number.isFinite) || t.rect.w <= 0 || t.rect.h <= 0) return null;
502
+ let e = R(t.rect, n);
503
+ if (!e) return null;
504
+ let i = t.position ?? "ctr";
505
+ l = e.x + e.w / 2, u = e.y + e.h / 2, i === "inBase" ? (c = {
506
+ x: e.x + s,
507
+ y: e.y + s,
508
+ w: e.w - s,
509
+ h: e.h - s
510
+ }, l = c.x + r.w / 2, u = c.y + r.h / 2, f = "left", p = "top") : i === "inEnd" ? (c = {
511
+ x: e.x + s,
512
+ y: e.y,
513
+ w: e.w - s,
514
+ h: e.h - s
515
+ }, l = c.x + r.w / 2, u = c.y + c.h - r.h / 2, f = "left", p = "bottom") : i === "l" ? (c = {
516
+ x: e.x + s,
517
+ y: e.y + s,
518
+ w: e.w - s,
519
+ h: e.h - s * 2
520
+ }, l = c.x + r.w / 2, f = "left") : i === "r" || i === "outEnd" ? (c = {
521
+ x: e.x,
522
+ y: e.y + s,
523
+ w: e.w - s,
524
+ h: e.h - s * 2
525
+ }, l = c.x + c.w - r.w / 2, f = "right") : i === "t" ? (c = {
526
+ x: e.x + s,
527
+ y: e.y + s,
528
+ w: e.w - s * 2,
529
+ h: e.h - s
530
+ }, u = c.y + r.h / 2, p = "top") : i === "b" ? (c = {
531
+ x: e.x + s,
532
+ y: e.y,
533
+ w: e.w - s * 2,
534
+ h: e.h - s
535
+ }, u = c.y + c.h - r.h / 2, p = "bottom") : c = {
536
+ x: e.x + s,
537
+ y: e.y + s,
538
+ w: e.w - s * 2,
539
+ h: e.h - s * 2
540
+ };
541
+ } else {
542
+ if (![
543
+ t.rect.x,
544
+ t.rect.y,
545
+ t.rect.w,
546
+ t.rect.h
547
+ ].every(Number.isFinite) || t.rect.w < 0 || t.rect.h < 0) return null;
548
+ let e = t.position ?? "outEnd", i = e === "inBase" || e === "inEnd" || e === "ctr";
549
+ if (d = !i, i) {
550
+ let e = R(t.rect, n);
551
+ if (!e) return null;
552
+ c = e;
553
+ } else if (t.orientation === "vertical" && t.rect.w <= 0 || t.orientation === "horizontal" && t.rect.h <= 0) return null;
554
+ let a = t.rect.x + t.rect.w / 2, o = t.rect.y + t.rect.h / 2;
555
+ if (l = a, u = o, t.orientation === "vertical") {
556
+ let n = t.negative ? t.rect.y + t.rect.h : t.rect.y, i = t.negative ? t.rect.y : t.rect.y + t.rect.h;
557
+ e === "inBase" ? (u = i + (t.negative ? 1 : -1) * (s + r.h / 2), p = t.negative ? "top" : "bottom") : e === "inEnd" ? (u = n + (t.negative ? -1 : 1) * (s + r.h / 2), p = t.negative ? "bottom" : "top") : e !== "ctr" && (u = n + (t.negative ? 1 : -1) * (s + r.h / 2), p = t.negative ? "top" : "bottom");
558
+ } else {
559
+ let n = t.negative ? t.rect.x : t.rect.x + t.rect.w, i = t.negative ? t.rect.x + t.rect.w : t.rect.x;
560
+ e === "inBase" ? (l = i + (t.negative ? -1 : 1) * (s + r.w / 2), f = t.negative ? "right" : "left") : e === "inEnd" ? (l = n + (t.negative ? 1 : -1) * (s + r.w / 2), f = t.negative ? "left" : "right") : e !== "ctr" && (l = n + (t.negative ? -1 : 1) * (s + r.w / 2), f = t.negative ? "right" : "left");
561
+ }
562
+ }
563
+ let m = Math.max(2, i * .5), h = Math.max(2, i * .9);
564
+ if (c.w < m || c.h < h) return null;
565
+ let g = {
566
+ x: l - Math.min(r.w, c.w) / 2,
567
+ y: u - Math.min(r.h, c.h) / 2,
568
+ w: Math.min(r.w, c.w),
569
+ h: Math.min(r.h, c.h)
570
+ };
571
+ if (a) {
572
+ let t = e(a, o, g);
573
+ if (!t) return null;
574
+ g = t, f = "center", p = "middle";
575
+ let r = R(t, n);
576
+ if (!r || (c = r, c.w < m || c.h < h)) return null;
577
+ }
578
+ let _ = Math.min(Math.max(m, g.w), c.w), v = Math.min(Math.max(h, g.h), c.h), y = _ / 2, b = v / 2, x = d || a ? g.x + g.w / 2 : z(g.x + g.w / 2, c.x + y, c.x + c.w - y), S = d || a ? g.y + g.h / 2 : z(g.y + g.h / 2, c.y + b, c.y + c.h - b);
579
+ return [x, S].every(Number.isFinite) ? {
580
+ x: f === "left" ? x - y : f === "right" ? x + y : x,
581
+ y: p === "top" ? S - b : p === "bottom" ? S + b : S,
582
+ textAlign: f,
583
+ textBaseline: p,
584
+ maxWidth: c.w,
585
+ maxHeight: c.h,
586
+ clip: c,
587
+ rect: g
588
+ } : null;
589
+ }
590
+ var V = 4096, H = 4;
591
+ function U(e, t, n) {
592
+ if (n(e) <= t) return e;
593
+ if (n("…") > t) return "";
594
+ let r = 0, i = Array.from(e), a = i.length;
595
+ for (; r < a;) {
596
+ let e = Math.ceil((r + a) / 2);
597
+ n(`${i.slice(0, e).join("")}…`) <= t ? r = e : a = e - 1;
598
+ }
599
+ return `${i.slice(0, r).join("")}…`;
600
+ }
601
+ function W(e) {
602
+ let t = "", n = 0;
603
+ for (let r of e) {
604
+ if (n >= V) return {
605
+ value: t,
606
+ truncated: !0
607
+ };
608
+ t += r, n++;
609
+ }
610
+ return {
611
+ value: t,
612
+ truncated: !1
613
+ };
614
+ }
615
+ function G(e, t, n, r, i) {
616
+ if (![
617
+ t,
618
+ n,
619
+ r
620
+ ].every(Number.isFinite) || t <= 0 || n < r || r <= 0) return [];
621
+ let a = Math.max(1, Math.min(H, Math.floor(n / r))), o = W(e), s = o.value.split(/\r?\n/), c = [], l = o.truncated, u = (e) => {
622
+ let n = [], r = "";
623
+ for (let a of Array.from(e)) {
624
+ let e = `${r}${a}`;
625
+ r && i(e) > t ? (n.push(r), r = a) : r = e;
626
+ }
627
+ return r && n.push(r), n.filter((e) => i(e) <= t);
628
+ };
629
+ for (let e of s) {
630
+ if (i(e) <= t) {
631
+ c.push(e);
632
+ continue;
633
+ }
634
+ let n = e.match(/\S+\s*|\s+/g) ?? [];
635
+ if (n.length <= 1) c.push(...u(e));
636
+ else {
637
+ let e = "";
638
+ for (let r of n) {
639
+ let n = `${e}${r}`;
640
+ if (i(n) <= t) e = n;
641
+ else {
642
+ e && c.push(e);
643
+ let t = u(r);
644
+ e = t.pop() ?? "", c.push(...t);
645
+ }
646
+ }
647
+ e && c.push(e);
648
+ }
649
+ }
650
+ l ||= c.length > a;
651
+ let d = c.slice(0, a);
652
+ return l && d.length > 0 && !d[d.length - 1].endsWith("…") && (d[d.length - 1] = U(`${d[d.length - 1]}…`, t, i)), d;
653
+ }
654
+ //#endregion
655
+ //#region packages/core/src/draw/dash.ts
656
+ function K(e, t) {
657
+ return e.map((e) => e * t);
658
+ }
659
+ var q = {
660
+ dotted: [1, 2],
661
+ dashed: [3, 2],
662
+ dashSmallGap: [3, 1],
663
+ dotDash: [
664
+ 1,
665
+ 2,
666
+ 3,
667
+ 2
668
+ ],
669
+ dotDotDash: [
670
+ 1,
671
+ 2,
672
+ 1,
673
+ 2,
674
+ 3,
675
+ 2
676
+ ],
677
+ dashDotStroked: [
678
+ 1,
679
+ 2,
680
+ 3,
681
+ 2
682
+ ]
683
+ };
684
+ function J(e, t) {
685
+ let n = q[e];
686
+ return n ? K(n, t) : [];
687
+ }
688
+ var Y = {
689
+ hair: [1, 1],
690
+ dashed: [4, 3],
691
+ mediumDashed: [4, 3],
692
+ dotted: [2, 2],
693
+ dashDot: [
694
+ 4,
695
+ 2,
696
+ 1,
697
+ 2
698
+ ],
699
+ mediumDashDot: [
700
+ 4,
701
+ 2,
702
+ 1,
703
+ 2
704
+ ],
705
+ dashDotDot: [
706
+ 4,
707
+ 2,
708
+ 1,
709
+ 2,
710
+ 1,
711
+ 2
712
+ ],
713
+ mediumDashDotDot: [
714
+ 4,
715
+ 2,
716
+ 1,
717
+ 2,
718
+ 1,
719
+ 2
720
+ ],
721
+ slantDashDot: [
722
+ 5,
723
+ 3,
724
+ 1,
725
+ 3
726
+ ]
727
+ };
728
+ function X(e) {
729
+ let t = Y[e];
730
+ return t ? K(t, 1) : [];
731
+ }
732
+ var Z = {
733
+ dash: [6, 3],
734
+ dot: [1.5, 3],
735
+ dashDot: [
736
+ 6,
737
+ 3,
738
+ 1.5,
739
+ 3
740
+ ],
741
+ lgDash: [10, 4],
742
+ lgDashDot: [
743
+ 10,
744
+ 4,
745
+ 1.5,
746
+ 4
747
+ ],
748
+ lgDashDotDot: [
749
+ 10,
750
+ 4,
751
+ 1.5,
752
+ 4,
753
+ 1.5,
754
+ 4
755
+ ],
756
+ sysDash: [4, 2],
757
+ sysDot: [1, 2],
758
+ sysDashDot: [
759
+ 4,
760
+ 2,
761
+ 1,
762
+ 2
763
+ ],
764
+ sysDashDotDot: [
765
+ 4,
766
+ 2,
767
+ 1,
768
+ 2,
769
+ 1,
770
+ 2
771
+ ]
772
+ };
773
+ function Q(e, t) {
774
+ let n = Z[e];
775
+ return n ? K(n, t) : [];
776
+ }
777
+ function $(e, t) {
778
+ let n = Q(e, t);
779
+ if (n.length > 0) return n;
780
+ let r = e.trim().split(/[\s,]+/).map(Number);
781
+ return r.length >= 2 && r.every((e) => Number.isFinite(e) && e >= 0) && r.some((e) => e > 0) ? (r.length % 2 != 0 && r.pop(), K(r, t)) : [];
782
+ }
783
+ var ee = {
784
+ dotted: [1.5, 3],
785
+ dottedHeavy: [1.5, 3],
786
+ dash: [6, 3],
787
+ dashHeavy: [6, 3],
788
+ dashLong: [10, 4],
789
+ dashLongHeavy: [10, 4],
790
+ dotDash: [
791
+ 6,
792
+ 3,
793
+ 1.5,
794
+ 3
795
+ ],
796
+ dotDashHeavy: [
797
+ 6,
798
+ 3,
799
+ 1.5,
800
+ 3
801
+ ],
802
+ dotDotDash: [
803
+ 6,
804
+ 3,
805
+ 1.5,
806
+ 3,
807
+ 1.5,
808
+ 3
809
+ ],
810
+ dotDotDashHeavy: [
811
+ 6,
812
+ 3,
813
+ 1.5,
814
+ 3,
815
+ 1.5,
816
+ 3
817
+ ]
818
+ };
819
+ function te(e, t) {
820
+ let n = ee[e];
821
+ return n ? K(n, t) : [];
822
+ }
823
+ //#endregion
824
+ export { g as A, a as C, _ as D, v as E, i as O, x as S, r as T, E as _, X as a, y as b, B as c, P as d, N as f, T as g, D as h, $ as i, p as k, I as l, w as m, Q as n, W as o, k as p, te as r, G as s, J as t, F as u, S as v, o as w, b as x, C as y };