@photon-ai/pho-ui 2.11.0 → 2.13.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 (42) hide show
  1. package/dist/chunks/badge-DlLJPLeZ.js +78 -0
  2. package/dist/chunks/badge-DlLJPLeZ.js.map +1 -0
  3. package/dist/chunks/bar-chart-BJfr3eyd.js +190 -0
  4. package/dist/chunks/bar-chart-BJfr3eyd.js.map +1 -0
  5. package/dist/chunks/legend-C0mU7dqd.js +60 -0
  6. package/dist/chunks/legend-C0mU7dqd.js.map +1 -0
  7. package/dist/chunks/line-chart-CUR3AxrR.js +453 -0
  8. package/dist/chunks/line-chart-CUR3AxrR.js.map +1 -0
  9. package/dist/chunks/stat-hnNqjWVG.js +85 -0
  10. package/dist/chunks/stat-hnNqjWVG.js.map +1 -0
  11. package/dist/chunks/use-measure-CMVgLouO.js +616 -0
  12. package/dist/chunks/use-measure-CMVgLouO.js.map +1 -0
  13. package/dist/components/badge.js +5 -71
  14. package/dist/components/bar-chart.js +5 -0
  15. package/dist/components/chart.js +8 -0
  16. package/dist/components/line-chart.js +5 -0
  17. package/dist/components/stat.js +6 -0
  18. package/dist/components/toggle.js +14 -14
  19. package/dist/components/toggle.js.map +1 -1
  20. package/dist/index.js +89 -76
  21. package/dist/src/components/badge/badge.d.ts +7 -3
  22. package/dist/src/components/bar-chart/bar-chart.d.ts +9 -0
  23. package/dist/src/components/bar-chart/index.d.ts +2 -0
  24. package/dist/src/components/chart/axes.d.ts +22 -0
  25. package/dist/src/components/chart/color.d.ts +10 -0
  26. package/dist/src/components/chart/format.d.ts +25 -0
  27. package/dist/src/components/chart/index.d.ts +8 -0
  28. package/dist/src/components/chart/legend.d.ts +26 -0
  29. package/dist/src/components/chart/scale.d.ts +34 -0
  30. package/dist/src/components/chart/shell.d.ts +42 -0
  31. package/dist/src/components/chart/tooltip.d.ts +30 -0
  32. package/dist/src/components/chart/types.d.ts +76 -0
  33. package/dist/src/components/chart/use-measure.d.ts +8 -0
  34. package/dist/src/components/line-chart/index.d.ts +2 -0
  35. package/dist/src/components/line-chart/line-chart.d.ts +11 -0
  36. package/dist/src/components/stat/index.d.ts +1 -0
  37. package/dist/src/components/stat/stat.d.ts +61 -0
  38. package/dist/src/components/toggle/toggle.d.ts +5 -1
  39. package/dist/src/index.d.ts +4 -0
  40. package/package.json +23 -1
  41. package/src/styles/theme.css +51 -0
  42. package/dist/components/badge.js.map +0 -1
