@goliapkg/gds 1.0.9 → 1.4.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 (105) hide show
  1. package/dist/{avatar-By0U5Vts.js → avatar-l3SaMCmU.js} +10 -10
  2. package/dist/avatar-l3SaMCmU.js.map +1 -0
  3. package/dist/index.js +25 -25
  4. package/dist/l2-primitives/divider.d.ts +11 -2
  5. package/dist/l2-primitives/divider.d.ts.map +1 -1
  6. package/dist/l2-primitives/index.d.ts +1 -1
  7. package/dist/l2-primitives/index.d.ts.map +1 -1
  8. package/dist/l2-primitives/index.js +10 -10
  9. package/dist/l2-primitives/input.d.ts +6 -0
  10. package/dist/l2-primitives/input.d.ts.map +1 -1
  11. package/dist/l2-primitives/number-input.d.ts +4 -0
  12. package/dist/l2-primitives/number-input.d.ts.map +1 -1
  13. package/dist/{l2-primitives-BIiL8hFH.js → l2-primitives-Le0006ck.js} +105 -81
  14. package/dist/l2-primitives-Le0006ck.js.map +1 -0
  15. package/dist/l3-atoms/avatar-badge.d.ts +1 -0
  16. package/dist/l3-atoms/avatar-badge.d.ts.map +1 -1
  17. package/dist/l3-atoms/avatar.d.ts +2 -0
  18. package/dist/l3-atoms/avatar.d.ts.map +1 -1
  19. package/dist/l3-atoms/checkbox.d.ts +7 -0
  20. package/dist/l3-atoms/checkbox.d.ts.map +1 -1
  21. package/dist/l3-atoms/index.d.ts +4 -4
  22. package/dist/l3-atoms/index.d.ts.map +1 -1
  23. package/dist/l3-atoms/index.js +6 -6
  24. package/dist/l3-atoms/status-badge.d.ts +8 -0
  25. package/dist/l3-atoms/status-badge.d.ts.map +1 -1
  26. package/dist/l3-atoms/status-dot.d.ts +4 -0
  27. package/dist/l3-atoms/status-dot.d.ts.map +1 -1
  28. package/dist/l3-atoms/toggle-group.d.ts +16 -2
  29. package/dist/l3-atoms/toggle-group.d.ts.map +1 -1
  30. package/dist/{l3-atoms-CsN9IA9J.js → l3-atoms-BxDg3rXt.js} +196 -189
  31. package/dist/{l3-atoms-CsN9IA9J.js.map → l3-atoms-BxDg3rXt.js.map} +1 -1
  32. package/dist/l4-molecules/dialog.d.ts +8 -2
  33. package/dist/l4-molecules/dialog.d.ts.map +1 -1
  34. package/dist/l4-molecules/index.d.ts +3 -3
  35. package/dist/l4-molecules/index.d.ts.map +1 -1
  36. package/dist/l4-molecules/index.js +3 -3
  37. package/dist/l4-molecules/tabs.d.ts +1 -2
  38. package/dist/l4-molecules/tabs.d.ts.map +1 -1
  39. package/dist/{l4-molecules-DXTNnybm.js → l4-molecules-8C6E6Ndl.js} +212 -202
  40. package/dist/l4-molecules-8C6E6Ndl.js.map +1 -0
  41. package/dist/l5-organisms/data-table/data-table-body.d.ts +31 -0
  42. package/dist/l5-organisms/data-table/data-table-body.d.ts.map +1 -0
  43. package/dist/l5-organisms/data-table/data-table-head.d.ts +22 -0
  44. package/dist/l5-organisms/data-table/data-table-head.d.ts.map +1 -0
  45. package/dist/l5-organisms/data-table/data-table-pagination.d.ts +13 -0
  46. package/dist/l5-organisms/data-table/data-table-pagination.d.ts.map +1 -0
  47. package/dist/l5-organisms/data-table/data-table-toolbar.d.ts +19 -0
  48. package/dist/l5-organisms/data-table/data-table-toolbar.d.ts.map +1 -0
  49. package/dist/l5-organisms/data-table/data-table-types.d.ts +88 -0
  50. package/dist/l5-organisms/data-table/data-table-types.d.ts.map +1 -0
  51. package/dist/l5-organisms/data-table/data-table-utils.d.ts +13 -0
  52. package/dist/l5-organisms/data-table/data-table-utils.d.ts.map +1 -0
  53. package/dist/l5-organisms/data-table/data-table.d.ts +6 -0
  54. package/dist/l5-organisms/data-table/data-table.d.ts.map +1 -0
  55. package/dist/l5-organisms/data-table/index.d.ts +4 -0
  56. package/dist/l5-organisms/data-table/index.d.ts.map +1 -0
  57. package/dist/l5-organisms/gantt-chart/gantt-chart-types.d.ts +52 -0
  58. package/dist/l5-organisms/gantt-chart/gantt-chart-types.d.ts.map +1 -0
  59. package/dist/l5-organisms/gantt-chart/gantt-chart-utils.d.ts +11 -0
  60. package/dist/l5-organisms/gantt-chart/gantt-chart-utils.d.ts.map +1 -0
  61. package/dist/l5-organisms/gantt-chart/gantt-chart.d.ts +3 -0
  62. package/dist/l5-organisms/gantt-chart/gantt-chart.d.ts.map +1 -0
  63. package/dist/l5-organisms/gantt-chart/index.d.ts +3 -0
  64. package/dist/l5-organisms/gantt-chart/index.d.ts.map +1 -0
  65. package/dist/l5-organisms/index.d.ts +4 -2
  66. package/dist/l5-organisms/index.d.ts.map +1 -1
  67. package/dist/l5-organisms/index.js +2 -2
  68. package/dist/l5-organisms/table.d.ts +12 -0
  69. package/dist/l5-organisms/table.d.ts.map +1 -1
  70. package/dist/{l5-organisms-z8mU4eoy.js → l5-organisms-Di1Bm_R6.js} +1352 -292
  71. package/dist/l5-organisms-Di1Bm_R6.js.map +1 -0
  72. package/dist/l6-charts/annotated-chart.d.ts +18 -0
  73. package/dist/l6-charts/annotated-chart.d.ts.map +1 -0
  74. package/dist/l6-charts/bullet-chart.d.ts +11 -0
  75. package/dist/l6-charts/bullet-chart.d.ts.map +1 -0
  76. package/dist/l6-charts/donut-gauge.d.ts +14 -0
  77. package/dist/l6-charts/donut-gauge.d.ts.map +1 -0
  78. package/dist/l6-charts/flame-chart.d.ts +13 -0
  79. package/dist/l6-charts/flame-chart.d.ts.map +1 -0
  80. package/dist/l6-charts/index.d.ts +12 -0
  81. package/dist/l6-charts/index.d.ts.map +1 -1
  82. package/dist/l6-charts/index.js +2 -2
  83. package/dist/l6-charts/realtime-chart.d.ts +13 -0
  84. package/dist/l6-charts/realtime-chart.d.ts.map +1 -0
  85. package/dist/l6-charts/waterfall-chart.d.ts +12 -0
  86. package/dist/l6-charts/waterfall-chart.d.ts.map +1 -0
  87. package/dist/l6-charts-Aou_NiQo.js +2139 -0
  88. package/dist/l6-charts-Aou_NiQo.js.map +1 -0
  89. package/dist/l7-patterns/index.js +1 -1
  90. package/dist/{l7-patterns-E9ls7Nw6.js → l7-patterns-BCpw0-CS.js} +4 -4
  91. package/dist/{l7-patterns-E9ls7Nw6.js.map → l7-patterns-BCpw0-CS.js.map} +1 -1
  92. package/dist/{resize-handle-CktEYqwi.js → resize-handle-ilSc7QRM.js} +6 -3
  93. package/dist/{resize-handle-CktEYqwi.js.map → resize-handle-ilSc7QRM.js.map} +1 -1
  94. package/dist/{spinner-D8Ti-TFe.js → spinner-N7UNjdsQ.js} +66 -23
  95. package/dist/spinner-N7UNjdsQ.js.map +1 -0
  96. package/package.json +1 -1
  97. package/dist/avatar-By0U5Vts.js.map +0 -1
  98. package/dist/l2-primitives-BIiL8hFH.js.map +0 -1
  99. package/dist/l4-molecules-DXTNnybm.js.map +0 -1
  100. package/dist/l5-organisms/data-table.d.ts +0 -24
  101. package/dist/l5-organisms/data-table.d.ts.map +0 -1
  102. package/dist/l5-organisms-z8mU4eoy.js.map +0 -1
  103. package/dist/l6-charts-DYnr5B9X.js +0 -1743
  104. package/dist/l6-charts-DYnr5B9X.js.map +0 -1
  105. package/dist/spinner-D8Ti-TFe.js.map +0 -1
