@photon-ai/pho-ui 2.16.0 → 3.0.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 (105) hide show
  1. package/dist/chunks/IconArrowsMinimize-BfPUGuCB.js +75 -0
  2. package/dist/chunks/IconArrowsMinimize-BfPUGuCB.js.map +1 -0
  3. package/dist/chunks/IconChevronUp-CrpWSgIl.js +11 -0
  4. package/dist/chunks/IconChevronUp-CrpWSgIl.js.map +1 -0
  5. package/dist/chunks/{bar-chart-BJfr3eyd.js → bar-chart-DIALC2_z.js} +2 -2
  6. package/dist/chunks/bar-chart-DIALC2_z.js.map +1 -0
  7. package/dist/chunks/basic-page-CYDwfVjO.js +1749 -0
  8. package/dist/chunks/basic-page-CYDwfVjO.js.map +1 -0
  9. package/dist/chunks/calendar-4OFiCLAv.js +292 -0
  10. package/dist/chunks/calendar-4OFiCLAv.js.map +1 -0
  11. package/dist/chunks/card-DhDwtSi9.js +56 -0
  12. package/dist/chunks/card-DhDwtSi9.js.map +1 -0
  13. package/dist/chunks/code-block-BuDIo8Q0.js +197 -0
  14. package/dist/chunks/code-block-BuDIo8Q0.js.map +1 -0
  15. package/dist/chunks/collapsible-if7ncPbI.js +28 -0
  16. package/dist/chunks/collapsible-if7ncPbI.js.map +1 -0
  17. package/dist/chunks/{command-Ck8IAgV7.js → command-CTYrSz9a.js} +2 -2
  18. package/dist/chunks/{command-Ck8IAgV7.js.map → command-CTYrSz9a.js.map} +1 -1
  19. package/dist/chunks/data-table-DcwCgXJU.js +293 -0
  20. package/dist/chunks/data-table-DcwCgXJU.js.map +1 -0
  21. package/dist/chunks/date-picker-Bwa6J4ik.js +381 -0
  22. package/dist/chunks/date-picker-Bwa6J4ik.js.map +1 -0
  23. package/dist/chunks/{dialog-BxKACOj5.js → dialog-BwfUFn6B.js} +2 -2
  24. package/dist/chunks/{dialog-BxKACOj5.js.map → dialog-BwfUFn6B.js.map} +1 -1
  25. package/dist/chunks/{error-D0yoFxCv.js → error-BAQgnde7.js} +2 -2
  26. package/dist/chunks/{error-D0yoFxCv.js.map → error-BAQgnde7.js.map} +1 -1
  27. package/dist/chunks/{filter-bar-Cjjq38xo.js → filter-bar-D9lBBr4z.js} +3 -3
  28. package/dist/chunks/{filter-bar-Cjjq38xo.js.map → filter-bar-D9lBBr4z.js.map} +1 -1
  29. package/dist/chunks/ghost-search-BvBFa9su.js +25 -0
  30. package/dist/chunks/ghost-search-BvBFa9su.js.map +1 -0
  31. package/dist/chunks/{line-chart-CUR3AxrR.js → line-chart-VuMYKzW3.js} +2 -2
  32. package/dist/chunks/{line-chart-CUR3AxrR.js.map → line-chart-VuMYKzW3.js.map} +1 -1
  33. package/dist/chunks/{log-list-0AXnjFrk.js → log-list-BERiO4UJ.js} +2 -2
  34. package/dist/chunks/{log-list-0AXnjFrk.js.map → log-list-BERiO4UJ.js.map} +1 -1
  35. package/dist/chunks/scroll-area-Zik8t1Mk.js +168 -0
  36. package/dist/chunks/scroll-area-Zik8t1Mk.js.map +1 -0
  37. package/dist/chunks/sidebar-DRPe5CAh.js +306 -0
  38. package/dist/chunks/sidebar-DRPe5CAh.js.map +1 -0
  39. package/dist/chunks/{toast-iSf6NuAS.js → toast-72Wwlzg9.js} +2 -2
  40. package/dist/chunks/{toast-iSf6NuAS.js.map → toast-72Wwlzg9.js.map} +1 -1
  41. package/dist/chunks/trace-Ba1RMBfk.js +1645 -0
  42. package/dist/chunks/trace-Ba1RMBfk.js.map +1 -0
  43. package/dist/chunks/use-measure-C-i54AC6.js +629 -0
  44. package/dist/chunks/use-measure-C-i54AC6.js.map +1 -0
  45. package/dist/components/bar-chart.js +1 -1
  46. package/dist/components/calendar.js +5 -0
  47. package/dist/components/card.js +1 -1
  48. package/dist/components/code-block.js +1 -1
  49. package/dist/components/collapsible.js +2 -25
  50. package/dist/components/command.js +1 -1
  51. package/dist/components/data-table.js +9 -8
  52. package/dist/components/date-picker.js +6 -0
  53. package/dist/components/dialog.js +1 -1
  54. package/dist/components/error.js +1 -1
  55. package/dist/components/filter-bar.js +1 -1
  56. package/dist/components/line-chart.js +1 -1
  57. package/dist/components/log-list.js +1 -1
  58. package/dist/components/scroll-area.js +1 -1
  59. package/dist/components/toast.js +1 -1
  60. package/dist/components/trace.js +41 -6
  61. package/dist/index.js +164 -121
  62. package/dist/primitives.js +3 -3
  63. package/dist/sections/basic-page.js +5 -5
  64. package/dist/sections/sidebar.js +9 -6
  65. package/dist/src/components/calendar/calendar.d.ts +36 -0
  66. package/dist/src/components/calendar/index.d.ts +2 -0
  67. package/dist/src/components/card/card.d.ts +5 -1
  68. package/dist/src/components/chart/scale.d.ts +6 -1
  69. package/dist/src/components/code-block/code-block.d.ts +24 -5
  70. package/dist/src/components/code-block/index.d.ts +1 -1
  71. package/dist/src/components/data-table/data-table.d.ts +54 -13
  72. package/dist/src/components/date-picker/date-picker.d.ts +97 -0
  73. package/dist/src/components/date-picker/index.d.ts +2 -0
  74. package/dist/src/components/scroll-area/scroll-area.d.ts +9 -1
  75. package/dist/src/components/trace/decorations.d.ts +32 -0
  76. package/dist/src/components/trace/index.d.ts +5 -2
  77. package/dist/src/components/trace/layout.d.ts +57 -29
  78. package/dist/src/components/trace/span-primitive.d.ts +168 -0
  79. package/dist/src/components/trace/span-tree.d.ts +148 -0
  80. package/dist/src/components/trace/trace.d.ts +98 -16
  81. package/dist/src/index.d.ts +2 -0
  82. package/dist/src/sections/basic-page/basic-page.d.ts +95 -7
  83. package/dist/src/sections/basic-page/index.d.ts +1 -1
  84. package/dist/src/sections/sidebar/index.d.ts +1 -1
  85. package/dist/src/sections/sidebar/sidebar.d.ts +72 -0
  86. package/dist/src/utils/ghost-search.d.ts +11 -0
  87. package/package.json +10 -1
  88. package/dist/chunks/bar-chart-BJfr3eyd.js.map +0 -1
  89. package/dist/chunks/basic-page-CMJuM5iA.js +0 -1650
  90. package/dist/chunks/basic-page-CMJuM5iA.js.map +0 -1
  91. package/dist/chunks/card-DSW3Uhag.js +0 -56
  92. package/dist/chunks/card-DSW3Uhag.js.map +0 -1
  93. package/dist/chunks/code-block-CdozzaHM.js +0 -139
  94. package/dist/chunks/code-block-CdozzaHM.js.map +0 -1
  95. package/dist/chunks/data-table-CHLJfGkS.js +0 -279
  96. package/dist/chunks/data-table-CHLJfGkS.js.map +0 -1
  97. package/dist/chunks/scroll-area-BO-9PMM7.js +0 -167
  98. package/dist/chunks/scroll-area-BO-9PMM7.js.map +0 -1
  99. package/dist/chunks/sidebar-DVzZsCts.js +0 -223
  100. package/dist/chunks/sidebar-DVzZsCts.js.map +0 -1
  101. package/dist/chunks/trace-CbH0IohX.js +0 -314
  102. package/dist/chunks/trace-CbH0IohX.js.map +0 -1
  103. package/dist/chunks/use-measure-CMVgLouO.js +0 -616
  104. package/dist/chunks/use-measure-CMVgLouO.js.map +0 -1
  105. package/dist/components/collapsible.js.map +0 -1
