@silurus/ooxml 0.78.0 → 0.79.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 (46) hide show
  1. package/README.md +39 -1
  2. package/THIRD_PARTY_NOTICES.md +13 -0
  3. package/dist/{canvas-viewer-mechanics-ChxLdOJg.js → canvas-viewer-mechanics-D9tsuHnG.js} +1 -1
  4. package/dist/chart-number-format-tjYUR9eS.js +435 -0
  5. package/dist/dash-Cyc-sevN.js +786 -0
  6. package/dist/{document-pull-client-xsdVDuVD.js → document-pull-client-YiU8M4LO.js} +3283 -3156
  7. package/dist/{docx-CZC3j4s4.js → docx-a1UpmRf8.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-HuZyTARz.js → line-distribute-pDqovJpT.js} +1 -1
  12. package/dist/{line-metrics-z9AdgPaZ.js → line-metrics-DjKxiIUD.js} +4097 -3184
  13. package/dist/math.mjs +1 -1
  14. package/dist/node.mjs +322 -322
  15. package/dist/{pptx-c3UgGKIs.js → pptx-t5ABdzfd.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-yhFUeiYl.js → render-BjIEuFIG.js} +1 -1
  20. package/dist/render-worker-host-BB320snY.js +27 -0
  21. package/dist/render-worker-host-BjEPZBwf.js +27 -0
  22. package/dist/render-worker-host-hZ0o4OD7.js +27 -0
  23. package/dist/{resource-measurement-5g27Av6n.js → resource-measurement-D8EiTm_E.js} +1 -1
  24. package/dist/{session-BOuXp10X.js → session-Bhe_eY-s.js} +10 -10
  25. package/dist/{slide-pull-client-DKckZrLx.js → slide-pull-client-BQ8gJPTq.js} +626 -563
  26. package/dist/three-d.mjs +2158 -0
  27. package/dist/types/docx.d.ts +189 -16
  28. package/dist/types/index.d.ts +205 -20
  29. package/dist/types/math.d.ts +1 -1
  30. package/dist/types/node.d.ts +166 -1
  31. package/dist/types/pptx.d.ts +191 -16
  32. package/dist/types/region-map.d.ts +520 -0
  33. package/dist/types/three-d.d.ts +520 -0
  34. package/dist/types/xlsx.d.ts +195 -16
  35. package/dist/{worksheet-pull-client-CMDRPZ5E.js → worksheet-pull-client-T0EzdEEQ.js} +13 -13
  36. package/dist/{xlsx-BAScjxlC.js → xlsx-CsDDMJIK.js} +833 -770
  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-BzxTAscX.js +0 -27
  41. package/dist/render-worker-host-CBjWHxMb.js +0 -27
  42. package/dist/render-worker-host-Ivhx3KII.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,786 @@
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, w = "…";
336
+ function T(e, t, n) {
337
+ if (t === "" || n <= 0) return "";
338
+ if (e.measureText(t).width <= n) return t;
339
+ if (e.measureText(w).width > n) return "";
340
+ let r = 0, i = t.length - 1, a = 0;
341
+ for (; r <= i;) {
342
+ let o = r + i >> 1;
343
+ e.measureText(t.slice(0, o) + w).width <= n ? (a = o, r = o + 1) : i = o - 1;
344
+ }
345
+ let o = a > 0 ? t.charCodeAt(a - 1) : 0;
346
+ return o >= 55296 && o <= 56319 && a--, t.slice(0, a) + w;
347
+ }
348
+ //#endregion
349
+ //#region packages/core/src/chart/rich-data-label.ts
350
+ var E = 4096, D = 4, O = E;
351
+ function k(e, t, r, i) {
352
+ let a = [[]], o = 0, s = (e) => {
353
+ if (!e) return null;
354
+ let t = e.startsWith("#") ? e.slice(1) : e;
355
+ return /^[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(t) ? `#${t}` : null;
356
+ };
357
+ outer: for (let c = 0; c < t.runs.length && c < O; c++) {
358
+ 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 = "", _ = () => {
359
+ g &&= (e.font = m, a[a.length - 1].push({
360
+ text: g,
361
+ font: m,
362
+ fillStyle: h,
363
+ width: e.measureText(g).width,
364
+ fontSizePx: u
365
+ }), "");
366
+ }, v = !1;
367
+ for (let e of l.text) {
368
+ if (v && e === "\n") {
369
+ v = !1;
370
+ continue;
371
+ }
372
+ v = !1;
373
+ let t = e === "\r" ? "\n" : e;
374
+ if (e === "\r" && (v = !0), o >= E) {
375
+ _();
376
+ break outer;
377
+ }
378
+ if (o++, t === "\n") {
379
+ if (_(), a.length >= D) break outer;
380
+ a.push([]);
381
+ } else g += t;
382
+ }
383
+ _();
384
+ }
385
+ if (!a.some((e) => e.length > 0)) return null;
386
+ 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));
387
+ return {
388
+ lines: a,
389
+ lineHeights: c,
390
+ lineWidths: l,
391
+ width: Math.max(0, ...l),
392
+ height: c.reduce((e, t) => e + t, 0)
393
+ };
394
+ }
395
+ function A(e, t, n, r, i = "center", a = "middle") {
396
+ let o = a === "top" ? r : a === "bottom" ? r - t.height : r - t.height / 2;
397
+ for (let r = 0; r < t.lines.length; r++) {
398
+ 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;
399
+ 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;
400
+ o += t.lineHeights[r];
401
+ }
402
+ }
403
+ //#endregion
404
+ //#region packages/core/src/chart/data-label-content.ts
405
+ function j(e) {
406
+ if (e.customText) return e.customText;
407
+ let n = [];
408
+ return e.showCategory && e.category && n.push(e.category), e.showSeries && e.seriesName && n.push(e.seriesName), e.showValue && e.sourceValue != null && n.push(t(e.sourceValue, e.formatCode ?? null, e.date1904)), 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 ?? " ");
409
+ }
410
+ //#endregion
411
+ //#region packages/core/src/chart/data-label-layout.ts
412
+ var M = (e) => [
413
+ e.x,
414
+ e.y,
415
+ e.w,
416
+ e.h
417
+ ].every(Number.isFinite) && e.w > 0 && e.h > 0;
418
+ function N(e, t) {
419
+ 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);
420
+ return i > n && a > r ? {
421
+ x: n,
422
+ y: r,
423
+ w: i - n,
424
+ h: a - r
425
+ } : null;
426
+ }
427
+ function P(e, t, n) {
428
+ return Math.min(Math.max(e, t), n);
429
+ }
430
+ function F(t, n, r, i, a, o = n) {
431
+ if (!M(n) || !M(o) || !Number.isFinite(i) || i <= 0 || ![r.w, r.h].every(Number.isFinite) || r.w < 0 || r.h <= 0) return null;
432
+ let s = i * .5, c = n, l, u, d = !1, f = "center", p = "middle";
433
+ if (t.kind === "point") {
434
+ if (![
435
+ t.x,
436
+ t.y,
437
+ t.markerGap ?? 0
438
+ ].every(Number.isFinite)) return null;
439
+ let e = s + Math.max(0, t.markerGap ?? 0);
440
+ switch (l = t.x, u = t.y, t.position ?? "r") {
441
+ case "l":
442
+ l -= e + r.w / 2, f = "right";
443
+ break;
444
+ case "t":
445
+ u -= e + r.h / 2, p = "bottom";
446
+ break;
447
+ case "b":
448
+ u += e + r.h / 2, p = "top";
449
+ break;
450
+ case "ctr":
451
+ case "inEnd":
452
+ case "bestFit": break;
453
+ default:
454
+ l += e + r.w / 2, f = "left";
455
+ break;
456
+ }
457
+ } else if (t.kind === "box") {
458
+ if (![
459
+ t.rect.x,
460
+ t.rect.y,
461
+ t.rect.w,
462
+ t.rect.h
463
+ ].every(Number.isFinite) || t.rect.w <= 0 || t.rect.h <= 0) return null;
464
+ let e = N(t.rect, n);
465
+ if (!e) return null;
466
+ let i = t.position ?? "ctr";
467
+ l = e.x + e.w / 2, u = e.y + e.h / 2, i === "inBase" ? (c = {
468
+ x: e.x + s,
469
+ y: e.y + s,
470
+ w: e.w - s,
471
+ h: e.h - s
472
+ }, l = c.x + r.w / 2, u = c.y + r.h / 2, f = "left", p = "top") : i === "inEnd" ? (c = {
473
+ x: e.x + s,
474
+ y: e.y,
475
+ w: e.w - s,
476
+ h: e.h - s
477
+ }, l = c.x + r.w / 2, u = c.y + c.h - r.h / 2, f = "left", p = "bottom") : i === "l" ? (c = {
478
+ x: e.x + s,
479
+ y: e.y + s,
480
+ w: e.w - s,
481
+ h: e.h - s * 2
482
+ }, l = c.x + r.w / 2, f = "left") : i === "r" || i === "outEnd" ? (c = {
483
+ x: e.x,
484
+ y: e.y + s,
485
+ w: e.w - s,
486
+ h: e.h - s * 2
487
+ }, l = c.x + c.w - r.w / 2, f = "right") : i === "t" ? (c = {
488
+ x: e.x + s,
489
+ y: e.y + s,
490
+ w: e.w - s * 2,
491
+ h: e.h - s
492
+ }, u = c.y + r.h / 2, p = "top") : i === "b" ? (c = {
493
+ x: e.x + s,
494
+ y: e.y,
495
+ w: e.w - s * 2,
496
+ h: e.h - s
497
+ }, u = c.y + c.h - r.h / 2, p = "bottom") : c = {
498
+ x: e.x + s,
499
+ y: e.y + s,
500
+ w: e.w - s * 2,
501
+ h: e.h - s * 2
502
+ };
503
+ } else {
504
+ if (![
505
+ t.rect.x,
506
+ t.rect.y,
507
+ t.rect.w,
508
+ t.rect.h
509
+ ].every(Number.isFinite) || t.rect.w < 0 || t.rect.h < 0) return null;
510
+ let e = t.position ?? "outEnd", i = e === "inBase" || e === "inEnd" || e === "ctr";
511
+ if (d = !i, i) {
512
+ let e = N(t.rect, n);
513
+ if (!e) return null;
514
+ c = e;
515
+ } else if (t.orientation === "vertical" && t.rect.w <= 0 || t.orientation === "horizontal" && t.rect.h <= 0) return null;
516
+ let a = t.rect.x + t.rect.w / 2, o = t.rect.y + t.rect.h / 2;
517
+ if (l = a, u = o, t.orientation === "vertical") {
518
+ 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;
519
+ 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");
520
+ } else {
521
+ 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;
522
+ 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");
523
+ }
524
+ }
525
+ let m = Math.max(2, i * .5), h = Math.max(2, i * .9);
526
+ if (c.w < m || c.h < h) return null;
527
+ let g = {
528
+ x: l - Math.min(r.w, c.w) / 2,
529
+ y: u - Math.min(r.h, c.h) / 2,
530
+ w: Math.min(r.w, c.w),
531
+ h: Math.min(r.h, c.h)
532
+ };
533
+ if (a) {
534
+ let t = e(a, o, g);
535
+ if (!t) return null;
536
+ g = t, f = "center", p = "middle";
537
+ let r = N(t, n);
538
+ if (!r || (c = r, c.w < m || c.h < h)) return null;
539
+ }
540
+ 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 : P(g.x + g.w / 2, c.x + y, c.x + c.w - y), S = d || a ? g.y + g.h / 2 : P(g.y + g.h / 2, c.y + b, c.y + c.h - b);
541
+ return [x, S].every(Number.isFinite) ? {
542
+ x: f === "left" ? x - y : f === "right" ? x + y : x,
543
+ y: p === "top" ? S - b : p === "bottom" ? S + b : S,
544
+ textAlign: f,
545
+ textBaseline: p,
546
+ maxWidth: c.w,
547
+ maxHeight: c.h,
548
+ clip: c,
549
+ rect: g
550
+ } : null;
551
+ }
552
+ var I = 4096, L = 4;
553
+ function R(e, t, n) {
554
+ if (n(e) <= t) return e;
555
+ if (n("…") > t) return "";
556
+ let r = 0, i = Array.from(e), a = i.length;
557
+ for (; r < a;) {
558
+ let e = Math.ceil((r + a) / 2);
559
+ n(`${i.slice(0, e).join("")}…`) <= t ? r = e : a = e - 1;
560
+ }
561
+ return `${i.slice(0, r).join("")}…`;
562
+ }
563
+ function z(e) {
564
+ let t = "", n = 0;
565
+ for (let r of e) {
566
+ if (n >= I) return {
567
+ value: t,
568
+ truncated: !0
569
+ };
570
+ t += r, n++;
571
+ }
572
+ return {
573
+ value: t,
574
+ truncated: !1
575
+ };
576
+ }
577
+ function B(e, t, n, r, i) {
578
+ if (![
579
+ t,
580
+ n,
581
+ r
582
+ ].every(Number.isFinite) || t <= 0 || n < r || r <= 0) return [];
583
+ let a = Math.max(1, Math.min(L, Math.floor(n / r))), o = z(e), s = o.value.split(/\r?\n/), c = [], l = o.truncated, u = (e) => {
584
+ let n = [], r = "";
585
+ for (let a of Array.from(e)) {
586
+ let e = `${r}${a}`;
587
+ r && i(e) > t ? (n.push(r), r = a) : r = e;
588
+ }
589
+ return r && n.push(r), n.filter((e) => i(e) <= t);
590
+ };
591
+ for (let e of s) {
592
+ if (i(e) <= t) {
593
+ c.push(e);
594
+ continue;
595
+ }
596
+ let n = e.match(/\S+\s*|\s+/g) ?? [];
597
+ if (n.length <= 1) c.push(...u(e));
598
+ else {
599
+ let e = "";
600
+ for (let r of n) {
601
+ let n = `${e}${r}`;
602
+ if (i(n) <= t) e = n;
603
+ else {
604
+ e && c.push(e);
605
+ let t = u(r);
606
+ e = t.pop() ?? "", c.push(...t);
607
+ }
608
+ }
609
+ e && c.push(e);
610
+ }
611
+ }
612
+ l ||= c.length > a;
613
+ let d = c.slice(0, a);
614
+ return l && d.length > 0 && !d[d.length - 1].endsWith("…") && (d[d.length - 1] = R(`${d[d.length - 1]}…`, t, i)), d;
615
+ }
616
+ //#endregion
617
+ //#region packages/core/src/draw/dash.ts
618
+ function V(e, t) {
619
+ return e.map((e) => e * t);
620
+ }
621
+ var H = {
622
+ dotted: [1, 2],
623
+ dashed: [3, 2],
624
+ dashSmallGap: [3, 1],
625
+ dotDash: [
626
+ 1,
627
+ 2,
628
+ 3,
629
+ 2
630
+ ],
631
+ dotDotDash: [
632
+ 1,
633
+ 2,
634
+ 1,
635
+ 2,
636
+ 3,
637
+ 2
638
+ ],
639
+ dashDotStroked: [
640
+ 1,
641
+ 2,
642
+ 3,
643
+ 2
644
+ ]
645
+ };
646
+ function U(e, t) {
647
+ let n = H[e];
648
+ return n ? V(n, t) : [];
649
+ }
650
+ var W = {
651
+ hair: [1, 1],
652
+ dashed: [4, 3],
653
+ mediumDashed: [4, 3],
654
+ dotted: [2, 2],
655
+ dashDot: [
656
+ 4,
657
+ 2,
658
+ 1,
659
+ 2
660
+ ],
661
+ mediumDashDot: [
662
+ 4,
663
+ 2,
664
+ 1,
665
+ 2
666
+ ],
667
+ dashDotDot: [
668
+ 4,
669
+ 2,
670
+ 1,
671
+ 2,
672
+ 1,
673
+ 2
674
+ ],
675
+ mediumDashDotDot: [
676
+ 4,
677
+ 2,
678
+ 1,
679
+ 2,
680
+ 1,
681
+ 2
682
+ ],
683
+ slantDashDot: [
684
+ 5,
685
+ 3,
686
+ 1,
687
+ 3
688
+ ]
689
+ };
690
+ function G(e) {
691
+ let t = W[e];
692
+ return t ? V(t, 1) : [];
693
+ }
694
+ var K = {
695
+ dash: [6, 3],
696
+ dot: [1.5, 3],
697
+ dashDot: [
698
+ 6,
699
+ 3,
700
+ 1.5,
701
+ 3
702
+ ],
703
+ lgDash: [10, 4],
704
+ lgDashDot: [
705
+ 10,
706
+ 4,
707
+ 1.5,
708
+ 4
709
+ ],
710
+ lgDashDotDot: [
711
+ 10,
712
+ 4,
713
+ 1.5,
714
+ 4,
715
+ 1.5,
716
+ 4
717
+ ],
718
+ sysDash: [4, 2],
719
+ sysDot: [1, 2],
720
+ sysDashDot: [
721
+ 4,
722
+ 2,
723
+ 1,
724
+ 2
725
+ ],
726
+ sysDashDotDot: [
727
+ 4,
728
+ 2,
729
+ 1,
730
+ 2,
731
+ 1,
732
+ 2
733
+ ]
734
+ };
735
+ function q(e, t) {
736
+ let n = K[e];
737
+ return n ? V(n, t) : [];
738
+ }
739
+ function J(e, t) {
740
+ let n = q(e, t);
741
+ if (n.length > 0) return n;
742
+ let r = e.trim().split(/[\s,]+/).map(Number);
743
+ return r.length >= 2 && r.every((e) => Number.isFinite(e) && e >= 0) && r.some((e) => e > 0) ? (r.length % 2 != 0 && r.pop(), V(r, t)) : [];
744
+ }
745
+ var Y = {
746
+ dotted: [1.5, 3],
747
+ dottedHeavy: [1.5, 3],
748
+ dash: [6, 3],
749
+ dashHeavy: [6, 3],
750
+ dashLong: [10, 4],
751
+ dashLongHeavy: [10, 4],
752
+ dotDash: [
753
+ 6,
754
+ 3,
755
+ 1.5,
756
+ 3
757
+ ],
758
+ dotDashHeavy: [
759
+ 6,
760
+ 3,
761
+ 1.5,
762
+ 3
763
+ ],
764
+ dotDotDash: [
765
+ 6,
766
+ 3,
767
+ 1.5,
768
+ 3,
769
+ 1.5,
770
+ 3
771
+ ],
772
+ dotDotDashHeavy: [
773
+ 6,
774
+ 3,
775
+ 1.5,
776
+ 3,
777
+ 1.5,
778
+ 3
779
+ ]
780
+ };
781
+ function X(e, t) {
782
+ let n = Y[e];
783
+ return n ? V(n, t) : [];
784
+ }
785
+ //#endregion
786
+ export { i as C, _ as S, g as T, x as _, G as a, r as b, F as c, k as d, T as f, b as g, y as h, J as i, j as l, C as m, q as n, z as o, S as p, X as r, B as s, U as t, A as u, a as v, p as w, v as x, o as y };