@@ -0,0 +1,2139 @@
1
+ import { r as e, t } from "./glass-CQTlX7IO.js";
2
+ import { forwardRef as n, useCallback as r, useEffect as i, useMemo as a, useRef as o, useState as s } from "react";
3
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
4
+ import { Area as u, AreaChart as d, Bar as f, BarChart as p, CartesianGrid as m, Cell as h, ComposedChart as g, Funnel as _, FunnelChart as v, Legend as y, Line as b, LineChart as x, Pie as S, PieChart as C, PolarAngleAxis as ee, PolarGrid as te, PolarRadiusAxis as ne, Radar as re, RadarChart as ie, RadialBar as ae, RadialBarChart as oe, ResponsiveContainer as w, Sankey as se, Scatter as T, ScatterChart as E, Tooltip as D, Treemap as ce, XAxis as O, YAxis as k, ZAxis as le } from "recharts";
5
+ //#region src/l6-charts/annotated-chart.tsx
6
+ var A = 32;
7
+ function ue(e, t, n) {
8
+ if (e.length === 0) return [];
9
+ let r = Math.min(...e.map((e) => e.x)), i = Math.max(...e.map((e) => e.x)), a = Math.min(...e.map((e) => e.y)), o = Math.max(...e.map((e) => e.y)), s = i - r || 1, c = o - a || 1;
10
+ return e.map((e) => ({
11
+ sx: A + (e.x - r) / s * (t - A * 2),
12
+ sy: A + (1 - (e.y - a) / c) * (n - A * 2)
13
+ }));
14
+ }
15
+ function de({ annotations: t, className: n, data: r, height: i = 200 }) {
16
+ let [a, o] = s(null), u = ue(r, 400, i), d = u.map((e) => `${e.sx},${e.sy}`).join(" ");
17
+ return /* @__PURE__ */ l("div", {
18
+ className: e("relative select-none", n),
19
+ "data-component": "annotated-chart",
20
+ children: [/* @__PURE__ */ l("svg", {
21
+ className: "w-full",
22
+ viewBox: `0 0 400 ${i}`,
23
+ children: [/* @__PURE__ */ c("polyline", {
24
+ className: "stroke-accent",
25
+ fill: "none",
26
+ points: d,
27
+ strokeWidth: 2
28
+ }), t.map((e, t) => {
29
+ let n = r.findIndex((t) => t.x === e.x);
30
+ if (n < 0) return null;
31
+ let i = u[n];
32
+ return /* @__PURE__ */ c("g", { children: /* @__PURE__ */ c("rect", {
33
+ className: "cursor-pointer",
34
+ fill: e.color ?? "currentColor",
35
+ height: 8,
36
+ onClick: () => o(a === t ? null : t),
37
+ role: "button",
38
+ rx: 1,
39
+ transform: `translate(${i.sx}, ${i.sy}) rotate(45) translate(-4, -4)`,
40
+ width: 8
41
+ }) }, t);
42
+ })]
43
+ }), a !== null && (() => {
44
+ let e = t[a], n = r.findIndex((t) => t.x === e.x);
45
+ if (n < 0) return null;
46
+ let o = u[n];
47
+ return /* @__PURE__ */ l("div", {
48
+ className: "absolute z-10 rounded-lg border border-border bg-surface px-3 py-2 shadow-lg",
49
+ style: {
50
+ left: `${o.sx / 400 * 100}%`,
51
+ top: `${o.sy / i * 100}%`
52
+ },
53
+ children: [/* @__PURE__ */ c("div", {
54
+ className: "text-xs font-bold text-fg",
55
+ children: e.label
56
+ }), /* @__PURE__ */ c("div", {
57
+ className: "text-xs text-fg-muted",
58
+ children: e.description
59
+ })]
60
+ });
61
+ })()]
62
+ });
63
+ }
64
+ //#endregion
65
+ //#region src/l6-charts/area-chart.tsx
66
+ var j = "gds-area-gradient", fe = n(function({ data: t, dataKey: n, xKey: r = "name", className: i, height: a = 300, color: o = "var(--gds-accent)", glass: s, ...f }, p) {
67
+ return /* @__PURE__ */ c("div", {
68
+ className: e("w-full", s && "gds-radius-popover backdrop-blur-md bg-white/5", i),
69
+ "data-component": "area-chart",
70
+ ref: p,
71
+ ...f,
72
+ children: /* @__PURE__ */ c(w, {
73
+ height: a,
74
+ width: "100%",
75
+ children: /* @__PURE__ */ l(d, {
76
+ data: t,
77
+ children: [
78
+ /* @__PURE__ */ c("defs", { children: /* @__PURE__ */ l("linearGradient", {
79
+ id: j,
80
+ x1: "0",
81
+ x2: "0",
82
+ y1: "0",
83
+ y2: "1",
84
+ children: [/* @__PURE__ */ c("stop", {
85
+ offset: "5%",
86
+ stopColor: o,
87
+ stopOpacity: .3
88
+ }), /* @__PURE__ */ c("stop", {
89
+ offset: "95%",
90
+ stopColor: o,
91
+ stopOpacity: 0
92
+ })]
93
+ }) }),
94
+ /* @__PURE__ */ c(m, {
95
+ stroke: "var(--gds-border, #e5e7eb)",
96
+ strokeDasharray: "3 3"
97
+ }),
98
+ /* @__PURE__ */ c(O, {
99
+ dataKey: r,
100
+ stroke: "var(--gds-fg-muted, #6b7280)",
101
+ tick: { fontSize: 11 }
102
+ }),
103
+ /* @__PURE__ */ c(k, {
104
+ stroke: "var(--gds-fg-muted, #6b7280)",
105
+ tick: { fontSize: 11 }
106
+ }),
107
+ /* @__PURE__ */ c(D, {}),
108
+ /* @__PURE__ */ c(u, {
109
+ dataKey: n,
110
+ fill: `url(#${j})`,
111
+ fillOpacity: 1,
112
+ stroke: o,
113
+ strokeWidth: 2,
114
+ type: "monotone"
115
+ })
116
+ ]
117
+ })
118
+ })
119
+ });
120
+ }), pe = n(function({ data: t, dataKey: n, xKey: r = "name", className: i, height: a = 300, color: o = "var(--gds-accent)", glass: s, ...u }, d) {
121
+ return /* @__PURE__ */ c("div", {
122
+ className: e("w-full", s && "gds-radius-popover backdrop-blur-md bg-white/5", i),
123
+ "data-component": "bar-chart",
124
+ ref: d,
125
+ ...u,
126
+ children: /* @__PURE__ */ c(w, {
127
+ height: a,
128
+ width: "100%",
129
+ children: /* @__PURE__ */ l(p, {
130
+ data: t,
131
+ children: [
132
+ /* @__PURE__ */ c(m, {
133
+ stroke: "var(--gds-border, #e5e7eb)",
134
+ strokeDasharray: "3 3"
135
+ }),
136
+ /* @__PURE__ */ c(O, {
137
+ dataKey: r,
138
+ stroke: "var(--gds-fg-muted, #6b7280)",
139
+ tick: { fontSize: 11 }
140
+ }),
141
+ /* @__PURE__ */ c(k, {
142
+ stroke: "var(--gds-fg-muted, #6b7280)",
143
+ tick: { fontSize: 11 }
144
+ }),
145
+ /* @__PURE__ */ c(D, {}),
146
+ /* @__PURE__ */ c(f, {
147
+ dataKey: n,
148
+ fill: o,
149
+ radius: [
150
+ 4,
151
+ 4,
152
+ 0,
153
+ 0
154
+ ]
155
+ })
156
+ ]
157
+ })
158
+ })
159
+ });
160
+ });
161
+ //#endregion
162
+ //#region src/l6-charts/box-plot-stats.ts
163
+ function M(e, t) {
164
+ let n = (e.length - 1) * t, r = Math.floor(n), i = Math.ceil(n);
165
+ return r === i ? e[r] : e[r] + (e[i] - e[r]) * (n - r);
166
+ }
167
+ function me(e) {
168
+ let t = [...e].sort((e, t) => e - t), n = M(t, .25), r = M(t, .5), i = M(t, .75), a = i - n;
169
+ return {
170
+ q1: n,
171
+ median: r,
172
+ q3: i,
173
+ whiskerMin: Math.max(t[0], n - 1.5 * a),
174
+ whiskerMax: Math.min(t[t.length - 1], i + 1.5 * a)
175
+ };
176
+ }
177
+ //#endregion
178
+ //#region src/l6-charts/box-plot.tsx
179
+ var N = [
180
+ "var(--gds-palette-0, #6366f1)",
181
+ "var(--gds-palette-1, #8b5cf6)",
182
+ "var(--gds-palette-2, #06b6d4)",
183
+ "var(--gds-palette-3, #10b981)",
184
+ "var(--gds-palette-4, #f59e0b)"
185
+ ], he = n(function({ data: t, width: n = 400, height: r = 300, glass: i, className: a }, o) {
186
+ let s = {
187
+ top: 20,
188
+ right: 20,
189
+ bottom: 40,
190
+ left: 50
191
+ }, u = n - s.left - s.right, d = r - s.top - s.bottom, f = t.flatMap((e) => e.values), p = f.length > 0 ? Math.min(...f) : 0, m = f.length > 0 ? Math.max(...f) : 1, h = m - p, g = p - h * .1, _ = m + h * .1, v = (e) => s.top + d * (1 - (e - g) / (_ - g)), y = t.length > 0 ? u / t.length : u, b = Math.min(y * .6, 60);
192
+ return /* @__PURE__ */ c("div", {
193
+ ref: o,
194
+ className: e("gds-radius-popover border border-border", i && "backdrop-blur-md bg-white/5", a),
195
+ "data-component": "box-plot",
196
+ children: /* @__PURE__ */ l("svg", {
197
+ width: n,
198
+ height: r,
199
+ viewBox: `0 0 ${n} ${r}`,
200
+ children: [
201
+ /* @__PURE__ */ c("line", {
202
+ x1: s.left,
203
+ y1: s.top,
204
+ x2: s.left,
205
+ y2: s.top + d,
206
+ stroke: "var(--gds-border, #374151)",
207
+ strokeWidth: 1
208
+ }),
209
+ /* @__PURE__ */ c("line", {
210
+ x1: s.left,
211
+ y1: s.top + d,
212
+ x2: s.left + u,
213
+ y2: s.top + d,
214
+ stroke: "var(--gds-border, #374151)",
215
+ strokeWidth: 1
216
+ }),
217
+ t.map((e, t) => {
218
+ if (e.values.length === 0) return null;
219
+ let n = me(e.values), r = s.left + y * (t + .5), i = N[t % N.length];
220
+ return /* @__PURE__ */ l("g", {
221
+ "data-box": e.label,
222
+ children: [
223
+ /* @__PURE__ */ c("line", {
224
+ x1: r,
225
+ y1: v(n.whiskerMax),
226
+ x2: r,
227
+ y2: v(n.whiskerMin),
228
+ stroke: i,
229
+ strokeWidth: 1.5
230
+ }),
231
+ /* @__PURE__ */ c("line", {
232
+ x1: r - b * .3,
233
+ y1: v(n.whiskerMin),
234
+ x2: r + b * .3,
235
+ y2: v(n.whiskerMin),
236
+ stroke: i,
237
+ strokeWidth: 1.5
238
+ }),
239
+ /* @__PURE__ */ c("line", {
240
+ x1: r - b * .3,
241
+ y1: v(n.whiskerMax),
242
+ x2: r + b * .3,
243
+ y2: v(n.whiskerMax),
244
+ stroke: i,
245
+ strokeWidth: 1.5
246
+ }),
247
+ /* @__PURE__ */ c("rect", {
248
+ x: r - b / 2,
249
+ y: v(n.q3),
250
+ width: b,
251
+ height: v(n.q1) - v(n.q3),
252
+ fill: i,
253
+ fillOpacity: .2,
254
+ stroke: i,
255
+ strokeWidth: 1.5
256
+ }),
257
+ /* @__PURE__ */ c("line", {
258
+ x1: r - b / 2,
259
+ y1: v(n.median),
260
+ x2: r + b / 2,
261
+ y2: v(n.median),
262
+ stroke: i,
263
+ strokeWidth: 2
264
+ }),
265
+ /* @__PURE__ */ c("text", {
266
+ x: r,
267
+ y: s.top + d + 20,
268
+ textAnchor: "middle",
269
+ fill: "var(--gds-fg-muted, #9ca3af)",
270
+ fontSize: 10,
271
+ children: e.label
272
+ })
273
+ ]
274
+ }, e.label);
275
+ })
276
+ ]
277
+ })
278
+ });
279
+ }), ge = n(function({ data: t, xLabel: n, yLabel: r, height: i = 300, glass: a, className: o, ...s }, u) {
280
+ return /* @__PURE__ */ c("div", {
281
+ className: e("w-full gds-radius-popover border border-[var(--gds-border,#e5e7eb)]", a && "backdrop-blur-md bg-white/5", o),
282
+ "data-component": "bubble-chart",
283
+ ref: u,
284
+ ...s,
285
+ children: /* @__PURE__ */ c(w, {
286
+ height: i,
287
+ width: "100%",
288
+ children: /* @__PURE__ */ l(E, { children: [
289
+ /* @__PURE__ */ c(O, {
290
+ dataKey: "x",
291
+ name: n,
292
+ stroke: "var(--gds-fg-muted, #6b7280)",
293
+ tick: { fontSize: 11 },
294
+ type: "number"
295
+ }),
296
+ /* @__PURE__ */ c(k, {
297
+ dataKey: "y",
298
+ name: r,
299
+ stroke: "var(--gds-fg-muted, #6b7280)",
300
+ tick: { fontSize: 11 },
301
+ type: "number"
302
+ }),
303
+ /* @__PURE__ */ c(le, {
304
+ dataKey: "z",
305
+ range: [20, 400],
306
+ type: "number"
307
+ }),
308
+ /* @__PURE__ */ c(D, {}),
309
+ /* @__PURE__ */ c(T, {
310
+ data: t,
311
+ fill: "var(--gds-accent)",
312
+ fillOpacity: .6
313
+ })
314
+ ] })
315
+ })
316
+ });
317
+ }), P = 400, F = 28, I = 50;
318
+ function _e({ actual: t, className: n, label: r, max: i, ranges: o, target: s }) {
319
+ let u = a(() => {
320
+ let e = o ?? [
321
+ i * .33,
322
+ i * .66,
323
+ i
324
+ ], n = (e) => e / i * P;
325
+ return {
326
+ actualWidth: n(Math.min(t, i)),
327
+ rangeWidths: e.map((e) => n(Math.min(e, i))),
328
+ targetX: n(Math.min(s, i))
329
+ };
330
+ }, [
331
+ t,
332
+ i,
333
+ s,
334
+ o
335
+ ]), d = (I - F) / 2;
336
+ return /* @__PURE__ */ l("div", {
337
+ className: e("select-none", n),
338
+ "data-component": "bullet-chart",
339
+ children: [r !== void 0 && /* @__PURE__ */ c("div", {
340
+ className: "mb-1 text-xs font-medium text-fg-muted",
341
+ children: r
342
+ }), /* @__PURE__ */ l("svg", {
343
+ height: I,
344
+ viewBox: `0 0 ${P} ${I}`,
345
+ width: "100%",
346
+ children: [
347
+ u.rangeWidths.map((e, t) => /* @__PURE__ */ c("rect", {
348
+ fill: `var(--gds-palette-${7 - t})`,
349
+ height: F,
350
+ opacity: .15 + t * .08,
351
+ rx: 4,
352
+ width: e,
353
+ x: 0,
354
+ y: d
355
+ }, t)),
356
+ /* @__PURE__ */ c("rect", {
357
+ fill: "var(--gds-accent)",
358
+ height: F * .5,
359
+ rx: 3,
360
+ width: u.actualWidth,
361
+ x: 0,
362
+ y: d + F * .25
363
+ }),
364
+ /* @__PURE__ */ c("line", {
365
+ stroke: "var(--gds-fg)",
366
+ strokeWidth: 2.5,
367
+ x1: u.targetX,
368
+ x2: u.targetX,
369
+ y1: d - 2,
370
+ y2: d + F + 2
371
+ })
372
+ ]
373
+ })]
374
+ });
375
+ }
376
+ //#endregion
377
+ //#region src/l6-charts/bump-chart.tsx
378
+ var L = [
379
+ "var(--gds-palette-0, #6366f1)",
380
+ "var(--gds-palette-1, #8b5cf6)",
381
+ "var(--gds-palette-2, #06b6d4)",
382
+ "var(--gds-palette-3, #10b981)",
383
+ "var(--gds-palette-4, #f59e0b)",
384
+ "var(--gds-palette-5, #ef4444)",
385
+ "var(--gds-palette-6, #ec4899)",
386
+ "var(--gds-palette-7, #14b8a6)",
387
+ "var(--gds-palette-8, #f97316)",
388
+ "var(--gds-palette-9, #a855f7)"
389
+ ], ve = n(function({ data: t, series: n, xKey: r = "name", height: i = 300, glass: a, className: o, ...s }, u) {
390
+ return /* @__PURE__ */ c("div", {
391
+ ref: u,
392
+ className: e("w-full gds-radius-popover border border-border", a && "backdrop-blur-md bg-white/5", o),
393
+ "data-component": "bump-chart",
394
+ ...s,
395
+ children: /* @__PURE__ */ c(w, {
396
+ height: i,
397
+ width: "100%",
398
+ children: /* @__PURE__ */ l(x, {
399
+ data: t,
400
+ children: [
401
+ /* @__PURE__ */ c(m, {
402
+ stroke: "var(--gds-border, #e5e7eb)",
403
+ strokeDasharray: "3 3"
404
+ }),
405
+ /* @__PURE__ */ c(O, {
406
+ dataKey: r,
407
+ stroke: "var(--gds-fg-muted, #6b7280)",
408
+ tick: { fontSize: 11 }
409
+ }),
410
+ /* @__PURE__ */ c(k, {
411
+ reversed: !0,
412
+ stroke: "var(--gds-fg-muted, #6b7280)",
413
+ tick: { fontSize: 11 }
414
+ }),
415
+ /* @__PURE__ */ c(D, {}),
416
+ n.map((e, t) => /* @__PURE__ */ c(b, {
417
+ dataKey: e,
418
+ dot: {
419
+ r: 4,
420
+ fill: L[t % L.length]
421
+ },
422
+ stroke: L[t % L.length],
423
+ strokeWidth: 2,
424
+ type: "monotone"
425
+ }, e))
426
+ ]
427
+ })
428
+ })
429
+ });
430
+ }), ye = [
431
+ "Mon",
432
+ "",
433
+ "Wed",
434
+ "",
435
+ "Fri",
436
+ "",
437
+ ""
438
+ ], be = [
439
+ "Jan",
440
+ "Feb",
441
+ "Mar",
442
+ "Apr",
443
+ "May",
444
+ "Jun",
445
+ "Jul",
446
+ "Aug",
447
+ "Sep",
448
+ "Oct",
449
+ "Nov",
450
+ "Dec"
451
+ ];
452
+ function R(e) {
453
+ return (e.getDay() + 6) % 7;
454
+ }
455
+ function xe(e) {
456
+ let t = e.map((e) => e.value).filter((e) => e > 0).sort((e, t) => e - t), n = [];
457
+ if (t.length > 0) for (let e = 1; e <= 4; e++) {
458
+ let r = Math.min(Math.floor(e / 4 * t.length), t.length - 1);
459
+ n.push(t[r]);
460
+ }
461
+ return n;
462
+ }
463
+ function Se(e, t) {
464
+ if (e <= 0) return 0;
465
+ for (let n = 0; n < t.length; n++) if (e <= t[n]) return n + 1;
466
+ return 4;
467
+ }
468
+ function Ce(e, t, n, r) {
469
+ let i = n === void 0 ? /* @__PURE__ */ new Date() : new Date(n), a = t === void 0 ? new Date(i.getFullYear() - 1, i.getMonth(), i.getDate() + 1) : new Date(t), o = /* @__PURE__ */ new Map();
470
+ for (let t of e) o.set(t.date, t.value);
471
+ let s = xe(e), c = [], l = [], u = 0, d = -1, f = new Date(a), p = R(f);
472
+ for (p > 0 && f.setDate(f.getDate() - p); f <= i;) {
473
+ let e = R(f), t = f.toISOString().slice(0, 10), n = o.get(t) ?? 0;
474
+ f.getMonth() !== d && e <= 3 && (l.push({
475
+ label: be[f.getMonth()],
476
+ x: u * r
477
+ }), d = f.getMonth()), c.push({
478
+ x: u * r,
479
+ y: e * r,
480
+ date: t,
481
+ value: n,
482
+ level: Se(n, s)
483
+ }), e === 6 && u++, f.setDate(f.getDate() + 1);
484
+ }
485
+ return {
486
+ cells: c,
487
+ monthLabels: l,
488
+ weeks: u + 1
489
+ };
490
+ }
491
+ //#endregion
492
+ //#region src/l6-charts/calendar-heatmap.tsx
493
+ var we = n(function({ data: n, startDate: r, endDate: i, colorScale: o = [
494
+ "var(--gds-bg-tertiary)",
495
+ "var(--gds-accent-dim, rgba(99,179,163,0.3))",
496
+ "var(--gds-accent-muted, rgba(99,179,163,0.55))",
497
+ "var(--gds-accent-soft, rgba(99,179,163,0.75))",
498
+ "var(--gds-accent)"
499
+ ], cellSize: u = 12, glass: d, className: f }, p) {
500
+ let [m, h] = s(null), g = u + 2, { cells: _, monthLabels: v, weeks: y } = a(() => Ce(n, r, i, g), [
501
+ n,
502
+ r,
503
+ i,
504
+ g
505
+ ]), b = 28 + y * g, x = 14 + 7 * g;
506
+ return /* @__PURE__ */ l("div", {
507
+ className: e("relative inline-block", d === !0 && e(t(d), "rounded-lg border border-white/10 p-3"), f),
508
+ "data-component": "calendar-heatmap",
509
+ children: [/* @__PURE__ */ l("svg", {
510
+ ref: p,
511
+ height: x,
512
+ width: b,
513
+ children: [
514
+ v.map((e) => /* @__PURE__ */ c("text", {
515
+ fill: "var(--gds-fg-muted, #888)",
516
+ fontSize: 9,
517
+ x: 28 + e.x,
518
+ y: 10,
519
+ children: e.label
520
+ }, `${e.label}-${e.x}`)),
521
+ ye.map((e, t) => e === "" ? null : /* @__PURE__ */ c("text", {
522
+ fill: "var(--gds-fg-muted, #888)",
523
+ fontSize: 9,
524
+ textAnchor: "end",
525
+ x: 24,
526
+ y: 14 + t * g + u - 2,
527
+ children: e
528
+ }, e)),
529
+ _.map((e) => /* @__PURE__ */ c("rect", {
530
+ fill: o[e.level] ?? o[o.length - 1],
531
+ height: u,
532
+ rx: 2,
533
+ ry: 2,
534
+ width: u,
535
+ x: 28 + e.x,
536
+ y: 14 + e.y,
537
+ onMouseEnter: (t) => {
538
+ let n = t.target.getBoundingClientRect();
539
+ h({
540
+ x: n.x,
541
+ y: n.y,
542
+ text: `${e.date}: ${e.value}`
543
+ });
544
+ },
545
+ onMouseLeave: () => h(null)
546
+ }, e.date))
547
+ ]
548
+ }), m !== null && /* @__PURE__ */ c("div", {
549
+ className: "pointer-events-none fixed z-50 rounded bg-surface px-2 py-1 text-[10px] text-fg shadow-md border border-border",
550
+ style: {
551
+ left: m.x,
552
+ top: m.y - 28
553
+ },
554
+ children: m.text
555
+ })]
556
+ });
557
+ });
558
+ //#endregion
559
+ //#region src/l6-charts/candlestick-chart.tsx
560
+ function Te(e) {
561
+ let { x: t = 0, y: n = 0, width: r = 0, height: i = 0, payload: a } = e;
562
+ if (a === void 0 || i === 0 && a.bodyHeight === 0) return null;
563
+ let o = t + r / 2, s = n, u = n + i;
564
+ return /* @__PURE__ */ l("g", { children: [/* @__PURE__ */ c("line", {
565
+ stroke: a.fill,
566
+ strokeWidth: 1,
567
+ x1: o,
568
+ x2: o,
569
+ y1: s - 2,
570
+ y2: u + 2
571
+ }), /* @__PURE__ */ c("rect", {
572
+ fill: a.fill,
573
+ height: Math.max(i, 1),
574
+ rx: 1,
575
+ width: Math.max(r - 2, 2),
576
+ x: t + 1,
577
+ y: n
578
+ })] });
579
+ }
580
+ var Ee = n(function({ data: t, height: n = 300, upColor: r = "var(--gds-success, #22c55e)", downColor: i = "var(--gds-danger, #ef4444)", glass: o, className: s, ...u }, d) {
581
+ let p = a(() => t.map((e) => ({
582
+ date: e.date,
583
+ bodyBottom: Math.min(e.open, e.close),
584
+ bodyHeight: Math.abs(e.close - e.open),
585
+ fill: e.close >= e.open ? r : i,
586
+ high: e.high,
587
+ low: e.low
588
+ })), [
589
+ t,
590
+ r,
591
+ i
592
+ ]), h = a(() => {
593
+ let e = t.map((e) => e.low), n = t.map((e) => e.high);
594
+ return [Math.min(...e), Math.max(...n)];
595
+ }, [t]);
596
+ return /* @__PURE__ */ c("div", {
597
+ className: e("w-full gds-radius-popover border border-[var(--gds-border,#e5e7eb)]", o && "backdrop-blur-md bg-white/5", s),
598
+ "data-component": "candlestick-chart",
599
+ ref: d,
600
+ ...u,
601
+ children: /* @__PURE__ */ c(w, {
602
+ height: n,
603
+ width: "100%",
604
+ children: /* @__PURE__ */ l(g, {
605
+ data: p,
606
+ children: [
607
+ /* @__PURE__ */ c(m, {
608
+ stroke: "var(--gds-border, #e5e7eb)",
609
+ strokeDasharray: "3 3"
610
+ }),
611
+ /* @__PURE__ */ c(O, {
612
+ dataKey: "date",
613
+ stroke: "var(--gds-fg-muted, #6b7280)",
614
+ tick: { fontSize: 11 }
615
+ }),
616
+ /* @__PURE__ */ c(k, {
617
+ domain: h,
618
+ stroke: "var(--gds-fg-muted, #6b7280)",
619
+ tick: { fontSize: 11 }
620
+ }),
621
+ /* @__PURE__ */ c(D, {}),
622
+ /* @__PURE__ */ c(f, {
623
+ dataKey: "bodyHeight",
624
+ shape: /* @__PURE__ */ c(Te, {}),
625
+ stackId: "candle"
626
+ })
627
+ ]
628
+ })
629
+ })
630
+ });
631
+ }), z = [
632
+ "var(--gds-palette-0, #6366f1)",
633
+ "var(--gds-palette-1, #8b5cf6)",
634
+ "var(--gds-palette-2, #06b6d4)",
635
+ "var(--gds-palette-3, #10b981)",
636
+ "var(--gds-palette-4, #f59e0b)",
637
+ "var(--gds-palette-5, #ef4444)",
638
+ "var(--gds-palette-6, #ec4899)",
639
+ "var(--gds-palette-7, #14b8a6)",
640
+ "var(--gds-palette-8, #f97316)",
641
+ "var(--gds-palette-9, #a855f7)"
642
+ ];
643
+ function B(e, t, n, r) {
644
+ return {
645
+ x: e + n * Math.cos(r),
646
+ y: t + n * Math.sin(r)
647
+ };
648
+ }
649
+ function De(e, t, n, r, i) {
650
+ let a = B(e, t, n, i), o = B(e, t, n, r), s = i - r > Math.PI ? 1 : 0;
651
+ return `M ${a.x} ${a.y} A ${n} ${n} 0 ${s} 0 ${o.x} ${o.y}`;
652
+ }
653
+ function Oe(e, t, n, r) {
654
+ let i = 2 * Math.PI - n * r, a = [], o = -Math.PI / 2;
655
+ for (let s = 0; s < n; s++) {
656
+ let n = e[s] / t * i;
657
+ a.push({
658
+ start: o,
659
+ end: o + n
660
+ }), o += n + r;
661
+ }
662
+ return a;
663
+ }
664
+ function ke(e, t, n, r, i) {
665
+ let a = 2 * Math.PI - r * i, o = [], s = t.map((e) => e.start);
666
+ for (let t = 0; t < r; t++) for (let i = t + 1; i < r; i++) {
667
+ if (e[t][i] + e[i][t] <= 0) continue;
668
+ let r = e[t][i] / n * a, c = e[i][t] / n * a;
669
+ o.push({
670
+ source: t,
671
+ target: i,
672
+ sourceStart: s[t],
673
+ sourceEnd: s[t] + r,
674
+ targetStart: s[i],
675
+ targetEnd: s[i] + c
676
+ }), s[t] += r, s[i] += c;
677
+ }
678
+ return o;
679
+ }
680
+ function Ae(e, t, n, r) {
681
+ let i = B(t, n, r, e.sourceStart), a = B(t, n, r, e.sourceEnd), o = B(t, n, r, e.targetStart), s = B(t, n, r, e.targetEnd);
682
+ return [
683
+ `M ${i.x} ${i.y}`,
684
+ `A ${r} ${r} 0 0 1 ${a.x} ${a.y}`,
685
+ `Q ${t} ${n} ${o.x} ${o.y}`,
686
+ `A ${r} ${r} 0 0 1 ${s.x} ${s.y}`,
687
+ `Q ${t} ${n} ${i.x} ${i.y}`,
688
+ "Z"
689
+ ].join(" ");
690
+ }
691
+ //#endregion
692
+ //#region src/l6-charts/chord-diagram.tsx
693
+ var je = n(function({ matrix: t, labels: n, width: r = 300, height: i = 300, glass: a, className: o }, s) {
694
+ let u = n.length, d = r / 2, f = i / 2, p = Math.min(r, i) / 2 - 30, m = p - 12, h = .04, g = t.map((e) => e.reduce((e, t) => e + t, 0)), _ = g.reduce((e, t) => e + t, 0);
695
+ if (_ === 0 || u === 0) return /* @__PURE__ */ c("div", {
696
+ ref: s,
697
+ className: e("gds-radius-popover border border-border", a && "backdrop-blur-md bg-white/5", o),
698
+ "data-component": "chord-diagram",
699
+ children: /* @__PURE__ */ c("svg", {
700
+ width: r,
701
+ height: i,
702
+ viewBox: `0 0 ${r} ${i}`
703
+ })
704
+ });
705
+ let v = Oe(g, _, u, h), y = ke(t, v, _, u, h);
706
+ return /* @__PURE__ */ c("div", {
707
+ ref: s,
708
+ className: e("gds-radius-popover border border-border", a && "backdrop-blur-md bg-white/5", o),
709
+ "data-component": "chord-diagram",
710
+ children: /* @__PURE__ */ l("svg", {
711
+ width: r,
712
+ height: i,
713
+ viewBox: `0 0 ${r} ${i}`,
714
+ children: [
715
+ v.map((e, t) => /* @__PURE__ */ c("path", {
716
+ d: De(d, f, p, e.start, e.end),
717
+ "data-arc": n[t],
718
+ fill: "none",
719
+ stroke: z[t % z.length],
720
+ strokeWidth: 12,
721
+ strokeLinecap: "round"
722
+ }, `arc-${n[t]}`)),
723
+ y.map((e, t) => /* @__PURE__ */ c("path", {
724
+ d: Ae(e, d, f, m),
725
+ fill: z[e.source % z.length],
726
+ fillOpacity: .25,
727
+ stroke: z[e.source % z.length],
728
+ strokeOpacity: .4,
729
+ strokeWidth: .5
730
+ }, `chord-${t}`)),
731
+ v.map((e, t) => {
732
+ let r = (e.start + e.end) / 2, i = B(d, f, p + 16, r), a = r > Math.PI / 2 && r < 3 * Math.PI / 2 ? "end" : "start";
733
+ return /* @__PURE__ */ c("text", {
734
+ x: i.x,
735
+ y: i.y,
736
+ textAnchor: a,
737
+ dominantBaseline: "middle",
738
+ fill: "var(--gds-fg-muted, #9ca3af)",
739
+ fontSize: 10,
740
+ children: n[t]
741
+ }, `label-${n[t]}`);
742
+ })
743
+ ]
744
+ })
745
+ });
746
+ }), Me = n(function({ data: n, barKey: r, lineKey: i, xKey: a = "name", barColor: o = "var(--gds-accent)", lineColor: s = "var(--gds-success)", height: u = 300, glass: d, className: p, ...h }, _) {
747
+ return /* @__PURE__ */ c("div", {
748
+ className: e("w-full gds-radius-popover border border-white/[0.06]", t(d), p),
749
+ "data-component": "combo-chart",
750
+ ref: _,
751
+ ...h,
752
+ children: /* @__PURE__ */ c(w, {
753
+ height: u,
754
+ width: "100%",
755
+ children: /* @__PURE__ */ l(g, {
756
+ data: n,
757
+ children: [
758
+ /* @__PURE__ */ c(m, {
759
+ stroke: "var(--gds-border, #e5e7eb)",
760
+ strokeDasharray: "3 3"
761
+ }),
762
+ /* @__PURE__ */ c(O, {
763
+ dataKey: a,
764
+ stroke: "var(--gds-fg-muted, #6b7280)",
765
+ tick: { fontSize: 11 }
766
+ }),
767
+ /* @__PURE__ */ c(k, {
768
+ stroke: "var(--gds-fg-muted, #6b7280)",
769
+ tick: { fontSize: 11 }
770
+ }),
771
+ /* @__PURE__ */ c(D, {}),
772
+ /* @__PURE__ */ c(y, {}),
773
+ /* @__PURE__ */ c(f, {
774
+ dataKey: r,
775
+ fill: o,
776
+ radius: [
777
+ 4,
778
+ 4,
779
+ 0,
780
+ 0
781
+ ]
782
+ }),
783
+ /* @__PURE__ */ c(b, {
784
+ dataKey: i,
785
+ dot: !1,
786
+ stroke: s,
787
+ strokeWidth: 2,
788
+ type: "monotone"
789
+ })
790
+ ]
791
+ })
792
+ })
793
+ });
794
+ }), V = [
795
+ "var(--gds-accent)",
796
+ "var(--gds-success)",
797
+ "var(--gds-warning)",
798
+ "var(--gds-danger)"
799
+ ];
800
+ function Ne({ className: t, rings: n, size: r = 160 }) {
801
+ let i = r / 2;
802
+ return /* @__PURE__ */ l("div", {
803
+ className: e("select-none", t),
804
+ "data-component": "donut-gauge",
805
+ children: [/* @__PURE__ */ c("svg", {
806
+ height: r,
807
+ viewBox: `0 0 ${r} ${r}`,
808
+ width: r,
809
+ children: n.map((e, t) => {
810
+ let n = i - 12 / 2 - t * 18;
811
+ if (n <= 0) return null;
812
+ let r = 2 * Math.PI * n, a = r * (e.max > 0 ? Math.min(e.value / e.max, 1) : 0), o = e.color ?? V[t % V.length];
813
+ return /* @__PURE__ */ l("g", { children: [/* @__PURE__ */ c("circle", {
814
+ className: "text-fg-muted/10",
815
+ cx: i,
816
+ cy: i,
817
+ fill: "none",
818
+ r: n,
819
+ stroke: "currentColor",
820
+ strokeWidth: 12
821
+ }), /* @__PURE__ */ c("circle", {
822
+ className: "transition-all duration-500",
823
+ cx: i,
824
+ cy: i,
825
+ fill: "none",
826
+ r: n,
827
+ stroke: o,
828
+ strokeDasharray: `${a} ${r - a}`,
829
+ strokeDashoffset: r / 4,
830
+ strokeLinecap: "round",
831
+ strokeWidth: 12
832
+ })] }, t);
833
+ })
834
+ }), /* @__PURE__ */ c("div", {
835
+ className: "mt-2 flex flex-wrap gap-3",
836
+ children: n.map((e, t) => /* @__PURE__ */ l("div", {
837
+ className: "flex items-center gap-1.5 text-xs text-fg-muted",
838
+ children: [
839
+ /* @__PURE__ */ c("div", {
840
+ className: "h-2 w-2 rounded-full",
841
+ style: { backgroundColor: e.color ?? V[t % V.length] }
842
+ }),
843
+ /* @__PURE__ */ c("span", { children: e.label }),
844
+ /* @__PURE__ */ l("span", {
845
+ className: "font-medium text-fg tabular-nums",
846
+ children: [
847
+ e.value,
848
+ "/",
849
+ e.max
850
+ ]
851
+ })
852
+ ]
853
+ }, t))
854
+ })]
855
+ });
856
+ }
857
+ //#endregion
858
+ //#region src/l6-charts/flame-chart.tsx
859
+ var H = [
860
+ "var(--gds-palette-0)",
861
+ "var(--gds-palette-1)",
862
+ "var(--gds-palette-2)",
863
+ "var(--gds-palette-3)",
864
+ "var(--gds-palette-4)",
865
+ "var(--gds-palette-5)",
866
+ "var(--gds-palette-6)",
867
+ "var(--gds-palette-7)"
868
+ ];
869
+ function U(e, t, n, r, i, a) {
870
+ let o = i > 0 ? e.value / i * r : 0, s = [{
871
+ color: H[a % H.length],
872
+ depth: t,
873
+ name: e.name,
874
+ width: o,
875
+ x: n
876
+ }];
877
+ if (e.children !== void 0) {
878
+ let i = n;
879
+ e.children.forEach((n, o) => {
880
+ s.push(...U(n, t + 1, i, r, e.value, a + o + 1)), i += e.value > 0 ? n.value / e.value * r : 0;
881
+ });
882
+ }
883
+ return s;
884
+ }
885
+ var W = 24, G = 600;
886
+ function Pe({ className: t, data: n, height: r = 200 }) {
887
+ let i = a(() => U(n, 0, 0, G, n.value, 0), [n]), o = i.reduce((e, t) => Math.max(e, t.depth), 0), s = Math.max(r, (o + 1) * W);
888
+ return /* @__PURE__ */ c("div", {
889
+ className: e("inline-block overflow-x-auto", t),
890
+ "data-component": "flame-chart",
891
+ children: /* @__PURE__ */ c("svg", {
892
+ height: s,
893
+ viewBox: `0 0 ${G} ${s}`,
894
+ width: G,
895
+ children: i.map((e, t) => /* @__PURE__ */ l("g", { children: [/* @__PURE__ */ c("rect", {
896
+ fill: e.color,
897
+ fillOpacity: .8,
898
+ height: W - 2,
899
+ rx: 2,
900
+ width: Math.max(e.width - 1, 0),
901
+ x: e.x,
902
+ y: e.depth * W
903
+ }), e.width > 40 && /* @__PURE__ */ c("text", {
904
+ dominantBaseline: "middle",
905
+ fill: "var(--gds-fg)",
906
+ fontSize: 10,
907
+ x: e.x + 4,
908
+ y: e.depth * W + W / 2 - 1,
909
+ children: e.name
910
+ })] }, t))
911
+ })
912
+ });
913
+ }
914
+ //#endregion
915
+ //#region src/l6-charts/flow-chart.tsx
916
+ var Fe = {
917
+ start: "var(--gds-palette-3, #10b981)",
918
+ end: "var(--gds-palette-5, #ef4444)",
919
+ process: "var(--gds-palette-0, #6366f1)",
920
+ decision: "var(--gds-palette-4, #f59e0b)"
921
+ }, K = 100, q = 40;
922
+ function Ie(e, t, n) {
923
+ let r = Fe[e.type ?? "process"], i = e.type ?? "process";
924
+ if (i === "decision") {
925
+ let i = q * .7;
926
+ return /* @__PURE__ */ l("g", {
927
+ "data-node": e.id,
928
+ children: [/* @__PURE__ */ c("polygon", {
929
+ points: `${t},${n - i} ${t + i},${n} ${t},${n + i} ${t - i},${n}`,
930
+ fill: r,
931
+ fillOpacity: .15,
932
+ stroke: r,
933
+ strokeWidth: 1.5
934
+ }), /* @__PURE__ */ c("text", {
935
+ x: t,
936
+ y: n + 4,
937
+ textAnchor: "middle",
938
+ fill: "var(--gds-fg, #e5e7eb)",
939
+ fontSize: 10,
940
+ children: e.label
941
+ })]
942
+ }, e.id);
943
+ }
944
+ let a = i === "start" || i === "end" ? q / 2 : 4;
945
+ return /* @__PURE__ */ l("g", {
946
+ "data-node": e.id,
947
+ children: [/* @__PURE__ */ c("rect", {
948
+ x: t - K / 2,
949
+ y: n - q / 2,
950
+ width: K,
951
+ height: q,
952
+ rx: a,
953
+ fill: r,
954
+ fillOpacity: .15,
955
+ stroke: r,
956
+ strokeWidth: 1.5
957
+ }), /* @__PURE__ */ c("text", {
958
+ x: t,
959
+ y: n + 4,
960
+ textAnchor: "middle",
961
+ fill: "var(--gds-fg, #e5e7eb)",
962
+ fontSize: 10,
963
+ children: e.label
964
+ })]
965
+ }, e.id);
966
+ }
967
+ var Le = n(function({ nodes: t, edges: n, width: r = 600, height: i = 200, glass: a, className: o }, s) {
968
+ let u = t.length > 1 ? (r - 80) / (t.length - 1) : 0, d = t.length === 1 ? r / 2 : 40, f = i / 2, p = new Map(t.map((e, t) => [e.id, {
969
+ x: d + t * u,
970
+ y: f
971
+ }]));
972
+ return /* @__PURE__ */ c("div", {
973
+ ref: s,
974
+ className: e("gds-radius-popover border border-border", a && "backdrop-blur-md bg-white/5", o),
975
+ "data-component": "flow-chart",
976
+ children: /* @__PURE__ */ l("svg", {
977
+ width: r,
978
+ height: i,
979
+ viewBox: `0 0 ${r} ${i}`,
980
+ children: [
981
+ /* @__PURE__ */ c("defs", { children: /* @__PURE__ */ c("marker", {
982
+ id: "gds-arrow",
983
+ markerWidth: "8",
984
+ markerHeight: "6",
985
+ refX: "8",
986
+ refY: "3",
987
+ orient: "auto",
988
+ children: /* @__PURE__ */ c("path", {
989
+ d: "M0,0 L8,3 L0,6",
990
+ fill: "var(--gds-fg-muted, #6b7280)"
991
+ })
992
+ }) }),
993
+ n.map((e, t) => {
994
+ let n = p.get(e.from), r = p.get(e.to);
995
+ if (n === void 0 || r === void 0) return null;
996
+ let i = n.x + K / 2, a = r.x - K / 2, o = (i + a) / 2, s = (n.y + r.y) / 2;
997
+ return /* @__PURE__ */ l("g", { children: [/* @__PURE__ */ c("line", {
998
+ x1: i,
999
+ y1: n.y,
1000
+ x2: a,
1001
+ y2: r.y,
1002
+ stroke: "var(--gds-fg-muted, #6b7280)",
1003
+ strokeWidth: 1.5,
1004
+ markerEnd: "url(#gds-arrow)"
1005
+ }), e.label !== void 0 && /* @__PURE__ */ c("text", {
1006
+ x: o,
1007
+ y: s - 8,
1008
+ textAnchor: "middle",
1009
+ fill: "var(--gds-fg-muted, #9ca3af)",
1010
+ fontSize: 9,
1011
+ children: e.label
1012
+ })] }, t);
1013
+ }),
1014
+ t.map((e, t) => {
1015
+ let n = p.get(e.id);
1016
+ return n === void 0 ? null : Ie(e, n.x, n.y);
1017
+ })
1018
+ ]
1019
+ })
1020
+ });
1021
+ }), Re = [
1022
+ "var(--gds-palette-0, #6366f1)",
1023
+ "var(--gds-palette-1, #22d3ee)",
1024
+ "var(--gds-palette-2, #f59e0b)",
1025
+ "var(--gds-palette-3, #10b981)",
1026
+ "var(--gds-palette-4, #ef4444)",
1027
+ "var(--gds-palette-5, #8b5cf6)",
1028
+ "var(--gds-palette-6, #ec4899)",
1029
+ "var(--gds-palette-7, #14b8a6)",
1030
+ "var(--gds-palette-8, #f97316)",
1031
+ "var(--gds-palette-9, #3b82f6)"
1032
+ ], ze = n(function({ data: t, dataKey: n, className: r, height: i = 300, colors: a = Re, glass: o, ...s }, u) {
1033
+ return /* @__PURE__ */ c("div", {
1034
+ className: e("w-full", o && "gds-radius-popover backdrop-blur-md bg-white/5", r),
1035
+ "data-component": "funnel-chart",
1036
+ ref: u,
1037
+ ...s,
1038
+ children: /* @__PURE__ */ c(w, {
1039
+ height: i,
1040
+ width: "100%",
1041
+ children: /* @__PURE__ */ l(v, { children: [/* @__PURE__ */ c(D, {}), /* @__PURE__ */ c(_, {
1042
+ dataKey: n,
1043
+ data: t,
1044
+ isAnimationActive: !1,
1045
+ children: t.map((e, t) => /* @__PURE__ */ c(h, { fill: a[t % a.length] }, t))
1046
+ })] })
1047
+ })
1048
+ });
1049
+ }), Be = n(function({ value: t, max: n = 100, className: r, height: i = 200, color: a = "var(--gds-accent)", trackColor: o = "var(--gds-border, #e5e7eb)", label: s, glass: u, ...d }, f) {
1050
+ let p = Math.min(Math.max(t, 0), n), m = n - p, g = [{
1051
+ name: "value",
1052
+ value: p
1053
+ }, {
1054
+ name: "remaining",
1055
+ value: m
1056
+ }];
1057
+ return /* @__PURE__ */ l("div", {
1058
+ className: e("relative w-full", u && "gds-radius-popover backdrop-blur-md bg-white/5", r),
1059
+ "data-component": "gauge",
1060
+ ref: f,
1061
+ ...d,
1062
+ children: [/* @__PURE__ */ c(w, {
1063
+ height: i,
1064
+ width: "100%",
1065
+ children: /* @__PURE__ */ c(C, { children: /* @__PURE__ */ l(S, {
1066
+ cx: "50%",
1067
+ cy: "70%",
1068
+ data: g,
1069
+ dataKey: "value",
1070
+ endAngle: 0,
1071
+ innerRadius: "60%",
1072
+ outerRadius: "80%",
1073
+ startAngle: 180,
1074
+ stroke: "none",
1075
+ children: [/* @__PURE__ */ c(h, { fill: a }), /* @__PURE__ */ c(h, { fill: o })]
1076
+ }) })
1077
+ }), /* @__PURE__ */ l("div", {
1078
+ className: "absolute inset-0 flex flex-col items-center justify-center",
1079
+ style: { top: "20%" },
1080
+ children: [/* @__PURE__ */ c("span", {
1081
+ className: "text-2xl font-semibold",
1082
+ style: { color: a },
1083
+ children: p
1084
+ }), s !== void 0 && /* @__PURE__ */ c("span", {
1085
+ className: "gds-text-body text-[var(--gds-fg-muted,#6b7280)]",
1086
+ children: s
1087
+ })]
1088
+ })]
1089
+ });
1090
+ });
1091
+ //#endregion
1092
+ //#region src/l6-charts/heatmap-chart.tsx
1093
+ function Ve(e, t, n) {
1094
+ let r = (e) => {
1095
+ let t = e.replace("#", "");
1096
+ return [
1097
+ parseInt(t.slice(0, 2), 16),
1098
+ parseInt(t.slice(2, 4), 16),
1099
+ parseInt(t.slice(4, 6), 16)
1100
+ ];
1101
+ }, [i, a, o] = r(e), [s, c, l] = r(t);
1102
+ return `rgb(${Math.round(i + (s - i) * n)},${Math.round(a + (c - a) * n)},${Math.round(o + (l - o) * n)})`;
1103
+ }
1104
+ var He = n(function({ data: t, xLabels: n, yLabels: r, colorScale: i = {
1105
+ min: "#1e293b",
1106
+ max: "#6366f1"
1107
+ }, className: o, cellSize: s = 32, glass: u, ...d }, f) {
1108
+ let { dataMin: p, dataMax: m } = a(() => {
1109
+ let e = t.flat();
1110
+ return {
1111
+ dataMin: Math.min(...e),
1112
+ dataMax: Math.max(...e)
1113
+ };
1114
+ }, [t]), h = (e) => m === p ? .5 : (e - p) / (m - p);
1115
+ return /* @__PURE__ */ c("div", {
1116
+ className: e("inline-block", u && "gds-radius-popover backdrop-blur-md bg-white/5", o),
1117
+ "data-component": "heatmap-chart",
1118
+ ref: f,
1119
+ ...d,
1120
+ children: /* @__PURE__ */ l("div", {
1121
+ className: "flex flex-col gap-px",
1122
+ children: [n !== void 0 && /* @__PURE__ */ c("div", {
1123
+ className: "flex gap-px",
1124
+ style: { paddingLeft: r === void 0 ? 0 : s + 4 },
1125
+ children: n.map((e) => /* @__PURE__ */ c("div", {
1126
+ className: "flex items-center justify-center gds-text-caption text-[var(--gds-fg-muted,#6b7280)]",
1127
+ style: {
1128
+ width: s,
1129
+ height: 16
1130
+ },
1131
+ children: e
1132
+ }, e))
1133
+ }), t.map((e, t) => /* @__PURE__ */ l("div", {
1134
+ className: "flex items-center gap-px",
1135
+ children: [r !== void 0 && r[t] !== void 0 && /* @__PURE__ */ c("div", {
1136
+ className: "flex-shrink-0 text-right gds-text-caption text-[var(--gds-fg-muted,#6b7280)] pr-1",
1137
+ style: { width: s },
1138
+ children: r[t]
1139
+ }), e.map((e, t) => /* @__PURE__ */ c("div", {
1140
+ className: "rounded-sm",
1141
+ style: {
1142
+ width: s,
1143
+ height: s,
1144
+ backgroundColor: Ve(i.min, i.max, h(e))
1145
+ },
1146
+ title: String(e)
1147
+ }, t))]
1148
+ }, t))]
1149
+ })
1150
+ });
1151
+ });
1152
+ //#endregion
1153
+ //#region src/l6-charts/histogram.tsx
1154
+ function Ue(e, t) {
1155
+ if (e.length === 0) return [];
1156
+ let n = Math.min(...e), r = Math.max(...e) - n, i = r === 0 ? 1 : r / t;
1157
+ return Array.from({ length: t }, (r, a) => {
1158
+ let o = n + a * i, s = o + i, c = e.filter((e) => a === t - 1 ? e >= o && e <= s : e >= o && e < s).length;
1159
+ return {
1160
+ range: `${o.toFixed(1)}–${s.toFixed(1)}`,
1161
+ count: c
1162
+ };
1163
+ });
1164
+ }
1165
+ var We = n(function({ data: t, bins: n = 10, height: r = 300, color: i = "var(--gds-accent)", glass: a, className: o, ...s }, u) {
1166
+ let d = Ue(t, n);
1167
+ return /* @__PURE__ */ c("div", {
1168
+ className: e("w-full gds-radius-popover border border-border", a && "backdrop-blur-md bg-white/5", o),
1169
+ "data-component": "histogram",
1170
+ ref: u,
1171
+ ...s,
1172
+ children: /* @__PURE__ */ c(w, {
1173
+ height: r,
1174
+ width: "100%",
1175
+ children: /* @__PURE__ */ l(p, {
1176
+ data: d,
1177
+ children: [
1178
+ /* @__PURE__ */ c(m, {
1179
+ stroke: "var(--gds-border, #e5e7eb)",
1180
+ strokeDasharray: "3 3"
1181
+ }),
1182
+ /* @__PURE__ */ c(O, {
1183
+ dataKey: "range",
1184
+ stroke: "var(--gds-fg-muted, #6b7280)",
1185
+ tick: { fontSize: 10 }
1186
+ }),
1187
+ /* @__PURE__ */ c(k, {
1188
+ stroke: "var(--gds-fg-muted, #6b7280)",
1189
+ tick: { fontSize: 11 }
1190
+ }),
1191
+ /* @__PURE__ */ c(D, {}),
1192
+ /* @__PURE__ */ c(f, {
1193
+ dataKey: "count",
1194
+ fill: i,
1195
+ radius: [
1196
+ 4,
1197
+ 4,
1198
+ 0,
1199
+ 0
1200
+ ]
1201
+ })
1202
+ ]
1203
+ })
1204
+ })
1205
+ });
1206
+ }), Ge = n(function({ data: t, dataKey: n, xKey: r = "name", className: i, height: a = 300, color: o = "var(--gds-accent)", glass: s, ...u }, d) {
1207
+ return /* @__PURE__ */ c("div", {
1208
+ className: e("w-full", s && "gds-radius-popover backdrop-blur-md bg-white/5", i),
1209
+ "data-component": "line-chart",
1210
+ ref: d,
1211
+ ...u,
1212
+ children: /* @__PURE__ */ c(w, {
1213
+ height: a,
1214
+ width: "100%",
1215
+ children: /* @__PURE__ */ l(x, {
1216
+ data: t,
1217
+ children: [
1218
+ /* @__PURE__ */ c(m, {
1219
+ stroke: "var(--gds-border, #e5e7eb)",
1220
+ strokeDasharray: "3 3"
1221
+ }),
1222
+ /* @__PURE__ */ c(O, {
1223
+ dataKey: r,
1224
+ stroke: "var(--gds-fg-muted, #6b7280)",
1225
+ tick: { fontSize: 11 }
1226
+ }),
1227
+ /* @__PURE__ */ c(k, {
1228
+ stroke: "var(--gds-fg-muted, #6b7280)",
1229
+ tick: { fontSize: 11 }
1230
+ }),
1231
+ /* @__PURE__ */ c(D, {}),
1232
+ /* @__PURE__ */ c(b, {
1233
+ dataKey: n,
1234
+ dot: !1,
1235
+ stroke: o,
1236
+ strokeWidth: 2,
1237
+ type: "monotone"
1238
+ })
1239
+ ]
1240
+ })
1241
+ })
1242
+ });
1243
+ }), J = [
1244
+ "var(--gds-palette-0, #6366f1)",
1245
+ "var(--gds-palette-1, #8b5cf6)",
1246
+ "var(--gds-palette-2, #06b6d4)",
1247
+ "var(--gds-palette-3, #10b981)",
1248
+ "var(--gds-palette-4, #f59e0b)",
1249
+ "var(--gds-palette-5, #ef4444)",
1250
+ "var(--gds-palette-6, #ec4899)",
1251
+ "var(--gds-palette-7, #14b8a6)",
1252
+ "var(--gds-palette-8, #f97316)",
1253
+ "var(--gds-palette-9, #84cc16)"
1254
+ ];
1255
+ function Ke(e, t, n, r) {
1256
+ return Array.from({ length: e }, (i, a) => {
1257
+ let o = 2 * Math.PI * a / e - Math.PI / 2;
1258
+ return {
1259
+ x: t + r * Math.cos(o),
1260
+ y: n + r * Math.sin(o)
1261
+ };
1262
+ });
1263
+ }
1264
+ var qe = n(function({ nodes: t, edges: n, width: r = 400, height: i = 300, glass: a, className: o }, s) {
1265
+ let u = r / 2, d = i / 2, f = Math.min(u, d) * .65, p = Ke(t.length, u, d, f), m = new Map(t.map((e, t) => [e.id, t])), h = Math.max(8, Math.min(16, 120 / Math.max(t.length, 1)));
1266
+ return /* @__PURE__ */ c("div", {
1267
+ ref: s,
1268
+ className: e("gds-radius-popover border border-border", a && "backdrop-blur-md bg-white/5", o),
1269
+ "data-component": "network-graph",
1270
+ children: /* @__PURE__ */ l("svg", {
1271
+ width: r,
1272
+ height: i,
1273
+ viewBox: `0 0 ${r} ${i}`,
1274
+ children: [n.map((e, t) => {
1275
+ let n = m.get(e.source), r = m.get(e.target);
1276
+ if (n === void 0 || r === void 0) return null;
1277
+ let i = p[n], a = p[r];
1278
+ return /* @__PURE__ */ c("line", {
1279
+ x1: i.x,
1280
+ y1: i.y,
1281
+ x2: a.x,
1282
+ y2: a.y,
1283
+ stroke: "var(--gds-border, #374151)",
1284
+ strokeWidth: 1.5,
1285
+ strokeOpacity: .5
1286
+ }, t);
1287
+ }), t.map((e, t) => {
1288
+ let n = p[t], r = J[(e.group ?? t) % J.length];
1289
+ return /* @__PURE__ */ l("g", { children: [/* @__PURE__ */ c("circle", {
1290
+ cx: n.x,
1291
+ cy: n.y,
1292
+ r: h,
1293
+ fill: r,
1294
+ fillOpacity: .8
1295
+ }), /* @__PURE__ */ c("text", {
1296
+ x: n.x,
1297
+ y: n.y + h + 14,
1298
+ textAnchor: "middle",
1299
+ fill: "var(--gds-fg-muted, #9ca3af)",
1300
+ fontSize: 10,
1301
+ children: e.label
1302
+ })] }, e.id);
1303
+ })]
1304
+ })
1305
+ });
1306
+ }), Je = n(function({ bids: t, asks: n, height: r = 300, bidColor: i = "var(--gds-success, #22c55e)", askColor: o = "var(--gds-danger, #ef4444)", glass: s, className: f, ...p }, h) {
1307
+ let g = a(() => {
1308
+ let e = t.map((e) => ({
1309
+ price: e.price,
1310
+ bidDepth: e.depth,
1311
+ askDepth: void 0
1312
+ })), r = n.map((e) => ({
1313
+ price: e.price,
1314
+ bidDepth: void 0,
1315
+ askDepth: e.depth
1316
+ }));
1317
+ return [...e, ...r].sort((e, t) => e.price - t.price);
1318
+ }, [t, n]);
1319
+ return /* @__PURE__ */ c("div", {
1320
+ ref: h,
1321
+ className: e("w-full gds-radius-popover border border-border", s && "backdrop-blur-md bg-white/5", f),
1322
+ "data-component": "order-book-chart",
1323
+ ...p,
1324
+ children: /* @__PURE__ */ c(w, {
1325
+ height: r,
1326
+ width: "100%",
1327
+ children: /* @__PURE__ */ l(d, {
1328
+ data: g,
1329
+ children: [
1330
+ /* @__PURE__ */ c(m, {
1331
+ stroke: "var(--gds-border, #e5e7eb)",
1332
+ strokeDasharray: "3 3"
1333
+ }),
1334
+ /* @__PURE__ */ c(O, {
1335
+ dataKey: "price",
1336
+ stroke: "var(--gds-fg-muted, #6b7280)",
1337
+ tick: { fontSize: 11 },
1338
+ type: "number",
1339
+ domain: ["dataMin", "dataMax"]
1340
+ }),
1341
+ /* @__PURE__ */ c(k, {
1342
+ stroke: "var(--gds-fg-muted, #6b7280)",
1343
+ tick: { fontSize: 11 }
1344
+ }),
1345
+ /* @__PURE__ */ c(D, {}),
1346
+ /* @__PURE__ */ c(u, {
1347
+ dataKey: "bidDepth",
1348
+ fill: i,
1349
+ fillOpacity: .3,
1350
+ stroke: i,
1351
+ strokeWidth: 2,
1352
+ type: "stepAfter",
1353
+ connectNulls: !1
1354
+ }),
1355
+ /* @__PURE__ */ c(u, {
1356
+ dataKey: "askDepth",
1357
+ fill: o,
1358
+ fillOpacity: .3,
1359
+ stroke: o,
1360
+ strokeWidth: 2,
1361
+ type: "stepBefore",
1362
+ connectNulls: !1
1363
+ })
1364
+ ]
1365
+ })
1366
+ })
1367
+ });
1368
+ }), Ye = [
1369
+ "var(--gds-palette-0, #6366f1)",
1370
+ "var(--gds-palette-1, #22d3ee)",
1371
+ "var(--gds-palette-2, #f59e0b)",
1372
+ "var(--gds-palette-3, #10b981)",
1373
+ "var(--gds-palette-4, #ef4444)",
1374
+ "var(--gds-palette-5, #8b5cf6)",
1375
+ "var(--gds-palette-6, #ec4899)",
1376
+ "var(--gds-palette-7, #14b8a6)",
1377
+ "var(--gds-palette-8, #f97316)",
1378
+ "var(--gds-palette-9, #3b82f6)"
1379
+ ], Xe = n(function({ data: t, dataKey: n, nameKey: r = "name", className: i, height: a = 300, colors: o = Ye, innerRadius: s = 0, glass: u, ...d }, f) {
1380
+ return /* @__PURE__ */ c("div", {
1381
+ className: e("w-full", u && "gds-radius-popover backdrop-blur-md bg-white/5", i),
1382
+ "data-component": "pie-chart",
1383
+ ref: f,
1384
+ ...d,
1385
+ children: /* @__PURE__ */ c(w, {
1386
+ height: a,
1387
+ width: "100%",
1388
+ children: /* @__PURE__ */ l(C, { children: [/* @__PURE__ */ c(D, {}), /* @__PURE__ */ c(S, {
1389
+ cx: "50%",
1390
+ cy: "50%",
1391
+ data: t,
1392
+ dataKey: n,
1393
+ innerRadius: s,
1394
+ nameKey: r,
1395
+ children: t.map((e, t) => /* @__PURE__ */ c(h, { fill: o[t % o.length] }, t))
1396
+ })] })
1397
+ })
1398
+ });
1399
+ }), Ze = n(function({ data: t, dataKey: n, angleKey: r = "name", className: i, height: a = 300, color: o = "var(--gds-accent)", glass: s, ...u }, d) {
1400
+ return /* @__PURE__ */ c("div", {
1401
+ className: e("w-full", s && "gds-radius-popover backdrop-blur-md bg-white/5", i),
1402
+ "data-component": "radar-chart",
1403
+ ref: d,
1404
+ ...u,
1405
+ children: /* @__PURE__ */ c(w, {
1406
+ height: a,
1407
+ width: "100%",
1408
+ children: /* @__PURE__ */ l(ie, {
1409
+ cx: "50%",
1410
+ cy: "50%",
1411
+ data: t,
1412
+ outerRadius: "80%",
1413
+ children: [
1414
+ /* @__PURE__ */ c(te, { stroke: "var(--gds-border, #e5e7eb)" }),
1415
+ /* @__PURE__ */ c(ee, {
1416
+ dataKey: r,
1417
+ stroke: "var(--gds-fg-muted, #6b7280)",
1418
+ tick: { fontSize: 11 }
1419
+ }),
1420
+ /* @__PURE__ */ c(ne, {
1421
+ stroke: "var(--gds-fg-muted, #6b7280)",
1422
+ tick: { fontSize: 10 }
1423
+ }),
1424
+ /* @__PURE__ */ c(D, {}),
1425
+ /* @__PURE__ */ c(re, {
1426
+ dataKey: n,
1427
+ fill: o,
1428
+ fillOpacity: .3,
1429
+ stroke: o,
1430
+ strokeWidth: 2
1431
+ })
1432
+ ]
1433
+ })
1434
+ })
1435
+ });
1436
+ }), Qe = [
1437
+ "var(--gds-palette-0, #6366f1)",
1438
+ "var(--gds-palette-1, #22d3ee)",
1439
+ "var(--gds-palette-2, #f59e0b)",
1440
+ "var(--gds-palette-3, #10b981)",
1441
+ "var(--gds-palette-4, #ef4444)",
1442
+ "var(--gds-palette-5, #8b5cf6)",
1443
+ "var(--gds-palette-6, #ec4899)",
1444
+ "var(--gds-palette-7, #14b8a6)",
1445
+ "var(--gds-palette-8, #f97316)",
1446
+ "var(--gds-palette-9, #3b82f6)"
1447
+ ], $e = n(function({ data: n, height: r = 300, innerRadius: i = "20%", glass: a, className: o, ...s }, u) {
1448
+ let d = n.map((e, t) => ({
1449
+ ...e,
1450
+ fill: e.fill ?? Qe[t % Qe.length]
1451
+ }));
1452
+ return /* @__PURE__ */ c("div", {
1453
+ className: e("w-full gds-radius-popover border border-white/[0.06]", t(a), o),
1454
+ "data-component": "radial-bar-chart",
1455
+ ref: u,
1456
+ ...s,
1457
+ children: /* @__PURE__ */ c(w, {
1458
+ height: r,
1459
+ width: "100%",
1460
+ children: /* @__PURE__ */ l(oe, {
1461
+ cx: "50%",
1462
+ cy: "50%",
1463
+ data: d,
1464
+ innerRadius: i,
1465
+ outerRadius: "90%",
1466
+ children: [
1467
+ /* @__PURE__ */ c(ae, {
1468
+ dataKey: "value",
1469
+ background: { fill: "rgba(255,255,255,0.05)" }
1470
+ }),
1471
+ /* @__PURE__ */ c(D, {}),
1472
+ /* @__PURE__ */ c(y, { iconSize: 8 })
1473
+ ]
1474
+ })
1475
+ })
1476
+ });
1477
+ }), et = n(function({ className: t, color: n, data: a, height: s = 200, label: l, lineWidth: u = 2, maxPoints: d = 200, showGrid: f = !0 }, p) {
1478
+ let m = o(null), h = o(0), g = o(0), _ = r((e) => {
1479
+ m.current = e, typeof p == "function" ? p(e) : p != null && (p.current = e);
1480
+ }, [p]);
1481
+ return i(() => {
1482
+ let e = m.current;
1483
+ if (e === null) return;
1484
+ let t = e.getContext("2d");
1485
+ return t === null ? void 0 : ((a.length !== g.current || a.length > 0) && (g.current = a.length, h.current = requestAnimationFrame(() => {
1486
+ let r = window.devicePixelRatio ?? 1, i = e.getBoundingClientRect(), o = i.width, s = i.height;
1487
+ (e.width !== o * r || e.height !== s * r) && (e.width = o * r, e.height = s * r), t.setTransform(r, 0, 0, r, 0, 0), t.clearRect(0, 0, o, s);
1488
+ let c = getComputedStyle(e), p = n ?? (c.getPropertyValue("--gds-accent").trim() || "#2563eb"), m = c.getPropertyValue("--gds-border").trim() || "#e5e7eb", h = c.getPropertyValue("--gds-fg").trim() || "#1f2937", g = c.getPropertyValue("--gds-fg-muted").trim() || "#6b7280", _ = a.slice(-d);
1489
+ if (_.length === 0) return;
1490
+ let v = Math.min(..._), y = Math.max(..._), b = y - v || 1;
1491
+ if (f) {
1492
+ t.strokeStyle = m, t.lineWidth = .5;
1493
+ for (let e = 0; e <= 4; e++) {
1494
+ let n = 8 + (s - 16) * e / 4;
1495
+ t.beginPath(), t.moveTo(0, n), t.lineTo(o, n), t.stroke();
1496
+ }
1497
+ }
1498
+ t.strokeStyle = p, t.lineWidth = u, t.lineJoin = "round", t.lineCap = "round", t.beginPath();
1499
+ for (let e = 0; e < _.length; e++) {
1500
+ let n = e / (d - 1) * o, r = 8 + (1 - (_[e] - v) / b) * (s - 16);
1501
+ e === 0 ? t.moveTo(n, r) : t.lineTo(n, r);
1502
+ }
1503
+ t.stroke();
1504
+ let x = t.createLinearGradient(0, 0, 0, s);
1505
+ x.addColorStop(0, p + "40"), x.addColorStop(1, p + "00"), t.fillStyle = x, t.beginPath();
1506
+ for (let e = 0; e < _.length; e++) {
1507
+ let n = e / (d - 1) * o, r = 8 + (1 - (_[e] - v) / b) * (s - 16);
1508
+ e === 0 ? t.moveTo(n, r) : t.lineTo(n, r);
1509
+ }
1510
+ if (_.length > 0) {
1511
+ let e = (_.length - 1) / (d - 1) * o;
1512
+ t.lineTo(e, s), t.lineTo(0, s);
1513
+ }
1514
+ t.closePath(), t.fill();
1515
+ let S = _[_.length - 1];
1516
+ t.font = "bold 12px ui-monospace, monospace", t.fillStyle = h, t.textAlign = "right", t.fillText(S.toFixed(1), o - 8, 16), l !== void 0 && (t.font = "10px system-ui, sans-serif", t.fillStyle = g, t.textAlign = "left", t.fillText(l, 8, 14)), t.font = "9px ui-monospace, monospace", t.fillStyle = g, t.textAlign = "right", t.fillText(y.toFixed(0), o - 8, 18), t.fillText(v.toFixed(0), o - 8, s - 8);
1517
+ })), () => {
1518
+ h.current !== 0 && cancelAnimationFrame(h.current);
1519
+ });
1520
+ }, [
1521
+ a,
1522
+ d,
1523
+ n,
1524
+ u,
1525
+ f,
1526
+ l,
1527
+ s
1528
+ ]), /* @__PURE__ */ c("canvas", {
1529
+ className: e("block w-full rounded-lg border border-border bg-surface", t),
1530
+ "data-component": "realtime-chart",
1531
+ ref: _,
1532
+ style: { height: s }
1533
+ });
1534
+ }), tt = n(function({ nodes: t, links: n, className: r, height: i = 300, nodePadding: a = 50, nodeWidth: o = 10, glass: s, ...l }, u) {
1535
+ let d = {
1536
+ nodes: t,
1537
+ links: n
1538
+ };
1539
+ return /* @__PURE__ */ c("div", {
1540
+ className: e("w-full", s && "gds-radius-popover backdrop-blur-md bg-white/5", r),
1541
+ "data-component": "sankey-chart",
1542
+ ref: u,
1543
+ ...l,
1544
+ children: /* @__PURE__ */ c(w, {
1545
+ height: i,
1546
+ width: "100%",
1547
+ children: /* @__PURE__ */ c(se, {
1548
+ data: d,
1549
+ nodePadding: a,
1550
+ nodeWidth: o,
1551
+ children: /* @__PURE__ */ c(D, {})
1552
+ })
1553
+ })
1554
+ });
1555
+ }), nt = n(function({ data: t, xKey: n, yKey: r, className: i, height: a = 300, color: o = "var(--gds-accent)", glass: s, ...u }, d) {
1556
+ return /* @__PURE__ */ c("div", {
1557
+ className: e("w-full", s && "gds-radius-popover backdrop-blur-md bg-white/5", i),
1558
+ "data-component": "scatter-chart",
1559
+ ref: d,
1560
+ ...u,
1561
+ children: /* @__PURE__ */ c(w, {
1562
+ height: a,
1563
+ width: "100%",
1564
+ children: /* @__PURE__ */ l(E, { children: [
1565
+ /* @__PURE__ */ c(m, {
1566
+ stroke: "var(--gds-border, #e5e7eb)",
1567
+ strokeDasharray: "3 3"
1568
+ }),
1569
+ /* @__PURE__ */ c(O, {
1570
+ dataKey: n,
1571
+ stroke: "var(--gds-fg-muted, #6b7280)",
1572
+ tick: { fontSize: 11 },
1573
+ type: "number"
1574
+ }),
1575
+ /* @__PURE__ */ c(k, {
1576
+ dataKey: r,
1577
+ stroke: "var(--gds-fg-muted, #6b7280)",
1578
+ tick: { fontSize: 11 },
1579
+ type: "number"
1580
+ }),
1581
+ /* @__PURE__ */ c(D, {}),
1582
+ /* @__PURE__ */ c(T, {
1583
+ data: t,
1584
+ fill: o
1585
+ })
1586
+ ] })
1587
+ })
1588
+ });
1589
+ }), rt = n(function({ data: t, dataKey: n, className: r, height: i = 32, width: a = 120, color: o = "var(--gds-accent)", glass: s, ...l }, u) {
1590
+ return /* @__PURE__ */ c("div", {
1591
+ className: e("inline-block", s && "rounded backdrop-blur-md bg-white/5", r),
1592
+ "data-component": "sparkline",
1593
+ ref: u,
1594
+ ...l,
1595
+ children: /* @__PURE__ */ c(w, {
1596
+ height: i,
1597
+ width: a,
1598
+ children: /* @__PURE__ */ c(x, {
1599
+ data: t,
1600
+ children: /* @__PURE__ */ c(b, {
1601
+ dataKey: n,
1602
+ dot: !1,
1603
+ stroke: o,
1604
+ strokeWidth: 1.5,
1605
+ type: "monotone"
1606
+ })
1607
+ })
1608
+ })
1609
+ });
1610
+ }), Y = [
1611
+ "var(--gds-palette-0, #6366f1)",
1612
+ "var(--gds-palette-1, #8b5cf6)",
1613
+ "var(--gds-palette-2, #06b6d4)",
1614
+ "var(--gds-palette-3, #10b981)",
1615
+ "var(--gds-palette-4, #f59e0b)",
1616
+ "var(--gds-palette-5, #ef4444)",
1617
+ "var(--gds-palette-6, #ec4899)",
1618
+ "var(--gds-palette-7, #14b8a6)",
1619
+ "var(--gds-palette-8, #f97316)",
1620
+ "var(--gds-palette-9, #a855f7)"
1621
+ ], it = n(function({ data: t, keys: n, xKey: r = "name", height: i = 300, glass: a, className: o, ...s }, f) {
1622
+ return /* @__PURE__ */ c("div", {
1623
+ ref: f,
1624
+ className: e("w-full gds-radius-popover border border-border", a && "backdrop-blur-md bg-white/5", o),
1625
+ "data-component": "stream-chart",
1626
+ ...s,
1627
+ children: /* @__PURE__ */ c(w, {
1628
+ height: i,
1629
+ width: "100%",
1630
+ children: /* @__PURE__ */ l(d, {
1631
+ data: t,
1632
+ children: [
1633
+ /* @__PURE__ */ c(O, {
1634
+ dataKey: r,
1635
+ stroke: "var(--gds-fg-muted, #6b7280)",
1636
+ tick: { fontSize: 11 }
1637
+ }),
1638
+ /* @__PURE__ */ c(D, {}),
1639
+ n.map((e, t) => /* @__PURE__ */ c(u, {
1640
+ dataKey: e,
1641
+ fill: Y[t % Y.length],
1642
+ fillOpacity: .6,
1643
+ stackId: "1",
1644
+ stroke: Y[t % Y.length],
1645
+ strokeWidth: 1.5,
1646
+ type: "monotone"
1647
+ }, e))
1648
+ ]
1649
+ })
1650
+ })
1651
+ });
1652
+ });
1653
+ //#endregion
1654
+ //#region src/l6-charts/sunburst-math.ts
1655
+ function X(e) {
1656
+ return e.children !== void 0 && e.children.length > 0 ? e.children.reduce((e, t) => e + X(t), 0) : e.value ?? 0;
1657
+ }
1658
+ function at(e, t, n, r, i, a) {
1659
+ let o = Math.min(a - i, 2 * Math.PI - .001), s = o > Math.PI ? 1 : 0, c = e + r * Math.cos(i), l = t + r * Math.sin(i), u = e + r * Math.cos(i + o), d = t + r * Math.sin(i + o), f = e + n * Math.cos(i + o), p = t + n * Math.sin(i + o), m = e + n * Math.cos(i), h = t + n * Math.sin(i);
1660
+ return [
1661
+ `M ${c} ${l}`,
1662
+ `A ${r} ${r} 0 ${s} 1 ${u} ${d}`,
1663
+ `L ${f} ${p}`,
1664
+ `A ${n} ${n} 0 ${s} 0 ${m} ${h}`,
1665
+ "Z"
1666
+ ].join(" ");
1667
+ }
1668
+ function ot(e, t, n, r, i) {
1669
+ if (e.children === void 0 || e.children.length === 0) return [];
1670
+ let a = [], o = X(e);
1671
+ if (o === 0) return [];
1672
+ let s = n;
1673
+ for (let c = 0; c < e.children.length; c++) {
1674
+ let l = e.children[c], u = X(l) / o * (r - n), d = s + u;
1675
+ a.push({
1676
+ depth: t,
1677
+ index: i * 10 + c,
1678
+ startAngle: s,
1679
+ endAngle: d
1680
+ }), a.push(...ot(l, t + 1, s, d, i * 10 + c)), s = d;
1681
+ }
1682
+ return a;
1683
+ }
1684
+ //#endregion
1685
+ //#region src/l6-charts/sunburst-chart.tsx
1686
+ var Z = [
1687
+ "var(--gds-palette-0, #6366f1)",
1688
+ "var(--gds-palette-1, #22d3ee)",
1689
+ "var(--gds-palette-2, #f59e0b)",
1690
+ "var(--gds-palette-3, #10b981)",
1691
+ "var(--gds-palette-4, #ef4444)",
1692
+ "var(--gds-palette-5, #8b5cf6)",
1693
+ "var(--gds-palette-6, #ec4899)",
1694
+ "var(--gds-palette-7, #14b8a6)",
1695
+ "var(--gds-palette-8, #f97316)",
1696
+ "var(--gds-palette-9, #3b82f6)"
1697
+ ], st = n(function({ data: n, width: r = 300, height: i = 300, glass: a, className: o, ...s }, u) {
1698
+ let d = r / 2, f = i / 2, p = Math.min(d, f) - 10, m = ot(n, 0, -Math.PI / 2, 1.5 * Math.PI, 0), h = m.reduce((e, t) => Math.max(e, t.depth), 0), g = p * .25, _ = (p - g) / (h + 1);
1699
+ return /* @__PURE__ */ c("div", {
1700
+ className: e("inline-flex gds-radius-popover border border-white/[0.06]", t(a), o),
1701
+ "data-component": "sunburst-chart",
1702
+ ref: u,
1703
+ ...s,
1704
+ children: /* @__PURE__ */ l("svg", {
1705
+ height: i,
1706
+ width: r,
1707
+ viewBox: `0 0 ${r} ${i}`,
1708
+ children: [m.map((e, t) => {
1709
+ let n = g + e.depth * _, r = n + _ - 1, i = Z[(e.index + e.depth) % Z.length];
1710
+ return /* @__PURE__ */ c("path", {
1711
+ d: at(d, f, n, r, e.startAngle, e.endAngle),
1712
+ fill: i,
1713
+ opacity: 1 - e.depth * .15,
1714
+ stroke: "var(--gds-bg, #000)",
1715
+ strokeWidth: 1,
1716
+ "data-arc": !0
1717
+ }, t);
1718
+ }), /* @__PURE__ */ c("text", {
1719
+ x: d,
1720
+ y: f,
1721
+ textAnchor: "middle",
1722
+ dominantBaseline: "central",
1723
+ fill: "var(--gds-fg, #fff)",
1724
+ fontSize: 12,
1725
+ fontWeight: 600,
1726
+ "data-center-label": !0,
1727
+ children: n.name
1728
+ })]
1729
+ })
1730
+ });
1731
+ }), ct = [
1732
+ "var(--gds-palette-0, #6366f1)",
1733
+ "var(--gds-palette-1, #22d3ee)",
1734
+ "var(--gds-palette-2, #f59e0b)",
1735
+ "var(--gds-palette-3, #10b981)",
1736
+ "var(--gds-palette-4, #ef4444)",
1737
+ "var(--gds-palette-5, #8b5cf6)"
1738
+ ], lt = n(function({ events: n, width: r = 600, height: i = 120, glass: a, className: o, ...s }, u) {
1739
+ if (n.length === 0) return /* @__PURE__ */ c("div", {
1740
+ className: e("inline-flex gds-radius-popover border border-white/[0.06]", t(a), o),
1741
+ "data-component": "timeline-chart",
1742
+ ref: u,
1743
+ ...s,
1744
+ children: /* @__PURE__ */ c("svg", {
1745
+ height: i,
1746
+ width: r
1747
+ })
1748
+ });
1749
+ let d = i / 2, f = n.map((e) => new Date(e.date).getTime()), p = Math.min(...f), m = Math.max(...f) - p;
1750
+ function h(e) {
1751
+ return m === 0 ? r / 2 : 40 + (e - p) / m * (r - 80);
1752
+ }
1753
+ return /* @__PURE__ */ c("div", {
1754
+ className: e("inline-flex gds-radius-popover border border-white/[0.06]", t(a), o),
1755
+ "data-component": "timeline-chart",
1756
+ ref: u,
1757
+ ...s,
1758
+ children: /* @__PURE__ */ l("svg", {
1759
+ height: i,
1760
+ width: r,
1761
+ viewBox: `0 0 ${r} ${i}`,
1762
+ children: [/* @__PURE__ */ c("line", {
1763
+ x1: 40,
1764
+ y1: d,
1765
+ x2: r - 40,
1766
+ y2: d,
1767
+ stroke: "var(--gds-border, #e5e7eb)",
1768
+ strokeWidth: 2
1769
+ }), n.map((e, t) => {
1770
+ let n = f[t], r = h(n), i = t % 2 == 0, a = i ? d - 24 : d + 32, o = e.color ?? ct[t % ct.length], s = new Date(e.date).toLocaleDateString();
1771
+ return /* @__PURE__ */ l("g", {
1772
+ "data-event": !0,
1773
+ children: [
1774
+ /* @__PURE__ */ c("circle", {
1775
+ cx: r,
1776
+ cy: d,
1777
+ r: 5,
1778
+ fill: o
1779
+ }),
1780
+ /* @__PURE__ */ c("line", {
1781
+ x1: r,
1782
+ y1: d + (i ? -6 : 6),
1783
+ x2: r,
1784
+ y2: a + (i ? 10 : -10),
1785
+ stroke: "var(--gds-border, #e5e7eb)",
1786
+ strokeWidth: 1
1787
+ }),
1788
+ /* @__PURE__ */ c("text", {
1789
+ x: r,
1790
+ y: a,
1791
+ textAnchor: "middle",
1792
+ fill: "var(--gds-fg, #fff)",
1793
+ fontSize: 10,
1794
+ fontWeight: 500,
1795
+ "data-label": i ? "above" : "below",
1796
+ children: e.label
1797
+ }),
1798
+ /* @__PURE__ */ c("text", {
1799
+ x: r,
1800
+ y: a + (i ? -10 : 12),
1801
+ textAnchor: "middle",
1802
+ fill: "var(--gds-fg-muted, #6b7280)",
1803
+ fontSize: 8,
1804
+ children: s
1805
+ })
1806
+ ]
1807
+ }, t);
1808
+ })]
1809
+ })
1810
+ });
1811
+ }), ut = n(function({ data: t, dataKey: n = "value", className: r, height: i = 300, color: a = "var(--gds-accent)", glass: o, ...s }, l) {
1812
+ return /* @__PURE__ */ c("div", {
1813
+ className: e("w-full", o && "gds-radius-popover backdrop-blur-md bg-white/5", r),
1814
+ "data-component": "treemap-chart",
1815
+ ref: l,
1816
+ ...s,
1817
+ children: /* @__PURE__ */ c(w, {
1818
+ height: i,
1819
+ width: "100%",
1820
+ children: /* @__PURE__ */ c(ce, {
1821
+ data: t,
1822
+ dataKey: n,
1823
+ fill: a,
1824
+ stroke: "var(--gds-bg, #fff)"
1825
+ })
1826
+ })
1827
+ });
1828
+ }), dt = [
1829
+ "var(--gds-palette-0, #6366f1)",
1830
+ "var(--gds-palette-1, #8b5cf6)",
1831
+ "var(--gds-palette-2, #06b6d4)",
1832
+ "var(--gds-palette-3, #10b981)",
1833
+ "var(--gds-palette-4, #f59e0b)"
1834
+ ];
1835
+ function ft(e, t, n, r) {
1836
+ let i = r - n;
1837
+ if (i === 0) return Array(t).fill(1 / t);
1838
+ let a = Array(t).fill(0), o = i / t;
1839
+ for (let r of e) {
1840
+ let e = Math.min(Math.floor((r - n) / o), t - 1);
1841
+ a[e]++;
1842
+ }
1843
+ let s = Math.max(...a);
1844
+ return s === 0 ? a : a.map((e) => e / s);
1845
+ }
1846
+ function pt(e) {
1847
+ let t = [...e].sort((e, t) => e - t), n = Math.floor(t.length / 2);
1848
+ return t.length % 2 == 0 ? (t[n - 1] + t[n]) / 2 : t[n];
1849
+ }
1850
+ var mt = n(function({ data: t, width: n = 400, height: r = 300, glass: i, className: a }, o) {
1851
+ let s = {
1852
+ top: 20,
1853
+ right: 20,
1854
+ bottom: 40,
1855
+ left: 50
1856
+ }, u = n - s.left - s.right, d = r - s.top - s.bottom, f = t.flatMap((e) => e.values), p = f.length > 0 ? Math.min(...f) : 0, m = f.length > 0 ? Math.max(...f) : 1, h = m - p, g = p - h * .1, _ = m + h * .1, v = (e) => s.top + d * (1 - (e - g) / (_ - g)), y = t.length > 0 ? u / t.length : u, b = Math.min(y * .7, 80) / 2;
1857
+ return /* @__PURE__ */ c("div", {
1858
+ ref: o,
1859
+ className: e("gds-radius-popover border border-border", i && "backdrop-blur-md bg-white/5", a),
1860
+ "data-component": "violin-plot",
1861
+ children: /* @__PURE__ */ l("svg", {
1862
+ width: n,
1863
+ height: r,
1864
+ viewBox: `0 0 ${n} ${r}`,
1865
+ children: [
1866
+ /* @__PURE__ */ c("line", {
1867
+ x1: s.left,
1868
+ y1: s.top,
1869
+ x2: s.left,
1870
+ y2: s.top + d,
1871
+ stroke: "var(--gds-border, #374151)",
1872
+ strokeWidth: 1
1873
+ }),
1874
+ /* @__PURE__ */ c("line", {
1875
+ x1: s.left,
1876
+ y1: s.top + d,
1877
+ x2: s.left + u,
1878
+ y2: s.top + d,
1879
+ stroke: "var(--gds-border, #374151)",
1880
+ strokeWidth: 1
1881
+ }),
1882
+ t.map((e, t) => {
1883
+ if (e.values.length === 0) return null;
1884
+ let n = s.left + y * (t + .5), r = dt[t % dt.length], i = ft(e.values, 20, p, m), a = (_ - g) / 20, o = pt(e.values), u = i.map((e, t) => {
1885
+ let r = v(g + a * (t + .5));
1886
+ return `${n + e * b},${r}`;
1887
+ }), f = [...i].reverse().map((e, t) => {
1888
+ let r = v(g + a * (19 - t + .5));
1889
+ return `${n - e * b},${r}`;
1890
+ }), h = `M ${u[0]} ${u.map((e) => `L ${e}`).join(" ")} ${f.map((e) => `L ${e}`).join(" ")} Z`;
1891
+ return /* @__PURE__ */ l("g", {
1892
+ "data-violin": e.label,
1893
+ children: [
1894
+ /* @__PURE__ */ c("path", {
1895
+ d: h,
1896
+ fill: r,
1897
+ fillOpacity: .25,
1898
+ stroke: r,
1899
+ strokeWidth: 1.5
1900
+ }),
1901
+ /* @__PURE__ */ c("circle", {
1902
+ cx: n,
1903
+ cy: v(o),
1904
+ r: 3,
1905
+ fill: r
1906
+ }),
1907
+ /* @__PURE__ */ c("text", {
1908
+ x: n,
1909
+ y: s.top + d + 20,
1910
+ textAnchor: "middle",
1911
+ fill: "var(--gds-fg-muted, #9ca3af)",
1912
+ fontSize: 10,
1913
+ children: e.label
1914
+ })
1915
+ ]
1916
+ }, e.label);
1917
+ })
1918
+ ]
1919
+ })
1920
+ });
1921
+ }), Q = [
1922
+ "var(--gds-palette-0, #6366f1)",
1923
+ "var(--gds-palette-1, #22d3ee)",
1924
+ "var(--gds-palette-2, #f59e0b)",
1925
+ "var(--gds-palette-3, #10b981)",
1926
+ "var(--gds-palette-4, #ef4444)",
1927
+ "var(--gds-palette-5, #8b5cf6)",
1928
+ "var(--gds-palette-6, #ec4899)",
1929
+ "var(--gds-palette-7, #14b8a6)",
1930
+ "var(--gds-palette-8, #f97316)",
1931
+ "var(--gds-palette-9, #3b82f6)"
1932
+ ], ht = n(function({ data: n, size: r = 200, glass: i, className: a, ...o }, s) {
1933
+ let u = [], d = 0;
1934
+ for (let e = 0; e < n.length; e++) {
1935
+ let t = n[e], r = Math.round(t.value), i = t.color ?? Q[e % Q.length];
1936
+ for (let e = 0; e < r && d < 100; e++) u[d] = i, d++;
1937
+ }
1938
+ for (; d < 100;) u[d] = "transparent", d++;
1939
+ let f = r / 10, p = Math.max(1, f * .1);
1940
+ return /* @__PURE__ */ l("div", {
1941
+ className: e("inline-flex flex-col gds-radius-popover border border-white/[0.06]", t(i), a),
1942
+ "data-component": "waffle-chart",
1943
+ ref: s,
1944
+ ...o,
1945
+ children: [/* @__PURE__ */ c("svg", {
1946
+ height: r,
1947
+ width: r,
1948
+ viewBox: `0 0 ${r} ${r}`,
1949
+ children: u.map((e, t) => {
1950
+ let n = Math.floor(t / 10);
1951
+ return /* @__PURE__ */ c("rect", {
1952
+ x: t % 10 * f + p,
1953
+ y: n * f + p,
1954
+ width: f - p * 2,
1955
+ height: f - p * 2,
1956
+ rx: 2,
1957
+ fill: e,
1958
+ "data-cell": t
1959
+ }, t);
1960
+ })
1961
+ }), /* @__PURE__ */ c("div", {
1962
+ className: "flex flex-wrap gap-3 px-2 pb-2 pt-1",
1963
+ children: n.map((e, t) => /* @__PURE__ */ l("div", {
1964
+ className: "flex items-center gap-1.5 text-[10px] text-fg-muted",
1965
+ children: [
1966
+ /* @__PURE__ */ c("span", {
1967
+ className: "inline-block h-2 w-2 rounded-full",
1968
+ style: { backgroundColor: e.color ?? Q[t % Q.length] }
1969
+ }),
1970
+ /* @__PURE__ */ c("span", { children: e.label }),
1971
+ /* @__PURE__ */ l("span", {
1972
+ className: "text-fg-muted/50",
1973
+ children: [e.value, "%"]
1974
+ })
1975
+ ]
1976
+ }, e.label))
1977
+ })]
1978
+ });
1979
+ }), gt = n(function({ className: t, data: n, height: r = 300 }, i) {
1980
+ let o = {
1981
+ bottom: 40,
1982
+ left: 12,
1983
+ right: 12,
1984
+ top: 20
1985
+ }, s = a(() => {
1986
+ if (n.length === 0) return {
1987
+ bars: [],
1988
+ maxY: 0,
1989
+ minY: 0
1990
+ };
1991
+ let e = [], t = 0;
1992
+ for (let r of n) {
1993
+ let n = t;
1994
+ t += r.value, e.push({
1995
+ end: t,
1996
+ label: r.label,
1997
+ start: n,
1998
+ type: r.value >= 0 ? "positive" : "negative",
1999
+ value: r.value
2000
+ });
2001
+ }
2002
+ e.push({
2003
+ end: t,
2004
+ label: "Total",
2005
+ start: 0,
2006
+ type: "total",
2007
+ value: t
2008
+ });
2009
+ let r = e.flatMap((e) => [e.start, e.end]);
2010
+ return {
2011
+ bars: e,
2012
+ maxY: Math.max(0, ...r),
2013
+ minY: Math.min(0, ...r)
2014
+ };
2015
+ }, [n]), u = 500 - o.left - o.right, d = r - o.top - o.bottom, f = s.maxY - s.minY || 1, p = s.bars.length, m = Math.min(40, u / p * .6), h = u / p, g = (e) => o.top + (1 - (e - s.minY) / f) * d, _ = (e) => e === "positive" ? "var(--gds-success)" : e === "negative" ? "var(--gds-danger)" : "var(--gds-accent)";
2016
+ return /* @__PURE__ */ c("div", {
2017
+ className: e("inline-block", t),
2018
+ "data-component": "waterfall-chart",
2019
+ ref: i,
2020
+ children: /* @__PURE__ */ l("svg", {
2021
+ height: r,
2022
+ viewBox: `0 0 500 ${r}`,
2023
+ width: 500,
2024
+ children: [s.bars.map((e, t) => {
2025
+ let n = o.left + t * h + (h - m) / 2, i = g(Math.max(e.start, e.end)), a = g(Math.min(e.start, e.end)), u = Math.max(1, a - i);
2026
+ return /* @__PURE__ */ l("g", { children: [
2027
+ /* @__PURE__ */ c("rect", {
2028
+ fill: _(e.type),
2029
+ fillOpacity: .8,
2030
+ height: u,
2031
+ rx: 2,
2032
+ width: m,
2033
+ x: n,
2034
+ y: i
2035
+ }),
2036
+ e.type !== "total" && t < s.bars.length - 1 && /* @__PURE__ */ c("line", {
2037
+ stroke: "var(--gds-border)",
2038
+ strokeDasharray: "3,3",
2039
+ strokeWidth: 1,
2040
+ x1: n + m,
2041
+ x2: o.left + (t + 1) * h + (h - m) / 2,
2042
+ y1: g(e.end),
2043
+ y2: g(e.end)
2044
+ }),
2045
+ /* @__PURE__ */ c("text", {
2046
+ dominantBaseline: "middle",
2047
+ fill: "var(--gds-fg)",
2048
+ fontSize: 10,
2049
+ fontWeight: "600",
2050
+ textAnchor: "middle",
2051
+ x: n + m / 2,
2052
+ y: i - 8,
2053
+ children: e.value >= 0 ? `+${e.value}` : e.value
2054
+ }),
2055
+ /* @__PURE__ */ c("text", {
2056
+ dominantBaseline: "hanging",
2057
+ fill: "var(--gds-fg-muted)",
2058
+ fontSize: 10,
2059
+ textAnchor: "middle",
2060
+ x: n + m / 2,
2061
+ y: r - o.bottom + 8,
2062
+ children: e.label
2063
+ })
2064
+ ] }, t);
2065
+ }), /* @__PURE__ */ c("line", {
2066
+ stroke: "var(--gds-border)",
2067
+ strokeWidth: 1,
2068
+ x1: o.left,
2069
+ x2: 500 - o.right,
2070
+ y1: g(0),
2071
+ y2: g(0)
2072
+ })]
2073
+ })
2074
+ });
2075
+ }), _t = n(function({ data: t, width: n = 400, height: r = 100, progress: i = 0, color: o = "var(--gds-accent, #6366f1)", playedColor: s, glass: l, className: u, ...d }, f) {
2076
+ let p = s ?? o, m = Math.floor(i * t.length), h = r / 2, g = a(() => {
2077
+ if (t.length === 0) return [];
2078
+ let e = n / t.length;
2079
+ return t.map((t, n) => {
2080
+ let r = Math.max(t * h, 1);
2081
+ return {
2082
+ x: n * e,
2083
+ y: h - r,
2084
+ w: Math.max(e - 1, 1),
2085
+ h: r * 2,
2086
+ played: n < m
2087
+ };
2088
+ });
2089
+ }, [
2090
+ t,
2091
+ n,
2092
+ h,
2093
+ m
2094
+ ]);
2095
+ return /* @__PURE__ */ c("div", {
2096
+ ref: f,
2097
+ className: e("inline-block gds-radius-popover border border-border", l && "backdrop-blur-md bg-white/5", u),
2098
+ "data-component": "waveform-display",
2099
+ ...d,
2100
+ children: /* @__PURE__ */ c("svg", {
2101
+ height: r,
2102
+ width: n,
2103
+ viewBox: `0 0 ${n} ${r}`,
2104
+ children: g.map((e, t) => /* @__PURE__ */ c("rect", {
2105
+ x: e.x,
2106
+ y: e.y,
2107
+ width: e.w,
2108
+ height: e.h,
2109
+ fill: e.played ? p : o,
2110
+ opacity: e.played ? 1 : .3,
2111
+ rx: 1
2112
+ }, t))
2113
+ })
2114
+ });
2115
+ }), $ = Array.from({ length: 10 }, (e, t) => `var(--gds-palette-${t})`), vt = n(function({ words: t, maxFontSize: n = 48, minFontSize: r = 12, glass: i, height: a = 300, className: o, ...s }, l) {
2116
+ let u = t.map((e) => e.weight), d = Math.min(...u), f = Math.max(...u) - d;
2117
+ return /* @__PURE__ */ c("div", {
2118
+ className: e("flex flex-wrap items-center justify-center gap-2 overflow-hidden gds-radius-popover border border-[var(--gds-border,#e5e7eb)]", i && "backdrop-blur-md bg-white/5", o),
2119
+ "data-component": "word-cloud",
2120
+ ref: l,
2121
+ style: { height: a },
2122
+ ...s,
2123
+ children: t.map((e, t) => {
2124
+ let i = f === 0 ? .5 : (e.weight - d) / f;
2125
+ return /* @__PURE__ */ c("span", {
2126
+ className: "inline-block select-none px-1",
2127
+ style: {
2128
+ fontSize: Math.round(r + i * (n - r)),
2129
+ color: $[t % $.length]
2130
+ },
2131
+ children: e.text
2132
+ }, `${e.text}-${t}`);
2133
+ })
2134
+ });
2135
+ });
2136
+ //#endregion
2137
+ export { we as A, ze as C, Me as D, Ne as E, pe as F, fe as I, de as L, _e as M, ge as N, je as O, he as P, Be as S, Pe as T, Je as _, mt as a, We as b, st as c, nt as d, tt as f, Xe as g, Ze as h, ht as i, ve as j, Ee as k, it as l, $e as m, _t as n, ut as o, et as p, gt as r, lt as s, vt as t, rt as u, qe as v, Le as w, He as x, Ge as y };
2138
+
2139
+ //# sourceMappingURL=l6-charts-Aou_NiQo.js.map