@@ -0,0 +1,629 @@
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 te, useId as ne, useLayoutEffect as ie, useRef as ae, useState as ue } from "react";
5
+ import { jsx as g, 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 Le({ layout: e, ticks: r, labels: t, scale: s }) {
12
+ return /* @__PURE__ */ g("g", {
13
+ "aria-hidden": !0,
14
+ children: r.map((i, n) => {
15
+ const u = s(i);
16
+ return /* @__PURE__ */ C("g", { children: [/* @__PURE__ */ g("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__ */ g("text", {
23
+ x: e.left - 8,
24
+ y: u,
25
+ dy: "0.35em",
26
+ textAnchor: "end",
27
+ style: q,
28
+ children: t[n]
29
+ })] }, i);
30
+ })
31
+ });
32
+ }
33
+ function Xe({ layout: e, ticks: r }) {
34
+ const t = e.height - 6;
35
+ return /* @__PURE__ */ g("g", {
36
+ "aria-hidden": !0,
37
+ children: r.map(({ x: s, label: i }) => {
38
+ const n = i.length * 6.5 / 2, u = s - n < e.left ? "start" : s + n > e.right ? "end" : "middle", l = u === "start" ? Math.max(s, e.left) : u === "end" ? Math.min(s, e.right) : s;
39
+ return /* @__PURE__ */ g("text", {
40
+ x: l,
41
+ y: t,
42
+ textAnchor: u,
43
+ style: q,
44
+ children: i
45
+ }, s);
46
+ })
47
+ });
48
+ }
49
+ function _e(e, r = !1) {
50
+ const t = new Intl.NumberFormat(e, r ? {
51
+ notation: "compact",
52
+ maximumFractionDigits: 1
53
+ } : { maximumFractionDigits: 2 });
54
+ return (s) => t.format(s);
55
+ }
56
+ function se(e, r) {
57
+ const t = e[r];
58
+ return typeof t == "number" && Number.isFinite(t) ? t : null;
59
+ }
60
+ function le(e) {
61
+ return e.length <= 1 ? e[0] ?? "" : `${e.slice(0, -1).join(", ")} and ${e[e.length - 1]}`;
62
+ }
63
+ function qe({ data: e, series: r, kind: t, valueFormat: s, timeFormat: i }) {
64
+ if (e.length === 0) return "No data to show.";
65
+ const n = e[0], u = e[e.length - 1], l = e.length > 1 ? `${i(new Date(n.x))} to ${i(new Date(u.x))}` : i(new Date(n.x)), o = [`${le(r.map((a) => a.label))}, ${l}.`];
66
+ for (const a of r) {
67
+ let c = 0, f = 1 / 0, v = -1 / 0, m = null, d = 0;
68
+ for (const x of e) {
69
+ const b = se(x, a.key);
70
+ b != null && (d++, c += b, b < f && (f = b), b > v && (v = b, m = new Date(x.x)));
71
+ }
72
+ if (d === 0) {
73
+ o.push(`${a.label}: no values.`);
74
+ continue;
75
+ }
76
+ const p = m ? `, peak ${s(v)} at ${i(m)}` : "";
77
+ o.push(t === "bar" ? `${a.label}: ${s(c)} in total${p}.` : `${a.label}: from ${s(f)} to ${s(v)}${p}.`);
78
+ }
79
+ return o.join(" ");
80
+ }
81
+ function $(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, t, s;
89
+ e.length !== 2 ? (r = $, t = (l, o) => $(e(l), o), s = (l, o) => e(l) - o) : (r = e === $ || e === oe ? e : fe, t = e, s = e);
90
+ function i(l, o, a = 0, c = l.length) {
91
+ if (a < c) {
92
+ if (r(o, o) !== 0) return c;
93
+ do {
94
+ const f = a + c >>> 1;
95
+ t(l[f], o) < 0 ? a = f + 1 : c = f;
96
+ } while (a < c);
97
+ }
98
+ return a;
99
+ }
100
+ function n(l, o, a = 0, c = l.length) {
101
+ if (a < c) {
102
+ if (r(o, o) !== 0) return c;
103
+ do {
104
+ const f = a + c >>> 1;
105
+ t(l[f], o) <= 0 ? a = f + 1 : c = f;
106
+ } while (a < c);
107
+ }
108
+ return a;
109
+ }
110
+ function u(l, o, a = 0, c = l.length) {
111
+ const f = i(l, o, a, c - 1);
112
+ return f > a && s(l[f - 1], o) > -s(l[f], o) ? f - 1 : f;
113
+ }
114
+ return {
115
+ left: i,
116
+ center: u,
117
+ right: n
118
+ };
119
+ }
120
+ function fe() {
121
+ return 0;
122
+ }
123
+ var he = Math.sqrt(50), ge = Math.sqrt(10), me = Math.sqrt(2);
124
+ function Y(e, r, t) {
125
+ const s = (r - e) / Math.max(0, t), i = Math.floor(Math.log10(s)), n = s / Math.pow(10, i), u = n >= he ? 10 : n >= ge ? 5 : n >= me ? 2 : 1;
126
+ let l, o, a;
127
+ return i < 0 ? (a = Math.pow(10, -i) / u, l = Math.round(e * a), o = Math.round(r * a), l / a < e && ++l, o / a > r && --o, a = -a) : (a = Math.pow(10, i) * u, l = Math.round(e / a), o = Math.round(r / a), l * a < e && ++l, o * a > r && --o), o < l && 0.5 <= t && t < 2 ? Y(e, r, t * 2) : [
128
+ l,
129
+ o,
130
+ a
131
+ ];
132
+ }
133
+ function ve(e, r, t) {
134
+ if (r = +r, e = +e, t = +t, !(t > 0)) return [];
135
+ if (e === r) return [e];
136
+ const s = r < e, [i, n, u] = s ? Y(r, e, t) : Y(e, r, t);
137
+ if (!(n >= i)) return [];
138
+ const l = n - i + 1, o = new Array(l);
139
+ if (s)
140
+ if (u < 0) for (let a = 0; a < l; ++a) o[a] = (n - a) / -u;
141
+ else for (let a = 0; a < l; ++a) o[a] = (n - a) * u;
142
+ else if (u < 0) for (let a = 0; a < l; ++a) o[a] = (i + a) / -u;
143
+ else for (let a = 0; a < l; ++a) o[a] = (i + a) * u;
144
+ return o;
145
+ }
146
+ function R(e, r, t) {
147
+ return r = +r, e = +e, t = +t, Y(e, r, t)[2];
148
+ }
149
+ function I(e, r, t) {
150
+ r = +r, e = +e, t = +t;
151
+ const s = r < e, i = s ? R(r, e, t) : R(e, r, t);
152
+ return (s ? -1 : 1) * (i < 0 ? 1 / -i : i);
153
+ }
154
+ var k = /* @__PURE__ */ new Date(), W = /* @__PURE__ */ new Date();
155
+ function h(e, r, t, s) {
156
+ function i(n) {
157
+ return e(n = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+n)), n;
158
+ }
159
+ return i.floor = (n) => (e(n = /* @__PURE__ */ new Date(+n)), n), i.ceil = (n) => (e(n = /* @__PURE__ */ new Date(n - 1)), r(n, 1), e(n), n), i.round = (n) => {
160
+ const u = i(n), l = i.ceil(n);
161
+ return n - u < l - n ? u : l;
162
+ }, i.offset = (n, u) => (r(n = /* @__PURE__ */ new Date(+n), u == null ? 1 : Math.floor(u)), n), i.range = (n, u, l) => {
163
+ const o = [];
164
+ if (n = i.ceil(n), l = l == null ? 1 : Math.floor(l), !(n < u) || !(l > 0)) return o;
165
+ let a;
166
+ do
167
+ o.push(a = /* @__PURE__ */ new Date(+n)), r(n, l), e(n);
168
+ while (a < n && n < u);
169
+ return o;
170
+ }, i.filter = (n) => h((u) => {
171
+ if (u >= u) for (; e(u), !n(u); ) u.setTime(u - 1);
172
+ }, (u, l) => {
173
+ if (u >= u)
174
+ if (l < 0) for (; ++l <= 0; ) for (; r(u, -1), !n(u); ) ;
175
+ else for (; --l >= 0; ) for (; r(u, 1), !n(u); ) ;
176
+ }), t && (i.count = (n, u) => (k.setTime(+n), W.setTime(+u), e(k), e(W), Math.floor(t(k, W))), i.every = (n) => (n = Math.floor(n), !isFinite(n) || !(n > 0) ? null : n > 1 ? i.filter(s ? (u) => s(u) % n === 0 : (u) => i.count(0, u) % n === 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, t) => {
185
+ r.setTime(+r + t * e);
186
+ }, (r, t) => (t - r) / e) : S);
187
+ var Ee = S.range, y = 1e3, T = y * 60, M = T * 60, D = M * 24, A = D * 7, L = D * 30, z = 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()), Pe = 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()), Be = 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()), Ve = 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()), Ge = 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()), Ke = V.range, F = 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), Je = F.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), Qe = 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)), Ze = 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, t) => {
220
+ r.setDate(r.getDate() + t * 7);
221
+ }, (r, t) => (t - r - (t.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), er = K.range, rr = de.range, tr = ye.range, nr = Me.range, ir = De.range, ar = Ce.range, ur = 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, t) => {
228
+ r.setUTCDate(r.getUTCDate() + t * 7);
229
+ }, (r, t) => (t - r) / A);
230
+ }
231
+ var J = U(0), we = U(1), Ue = U(2), be = U(3), Fe = U(4), Ne = U(5), xe = U(6), sr = J.range, lr = we.range, or = Ue.range, cr = be.range, fr = Fe.range, hr = Ne.range, gr = 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()), mr = 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()), vr = 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, t) => {
247
+ r.setFullYear(r.getFullYear() + t * e);
248
+ });
249
+ var Tr = 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, t) => {
257
+ r.setUTCFullYear(r.getUTCFullYear() + t * e);
258
+ });
259
+ var dr = j.range;
260
+ function ee(e, r, t, s, i, n) {
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
+ n,
284
+ 1,
285
+ T
286
+ ],
287
+ [
288
+ n,
289
+ 5,
290
+ 5 * T
291
+ ],
292
+ [
293
+ n,
294
+ 15,
295
+ 15 * T
296
+ ],
297
+ [
298
+ n,
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
+ s,
324
+ 1,
325
+ D
326
+ ],
327
+ [
328
+ s,
329
+ 2,
330
+ 2 * D
331
+ ],
332
+ [
333
+ t,
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
+ z
351
+ ]
352
+ ];
353
+ function l(a, c, f) {
354
+ const v = c < a;
355
+ v && ([a, c] = [c, a]);
356
+ const m = f && typeof f.range == "function" ? f : o(a, c, f), d = m ? m.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, m = ce(([, , x]) => x).right(u, v);
361
+ if (m === u.length) return e.every(I(a / z, c / z, f));
362
+ if (m === 0) return S.every(Math.max(I(a, c, f), 1));
363
+ const [d, p] = u[v / u[m - 1][2] < u[m][2] / v ? m - 1 : m];
364
+ return d.every(p);
365
+ }
366
+ return [l, o];
367
+ }
368
+ var [yr, Mr] = ee(j, Z, J, G, V, P), [Ye, Dr] = ee(H, Q, K, F, B, E);
369
+ function Cr(e) {
370
+ return typeof e == "number" ? e : e.getTime();
371
+ }
372
+ function pr(e, r) {
373
+ const [t, s] = e, [i, n] = r, u = s - t;
374
+ return u === 0 ? () => i : (l) => i + (l - t) / u * (n - i);
375
+ }
376
+ function wr(e, r, t) {
377
+ if (!Number.isFinite(e) || !Number.isFinite(r)) return {
378
+ domain: [0, 1],
379
+ ticks: [0, 1]
380
+ };
381
+ e > r && ([e, r] = [r, e]);
382
+ const s = t?.integer ?? (Number.isInteger(e) && Number.isInteger(r));
383
+ if (e === r) {
384
+ if (r === 0) return s ? {
385
+ domain: [0, 1],
386
+ ticks: [0, 1]
387
+ } : {
388
+ domain: [0, 1],
389
+ ticks: [
390
+ 0,
391
+ 0.5,
392
+ 1
393
+ ]
394
+ };
395
+ r > 0 ? e = 0 : r = 0;
396
+ }
397
+ for (let i = 4; i >= 2; i--) {
398
+ const n = s ? Ie(e, r, i) : I(e, r, i), u = Math.floor(e / n) * n, l = Math.ceil(r / n) * n, o = s ? Se(u, l, n) : ve(u, l, i);
399
+ if (o.length <= 5 || i === 2) return {
400
+ domain: [u, l],
401
+ ticks: o
402
+ };
403
+ }
404
+ return {
405
+ domain: [e, r],
406
+ ticks: [e, r]
407
+ };
408
+ }
409
+ function Ie(e, r, t) {
410
+ const s = I(e, r, t);
411
+ if (s <= 1) return 1;
412
+ if (Number.isInteger(s)) return s;
413
+ const i = 10 ** Math.floor(Math.log10(s)), n = s / i;
414
+ return (n <= 1 ? 1 : n <= 2 ? 2 : n <= 5 ? 5 : 10) * i;
415
+ }
416
+ function Se(e, r, t) {
417
+ const s = [];
418
+ for (let i = e; i <= r + t / 2; i += t) s.push(i);
419
+ return s;
420
+ }
421
+ function Ur(e) {
422
+ if (e.length < 2) return 0;
423
+ const r = [];
424
+ for (let t = 1; t < e.length; t++) r.push(e[t] - e[t - 1]);
425
+ return r.sort((t, s) => t - s), r[Math.floor(r.length / 2)];
426
+ }
427
+ var He = 864e5;
428
+ function br(e, r, t) {
429
+ if (r <= e || t <= 0) return [new Date(e)];
430
+ const s = Math.max(2, Math.floor(t / 96)), i = Ye(new Date(e), new Date(r), s);
431
+ if (i.length > 2 && i.every((n) => $e(n))) {
432
+ const n = i.slice(1).map((l, o) => F.count(i[o], l)), u = Math.max(...n);
433
+ if (u > 1 && n.some((l) => l !== u)) return F.range(i[0], new Date(r + 1), u);
434
+ }
435
+ return i;
436
+ }
437
+ function $e(e) {
438
+ return F(e).getTime() === e.getTime();
439
+ }
440
+ function Fr(e) {
441
+ const r = new Intl.DateTimeFormat(e, {
442
+ hour: "numeric",
443
+ minute: "2-digit"
444
+ }), t = new Intl.DateTimeFormat(e, {
445
+ month: "short",
446
+ day: "numeric"
447
+ }), s = new Intl.DateTimeFormat(e, {
448
+ month: "short",
449
+ year: "numeric"
450
+ });
451
+ return (i) => F(i).getTime() < i.getTime() ? r.format(i) : H(i).getTime() < i.getTime() ? t.format(i) : s.format(i);
452
+ }
453
+ function Nr(e, r) {
454
+ const t = new Intl.DateTimeFormat(e, r >= He ? {
455
+ month: "short",
456
+ day: "numeric"
457
+ } : {
458
+ month: "short",
459
+ day: "numeric",
460
+ hour: "numeric",
461
+ minute: "2-digit"
462
+ });
463
+ return (s) => t.format(s);
464
+ }
465
+ function ke(e) {
466
+ return e.length * 6.5 + 16;
467
+ }
468
+ function xr(e, r, t) {
469
+ if (e.length < 2) return [...e];
470
+ const s = Math.max(...e.map((u) => ke(r(u)))), i = Math.max(1, Math.floor(t / s)), n = Math.ceil(e.length / i);
471
+ return n <= 1 ? [...e] : e.filter((u, l) => l % n === 0);
472
+ }
473
+ function Yr(e, r) {
474
+ if (e.length === 0) return -1;
475
+ let t = 0, s = e.length - 1;
476
+ for (; t < s; ) {
477
+ const i = t + s >> 1;
478
+ e[i] < r ? t = i + 1 : s = i;
479
+ }
480
+ return t > 0 && r - e[t - 1] < e[t] - r ? t - 1 : t;
481
+ }
482
+ var X = 8, _ = 8, We = 22;
483
+ function Ir(e, r, t) {
484
+ const s = t.reduce((u, l) => Math.max(u, l.length), 0), i = Math.ceil(s * 6.5) + 10, n = r - We;
485
+ return {
486
+ width: e,
487
+ height: r,
488
+ left: i,
489
+ top: X,
490
+ right: e - _,
491
+ bottom: n,
492
+ innerWidth: Math.max(0, e - i - _),
493
+ innerHeight: Math.max(0, n - X)
494
+ };
495
+ }
496
+ function Sr({ label: e, description: r, height: t, width: s, containerRef: i, legend: n, tooltip: u, loading: l, empty: o, showEmpty: a, onPlotPointerMove: c, onPlotPointerLeave: f, className: v, children: m, ...d }) {
497
+ const p = ne();
498
+ return /* @__PURE__ */ C("div", {
499
+ "data-chart": "",
500
+ className: O("flex w-full min-w-0 flex-col gap-3", v),
501
+ ...d,
502
+ children: [/* @__PURE__ */ C("div", {
503
+ ref: i,
504
+ "aria-busy": l || void 0,
505
+ className: O("relative w-full transition-opacity duration-150 ease-out", l && "opacity-50"),
506
+ style: { height: t },
507
+ children: [
508
+ /* @__PURE__ */ g("svg", {
509
+ role: "img",
510
+ "aria-label": e,
511
+ "aria-describedby": p,
512
+ width: "100%",
513
+ height: t,
514
+ viewBox: s > 0 ? `0 0 ${s} ${t}` : void 0,
515
+ className: "animate-pho-chart-in block overflow-visible select-none",
516
+ onPointerMove: c,
517
+ onPointerLeave: f,
518
+ children: s > 0 && !a ? m : null
519
+ }),
520
+ /* @__PURE__ */ g("p", {
521
+ id: p,
522
+ className: "sr-only",
523
+ children: r
524
+ }),
525
+ a && /* @__PURE__ */ g("div", {
526
+ className: "text-pho-description absolute inset-0 flex items-center justify-center text-xs",
527
+ children: o
528
+ }),
529
+ u
530
+ ]
531
+ }), n]
532
+ });
533
+ }
534
+ function Hr({ x: e, width: r, top: t, heading: s, rows: i, breakdown: n, breakdownTitle: u, valueFormat: l }) {
535
+ const o = e > r / 2;
536
+ return /* @__PURE__ */ C("div", {
537
+ "aria-hidden": !0,
538
+ "data-chart-tooltip": "",
539
+ 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",
540
+ style: o ? {
541
+ right: r - e + 12,
542
+ top: t
543
+ } : {
544
+ left: e + 12,
545
+ top: t
546
+ },
547
+ children: [
548
+ /* @__PURE__ */ g("div", {
549
+ className: "text-pho-primary font-medium",
550
+ children: s
551
+ }),
552
+ /* @__PURE__ */ g("ul", {
553
+ className: "mt-1 flex flex-col gap-0.5",
554
+ children: i.map((a) => /* @__PURE__ */ C("li", {
555
+ className: "flex items-center justify-between gap-4",
556
+ children: [/* @__PURE__ */ C("span", {
557
+ className: "text-pho-secondary flex min-w-0 items-center gap-1.5",
558
+ children: [/* @__PURE__ */ g(re, {
559
+ color: a.color,
560
+ kind: a.kind,
561
+ dashed: a.dashed
562
+ }), /* @__PURE__ */ g("span", {
563
+ className: "truncate",
564
+ children: a.label
565
+ })]
566
+ }), /* @__PURE__ */ g("span", {
567
+ className: "text-pho-primary font-medium tabular-nums",
568
+ children: a.value
569
+ })]
570
+ }, a.label))
571
+ }),
572
+ n != null && n.length > 0 && /* @__PURE__ */ C("div", {
573
+ className: "border-pho-secondary mt-2 border-t pt-2",
574
+ children: [u != null && /* @__PURE__ */ g("div", {
575
+ className: "text-pho-description mb-1",
576
+ children: u
577
+ }), /* @__PURE__ */ g("ul", {
578
+ className: "flex flex-col gap-0.5",
579
+ children: n.map((a) => /* @__PURE__ */ C("li", {
580
+ className: "flex items-center justify-between gap-4",
581
+ children: [/* @__PURE__ */ g("span", {
582
+ className: "text-pho-secondary truncate",
583
+ children: a.label
584
+ }), /* @__PURE__ */ g("span", {
585
+ className: "text-pho-primary tabular-nums",
586
+ children: l(a.value)
587
+ })]
588
+ }, a.label))
589
+ })]
590
+ })
591
+ ]
592
+ });
593
+ }
594
+ var ze = typeof window > "u" ? te : ie;
595
+ function $r(e) {
596
+ const r = ae(null), [t, s] = ue(0);
597
+ return ze(() => {
598
+ if (e != null) return;
599
+ const i = r.current;
600
+ if (i == null || (s(i.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
601
+ const n = new ResizeObserver((u) => {
602
+ const l = u[0]?.contentRect.width;
603
+ l != null && s(l);
604
+ });
605
+ return n.observe(i), () => n.disconnect();
606
+ }, [e]), [r, e ?? t];
607
+ }
608
+ export {
609
+ Xe as _,
610
+ Ur as a,
611
+ Yr as c,
612
+ br as d,
613
+ Fr as f,
614
+ se as g,
615
+ _e as h,
616
+ Ir as i,
617
+ wr as l,
618
+ qe as m,
619
+ Hr as n,
620
+ Nr as o,
621
+ Cr as p,
622
+ Sr as r,
623
+ pr as s,
624
+ $r as t,
625
+ xr as u,
626
+ Le as v
627
+ };
628
+
629
+ //# sourceMappingURL=use-measure-C-i54AC6.js.map