@@ -0,0 +1,616 @@
1
+ "use client";
2
+ import { t as O } from "./cn-ChIgwEl3.js";
3
+ import { n as re } from "./legend-C0mU7dqd.js";
4
+ import { useEffect as ne, useId as te, useLayoutEffect as ie, useRef as ae, useState as ue } from "react";
5
+ import { jsx as m, jsxs as C } from "react/jsx-runtime";
6
+ var q = {
7
+ fontSize: 11,
8
+ fill: "var(--text-color-pho-description)",
9
+ fontVariantNumeric: "tabular-nums"
10
+ };
11
+ function Oe({ layout: e, ticks: r, labels: n, scale: l }) {
12
+ return /* @__PURE__ */ m("g", {
13
+ "aria-hidden": !0,
14
+ children: r.map((i, t) => {
15
+ const u = l(i);
16
+ return /* @__PURE__ */ C("g", { children: [/* @__PURE__ */ m("line", {
17
+ x1: e.left,
18
+ x2: e.right,
19
+ y1: u,
20
+ y2: u,
21
+ stroke: i === 0 ? "var(--color-pho-chart-crosshair)" : "var(--color-pho-chart-grid)"
22
+ }), /* @__PURE__ */ m("text", {
23
+ x: e.left - 8,
24
+ y: u,
25
+ dy: "0.35em",
26
+ textAnchor: "end",
27
+ style: q,
28
+ children: n[t]
29
+ })] }, i);
30
+ })
31
+ });
32
+ }
33
+ function Re({ layout: e, ticks: r }) {
34
+ const n = e.height - 6;
35
+ return /* @__PURE__ */ m("g", {
36
+ "aria-hidden": !0,
37
+ children: r.map(({ x: l, label: i }) => {
38
+ const t = i.length * 6.5 / 2, u = l - t < e.left ? "start" : l + t > e.right ? "end" : "middle", s = u === "start" ? Math.max(l, e.left) : u === "end" ? Math.min(l, e.right) : l;
39
+ return /* @__PURE__ */ m("text", {
40
+ x: s,
41
+ y: n,
42
+ textAnchor: u,
43
+ style: q,
44
+ children: i
45
+ }, l);
46
+ })
47
+ });
48
+ }
49
+ function Le(e, r = !1) {
50
+ const n = new Intl.NumberFormat(e, r ? {
51
+ notation: "compact",
52
+ maximumFractionDigits: 1
53
+ } : { maximumFractionDigits: 2 });
54
+ return (l) => n.format(l);
55
+ }
56
+ function le(e, r) {
57
+ const n = e[r];
58
+ return typeof n == "number" && Number.isFinite(n) ? n : null;
59
+ }
60
+ function se(e) {
61
+ return e.length <= 1 ? e[0] ?? "" : `${e.slice(0, -1).join(", ")} and ${e[e.length - 1]}`;
62
+ }
63
+ function Xe({ data: e, series: r, kind: n, valueFormat: l, timeFormat: i }) {
64
+ if (e.length === 0) return "No data to show.";
65
+ const t = e[0], u = e[e.length - 1], s = e.length > 1 ? `${i(new Date(t.x))} to ${i(new Date(u.x))}` : i(new Date(t.x)), o = [`${se(r.map((a) => a.label))}, ${s}.`];
66
+ for (const a of r) {
67
+ let c = 0, f = 1 / 0, v = -1 / 0, g = null, d = 0;
68
+ for (const x of e) {
69
+ const F = le(x, a.key);
70
+ F != null && (d++, c += F, F < f && (f = F), F > v && (v = F, g = new Date(x.x)));
71
+ }
72
+ if (d === 0) {
73
+ o.push(`${a.label}: no values.`);
74
+ continue;
75
+ }
76
+ const p = g ? `, peak ${l(v)} at ${i(g)}` : "";
77
+ o.push(n === "bar" ? `${a.label}: ${l(c)} in total${p}.` : `${a.label}: from ${l(f)} to ${l(v)}${p}.`);
78
+ }
79
+ return o.join(" ");
80
+ }
81
+ function I(e, r) {
82
+ return e == null || r == null ? NaN : e < r ? -1 : e > r ? 1 : e >= r ? 0 : NaN;
83
+ }
84
+ function oe(e, r) {
85
+ return e == null || r == null ? NaN : r < e ? -1 : r > e ? 1 : r >= e ? 0 : NaN;
86
+ }
87
+ function ce(e) {
88
+ let r, n, l;
89
+ e.length !== 2 ? (r = I, n = (s, o) => I(e(s), o), l = (s, o) => e(s) - o) : (r = e === I || e === oe ? e : fe, n = e, l = e);
90
+ function i(s, o, a = 0, c = s.length) {
91
+ if (a < c) {
92
+ if (r(o, o) !== 0) return c;
93
+ do {
94
+ const f = a + c >>> 1;
95
+ n(s[f], o) < 0 ? a = f + 1 : c = f;
96
+ } while (a < c);
97
+ }
98
+ return a;
99
+ }
100
+ function t(s, o, a = 0, c = s.length) {
101
+ if (a < c) {
102
+ if (r(o, o) !== 0) return c;
103
+ do {
104
+ const f = a + c >>> 1;
105
+ n(s[f], o) <= 0 ? a = f + 1 : c = f;
106
+ } while (a < c);
107
+ }
108
+ return a;
109
+ }
110
+ function u(s, o, a = 0, c = s.length) {
111
+ const f = i(s, o, a, c - 1);
112
+ return f > a && l(s[f - 1], o) > -l(s[f], o) ? f - 1 : f;
113
+ }
114
+ return {
115
+ left: i,
116
+ center: u,
117
+ right: t
118
+ };
119
+ }
120
+ function fe() {
121
+ return 0;
122
+ }
123
+ var he = Math.sqrt(50), me = Math.sqrt(10), ge = Math.sqrt(2);
124
+ function Y(e, r, n) {
125
+ const l = (r - e) / Math.max(0, n), i = Math.floor(Math.log10(l)), t = l / Math.pow(10, i), u = t >= he ? 10 : t >= me ? 5 : t >= ge ? 2 : 1;
126
+ let s, o, a;
127
+ return i < 0 ? (a = Math.pow(10, -i) / u, s = Math.round(e * a), o = Math.round(r * a), s / a < e && ++s, o / a > r && --o, a = -a) : (a = Math.pow(10, i) * u, s = Math.round(e / a), o = Math.round(r / a), s * a < e && ++s, o * a > r && --o), o < s && 0.5 <= n && n < 2 ? Y(e, r, n * 2) : [
128
+ s,
129
+ o,
130
+ a
131
+ ];
132
+ }
133
+ function ve(e, r, n) {
134
+ if (r = +r, e = +e, n = +n, !(n > 0)) return [];
135
+ if (e === r) return [e];
136
+ const l = r < e, [i, t, u] = l ? Y(r, e, n) : Y(e, r, n);
137
+ if (!(t >= i)) return [];
138
+ const s = t - i + 1, o = new Array(s);
139
+ if (l)
140
+ if (u < 0) for (let a = 0; a < s; ++a) o[a] = (t - a) / -u;
141
+ else for (let a = 0; a < s; ++a) o[a] = (t - a) * u;
142
+ else if (u < 0) for (let a = 0; a < s; ++a) o[a] = (i + a) / -u;
143
+ else for (let a = 0; a < s; ++a) o[a] = (i + a) * u;
144
+ return o;
145
+ }
146
+ function R(e, r, n) {
147
+ return r = +r, e = +e, n = +n, Y(e, r, n)[2];
148
+ }
149
+ function z(e, r, n) {
150
+ r = +r, e = +e, n = +n;
151
+ const l = r < e, i = l ? R(r, e, n) : R(e, r, n);
152
+ return (l ? -1 : 1) * (i < 0 ? 1 / -i : i);
153
+ }
154
+ var $ = /* @__PURE__ */ new Date(), k = /* @__PURE__ */ new Date();
155
+ function h(e, r, n, l) {
156
+ function i(t) {
157
+ return e(t = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+t)), t;
158
+ }
159
+ return i.floor = (t) => (e(t = /* @__PURE__ */ new Date(+t)), t), i.ceil = (t) => (e(t = /* @__PURE__ */ new Date(t - 1)), r(t, 1), e(t), t), i.round = (t) => {
160
+ const u = i(t), s = i.ceil(t);
161
+ return t - u < s - t ? u : s;
162
+ }, i.offset = (t, u) => (r(t = /* @__PURE__ */ new Date(+t), u == null ? 1 : Math.floor(u)), t), i.range = (t, u, s) => {
163
+ const o = [];
164
+ if (t = i.ceil(t), s = s == null ? 1 : Math.floor(s), !(t < u) || !(s > 0)) return o;
165
+ let a;
166
+ do
167
+ o.push(a = /* @__PURE__ */ new Date(+t)), r(t, s), e(t);
168
+ while (a < t && t < u);
169
+ return o;
170
+ }, i.filter = (t) => h((u) => {
171
+ if (u >= u) for (; e(u), !t(u); ) u.setTime(u - 1);
172
+ }, (u, s) => {
173
+ if (u >= u)
174
+ if (s < 0) for (; ++s <= 0; ) for (; r(u, -1), !t(u); ) ;
175
+ else for (; --s >= 0; ) for (; r(u, 1), !t(u); ) ;
176
+ }), n && (i.count = (t, u) => ($.setTime(+t), k.setTime(+u), e($), e(k), Math.floor(n($, k))), i.every = (t) => (t = Math.floor(t), !isFinite(t) || !(t > 0) ? null : t > 1 ? i.filter(l ? (u) => l(u) % t === 0 : (u) => i.count(0, u) % t === 0) : i)), i;
177
+ }
178
+ var S = h(() => {
179
+ }, (e, r) => {
180
+ e.setTime(+e + r);
181
+ }, (e, r) => r - e);
182
+ S.every = (e) => (e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? h((r) => {
183
+ r.setTime(Math.floor(r / e) * e);
184
+ }, (r, n) => {
185
+ r.setTime(+r + n * e);
186
+ }, (r, n) => (n - r) / e) : S);
187
+ var _e = S.range, y = 1e3, T = y * 60, M = T * 60, D = M * 24, A = D * 7, L = D * 30, W = D * 365, N = h((e) => {
188
+ e.setTime(e - e.getMilliseconds());
189
+ }, (e, r) => {
190
+ e.setTime(+e + r * y);
191
+ }, (e, r) => (r - e) / y, (e) => e.getUTCSeconds()), qe = N.range, E = h((e) => {
192
+ e.setTime(e - e.getMilliseconds() - e.getSeconds() * y);
193
+ }, (e, r) => {
194
+ e.setTime(+e + r * T);
195
+ }, (e, r) => (r - e) / T, (e) => e.getMinutes()), Ee = E.range, P = h((e) => {
196
+ e.setUTCSeconds(0, 0);
197
+ }, (e, r) => {
198
+ e.setTime(+e + r * T);
199
+ }, (e, r) => (r - e) / T, (e) => e.getUTCMinutes()), Pe = P.range, B = h((e) => {
200
+ e.setTime(e - e.getMilliseconds() - e.getSeconds() * y - e.getMinutes() * T);
201
+ }, (e, r) => {
202
+ e.setTime(+e + r * M);
203
+ }, (e, r) => (r - e) / M, (e) => e.getHours()), Be = B.range, V = h((e) => {
204
+ e.setUTCMinutes(0, 0, 0);
205
+ }, (e, r) => {
206
+ e.setTime(+e + r * M);
207
+ }, (e, r) => (r - e) / M, (e) => e.getUTCHours()), Ve = V.range, b = h((e) => e.setHours(0, 0, 0, 0), (e, r) => e.setDate(e.getDate() + r), (e, r) => (r - e - (r.getTimezoneOffset() - e.getTimezoneOffset()) * T) / D, (e) => e.getDate() - 1), Ge = b.range, Te = h((e) => {
208
+ e.setUTCHours(0, 0, 0, 0);
209
+ }, (e, r) => {
210
+ e.setUTCDate(e.getUTCDate() + r);
211
+ }, (e, r) => (r - e) / D, (e) => e.getUTCDate() - 1), Ke = Te.range, G = h((e) => {
212
+ e.setUTCHours(0, 0, 0, 0);
213
+ }, (e, r) => {
214
+ e.setUTCDate(e.getUTCDate() + r);
215
+ }, (e, r) => (r - e) / D, (e) => Math.floor(e / D)), Je = G.range;
216
+ function w(e) {
217
+ return h((r) => {
218
+ r.setDate(r.getDate() - (r.getDay() + 7 - e) % 7), r.setHours(0, 0, 0, 0);
219
+ }, (r, n) => {
220
+ r.setDate(r.getDate() + n * 7);
221
+ }, (r, n) => (n - r - (n.getTimezoneOffset() - r.getTimezoneOffset()) * T) / A);
222
+ }
223
+ var K = w(0), de = w(1), ye = w(2), Me = w(3), De = w(4), Ce = w(5), pe = w(6), Qe = K.range, Ze = de.range, er = ye.range, rr = Me.range, nr = De.range, tr = Ce.range, ir = pe.range;
224
+ function U(e) {
225
+ return h((r) => {
226
+ r.setUTCDate(r.getUTCDate() - (r.getUTCDay() + 7 - e) % 7), r.setUTCHours(0, 0, 0, 0);
227
+ }, (r, n) => {
228
+ r.setUTCDate(r.getUTCDate() + n * 7);
229
+ }, (r, n) => (n - r) / A);
230
+ }
231
+ var J = U(0), we = U(1), Ue = U(2), Fe = U(3), be = U(4), Ne = U(5), xe = U(6), ar = J.range, ur = we.range, lr = Ue.range, sr = Fe.range, or = be.range, cr = Ne.range, fr = xe.range, Q = h((e) => {
232
+ e.setDate(1), e.setHours(0, 0, 0, 0);
233
+ }, (e, r) => {
234
+ e.setMonth(e.getMonth() + r);
235
+ }, (e, r) => r.getMonth() - e.getMonth() + (r.getFullYear() - e.getFullYear()) * 12, (e) => e.getMonth()), hr = Q.range, Z = h((e) => {
236
+ e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);
237
+ }, (e, r) => {
238
+ e.setUTCMonth(e.getUTCMonth() + r);
239
+ }, (e, r) => r.getUTCMonth() - e.getUTCMonth() + (r.getUTCFullYear() - e.getUTCFullYear()) * 12, (e) => e.getUTCMonth()), mr = Z.range, H = h((e) => {
240
+ e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
241
+ }, (e, r) => {
242
+ e.setFullYear(e.getFullYear() + r);
243
+ }, (e, r) => r.getFullYear() - e.getFullYear(), (e) => e.getFullYear());
244
+ H.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : h((r) => {
245
+ r.setFullYear(Math.floor(r.getFullYear() / e) * e), r.setMonth(0, 1), r.setHours(0, 0, 0, 0);
246
+ }, (r, n) => {
247
+ r.setFullYear(r.getFullYear() + n * e);
248
+ });
249
+ var gr = H.range, j = h((e) => {
250
+ e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
251
+ }, (e, r) => {
252
+ e.setUTCFullYear(e.getUTCFullYear() + r);
253
+ }, (e, r) => r.getUTCFullYear() - e.getUTCFullYear(), (e) => e.getUTCFullYear());
254
+ j.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : h((r) => {
255
+ r.setUTCFullYear(Math.floor(r.getUTCFullYear() / e) * e), r.setUTCMonth(0, 1), r.setUTCHours(0, 0, 0, 0);
256
+ }, (r, n) => {
257
+ r.setUTCFullYear(r.getUTCFullYear() + n * e);
258
+ });
259
+ var vr = j.range;
260
+ function ee(e, r, n, l, i, t) {
261
+ const u = [
262
+ [
263
+ N,
264
+ 1,
265
+ y
266
+ ],
267
+ [
268
+ N,
269
+ 5,
270
+ 5 * y
271
+ ],
272
+ [
273
+ N,
274
+ 15,
275
+ 15 * y
276
+ ],
277
+ [
278
+ N,
279
+ 30,
280
+ 30 * y
281
+ ],
282
+ [
283
+ t,
284
+ 1,
285
+ T
286
+ ],
287
+ [
288
+ t,
289
+ 5,
290
+ 5 * T
291
+ ],
292
+ [
293
+ t,
294
+ 15,
295
+ 15 * T
296
+ ],
297
+ [
298
+ t,
299
+ 30,
300
+ 30 * T
301
+ ],
302
+ [
303
+ i,
304
+ 1,
305
+ M
306
+ ],
307
+ [
308
+ i,
309
+ 3,
310
+ 3 * M
311
+ ],
312
+ [
313
+ i,
314
+ 6,
315
+ 6 * M
316
+ ],
317
+ [
318
+ i,
319
+ 12,
320
+ 12 * M
321
+ ],
322
+ [
323
+ l,
324
+ 1,
325
+ D
326
+ ],
327
+ [
328
+ l,
329
+ 2,
330
+ 2 * D
331
+ ],
332
+ [
333
+ n,
334
+ 1,
335
+ A
336
+ ],
337
+ [
338
+ r,
339
+ 1,
340
+ L
341
+ ],
342
+ [
343
+ r,
344
+ 3,
345
+ 3 * L
346
+ ],
347
+ [
348
+ e,
349
+ 1,
350
+ W
351
+ ]
352
+ ];
353
+ function s(a, c, f) {
354
+ const v = c < a;
355
+ v && ([a, c] = [c, a]);
356
+ const g = f && typeof f.range == "function" ? f : o(a, c, f), d = g ? g.range(a, +c + 1) : [];
357
+ return v ? d.reverse() : d;
358
+ }
359
+ function o(a, c, f) {
360
+ const v = Math.abs(c - a) / f, g = ce(([, , x]) => x).right(u, v);
361
+ if (g === u.length) return e.every(z(a / W, c / W, f));
362
+ if (g === 0) return S.every(Math.max(z(a, c, f), 1));
363
+ const [d, p] = u[v / u[g - 1][2] < u[g][2] / v ? g - 1 : g];
364
+ return d.every(p);
365
+ }
366
+ return [s, o];
367
+ }
368
+ var [Tr, dr] = ee(j, Z, J, G, V, P), [Ye, yr] = ee(H, Q, K, b, B, E);
369
+ function Mr(e) {
370
+ return typeof e == "number" ? e : e.getTime();
371
+ }
372
+ function Dr(e, r) {
373
+ const [n, l] = e, [i, t] = r, u = l - n;
374
+ return u === 0 ? () => i : (s) => i + (s - n) / u * (t - i);
375
+ }
376
+ function Cr(e, r) {
377
+ if (!Number.isFinite(e) || !Number.isFinite(r)) return {
378
+ domain: [0, 1],
379
+ ticks: [
380
+ 0,
381
+ 0.5,
382
+ 1
383
+ ]
384
+ };
385
+ if (e > r && ([e, r] = [r, e]), e === r) {
386
+ if (r === 0) return {
387
+ domain: [0, 1],
388
+ ticks: [
389
+ 0,
390
+ 0.5,
391
+ 1
392
+ ]
393
+ };
394
+ r > 0 ? e = 0 : r = 0;
395
+ }
396
+ for (let n = 4; n >= 2; n--) {
397
+ const l = z(e, r, n), i = Math.floor(e / l) * l, t = Math.ceil(r / l) * l, u = ve(i, t, n);
398
+ if (u.length <= 5 || n === 2) return {
399
+ domain: [i, t],
400
+ ticks: u
401
+ };
402
+ }
403
+ return {
404
+ domain: [e, r],
405
+ ticks: [e, r]
406
+ };
407
+ }
408
+ function pr(e) {
409
+ if (e.length < 2) return 0;
410
+ const r = [];
411
+ for (let n = 1; n < e.length; n++) r.push(e[n] - e[n - 1]);
412
+ return r.sort((n, l) => n - l), r[Math.floor(r.length / 2)];
413
+ }
414
+ var Se = 864e5;
415
+ function wr(e, r, n) {
416
+ if (r <= e || n <= 0) return [new Date(e)];
417
+ const l = Math.max(2, Math.floor(n / 96)), i = Ye(new Date(e), new Date(r), l);
418
+ if (i.length > 2 && i.every((t) => He(t))) {
419
+ const t = i.slice(1).map((s, o) => b.count(i[o], s)), u = Math.max(...t);
420
+ if (u > 1 && t.some((s) => s !== u)) return b.range(i[0], new Date(r + 1), u);
421
+ }
422
+ return i;
423
+ }
424
+ function He(e) {
425
+ return b(e).getTime() === e.getTime();
426
+ }
427
+ function Ur(e) {
428
+ const r = new Intl.DateTimeFormat(e, {
429
+ hour: "numeric",
430
+ minute: "2-digit"
431
+ }), n = new Intl.DateTimeFormat(e, {
432
+ month: "short",
433
+ day: "numeric"
434
+ }), l = new Intl.DateTimeFormat(e, {
435
+ month: "short",
436
+ year: "numeric"
437
+ });
438
+ return (i) => b(i).getTime() < i.getTime() ? r.format(i) : H(i).getTime() < i.getTime() ? n.format(i) : l.format(i);
439
+ }
440
+ function Fr(e, r) {
441
+ const n = new Intl.DateTimeFormat(e, r >= Se ? {
442
+ month: "short",
443
+ day: "numeric"
444
+ } : {
445
+ month: "short",
446
+ day: "numeric",
447
+ hour: "numeric",
448
+ minute: "2-digit"
449
+ });
450
+ return (l) => n.format(l);
451
+ }
452
+ function Ie(e) {
453
+ return e.length * 6.5 + 16;
454
+ }
455
+ function br(e, r, n) {
456
+ if (e.length < 2) return [...e];
457
+ const l = Math.max(...e.map((u) => Ie(r(u)))), i = Math.max(1, Math.floor(n / l)), t = Math.ceil(e.length / i);
458
+ return t <= 1 ? [...e] : e.filter((u, s) => s % t === 0);
459
+ }
460
+ function Nr(e, r) {
461
+ if (e.length === 0) return -1;
462
+ let n = 0, l = e.length - 1;
463
+ for (; n < l; ) {
464
+ const i = n + l >> 1;
465
+ e[i] < r ? n = i + 1 : l = i;
466
+ }
467
+ return n > 0 && r - e[n - 1] < e[n] - r ? n - 1 : n;
468
+ }
469
+ var X = 8, _ = 8, $e = 22;
470
+ function xr(e, r, n) {
471
+ const l = n.reduce((u, s) => Math.max(u, s.length), 0), i = Math.ceil(l * 6.5) + 10, t = r - $e;
472
+ return {
473
+ width: e,
474
+ height: r,
475
+ left: i,
476
+ top: X,
477
+ right: e - _,
478
+ bottom: t,
479
+ innerWidth: Math.max(0, e - i - _),
480
+ innerHeight: Math.max(0, t - X)
481
+ };
482
+ }
483
+ function Yr({ label: e, description: r, height: n, width: l, containerRef: i, legend: t, tooltip: u, loading: s, empty: o, showEmpty: a, onPlotPointerMove: c, onPlotPointerLeave: f, className: v, children: g, ...d }) {
484
+ const p = te();
485
+ return /* @__PURE__ */ C("div", {
486
+ "data-chart": "",
487
+ className: O("flex w-full min-w-0 flex-col gap-3", v),
488
+ ...d,
489
+ children: [/* @__PURE__ */ C("div", {
490
+ ref: i,
491
+ "aria-busy": s || void 0,
492
+ className: O("relative w-full transition-opacity duration-150 ease-out", s && "opacity-50"),
493
+ style: { height: n },
494
+ children: [
495
+ /* @__PURE__ */ m("svg", {
496
+ role: "img",
497
+ "aria-label": e,
498
+ "aria-describedby": p,
499
+ width: "100%",
500
+ height: n,
501
+ viewBox: l > 0 ? `0 0 ${l} ${n}` : void 0,
502
+ className: "animate-pho-chart-in block overflow-visible select-none",
503
+ onPointerMove: c,
504
+ onPointerLeave: f,
505
+ children: l > 0 && !a ? g : null
506
+ }),
507
+ /* @__PURE__ */ m("p", {
508
+ id: p,
509
+ className: "sr-only",
510
+ children: r
511
+ }),
512
+ a && /* @__PURE__ */ m("div", {
513
+ className: "text-pho-description absolute inset-0 flex items-center justify-center text-xs",
514
+ children: o
515
+ }),
516
+ u
517
+ ]
518
+ }), t]
519
+ });
520
+ }
521
+ function Sr({ x: e, width: r, top: n, heading: l, rows: i, breakdown: t, breakdownTitle: u, valueFormat: s }) {
522
+ const o = e > r / 2;
523
+ return /* @__PURE__ */ C("div", {
524
+ "aria-hidden": !0,
525
+ "data-chart-tooltip": "",
526
+ className: "bg-pho-primary shadow-pho-lg ring-pho-secondary rounded-base pointer-events-none absolute z-10 max-w-72 min-w-40 px-3 py-2 text-xs ring-1 ring-inset",
527
+ style: o ? {
528
+ right: r - e + 12,
529
+ top: n
530
+ } : {
531
+ left: e + 12,
532
+ top: n
533
+ },
534
+ children: [
535
+ /* @__PURE__ */ m("div", {
536
+ className: "text-pho-primary font-medium",
537
+ children: l
538
+ }),
539
+ /* @__PURE__ */ m("ul", {
540
+ className: "mt-1 flex flex-col gap-0.5",
541
+ children: i.map((a) => /* @__PURE__ */ C("li", {
542
+ className: "flex items-center justify-between gap-4",
543
+ children: [/* @__PURE__ */ C("span", {
544
+ className: "text-pho-secondary flex min-w-0 items-center gap-1.5",
545
+ children: [/* @__PURE__ */ m(re, {
546
+ color: a.color,
547
+ kind: a.kind,
548
+ dashed: a.dashed
549
+ }), /* @__PURE__ */ m("span", {
550
+ className: "truncate",
551
+ children: a.label
552
+ })]
553
+ }), /* @__PURE__ */ m("span", {
554
+ className: "text-pho-primary font-medium tabular-nums",
555
+ children: a.value
556
+ })]
557
+ }, a.label))
558
+ }),
559
+ t != null && t.length > 0 && /* @__PURE__ */ C("div", {
560
+ className: "border-pho-secondary mt-2 border-t pt-2",
561
+ children: [u != null && /* @__PURE__ */ m("div", {
562
+ className: "text-pho-description mb-1",
563
+ children: u
564
+ }), /* @__PURE__ */ m("ul", {
565
+ className: "flex flex-col gap-0.5",
566
+ children: t.map((a) => /* @__PURE__ */ C("li", {
567
+ className: "flex items-center justify-between gap-4",
568
+ children: [/* @__PURE__ */ m("span", {
569
+ className: "text-pho-secondary truncate",
570
+ children: a.label
571
+ }), /* @__PURE__ */ m("span", {
572
+ className: "text-pho-primary tabular-nums",
573
+ children: s(a.value)
574
+ })]
575
+ }, a.label))
576
+ })]
577
+ })
578
+ ]
579
+ });
580
+ }
581
+ var ke = typeof window > "u" ? ne : ie;
582
+ function Hr(e) {
583
+ const r = ae(null), [n, l] = ue(0);
584
+ return ke(() => {
585
+ if (e != null) return;
586
+ const i = r.current;
587
+ if (i == null || (l(i.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
588
+ const t = new ResizeObserver((u) => {
589
+ const s = u[0]?.contentRect.width;
590
+ s != null && l(s);
591
+ });
592
+ return t.observe(i), () => t.disconnect();
593
+ }, [e]), [r, e ?? n];
594
+ }
595
+ export {
596
+ Re as _,
597
+ pr as a,
598
+ Nr as c,
599
+ wr as d,
600
+ Ur as f,
601
+ le as g,
602
+ Le as h,
603
+ xr as i,
604
+ Cr as l,
605
+ Xe as m,
606
+ Sr as n,
607
+ Fr as o,
608
+ Mr as p,
609
+ Yr as r,
610
+ Dr as s,
611
+ Hr as t,
612
+ br as u,
613
+ Oe as v
614
+ };
615
+
616
+ //# sourceMappingURL=use-measure-CMVgLouO.js.map