@abdullahjaswal/tickyr-charts 0.1.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.
package/dist/solid.js ADDED
@@ -0,0 +1,2571 @@
1
+ import { $ as e, $t as t, A as n, Bn as r, Bt as i, C as a, Cn as o, Ct as s, D as c, E as l, Et as u, F as d, Ft as f, G as p, Gt as m, I as h, It as g, J as _, Jt as v, K as y, Kt as b, L as x, Ln as S, Lt as ee, M as C, N as w, O as T, P as te, Pt as E, Q as D, Qt as ne, R as re, Rn as O, Rt as ie, S as ae, Sn as k, St as A, T as oe, Tn as se, Tt as ce, U as le, Ut as ue, V as j, Vt as de, W as fe, Wt as pe, X as me, Xt as he, Z as ge, Zt as _e, _ as ve, _n as ye, a as be, an as xe, b as Se, bn as Ce, c as we, cn as Te, ct as Ee, d as De, dt as M, en as Oe, et as ke, f as Ae, fn as je, ft as Me, g as Ne, gn as Pe, h as Fe, hn as Ie, i as Le, in as Re, it as ze, j as Be, jn as Ve, k as He, kn as Ue, l as We, lt as Ge, m as Ke, mn as qe, n as Je, nn as Ye, nt as Xe, o as Ze, on as Qe, p as $e, pn as et, q as tt, r as nt, rn as rt, rt as it, s as at, sn as ot, t as st, tn as ct, tt as lt, u as ut, ut as dt, v as ft, vn as pt, w as mt, wn as ht, wt as gt, x as _t, xn as vt, y as yt, yn as bt, z as xt, zn as St, zt as Ct } from "./accessibility-B-2UbONR.js";
2
+ import { createComponent as N, delegateEvents as P, effect as F, insert as I, memo as L, mergeProps as wt, setAttribute as R, setStyleProperty as z, style as B, template as V, use as H } from "solid-js/web";
3
+ import { For as U, createContext as Tt, createEffect as W, createMemo as G, createSignal as K, onCleanup as q, onMount as J, useContext as Et } from "solid-js";
4
+ var Y = Object.freeze({
5
+ theme: "inherit",
6
+ palette: "Monochrome",
7
+ locale: "USA",
8
+ timeZone: void 0,
9
+ visualStyle: "Fill",
10
+ outlineFillColor: "auto",
11
+ outlineFillOpacity: 15,
12
+ cornerRadius: 3,
13
+ borderWidth: 1.4,
14
+ accents: false,
15
+ osTheme: "light",
16
+ appTheme: "light"
17
+ }), Dt = Tt(() => Y), Ot = (e2) => {
18
+ J(() => {
19
+ if (e2.palettes !== void 0) for (let t3 of e2.palettes) Ue(t3);
20
+ });
21
+ let t2 = G(() => ({
22
+ theme: e2.theme ?? Y.theme,
23
+ palette: e2.palette ?? Y.palette,
24
+ locale: e2.locale ?? Y.locale,
25
+ timeZone: e2.timeZone,
26
+ visualStyle: e2.visualStyle ?? Y.visualStyle,
27
+ outlineFillColor: e2.outlineFillColor ?? Y.outlineFillColor,
28
+ outlineFillOpacity: e2.outlineFillOpacity ?? Y.outlineFillOpacity,
29
+ cornerRadius: e2.cornerRadius ?? Y.cornerRadius,
30
+ borderWidth: e2.borderWidth ?? Y.borderWidth,
31
+ accents: e2.accents ?? Y.accents,
32
+ osTheme: e2.osTheme ?? Y.osTheme,
33
+ appTheme: e2.appTheme ?? Y.appTheme
34
+ }));
35
+ return N(Dt.Provider, {
36
+ value: t2,
37
+ get children() {
38
+ return e2.children;
39
+ }
40
+ });
41
+ };
42
+ function X() {
43
+ return Et(Dt);
44
+ }
45
+ function kt(e2) {
46
+ let t2 = X();
47
+ return () => {
48
+ let n2 = t2();
49
+ return et(e2 ?? n2.theme, n2.appTheme, n2.osTheme);
50
+ };
51
+ }
52
+ function At(e2) {
53
+ return {
54
+ length: 0,
55
+ capacity: e2,
56
+ times: new Float64Array(e2),
57
+ opens: new Float64Array(e2),
58
+ highs: new Float64Array(e2),
59
+ lows: new Float64Array(e2),
60
+ closes: new Float64Array(e2),
61
+ volumes: new Float64Array(e2)
62
+ };
63
+ }
64
+ function jt(e2) {
65
+ let t2 = e2.length;
66
+ for (let n2 = 1; n2 < t2; n2++) e2.times[n2 - 1] = e2.times[n2], e2.opens[n2 - 1] = e2.opens[n2], e2.highs[n2 - 1] = e2.highs[n2], e2.lows[n2 - 1] = e2.lows[n2], e2.closes[n2 - 1] = e2.closes[n2], e2.volumes[n2 - 1] = e2.volumes[n2];
67
+ e2.length = t2 - 1;
68
+ }
69
+ function Mt(e2, t2, n2, r2) {
70
+ if (t2.kind === ce.NoEvent) return;
71
+ if (t2.kind === ce.MutateLast) {
72
+ if (e2.length === 0) return;
73
+ let t3 = e2.length - 1;
74
+ n2 > e2.highs[t3] && (e2.highs[t3] = n2), n2 < e2.lows[t3] && (e2.lows[t3] = n2), e2.closes[t3] = n2, e2.volumes[t3] = e2.volumes[t3] + r2;
75
+ return;
76
+ }
77
+ e2.length >= e2.capacity && jt(e2);
78
+ let i2 = e2.length;
79
+ e2.times[i2] = t2.bucketStartMs, e2.opens[i2] = n2, e2.highs[i2] = n2, e2.lows[i2] = n2, e2.closes[i2] = n2, e2.volumes[i2] = r2, e2.length = i2 + 1;
80
+ }
81
+ function Z(e2) {
82
+ let t2 = e2.length;
83
+ return {
84
+ times: e2.times.subarray(0, t2),
85
+ opens: e2.opens.subarray(0, t2),
86
+ highs: e2.highs.subarray(0, t2),
87
+ lows: e2.lows.subarray(0, t2),
88
+ closes: e2.closes.subarray(0, t2),
89
+ volumes: e2.volumes.subarray(0, t2)
90
+ };
91
+ }
92
+ function Nt(e2) {
93
+ let t2 = e2.capacity ?? 5e3, n2 = At(t2), r2 = null, i2 = null, a2 = u(), o2 = [], [s2, c2] = K(false), [l2, d2] = K(Z(n2)), [f2, p2] = K(0), m2 = false;
94
+ return J(() => {
95
+ (async () => {
96
+ let s3 = await gt(e2.market);
97
+ if (m2) {
98
+ s3.free();
99
+ return;
100
+ }
101
+ i2 = s3;
102
+ let l3 = await A({
103
+ timeframeMinutes: e2.timeframeMinutes,
104
+ capacity: t2,
105
+ market: s3,
106
+ minPriceRaw: e2.minPriceRaw,
107
+ maxPriceRaw: e2.maxPriceRaw,
108
+ maxVolumeRaw: e2.maxVolumeRaw
109
+ });
110
+ if (m2) {
111
+ l3.free(), s3.free(), i2 = null;
112
+ return;
113
+ }
114
+ if (r2 = l3, e2.anomalyPolicy !== void 0) {
115
+ let t3 = e2.anomalyPolicy;
116
+ l3.setAnomalyPolicy(t3.maxRelativePriceJump ?? -1, t3.rejectZeroVolumeTrade ?? false, t3.clockSkewToleranceMs ?? -1, t3.maxGapMs ?? -1);
117
+ }
118
+ if (e2.onAudit !== void 0 && l3.setAuditCallback(e2.onAudit), e2.onTelemetry !== void 0 && l3.setTelemetryCallback(e2.onTelemetry), o2.length > 0) {
119
+ for (let e3 = 0; e3 < o2.length; e3++) {
120
+ let [t3, r3, i3] = o2[e3];
121
+ try {
122
+ l3.pushTick(t3, r3, i3, a2), Mt(n2, a2, r3, i3);
123
+ } catch {
124
+ }
125
+ }
126
+ o2.length = 0;
127
+ }
128
+ c2(true), d2(Z(n2)), p2(n2.length);
129
+ })();
130
+ }), q(() => {
131
+ m2 = true, r2 !== null && (r2.free(), r2 = null), i2 !== null && (i2.free(), i2 = null);
132
+ }), {
133
+ candles: l2,
134
+ length: f2,
135
+ pushTick: (e3, t3, i3) => {
136
+ let s3 = r2;
137
+ if (s3 === null) {
138
+ o2.push([
139
+ e3,
140
+ t3,
141
+ i3
142
+ ]);
143
+ return;
144
+ }
145
+ s3.pushTick(e3, t3, i3, a2), Mt(n2, a2, t3, i3), d2(Z(n2)), p2(n2.length);
146
+ },
147
+ reset: () => {
148
+ r2 !== null && r2.reset(), n2.length = 0, o2.length = 0, d2(Z(n2)), p2(0);
149
+ },
150
+ ready: s2
151
+ };
152
+ }
153
+ var Pt = Tt(null);
154
+ function Q() {
155
+ return Et(Pt);
156
+ }
157
+ function Ft(e2) {
158
+ let t2 = Ee(), [n2, r2] = K(0), i2, a2 = null, o2 = null;
159
+ J(() => {
160
+ i2 = t2.subscribe(() => {
161
+ r2((e3) => e3 + 1), t2.selectedTime !== a2 && (a2 = t2.selectedTime, e2.onSelectionChange?.(t2.selectedTime)), t2.brush !== o2 && (o2 = t2.brush, e2.onBrushChange?.(t2.brush));
162
+ });
163
+ }), q(() => {
164
+ i2?.();
165
+ });
166
+ let s2 = {
167
+ options: G(() => Ge({
168
+ syncDomain: e2.syncDomain,
169
+ syncPanZoom: e2.syncPanZoom,
170
+ syncCrosshair: e2.syncCrosshair,
171
+ syncYScale: e2.syncYScale,
172
+ referencePoint: e2.referencePoint,
173
+ syncSelection: e2.syncSelection,
174
+ syncTooltip: e2.syncTooltip,
175
+ brush: e2.brush,
176
+ navigator: e2.navigator
177
+ })),
178
+ state: t2,
179
+ version: n2
180
+ };
181
+ return N(Pt.Provider, {
182
+ value: s2,
183
+ get children() {
184
+ return e2.children;
185
+ }
186
+ });
187
+ }
188
+ var It = /* @__PURE__ */ V(`<div role=status aria-live=polite style="position:absolute;pointer-events:none;padding:8px 11px;border-radius:6px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;line-height:1.35;white-space:nowrap;z-index:1"><div style=font-size:10.5px;letter-spacing:0.02em;text-transform:uppercase;font-weight:500;margin-bottom:2px> </div><div style=display:flex;flex-direction:column;gap:3px>`), Lt = /* @__PURE__ */ V('<div style=display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums><span aria-hidden=true style="width:9px;height:9px;border-radius:2px;display:inline-block;flex:0 0 auto"></span><span style=font-weight:500></span><span style=margin-left:auto;font-weight:600>'), $ = 12, Rt = 140, zt = 56;
189
+ function Bt(e2) {
190
+ return e2 === "light" ? {
191
+ bg: "rgb(255, 255, 255)",
192
+ fg: "rgb(20, 22, 26)",
193
+ subtleFg: "rgba(20, 22, 26, 0.56)",
194
+ border: "rgba(15, 18, 23, 0.08)",
195
+ shadow: "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)"
196
+ } : {
197
+ bg: "rgb(34, 36, 42)",
198
+ fg: "rgb(240, 242, 246)",
199
+ subtleFg: "rgba(240, 242, 246, 0.62)",
200
+ border: "rgba(255, 255, 255, 0.08)",
201
+ shadow: "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)"
202
+ };
203
+ }
204
+ function Vt(e2) {
205
+ let t2 = Bt(e2.theme), n2 = e2.seriesValues.filter((e3) => !Number.isNaN(e3.value)), r2 = e2.pointerX > e2.containerWidth - Rt, i2 = e2.pointerY > e2.containerHeight - zt, a2 = r2 ? { right: `${e2.containerWidth - e2.pointerX + $}px` } : { left: `${e2.pointerX + $}px` };
206
+ return i2 ? a2.bottom = `${e2.containerHeight - e2.pointerY + $}px` : a2.top = `${e2.pointerY + $}px`, (() => {
207
+ var r3 = It(), i3 = r3.firstChild, o2 = i3.firstChild, s2 = i3.nextSibling;
208
+ return I(i3, () => e2.formatter.formatDate(e2.t), o2), I(i3, () => e2.formatter.formatTime(e2.t), null), I(s2, N(U, {
209
+ each: n2,
210
+ children: (n3) => (() => {
211
+ var r4 = Lt(), i4 = r4.firstChild, a3 = i4.nextSibling, o3 = a3.nextSibling;
212
+ return I(a3, () => n3.label), I(o3, () => e2.formatter.formatPrice(n3.value)), F((e3) => {
213
+ var r5 = n3.color, o4 = t2.subtleFg;
214
+ return r5 !== e3.e && z(i4, "background", e3.e = r5), o4 !== e3.t && z(a3, "color", e3.t = o4), e3;
215
+ }, {
216
+ e: void 0,
217
+ t: void 0
218
+ }), r4;
219
+ })()
220
+ })), F((e3) => {
221
+ var n3 = {
222
+ ...a2,
223
+ background: t2.bg,
224
+ color: t2.fg,
225
+ border: `1px solid ${t2.border}`,
226
+ "box-shadow": t2.shadow
227
+ }, o3 = t2.subtleFg;
228
+ return e3.e = B(r3, n3, e3.e), o3 !== e3.t && z(i3, "color", e3.t = o3), e3;
229
+ }, {
230
+ e: void 0,
231
+ t: void 0
232
+ }), r3;
233
+ })();
234
+ }
235
+ var Ht = /* @__PURE__ */ V(`<div style="position:absolute;pointer-events:none;border-radius:6px;padding:6px 10px;font-size:11px;font-family:12px system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;font-variant-numeric:tabular-nums"><div style=font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:0.06em;opacity:0.7></div><div style=font-weight:600> \xB7 bar #`);
236
+ function Ut(e2) {
237
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34,36,42)" : "rgb(255,255,255)", r2 = t2 ? "rgba(255,255,255,0.94)" : "rgba(0,0,0,0.92)", i2 = t2 ? "rgba(255,255,255,0.08)" : "rgba(0,0,0,0.08)";
238
+ return (() => {
239
+ var a2 = Ht(), o2 = a2.firstChild, s2 = o2.nextSibling, c2 = s2.firstChild;
240
+ return z(a2, "background", n2), z(a2, "color", r2), z(a2, "border", `1px solid ${i2}`), z(a2, "box-shadow", t2 ? "0 4px 14px rgba(0,0,0,0.5)" : "0 4px 14px rgba(0,0,0,0.12)"), I(o2, () => e2.kind === "high" ? "High" : "Low"), I(s2, () => e2.formatter.formatPrice(e2.price), c2), I(s2, () => e2.barIdx, null), F((t3) => {
241
+ var n3 = `${e2.pointerX + 12}px`, r3 = `${e2.pointerY + 12}px`;
242
+ return n3 !== t3.e && z(a2, "left", t3.e = n3), r3 !== t3.t && z(a2, "top", t3.t = r3), t3;
243
+ }, {
244
+ e: void 0,
245
+ t: void 0
246
+ }), a2;
247
+ })();
248
+ }
249
+ function Wt(e2, t2) {
250
+ return e2 === false ? null : typeof e2 == "function" ? e2(t2) : N(Ut, t2);
251
+ }
252
+ var Gt = /* @__PURE__ */ V('<div aria-live=polite style="position:absolute;top:8px;left:50%;transform:translate(-50%, 0);pointer-events:none;z-index:2">'), Kt = /* @__PURE__ */ V('<div aria-live=polite style="position:absolute;top:8px;left:50%;transform:translate(-50%, 0);padding:5px 12px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:0.02em;white-space:nowrap;pointer-events:none;display:inline-flex;align-items:center;gap:6px;z-index:2"><span aria-hidden=true style=font-size:12px;line-height:1>\u23F8</span><span>'), qt = /* @__PURE__ */ V("<div>"), Jt = /* @__PURE__ */ V(`<div aria-live=polite role=status style="display:inline-flex;align-items:center;border-radius:999px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;font-size:10px;font-weight:600"><span>`), Yt = /* @__PURE__ */ V("<span aria-hidden=true style=width:6px;height:6px;border-radius:999px>"), Xt = /* @__PURE__ */ V('<div aria-label=Legend style="position:absolute;z-index:2;pointer-events:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:5px 9px;border-radius:6px;backdrop-filter:blur(2px);letter-spacing:0.01em;transition:opacity 0.15s ease-out">'), Zt = /* @__PURE__ */ V('<span style=display:inline-flex;align-items:center;gap:5px><span aria-hidden=true style="width:10px;height:10px;border-radius:2px;display:inline-block;flex:0 0 auto"></span><span>'), Qt = /* @__PURE__ */ V("<canvas role=img style=display:block>"), $t = /* @__PURE__ */ V("<div role=img style=position:relative;display:block><canvas aria-hidden=true></canvas><canvas aria-hidden=true>");
253
+ function en(e2, t2) {
254
+ return e2 === false ? null : typeof e2 == "function" ? e2(t2) : N(Vt, t2);
255
+ }
256
+ function tn(e2) {
257
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, c2] = K(null), [l2, u2] = K(null), [d2, f2] = K(null), [m2, h2] = K("live"), [g2, _2] = K(false), [v2, y2] = K([]), b2 = G(() => {
258
+ let e3 = t2();
259
+ return {
260
+ theme: e3.theme,
261
+ palette: e3.palette,
262
+ locale: e3.locale,
263
+ timeZone: e3.timeZone,
264
+ visualStyle: e3.visualStyle,
265
+ outlineFillColor: e3.outlineFillColor,
266
+ outlineFillOpacity: e3.outlineFillOpacity,
267
+ cornerRadius: e3.cornerRadius,
268
+ borderWidth: e3.borderWidth,
269
+ accents: e3.accents,
270
+ osTheme: e3.osTheme,
271
+ appTheme: e3.appTheme
272
+ };
273
+ });
274
+ J(() => {
275
+ p();
276
+ }), J(() => {
277
+ n2 !== void 0 && (a2 = new le({
278
+ container: i2 ?? null,
279
+ staticCanvas: n2,
280
+ dynamicCanvas: r2 ?? null,
281
+ initialProps: e2,
282
+ initialProvider: b2(),
283
+ onContextChange: c2,
284
+ onHoverChange: u2,
285
+ onExtremeHoverChange: f2,
286
+ onLiveStateChange: h2,
287
+ onReducedMotionChange: _2,
288
+ onResolvedIndicatorsChange: y2
289
+ }), typeof e2.ref == "function" && e2.ref({ onTick: (e3, t3, n3 = 0) => {
290
+ a2?.onTick(e3, t3, n3);
291
+ } }));
292
+ }), W(() => {
293
+ a2 !== null && a2.update(e2, b2());
294
+ }), q(() => {
295
+ a2 !== null && (a2.dispose(), a2 = null);
296
+ });
297
+ let x2 = (e3) => {
298
+ a2?.handlePointerMove(e3);
299
+ }, S2 = () => {
300
+ a2?.handlePointerLeave();
301
+ }, ee2 = () => {
302
+ let e3 = C2;
303
+ if (e3 === null || !e3.options().syncSelection) return;
304
+ let t3 = l2();
305
+ t3 !== null && e3.state.setSelectedTime(t3.t);
306
+ }, C2 = Q();
307
+ W(() => {
308
+ if (C2 === null || !C2.options().syncCrosshair) return;
309
+ let e3 = l2();
310
+ C2.state.setCrosshairTime(e3 === null ? null : e3.t);
311
+ }), W(() => {
312
+ C2 === null || !C2.options().syncCrosshair || l2() === null && (C2.version(), a2?.applyExternalCrosshair(C2.state.crosshairTime));
313
+ });
314
+ let w2 = G(() => e2.width ?? 800), T2 = G(() => e2.height ?? 300), te2 = G(() => e2.sparkline === true || e2.sparkline !== false && w2() < 150), E2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Line chart"), D2 = G(() => {
315
+ let t3 = l2(), n3 = o2();
316
+ if (t3 === null || n3 === null) return [];
317
+ let r3 = [], i3 = n3.personalization.palette[n3.personalization.theme], a3 = ht(se(n3.personalization.palette, n3.personalization.theme), i3, n3.series.length > 0 && s(n3.series.values, n3.series.length - 1) >= s(n3.series.values, 0)), c3 = n3.primaryColorOverride ?? M(a3);
318
+ r3.push({
319
+ id: e2.series?.[0]?.id ?? "primary",
320
+ label: e2.series?.[0]?.label ?? e2.series?.[0]?.id ?? "Price",
321
+ color: c3,
322
+ value: t3.value
323
+ });
324
+ for (let i4 = 0; i4 < n3.secondarySeriesList.length; i4++) {
325
+ let a4 = n3.secondarySeriesList[i4], o3 = e2.series?.[i4 + 1], c4 = a4.ingested.length > 0 ? dt(a4.ingested.times, t3.t) : -1, l3 = n3.stackedLayout === null ? a4.ingested.values : n3.stackedLayout.tops[i4 + 1], u4 = c4 >= 0 ? s(l3, c4) : NaN;
326
+ r3.push({
327
+ id: o3?.id ?? `series-${i4 + 1}`,
328
+ label: o3?.label ?? o3?.id ?? `Series ${i4 + 2}`,
329
+ color: a4.color,
330
+ value: u4
331
+ });
332
+ }
333
+ let u3 = v2();
334
+ if (n3.stackedLayout === null && t3.idx >= 0 && t3.idx < n3.series.length) for (let e3 = 0; e3 < u3.length; e3++) {
335
+ let n4 = u3[e3];
336
+ if (n4.kind === "single") {
337
+ let i4 = "";
338
+ switch (n4.spec.type) {
339
+ case "sma":
340
+ i4 = `SMA(${n4.spec.period})`;
341
+ break;
342
+ case "ema":
343
+ i4 = `EMA(${n4.spec.period})`;
344
+ break;
345
+ case "wma":
346
+ i4 = `WMA(${n4.spec.period})`;
347
+ break;
348
+ }
349
+ if (i4 === "") continue;
350
+ r3.push({
351
+ id: `${i4}-${e3}`,
352
+ label: i4,
353
+ color: n4.color,
354
+ value: s(n4.values, t3.idx)
355
+ });
356
+ } else {
357
+ let i4 = n4.spec.period, a4 = n4.spec.multiplier;
358
+ r3.push({
359
+ id: `bb-upper-${e3}`,
360
+ label: `BB Upper(${i4}, ${a4})`,
361
+ color: n4.color,
362
+ value: s(n4.upper, t3.idx)
363
+ }), r3.push({
364
+ id: `bb-mid-${e3}`,
365
+ label: `BB Mid(${i4}, ${a4})`,
366
+ color: n4.color,
367
+ value: s(n4.middle, t3.idx)
368
+ }), r3.push({
369
+ id: `bb-lower-${e3}`,
370
+ label: `BB Lower(${i4}, ${a4})`,
371
+ color: n4.color,
372
+ value: s(n4.lower, t3.idx)
373
+ });
374
+ }
375
+ }
376
+ return r3;
377
+ }), ne2 = G(() => {
378
+ let t3 = l2(), n3 = o2();
379
+ return t3 === null || n3 === null ? null : en(e2.tooltip, {
380
+ t: t3.t,
381
+ value: t3.value,
382
+ idx: t3.idx,
383
+ seriesValues: D2(),
384
+ pointerX: t3.pointerX,
385
+ pointerY: t3.pointerY,
386
+ containerWidth: w2(),
387
+ containerHeight: T2(),
388
+ theme: n3.personalization.theme,
389
+ palette: n3.personalization.palette,
390
+ locale: n3.resolvedLocaleBase,
391
+ timeZone: n3.resolvedTimeZone,
392
+ formatter: n3.formatter
393
+ });
394
+ }), re2 = G(() => {
395
+ let t3 = d2(), n3 = o2();
396
+ return t3 === null || n3 === null ? null : Wt(e2.extremeTooltip, {
397
+ kind: t3.kind,
398
+ barIdx: t3.idx,
399
+ price: t3.price,
400
+ t: t3.t,
401
+ pointerX: t3.pointerX,
402
+ pointerY: t3.pointerY,
403
+ containerWidth: w2(),
404
+ containerHeight: T2(),
405
+ theme: n3.personalization.theme,
406
+ palette: n3.personalization.palette,
407
+ locale: n3.resolvedLocaleBase,
408
+ timeZone: n3.resolvedTimeZone,
409
+ formatter: n3.formatter
410
+ });
411
+ }), O2 = G(() => {
412
+ let e3 = o2(), t3 = m2() !== "live", n3 = e3 !== null && t3 && (e3.personalization.staleVisualization === "desaturate-pulse" || e3.personalization.staleVisualization === "desaturate-pulse + banner"), r3 = {
413
+ position: "absolute",
414
+ inset: "0",
415
+ width: "100%",
416
+ height: "100%"
417
+ };
418
+ if (!n3) return {
419
+ staticStyle: r3,
420
+ dynamicStyle: {
421
+ ...r3,
422
+ "pointer-events": "none"
423
+ }
424
+ };
425
+ let i3 = {
426
+ filter: "saturate(0.5)",
427
+ ...g2() ? { opacity: "0.9" } : { animation: "tickyr-stale-pulse 1.2s ease-in-out infinite" }
428
+ };
429
+ return {
430
+ staticStyle: {
431
+ ...r3,
432
+ ...i3
433
+ },
434
+ dynamicStyle: {
435
+ ...r3,
436
+ "pointer-events": "none",
437
+ ...i3
438
+ }
439
+ };
440
+ }), ie2 = G(() => {
441
+ let e3 = o2();
442
+ return e3 === null ? false : m2() !== "live" && (e3.personalization.staleVisualization === "banner" || e3.personalization.staleVisualization === "desaturate-pulse + banner");
443
+ }), ae2 = G(() => {
444
+ if (!ie2() || e2.staleBanner === false) return null;
445
+ let t3 = o2();
446
+ if (t3 === null) return null;
447
+ let n3 = t3.personalization.palette[t3.personalization.theme], r3 = M(n3.warn, 1), i3 = e2.chartBgColor ?? (t3.personalization.theme === "dark" ? "#0c0d0e" : "#fafafa"), a3 = m2(), s2 = a3 === "disconnected" ? "Connection lost" : "Live data paused", c3 = g2() ? void 0 : "tickyr-stale-banner-in 0.3s ease-out";
448
+ if (typeof e2.staleBanner == "function") {
449
+ let n4 = e2.staleBanner({
450
+ state: a3,
451
+ liveSince: e2.liveSince,
452
+ theme: t3.personalization.theme,
453
+ palette: t3.personalization.palette
454
+ });
455
+ return (() => {
456
+ var e3 = Gt();
457
+ return I(e3, n4), F((t4) => B(e3, { ...c3 === void 0 ? {} : { animation: c3 } }, t4)), e3;
458
+ })();
459
+ }
460
+ return (() => {
461
+ var e3 = Kt(), n4 = e3.firstChild.nextSibling;
462
+ return I(n4, s2), F((n5) => B(e3, {
463
+ background: r3,
464
+ color: i3,
465
+ "font-family": fe,
466
+ "box-shadow": t3.personalization.theme === "dark" ? "0 2px 8px rgba(0,0,0,0.4)" : "0 2px 8px rgba(0,0,0,0.15)",
467
+ ...c3 === void 0 ? {} : { animation: c3 }
468
+ }, n5)), e3;
469
+ })();
470
+ }), k2 = G(() => typeof e2.connectionIndicator == "function" ? e2.connectionIndicator : void 0), A2 = G(() => {
471
+ let t3 = o2();
472
+ if (t3 === null) return null;
473
+ let n3 = t3.personalization, r3 = k2(), i3 = n3.connectionIndicator;
474
+ if (r3 === void 0 && i3 === "off") return null;
475
+ let a3 = n3.legendPosition, s2 = a3 === "top-left" || a3 === "bottom-left", c3 = {
476
+ position: "absolute",
477
+ "pointer-events": "none",
478
+ "z-index": "3",
479
+ ...a3 === "top-left" || a3 === "top-right" ? { top: "4px" } : { bottom: "4px" },
480
+ ...s2 ? { left: "4px" } : { right: "4px" }
481
+ };
482
+ if (r3 !== void 0) return (() => {
483
+ var t4 = qt();
484
+ return I(t4, () => r3({
485
+ state: m2(),
486
+ liveSince: e2.liveSince,
487
+ position: a3,
488
+ theme: n3.theme,
489
+ palette: n3.palette
490
+ })), F((e3) => B(t4, c3, e3)), t4;
491
+ })();
492
+ let l3 = n3.palette[n3.theme], u3 = m2(), d3 = M(u3 === "live" ? l3.up : u3 === "stale" ? l3.warn : l3.down, 1), f3 = n3.theme === "dark" ? "#0c0d0e" : "#fafafa", p2 = u3 === "live" ? "live" : u3 === "stale" ? "stale" : "offline", h3 = n3.visualStyle === "Outline", _3 = i3 === "dot";
493
+ return (() => {
494
+ var e3 = Jt(), t4 = e3.firstChild;
495
+ return I(e3, _3 && (() => {
496
+ var e4 = Yt();
497
+ return z(e4, "background", h3 ? d3 : f3), e4;
498
+ })(), t4), I(t4, p2), F((t5) => B(e3, {
499
+ ...c3,
500
+ gap: _3 ? "5px" : "0",
501
+ padding: _3 ? "0 7px" : "0 10px",
502
+ height: _3 ? "18px" : "22px",
503
+ ...h3 ? {
504
+ background: f3,
505
+ color: d3,
506
+ border: `${_3 ? 1 : 1.4}px solid ${d3}`
507
+ } : {
508
+ background: d3,
509
+ color: f3,
510
+ border: "none"
511
+ },
512
+ ...u3 !== "live" && !g2() ? { animation: "tickyr-stale-pulse 1s ease-in-out infinite" } : {}
513
+ }, t5)), e3;
514
+ })();
515
+ }), oe2 = G(() => {
516
+ let t3 = o2();
517
+ if (t3 === null) return null;
518
+ let n3 = t3.personalization;
519
+ if (n3.legend === "off") return null;
520
+ let r3 = n3.palette[n3.theme], i3 = [];
521
+ if (e2.series !== void 0 && e2.series.length > 0) {
522
+ let t4 = e2.series[0], n4 = r3.categorical[0];
523
+ i3.push({
524
+ id: t4.id,
525
+ label: t4.label ?? t4.id,
526
+ color: t4.color ?? M(n4)
527
+ });
528
+ }
529
+ for (let n4 = 0; n4 < t3.secondarySeriesList.length; n4++) {
530
+ let r4 = t3.secondarySeriesList[n4], a4 = e2.series?.[n4 + 1];
531
+ i3.push({
532
+ id: a4?.id ?? `series-${n4 + 1}`,
533
+ label: a4?.label ?? a4?.id ?? `Series ${n4 + 2}`,
534
+ color: r4.color
535
+ });
536
+ }
537
+ let a3 = v2();
538
+ for (let e3 = 0; e3 < a3.length; e3++) {
539
+ let t4 = a3[e3], n4;
540
+ switch (t4.spec.type) {
541
+ case "sma":
542
+ n4 = `SMA(${t4.spec.period})`;
543
+ break;
544
+ case "ema":
545
+ n4 = `EMA(${t4.spec.period})`;
546
+ break;
547
+ case "wma":
548
+ n4 = `WMA(${t4.spec.period})`;
549
+ break;
550
+ case "bollinger":
551
+ n4 = `BB(${t4.spec.period}, ${t4.spec.multiplier})`;
552
+ break;
553
+ }
554
+ i3.push({
555
+ id: `${t4.spec.type}-${e3}`,
556
+ label: n4,
557
+ color: t4.color
558
+ });
559
+ }
560
+ if (i3.length === 0) return null;
561
+ let s2 = n3.legendPosition === "top-left" || n3.legendPosition === "bottom-left", c3 = n3.legendPosition === "top-left" || n3.legendPosition === "top-right", u3 = n3.connectionIndicator !== "off" || k2() !== void 0, f3 = c3 && u3 ? "30px" : "4px", p2 = n3.legend !== "on-hover" || l2() !== null || d2() !== null, m3 = n3.theme === "dark" ? "rgba(20,21,23,0.78)" : "rgba(250,250,250,0.78)", h3 = M(r3.neutral, 0.92);
562
+ return (() => {
563
+ var e3 = Xt();
564
+ return I(e3, N(U, {
565
+ each: i3,
566
+ children: (e4) => (() => {
567
+ var t4 = Zt(), n4 = t4.firstChild, r4 = n4.nextSibling;
568
+ return I(r4, () => e4.label), F((t5) => z(n4, "background", e4.color)), t4;
569
+ })()
570
+ })), F((t4) => B(e3, {
571
+ background: m3,
572
+ font: `500 11px/1.1 ${fe}`,
573
+ color: h3,
574
+ opacity: p2 ? "1" : "0",
575
+ ...c3 ? { top: f3 } : { bottom: f3 },
576
+ ...s2 ? { left: "4px" } : { right: "4px" }
577
+ }, t4)), e3;
578
+ })();
579
+ });
580
+ return L(() => L(() => !!te2())() ? (() => {
581
+ var e3 = Qt();
582
+ return H((e4) => n2 = e4, e3), F((t3) => {
583
+ var n3 = E2(), r3 = `${w2()}px`, i3 = `${T2()}px`;
584
+ return n3 !== t3.e && R(e3, "aria-label", t3.e = n3), r3 !== t3.t && z(e3, "width", t3.t = r3), i3 !== t3.a && z(e3, "height", t3.a = i3), t3;
585
+ }, {
586
+ e: void 0,
587
+ t: void 0,
588
+ a: void 0
589
+ }), e3;
590
+ })() : (() => {
591
+ var e3 = $t(), t3 = e3.firstChild, a3 = t3.nextSibling;
592
+ return e3.$$click = ee2, e3.addEventListener("pointerleave", S2), e3.$$pointermove = x2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, A2, null), I(e3, ae2, null), I(e3, oe2, null), I(e3, ne2, null), I(e3, re2, null), F((n3) => {
593
+ var r3 = E2(), i3 = `${w2()}px`, o3 = `${T2()}px`, s2 = O2().staticStyle, c3 = O2().dynamicStyle;
594
+ return r3 !== n3.e && R(e3, "aria-label", n3.e = r3), i3 !== n3.t && z(e3, "width", n3.t = i3), o3 !== n3.a && z(e3, "height", n3.a = o3), n3.o = B(t3, s2, n3.o), n3.i = B(a3, c3, n3.i), n3;
595
+ }, {
596
+ e: void 0,
597
+ t: void 0,
598
+ a: void 0,
599
+ o: void 0,
600
+ i: void 0
601
+ }), e3;
602
+ })());
603
+ }
604
+ P(["pointermove", "click"]);
605
+ var nn = "min", rn = "flat", an = 0.6;
606
+ function on(e2) {
607
+ let t2 = X(), n2 = G(() => e2.baseline ?? nn), r2 = G(() => e2.fillType ?? rn), i2 = G(() => e2.fillOpacity ?? an), a2 = G(() => e2.stacked === true ? "additive" : e2.stacked === "normalized" ? "normalized" : false), o2 = G(() => {
608
+ let n3 = t2();
609
+ return je({
610
+ theme: e2.theme ?? n3.theme,
611
+ palette: e2.palette ?? n3.palette,
612
+ osTheme: n3.osTheme,
613
+ appTheme: n3.appTheme,
614
+ visualStyle: e2.visualStyle ?? n3.visualStyle
615
+ });
616
+ }), s2 = G(() => {
617
+ let e3 = o2();
618
+ return e3.palette[e3.theme];
619
+ }), c2 = G(() => {
620
+ let t3 = e2.thresholdFill;
621
+ if (t3 === false || t3 === void 0) return;
622
+ let n3 = t3 === true ? {} : t3, r3 = s2(), i3 = n3.aboveColor ?? M(r3.up), a3 = n3.belowColor ?? M(r3.down);
623
+ return {
624
+ value: n3.value,
625
+ aboveColor: i3,
626
+ belowColor: a3
627
+ };
628
+ }), l2 = G(() => {
629
+ let e3 = {
630
+ baseline: n2(),
631
+ fillType: r2(),
632
+ fillOpacity: i2()
633
+ }, t3 = c2();
634
+ t3 !== void 0 && (e3.threshold = t3);
635
+ let o3 = a2();
636
+ return o3 !== false && (e3.stacked = o3), e3;
637
+ });
638
+ return N(tn, wt(e2, {
639
+ get ariaLabel() {
640
+ return e2.ariaLabel ?? "Area chart";
641
+ },
642
+ get areaFill() {
643
+ return l2();
644
+ }
645
+ }));
646
+ }
647
+ var sn = /* @__PURE__ */ V("<div role=presentation>"), cn = /* @__PURE__ */ V('<span style=display:inline-flex;align-items:center;gap:5px><span aria-hidden=true style="width:10px;height:10px;border-radius:2px;display:inline-block;flex:0 0 auto"></span><span>'), ln = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block>"), un = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>");
648
+ function dn(e2) {
649
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, c2] = K(null), [l2, u2] = K(null), d2 = G(() => {
650
+ let e3 = t2();
651
+ return {
652
+ theme: e3.theme,
653
+ palette: e3.palette,
654
+ locale: e3.locale,
655
+ timeZone: e3.timeZone,
656
+ visualStyle: e3.visualStyle,
657
+ outlineFillColor: e3.outlineFillColor,
658
+ outlineFillOpacity: e3.outlineFillOpacity,
659
+ cornerRadius: e3.cornerRadius,
660
+ borderWidth: e3.borderWidth,
661
+ accents: e3.accents,
662
+ osTheme: e3.osTheme,
663
+ appTheme: e3.appTheme
664
+ };
665
+ });
666
+ J(() => {
667
+ n2 !== void 0 && (a2 = new j({
668
+ container: i2 ?? null,
669
+ staticCanvas: n2,
670
+ dynamicCanvas: r2 ?? null,
671
+ initialProps: e2,
672
+ initialProvider: d2(),
673
+ onContextChange: c2,
674
+ onHoverChange: u2
675
+ }));
676
+ }), W(() => {
677
+ a2 !== null && a2.update(e2, d2());
678
+ }), q(() => {
679
+ a2 !== null && (a2.dispose(), a2 = null);
680
+ });
681
+ let f2 = (e3) => {
682
+ a2?.handlePointerMove(e3);
683
+ }, p2 = () => {
684
+ a2?.handlePointerLeave();
685
+ }, m2 = G(() => e2.width ?? 800), h2 = G(() => e2.height ?? 300), g2 = G(() => e2.sparkline === true || e2.sparkline !== false && m2() < 150), _2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Bar chart"), v2 = G(() => {
686
+ let t3 = l2(), n3 = o2();
687
+ if (t3 === null || n3 === null) return [];
688
+ let r3 = [], i3 = n3.personalization.palette[n3.personalization.theme], a3 = n3.primaryColor ?? M(t3.value >= 0 ? i3.up : i3.down, 1);
689
+ r3.push({
690
+ id: e2.series?.[0]?.id ?? "primary",
691
+ label: e2.series?.[0]?.label ?? e2.series?.[0]?.id ?? "Value",
692
+ color: a3,
693
+ value: t3.value
694
+ });
695
+ for (let i4 = 0; i4 < n3.secondarySeriesList.length; i4++) {
696
+ let a4 = n3.secondarySeriesList[i4], o3 = e2.series?.[i4 + 1], c3 = a4.ingested.length > 0 ? dt(a4.ingested.times, t3.t) : -1, l3 = c3 >= 0 ? s(a4.ingested.values, c3) : NaN;
697
+ r3.push({
698
+ id: o3?.id ?? `series-${i4 + 1}`,
699
+ label: o3?.label ?? o3?.id ?? `Series ${i4 + 2}`,
700
+ color: a4.color,
701
+ value: l3
702
+ });
703
+ }
704
+ return r3;
705
+ }), y2 = G(() => {
706
+ let t3 = o2();
707
+ if (t3 === null || e2.series === void 0 || e2.series.length < 2) return [];
708
+ let n3 = t3.personalization.palette[t3.personalization.theme], r3 = [], i3 = e2.series[0], a3 = t3.primaryColor ?? M(n3.up, 1);
709
+ r3.push({
710
+ color: a3,
711
+ label: i3.label ?? i3.id
712
+ });
713
+ for (let n4 = 0; n4 < t3.secondarySeriesList.length; n4++) {
714
+ let i4 = t3.secondarySeriesList[n4], a4 = e2.series[n4 + 1];
715
+ r3.push({
716
+ color: i4.color,
717
+ label: a4.label ?? a4.id
718
+ });
719
+ }
720
+ return r3;
721
+ }), b2 = G(() => {
722
+ let e3 = o2(), t3 = y2();
723
+ if (e3 === null || t3.length === 0) return null;
724
+ let n3 = e3.personalization, r3 = n3.legend, i3 = n3.legendPosition;
725
+ if (r3 === "off") return null;
726
+ let a3 = r3 === "on-hover" && l2() !== null;
727
+ if (r3 !== "always" && !a3) return null;
728
+ let s2 = {
729
+ position: "absolute",
730
+ ...i3 === "top-left" || i3 === "top-right" ? { top: "6px" } : { bottom: "6px" },
731
+ ...i3 === "top-left" || i3 === "bottom-left" ? { left: "8px" } : { right: "8px" },
732
+ "pointer-events": "none",
733
+ display: "flex",
734
+ gap: "12px",
735
+ "align-items": "center",
736
+ padding: "4px 8px",
737
+ background: n3.theme === "dark" ? "rgba(34,36,42,0.85)" : "rgba(255,255,255,0.85)",
738
+ border: `1px solid ${n3.theme === "dark" ? "rgba(255,255,255,0.08)" : "rgba(15,18,23,0.08)"}`,
739
+ "border-radius": "6px",
740
+ "font-size": "11px",
741
+ "font-family": "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",
742
+ color: n3.theme === "dark" ? "rgb(240,242,246)" : "rgb(20,22,26)"
743
+ };
744
+ return (() => {
745
+ var e4 = sn();
746
+ return I(e4, N(U, {
747
+ each: t3,
748
+ children: (e5) => (() => {
749
+ var t4 = cn(), n4 = t4.firstChild, r4 = n4.nextSibling;
750
+ return I(r4, () => e5.label), F((t5) => z(n4, "background", e5.color)), t4;
751
+ })()
752
+ })), F((t4) => B(e4, s2, t4)), e4;
753
+ })();
754
+ }), x2 = G(() => {
755
+ let t3 = l2(), n3 = o2();
756
+ if (t3 === null || n3 === null) return null;
757
+ let r3 = {
758
+ t: t3.t,
759
+ idx: t3.idx,
760
+ seriesValues: v2(),
761
+ pointerX: t3.pointerX,
762
+ pointerY: t3.pointerY,
763
+ containerWidth: m2(),
764
+ containerHeight: h2(),
765
+ theme: n3.personalization.theme,
766
+ palette: n3.personalization.palette,
767
+ locale: n3.resolvedLocaleBase,
768
+ timeZone: n3.resolvedTimeZone,
769
+ formatter: n3.formatter
770
+ };
771
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : N(Vt, {
772
+ get t() {
773
+ return t3.t;
774
+ },
775
+ get value() {
776
+ return t3.value;
777
+ },
778
+ get idx() {
779
+ return t3.idx;
780
+ },
781
+ get seriesValues() {
782
+ return v2();
783
+ },
784
+ get pointerX() {
785
+ return t3.pointerX;
786
+ },
787
+ get pointerY() {
788
+ return t3.pointerY;
789
+ },
790
+ get containerWidth() {
791
+ return m2();
792
+ },
793
+ get containerHeight() {
794
+ return h2();
795
+ },
796
+ get theme() {
797
+ return n3.personalization.theme;
798
+ },
799
+ get palette() {
800
+ return n3.personalization.palette;
801
+ },
802
+ get locale() {
803
+ return n3.resolvedLocaleBase;
804
+ },
805
+ get timeZone() {
806
+ return n3.resolvedTimeZone;
807
+ },
808
+ get formatter() {
809
+ return n3.formatter;
810
+ }
811
+ });
812
+ });
813
+ return L(() => L(() => !!g2())() ? (() => {
814
+ var e3 = ln(), t3 = e3.firstChild;
815
+ return H((e4) => n2 = e4, t3), F((n3) => {
816
+ var r3 = `${m2()}px`, i3 = `${h2()}px`, a3 = _2(), o3 = `${m2()}px`, s2 = `${h2()}px`;
817
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), a3 !== n3.a && R(e3, "aria-label", n3.a = a3), o3 !== n3.o && z(t3, "width", n3.o = o3), s2 !== n3.i && z(t3, "height", n3.i = s2), n3;
818
+ }, {
819
+ e: void 0,
820
+ t: void 0,
821
+ a: void 0,
822
+ o: void 0,
823
+ i: void 0
824
+ }), e3;
825
+ })() : (() => {
826
+ var e3 = un(), t3 = e3.firstChild, a3 = t3.nextSibling;
827
+ return e3.addEventListener("pointerleave", p2), e3.$$pointermove = f2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, b2, null), I(e3, x2, null), F((n3) => {
828
+ var r3 = `${m2()}px`, i3 = `${h2()}px`, o3 = _2(), s2 = `${m2()}px`, c3 = `${h2()}px`, l3 = `${m2()}px`, u3 = `${h2()}px`;
829
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s2 !== n3.o && z(t3, "width", n3.o = s2), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
830
+ }, {
831
+ e: void 0,
832
+ t: void 0,
833
+ a: void 0,
834
+ o: void 0,
835
+ i: void 0,
836
+ n: void 0,
837
+ s: void 0
838
+ }), e3;
839
+ })());
840
+ }
841
+ P(["pointermove"]);
842
+ var fn = /* @__PURE__ */ V(`<div role=status aria-live=polite style="position:absolute;pointer-events:none;padding:8px 11px;border-radius:6px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;line-height:1.35;white-space:nowrap;z-index:1;min-width:160px"><div style=font-size:10.5px;letter-spacing:0.02em;text-transform:uppercase;font-weight:500;margin-bottom:4px> </div><div style="display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;font-variant-numeric:tabular-nums"><span style=font-weight:500>O</span><span style=text-align:right;font-weight:600></span><span style=font-weight:500>H</span><span style=text-align:right;font-weight:600></span><span style=font-weight:500>L</span><span style=text-align:right;font-weight:600></span><span style=font-weight:500>C</span><span style=text-align:right;font-weight:600></span></div><div style=margin-top:4px;padding-top:4px;font-weight:500;display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums><span>\u0394</span><span style=font-weight:600> (<!>%)`), pn = 12, mn = 180, hn = 124;
843
+ function gn(e2, t2) {
844
+ return e2 === "light" ? {
845
+ bg: "rgb(255, 255, 255)",
846
+ fg: "rgb(20, 22, 26)",
847
+ subtleFg: "rgba(20, 22, 26, 0.56)",
848
+ border: "rgba(15, 18, 23, 0.08)",
849
+ shadow: "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)",
850
+ upFg: "rgb(20, 22, 26)",
851
+ downFg: "rgb(20, 22, 26)"
852
+ } : {
853
+ bg: "rgb(34, 36, 42)",
854
+ fg: "rgb(240, 242, 246)",
855
+ subtleFg: "rgba(240, 242, 246, 0.62)",
856
+ border: "rgba(255, 255, 255, 0.08)",
857
+ shadow: "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)",
858
+ upFg: "rgb(240, 242, 246)",
859
+ downFg: "rgb(240, 242, 246)"
860
+ };
861
+ }
862
+ function _n(e2) {
863
+ let t2 = gn(e2.theme, e2.palette), n2 = e2.pointerX > e2.containerWidth - mn, r2 = e2.pointerY > e2.containerHeight - hn, i2 = n2 ? { right: `${e2.containerWidth - e2.pointerX + pn}px` } : { left: `${e2.pointerX + pn}px` };
864
+ r2 ? i2.bottom = `${e2.containerHeight - e2.pointerY + pn}px` : i2.top = `${e2.pointerY + pn}px`;
865
+ let a2 = e2.c - e2.o, o2 = Math.abs(a2), s2 = e2.o === 0 ? 0 : a2 / e2.o * 100, c2 = e2.direction === "up" ? t2.upFg : e2.direction === "down" ? t2.downFg : t2.subtleFg, l2 = a2 > 0 ? "+" : a2 < 0 ? "\u2212" : "";
866
+ return (() => {
867
+ var n3 = fn(), r3 = n3.firstChild, a3 = r3.firstChild, u2 = r3.nextSibling, d2 = u2.firstChild, f2 = d2.nextSibling, p2 = f2.nextSibling, m2 = p2.nextSibling, h2 = m2.nextSibling, g2 = h2.nextSibling, _2 = g2.nextSibling, v2 = _2.nextSibling, y2 = u2.nextSibling, b2 = y2.firstChild.nextSibling, x2 = b2.firstChild, S2 = x2.nextSibling;
868
+ return S2.nextSibling, I(r3, () => e2.formatter.formatDate(e2.t), a3), I(r3, () => e2.formatter.formatTime(e2.t), null), I(f2, () => e2.formatter.formatPrice(e2.o)), I(m2, () => e2.formatter.formatPrice(e2.h)), I(g2, () => e2.formatter.formatPrice(e2.l)), z(v2, "color", c2), I(v2, () => e2.formatter.formatPrice(e2.c)), z(b2, "color", c2), I(b2, l2, x2), I(b2, () => e2.formatter.formatPrice(o2), x2), I(b2, l2, S2), I(b2, () => Math.abs(s2).toFixed(2), S2), F((e3) => {
869
+ var a4 = {
870
+ ...i2,
871
+ background: t2.bg,
872
+ color: t2.fg,
873
+ border: `1px solid ${t2.border}`,
874
+ "box-shadow": t2.shadow
875
+ }, o3 = t2.subtleFg, s3 = t2.subtleFg, c3 = t2.subtleFg, l3 = t2.subtleFg, u3 = t2.subtleFg, f3 = `1px solid ${t2.border}`, m3 = t2.subtleFg;
876
+ return e3.e = B(n3, a4, e3.e), o3 !== e3.t && z(r3, "color", e3.t = o3), s3 !== e3.a && z(d2, "color", e3.a = s3), c3 !== e3.o && z(p2, "color", e3.o = c3), l3 !== e3.i && z(h2, "color", e3.i = l3), u3 !== e3.n && z(_2, "color", e3.n = u3), f3 !== e3.s && z(y2, "border-top", e3.s = f3), m3 !== e3.h && z(y2, "color", e3.h = m3), e3;
877
+ }, {
878
+ e: void 0,
879
+ t: void 0,
880
+ a: void 0,
881
+ o: void 0,
882
+ i: void 0,
883
+ n: void 0,
884
+ s: void 0,
885
+ h: void 0
886
+ }), n3;
887
+ })();
888
+ }
889
+ var vn = /* @__PURE__ */ V(`<div role=status aria-live=polite style="position:absolute;pointer-events:none;padding:8px 11px;border-radius:6px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;line-height:1.35;white-space:nowrap;z-index:1;min-width:160px"><div style=font-size:10.5px;letter-spacing:0.02em;text-transform:uppercase;font-weight:500;margin-bottom:4px> </div><div style="display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;font-variant-numeric:tabular-nums"><span style=font-weight:500>Volume</span><span style=text-align:right;font-weight:600></span><span style=font-weight:500>20-bar avg</span><span style=text-align:right;font-weight:600></span></div><div style=margin-top:4px;padding-top:4px;font-weight:500;display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums><span>vs. avg</span><span style=font-weight:600>% \xB7 p`), yn = 12, bn = 180, xn = 96;
890
+ function Sn(e2) {
891
+ return e2 === "light" ? {
892
+ bg: "rgb(255, 255, 255)",
893
+ fg: "rgb(20, 22, 26)",
894
+ subtleFg: "rgba(20, 22, 26, 0.56)",
895
+ border: "rgba(15, 18, 23, 0.08)",
896
+ shadow: "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)"
897
+ } : {
898
+ bg: "rgb(34, 36, 42)",
899
+ fg: "rgb(240, 242, 246)",
900
+ subtleFg: "rgba(240, 242, 246, 0.62)",
901
+ border: "rgba(255, 255, 255, 0.08)",
902
+ shadow: "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)"
903
+ };
904
+ }
905
+ function Cn(e2) {
906
+ let t2 = Sn(e2.theme), n2 = e2.pointerX > e2.containerWidth - bn, r2 = e2.pointerY > e2.containerHeight - xn, i2 = n2 ? { right: `${e2.containerWidth - e2.pointerX + yn}px` } : { left: `${e2.pointerX + yn}px` };
907
+ r2 ? i2.bottom = `${e2.containerHeight - e2.pointerY + yn}px` : i2.top = `${e2.pointerY + yn}px`;
908
+ let a2 = e2.avg20 > 0 ? e2.bar.v / e2.avg20 : 1, o2 = ((a2 - 1) * 100).toFixed(0), s2 = a2 > 1 ? "+" : a2 < 1 ? "\u2212" : "", c2 = Math.abs(Number(o2));
909
+ return (() => {
910
+ var n3 = vn(), r3 = n3.firstChild, a3 = r3.firstChild, o3 = r3.nextSibling, l2 = o3.firstChild, u2 = l2.nextSibling, d2 = u2.nextSibling, f2 = d2.nextSibling, p2 = o3.nextSibling, m2 = p2.firstChild.nextSibling, h2 = m2.firstChild;
911
+ return I(r3, () => e2.formatter.formatDate(e2.bar.t), a3), I(r3, () => e2.formatter.formatTime(e2.bar.t), null), I(u2, () => e2.formatter.formatNumber(e2.bar.v)), I(f2, () => e2.formatter.formatNumber(e2.avg20)), I(m2, s2, h2), I(m2, c2, h2), I(m2, () => Math.round(e2.percentile * 100), null), F((e3) => {
912
+ var a4 = {
913
+ ...i2,
914
+ background: t2.bg,
915
+ color: t2.fg,
916
+ border: `1px solid ${t2.border}`,
917
+ "box-shadow": t2.shadow
918
+ }, o4 = t2.subtleFg, s3 = t2.subtleFg, c3 = t2.subtleFg, u3 = `1px solid ${t2.border}`, f3 = t2.subtleFg;
919
+ return e3.e = B(n3, a4, e3.e), o4 !== e3.t && z(r3, "color", e3.t = o4), s3 !== e3.a && z(l2, "color", e3.a = s3), c3 !== e3.o && z(d2, "color", e3.o = c3), u3 !== e3.i && z(p2, "border-top", e3.i = u3), f3 !== e3.n && z(p2, "color", e3.n = f3), e3;
920
+ }, {
921
+ e: void 0,
922
+ t: void 0,
923
+ a: void 0,
924
+ o: void 0,
925
+ i: void 0,
926
+ n: void 0
927
+ }), n3;
928
+ })();
929
+ }
930
+ var wn = /* @__PURE__ */ V("<div style=position:absolute;pointer-events:none;z-index:3>"), Tn = /* @__PURE__ */ V("<div>"), En = /* @__PURE__ */ V(`<div aria-live=polite role=status aria-label="Connection status"style="display:inline-flex;align-items:center;border-radius:999px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;font-size:10px;font-weight:600"><span>`), Dn = /* @__PURE__ */ V("<span aria-hidden=true style=width:6px;height:6px;border-radius:999px>"), On = /* @__PURE__ */ V('<div aria-live=polite style="position:absolute;top:8px;left:50%;transform:translate(-50%, 0);pointer-events:none;z-index:2">'), kn = /* @__PURE__ */ V(`<div aria-live=polite role=status style="position:absolute;top:8px;left:50%;transform:translate(-50%, 0);pointer-events:none;z-index:2"><div style="display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;font-size:12px;font-weight:500;letter-spacing:0.2px"><span aria-hidden=true style=display:inline-flex;align-items:center><svg width=10 height=10 viewBox="0 0 10 10"fill=currentColor><rect x=2 y=1.5 width=2 height=7 rx=0.5></rect><rect x=6 y=1.5 width=2 height=7 rx=0.5></rect></svg></span><span>`), An = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block>"), jn = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>");
931
+ function Mn(e2) {
932
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, c2] = K(null), [l2, u2] = K(null), [d2, f2] = K(null), [p2, m2] = K("live"), [h2, g2] = K(false), [_2, v2] = K(false), [y2, b2] = K(void 0), [x2, S2] = K(void 0), [ee2, C2] = K(null), [w2, T2] = K(0), [te2, E2] = K(false), D2 = G(() => {
933
+ let e3 = t2();
934
+ return {
935
+ theme: e3.theme,
936
+ palette: e3.palette,
937
+ locale: e3.locale,
938
+ timeZone: e3.timeZone,
939
+ visualStyle: e3.visualStyle,
940
+ outlineFillColor: e3.outlineFillColor,
941
+ outlineFillOpacity: e3.outlineFillOpacity,
942
+ cornerRadius: e3.cornerRadius,
943
+ borderWidth: e3.borderWidth,
944
+ accents: e3.accents,
945
+ osTheme: e3.osTheme,
946
+ appTheme: e3.appTheme
947
+ };
948
+ });
949
+ J(() => {
950
+ n2 !== void 0 && (a2 = new xt({
951
+ container: i2 ?? null,
952
+ staticCanvas: n2,
953
+ dynamicCanvas: r2 ?? null,
954
+ initialProps: e2,
955
+ initialProvider: D2(),
956
+ onContextChange: c2,
957
+ onHoverChange: u2,
958
+ onExtremeHoverChange: f2,
959
+ onLiveStateChange: m2,
960
+ onReducedMotionChange: g2,
961
+ onArmedToolChange: v2,
962
+ onSelectedDrawingIdChange: b2,
963
+ onHoverDrawingIdChange: S2,
964
+ onMarkerHoverChange: C2,
965
+ onThemeFadeKeyChange: T2,
966
+ onOverDividerChange: E2
967
+ }), typeof e2.ref == "function" && e2.ref({ onTick: (e3, t3, n3 = 0) => {
968
+ a2?.onTick(e3, t3, n3);
969
+ } }));
970
+ }), W(() => {
971
+ a2 !== null && a2.update(e2, D2());
972
+ }), W(() => {
973
+ if (w2() === 0 || n2 === void 0 || h2()) return;
974
+ let e3 = n2;
975
+ e3.style.animation = "none", e3.offsetWidth, e3.style.animation = "tickyr-theme-fade 200ms ease-out";
976
+ }), q(() => {
977
+ a2 !== null && (a2.dispose(), a2 = null);
978
+ });
979
+ let ne2 = (e3) => {
980
+ a2?.handlePointerMove(e3);
981
+ }, re2 = () => {
982
+ a2?.handlePointerLeave();
983
+ }, O2 = (e3) => {
984
+ a2?.handlePointerDown(e3);
985
+ }, ie2 = (e3) => {
986
+ a2?.handlePointerUp(e3);
987
+ }, ae2 = (e3) => {
988
+ a2?.handleWheel(e3);
989
+ }, k2 = G(() => e2.width ?? 800), A2 = G(() => e2.height ?? 360), oe2 = G(() => e2.sparkline === true || e2.sparkline !== false && k2() < 150), se2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Candle chart"), ce2 = G(() => {
990
+ let t3 = l2(), n3 = o2();
991
+ if (t3 === null || n3 === null || e2.tooltip === false) return null;
992
+ if (t3.pane === "volume" && Number.isFinite(t3.v)) {
993
+ if (e2.volumeBarTooltip === false) return null;
994
+ let r4 = n3.arr;
995
+ if (r4.volumes === null) return null;
996
+ let i3 = Math.max(0, t3.idx - 19), a3 = 0, o3 = 0;
997
+ for (let e3 = i3; e3 <= t3.idx; e3++) {
998
+ let t4 = s(r4.volumes, e3);
999
+ Number.isFinite(t4) && (a3 += t4, o3++);
1000
+ }
1001
+ let c3 = o3 > 0 ? a3 / o3 : 0, l3 = 0, u3 = 0;
1002
+ for (let e3 = 0; e3 < r4.length; e3++) {
1003
+ let n4 = s(r4.volumes, e3);
1004
+ Number.isFinite(n4) && (u3++, n4 <= t3.v && l3++);
1005
+ }
1006
+ let d3 = u3 > 0 ? l3 / u3 : 1, f3 = {
1007
+ bar: {
1008
+ t: t3.t,
1009
+ v: t3.v,
1010
+ idx: t3.idx
1011
+ },
1012
+ avg20: c3,
1013
+ percentile: d3,
1014
+ pointerX: t3.pointerX,
1015
+ pointerY: t3.pointerY,
1016
+ containerWidth: k2(),
1017
+ containerHeight: A2(),
1018
+ theme: n3.personalization.theme,
1019
+ palette: n3.personalization.palette,
1020
+ locale: n3.resolvedLocaleBase,
1021
+ timeZone: n3.resolvedTimeZone,
1022
+ formatter: n3.formatter
1023
+ };
1024
+ return typeof e2.volumeBarTooltip == "function" ? e2.volumeBarTooltip(f3) : N(Cn, f3);
1025
+ }
1026
+ let r3 = {
1027
+ t: t3.t,
1028
+ idx: t3.idx,
1029
+ o: t3.o,
1030
+ h: t3.h,
1031
+ l: t3.l,
1032
+ c: t3.c,
1033
+ direction: t3.direction,
1034
+ pointerX: t3.pointerX,
1035
+ pointerY: t3.pointerY,
1036
+ containerWidth: k2(),
1037
+ containerHeight: A2(),
1038
+ theme: n3.personalization.theme,
1039
+ palette: n3.personalization.palette,
1040
+ locale: n3.resolvedLocaleBase,
1041
+ timeZone: n3.resolvedTimeZone,
1042
+ formatter: n3.formatter
1043
+ };
1044
+ return typeof e2.tooltip == "function" ? e2.tooltip(r3) : N(_n, r3);
1045
+ }), le2 = G(() => {
1046
+ let t3 = ee2(), n3 = o2();
1047
+ if (t3 === null || n3 === null) return null;
1048
+ let r3 = n3.formatter, i3 = n3.arr, a3 = i3.length > 0 ? s(i3.closes, i3.length - 1) : 0, c3 = null;
1049
+ switch (t3.kind) {
1050
+ case "signal": {
1051
+ if (typeof e2.signalTooltip != "function" || e2.signals === void 0) return null;
1052
+ let n4 = e2.signals[t3.idx];
1053
+ if (n4 === void 0) return null;
1054
+ c3 = e2.signalTooltip({
1055
+ marker: n4,
1056
+ pointerX: t3.pointerX,
1057
+ pointerY: t3.pointerY,
1058
+ formatter: r3
1059
+ });
1060
+ break;
1061
+ }
1062
+ case "order": {
1063
+ if (typeof e2.orderTooltip != "function" || e2.orders === void 0) return null;
1064
+ let n4 = e2.orders[t3.idx];
1065
+ if (n4 === void 0) return null;
1066
+ c3 = e2.orderTooltip({
1067
+ marker: n4,
1068
+ pointerX: t3.pointerX,
1069
+ pointerY: t3.pointerY,
1070
+ formatter: r3
1071
+ });
1072
+ break;
1073
+ }
1074
+ case "position":
1075
+ if (typeof e2.positionTooltip != "function" || e2.position === void 0) return null;
1076
+ c3 = e2.positionTooltip({
1077
+ marker: e2.position,
1078
+ lastClose: a3,
1079
+ pointerX: t3.pointerX,
1080
+ pointerY: t3.pointerY,
1081
+ formatter: r3
1082
+ });
1083
+ break;
1084
+ case "event": {
1085
+ if (typeof e2.eventTooltip != "function" || e2.events === void 0) return null;
1086
+ let n4 = e2.events[t3.idx];
1087
+ if (n4 === void 0) return null;
1088
+ c3 = e2.eventTooltip({
1089
+ marker: n4,
1090
+ pointerX: t3.pointerX,
1091
+ pointerY: t3.pointerY,
1092
+ formatter: r3
1093
+ });
1094
+ break;
1095
+ }
1096
+ }
1097
+ return c3 === null ? null : (() => {
1098
+ var e3 = wn();
1099
+ return I(e3, c3), F((n4) => {
1100
+ var r4 = `${t3.pointerX + 12}px`, i4 = `${t3.pointerY + 12}px`;
1101
+ return r4 !== n4.e && z(e3, "left", n4.e = r4), i4 !== n4.t && z(e3, "top", n4.t = i4), n4;
1102
+ }, {
1103
+ e: void 0,
1104
+ t: void 0
1105
+ }), e3;
1106
+ })();
1107
+ }), ue2 = G(() => {
1108
+ let t3 = d2(), n3 = o2();
1109
+ return t3 === null || n3 === null ? null : Wt(e2.extremeTooltip, {
1110
+ kind: t3.kind,
1111
+ barIdx: t3.idx,
1112
+ price: t3.price,
1113
+ t: t3.t,
1114
+ pointerX: t3.pointerX,
1115
+ pointerY: t3.pointerY,
1116
+ containerWidth: k2(),
1117
+ containerHeight: A2(),
1118
+ theme: n3.personalization.theme,
1119
+ palette: n3.personalization.palette,
1120
+ locale: n3.resolvedLocaleBase,
1121
+ timeZone: n3.resolvedTimeZone,
1122
+ formatter: n3.formatter
1123
+ });
1124
+ }), j2 = G(() => {
1125
+ let e3 = o2(), t3 = p2() !== "live";
1126
+ return e3 !== null && t3 && (e3.personalization.staleVisualization === "desaturate-pulse" || e3.personalization.staleVisualization === "desaturate-pulse + banner") ? {
1127
+ filter: "saturate(0.5)",
1128
+ ...h2() ? { opacity: "0.9" } : { animation: "tickyr-stale-pulse 1.2s ease-in-out infinite" }
1129
+ } : {};
1130
+ }), de2 = G(() => {
1131
+ let e3 = o2();
1132
+ return e3 === null ? false : p2() !== "live" && (e3.personalization.staleVisualization === "banner" || e3.personalization.staleVisualization === "desaturate-pulse + banner");
1133
+ }), fe2 = G(() => {
1134
+ let t3 = o2();
1135
+ if (t3 === null) return null;
1136
+ let n3 = t3.personalization.connectionIndicator;
1137
+ if (n3 === "off") return null;
1138
+ let r3 = typeof e2.connectionIndicator == "function" ? e2.connectionIndicator : void 0, i3 = t3.personalization, a3 = i3.legendPosition === "top-left" || i3.legendPosition === "bottom-left", s2 = {
1139
+ position: "absolute",
1140
+ "pointer-events": "none",
1141
+ "z-index": "3",
1142
+ ...i3.legendPosition === "top-left" || i3.legendPosition === "top-right" ? { top: "4px" } : { bottom: "4px" },
1143
+ ...a3 ? { left: "4px" } : { right: "4px" }
1144
+ };
1145
+ if (r3 !== void 0) return (() => {
1146
+ var t4 = Tn();
1147
+ return I(t4, () => r3({
1148
+ state: p2(),
1149
+ liveSince: e2.liveSince,
1150
+ position: i3.legendPosition,
1151
+ theme: i3.theme,
1152
+ palette: i3.palette
1153
+ })), F((e3) => B(t4, s2, e3)), t4;
1154
+ })();
1155
+ let c3 = i3.palette[i3.theme], l3 = p2(), u3 = M(l3 === "live" ? c3.up : l3 === "stale" ? c3.warn : c3.down, 1), d3 = i3.theme === "dark" ? "#0c0d0e" : "#fafafa", f3 = l3 === "live" ? "live" : l3 === "stale" ? "stale" : "offline", m3 = i3.visualStyle === "Outline", g3 = n3 === "dot";
1156
+ return (() => {
1157
+ var e3 = En(), t4 = e3.firstChild;
1158
+ return I(e3, g3 && (() => {
1159
+ var e4 = Dn();
1160
+ return z(e4, "background", m3 ? u3 : d3), e4;
1161
+ })(), t4), I(t4, f3), F((t5) => B(e3, {
1162
+ ...s2,
1163
+ gap: g3 ? "5px" : "0",
1164
+ padding: g3 ? "0 7px" : "0 10px",
1165
+ height: g3 ? "18px" : "22px",
1166
+ ...m3 ? {
1167
+ background: d3,
1168
+ color: u3,
1169
+ border: `${g3 ? 1 : 1.4}px solid ${u3}`
1170
+ } : {
1171
+ background: u3,
1172
+ color: d3,
1173
+ border: "none"
1174
+ },
1175
+ ...l3 !== "live" && !h2() ? { animation: "tickyr-stale-pulse 1s ease-in-out infinite" } : {}
1176
+ }, t5)), e3;
1177
+ })();
1178
+ }), pe2 = G(() => {
1179
+ if (!de2() || e2.staleBanner === false) return null;
1180
+ let t3 = o2();
1181
+ if (t3 === null) return null;
1182
+ let n3 = t3.personalization.palette[t3.personalization.theme], r3 = M(n3.warn, 1), i3 = p2(), a3 = h2() ? void 0 : "tickyr-stale-banner-in 0.3s ease-out";
1183
+ if (typeof e2.staleBanner == "function") {
1184
+ let n4 = e2.staleBanner({
1185
+ state: i3,
1186
+ liveSince: e2.liveSince,
1187
+ theme: t3.personalization.theme,
1188
+ palette: t3.personalization.palette
1189
+ });
1190
+ return (() => {
1191
+ var e3 = On();
1192
+ return I(e3, n4), F((t4) => B(e3, { ...a3 === void 0 ? {} : { animation: a3 } }, t4)), e3;
1193
+ })();
1194
+ }
1195
+ let s2 = i3 === "disconnected" ? "Connection lost" : "Live data paused";
1196
+ return (() => {
1197
+ var e3 = kn(), t4 = e3.firstChild, n4 = t4.firstChild.nextSibling;
1198
+ return z(t4, "color", r3), I(n4, s2), F((n5) => {
1199
+ var i4 = { ...a3 === void 0 ? {} : { animation: a3 } }, o3 = Me(r3, 0.15), s3 = `1px solid ${Me(r3, 0.4)}`;
1200
+ return n5.e = B(e3, i4, n5.e), o3 !== n5.t && z(t4, "background", n5.t = o3), s3 !== n5.a && z(t4, "border", n5.a = s3), n5;
1201
+ }, {
1202
+ e: void 0,
1203
+ t: void 0,
1204
+ a: void 0
1205
+ }), e3;
1206
+ })();
1207
+ });
1208
+ return L(() => L(() => !!oe2())() ? (() => {
1209
+ var e3 = An(), t3 = e3.firstChild;
1210
+ return H((e4) => n2 = e4, t3), I(e3, pe2, null), F((n3) => {
1211
+ var r3 = `${k2()}px`, i3 = `${A2()}px`, a3 = se2(), o3 = {
1212
+ width: `${k2()}px`,
1213
+ height: `${A2()}px`,
1214
+ ...j2()
1215
+ };
1216
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), a3 !== n3.a && R(e3, "aria-label", n3.a = a3), n3.o = B(t3, o3, n3.o), n3;
1217
+ }, {
1218
+ e: void 0,
1219
+ t: void 0,
1220
+ a: void 0,
1221
+ o: void 0
1222
+ }), e3;
1223
+ })() : (() => {
1224
+ var e3 = jn(), t3 = e3.firstChild, a3 = t3.nextSibling;
1225
+ return e3.addEventListener("wheel", ae2), e3.$$pointerup = ie2, e3.$$pointerdown = O2, e3.addEventListener("pointerleave", re2), e3.$$pointermove = ne2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, ce2, null), I(e3, ue2, null), I(e3, le2, null), I(e3, fe2, null), I(e3, pe2, null), F((n3) => {
1226
+ var r3 = `${k2()}px`, i3 = `${A2()}px`, o3 = te2() ? "row-resize" : void 0, s2 = se2(), c3 = {
1227
+ width: `${k2()}px`,
1228
+ height: `${A2()}px`,
1229
+ ...j2()
1230
+ }, l3 = {
1231
+ width: `${k2()}px`,
1232
+ height: `${A2()}px`,
1233
+ ...j2()
1234
+ };
1235
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && z(e3, "cursor", n3.a = o3), s2 !== n3.o && R(e3, "aria-label", n3.o = s2), n3.i = B(t3, c3, n3.i), n3.n = B(a3, l3, n3.n), n3;
1236
+ }, {
1237
+ e: void 0,
1238
+ t: void 0,
1239
+ a: void 0,
1240
+ o: void 0,
1241
+ i: void 0,
1242
+ n: void 0
1243
+ }), e3;
1244
+ })());
1245
+ }
1246
+ P([
1247
+ "pointermove",
1248
+ "pointerdown",
1249
+ "pointerup"
1250
+ ]);
1251
+ var Nn = /* @__PURE__ */ V("<div role=presentation>"), Pn = /* @__PURE__ */ V('<span style=display:inline-flex;align-items:center;gap:5px><span aria-hidden=true style="width:10px;height:10px;border-radius:5px;display:inline-block;flex:0 0 auto"></span><span>'), Fn = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block>"), In = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), Ln = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:120px"><div style=font-size:10px;margin-bottom:2px;display:flex;align-items:center;gap:5px><span aria-hidden=true style=width:8px;height:8px;border-radius:4px;display:inline-block></span><span> \xB7 #</span></div><div>x: </div><div>y: `), Rn = /* @__PURE__ */ V("<div>size: ");
1252
+ function zn(e2) {
1253
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
1254
+ let e3 = t2();
1255
+ return {
1256
+ theme: e3.theme,
1257
+ palette: e3.palette,
1258
+ locale: e3.locale,
1259
+ timeZone: e3.timeZone,
1260
+ visualStyle: e3.visualStyle,
1261
+ outlineFillColor: e3.outlineFillColor,
1262
+ outlineFillOpacity: e3.outlineFillOpacity,
1263
+ cornerRadius: e3.cornerRadius,
1264
+ borderWidth: e3.borderWidth,
1265
+ accents: e3.accents,
1266
+ osTheme: e3.osTheme,
1267
+ appTheme: e3.appTheme
1268
+ };
1269
+ });
1270
+ J(() => {
1271
+ n2 !== void 0 && (a2 = new re({
1272
+ container: i2 ?? null,
1273
+ staticCanvas: n2,
1274
+ dynamicCanvas: r2 ?? null,
1275
+ initialProps: e2,
1276
+ initialProvider: u2(),
1277
+ onContextChange: s2,
1278
+ onHoverChange: l2
1279
+ }));
1280
+ }), W(() => {
1281
+ a2 !== null && a2.update(e2, u2());
1282
+ }), q(() => {
1283
+ a2 !== null && (a2.dispose(), a2 = null);
1284
+ });
1285
+ let d2 = (e3) => {
1286
+ a2?.handlePointerMove(e3);
1287
+ }, f2 = () => {
1288
+ a2?.handlePointerLeave();
1289
+ }, p2 = G(() => e2.width ?? 800), m2 = G(() => e2.height ?? 300), h2 = G(() => e2.sparkline === true || e2.sparkline !== false && p2() < 150), g2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Scatter chart"), _2 = G(() => {
1290
+ let t3 = c2(), n3 = o2();
1291
+ if (t3 === null || n3 === null) return null;
1292
+ let r3 = n3.seriesList[t3.seriesIdx], i3 = r3?.id ?? "primary", a3 = r3?.label ?? "Value", s3 = r3?.color ?? "", l3 = {
1293
+ x: t3.x,
1294
+ y: t3.y,
1295
+ size: t3.size,
1296
+ idx: t3.idx,
1297
+ seriesIdx: t3.seriesIdx,
1298
+ seriesId: i3,
1299
+ seriesLabel: a3,
1300
+ seriesColor: s3,
1301
+ pointerX: t3.pointerX,
1302
+ pointerY: t3.pointerY,
1303
+ containerWidth: p2(),
1304
+ containerHeight: m2(),
1305
+ theme: n3.personalization.theme,
1306
+ palette: n3.personalization.palette,
1307
+ locale: n3.resolvedLocaleBase,
1308
+ timeZone: n3.resolvedTimeZone,
1309
+ formatter: n3.formatter
1310
+ };
1311
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(l3) : Bn(l3);
1312
+ }), v2 = G(() => {
1313
+ let e3 = o2();
1314
+ if (e3 === null) return null;
1315
+ let t3 = e3.seriesList;
1316
+ if (t3.length < 2) return null;
1317
+ let n3 = e3.personalization, r3 = n3.legend, i3 = r3 === "on-hover" && c2() !== null;
1318
+ if (r3 !== "always" && !i3) return null;
1319
+ let a3 = n3.legendPosition, s3 = {
1320
+ position: "absolute",
1321
+ ...a3 === "top-left" || a3 === "top-right" ? { top: "6px" } : { bottom: "6px" },
1322
+ ...a3 === "top-left" || a3 === "bottom-left" ? { left: "8px" } : { right: "8px" },
1323
+ "pointer-events": "none",
1324
+ display: "flex",
1325
+ gap: "12px",
1326
+ "align-items": "center",
1327
+ padding: "4px 8px",
1328
+ background: n3.theme === "dark" ? "rgba(34,36,42,0.85)" : "rgba(255,255,255,0.85)",
1329
+ border: `1px solid ${n3.theme === "dark" ? "rgba(255,255,255,0.08)" : "rgba(15,18,23,0.08)"}`,
1330
+ "border-radius": "6px",
1331
+ "font-size": "11px",
1332
+ "font-family": "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",
1333
+ color: n3.theme === "dark" ? "rgb(240,242,246)" : "rgb(20,22,26)"
1334
+ };
1335
+ return (() => {
1336
+ var e4 = Nn();
1337
+ return I(e4, () => t3.map((e5) => (() => {
1338
+ var t4 = Pn(), n4 = t4.firstChild, r4 = n4.nextSibling;
1339
+ return I(r4, () => e5.label), F((t5) => z(n4, "background", e5.color)), t4;
1340
+ })())), F((t4) => B(e4, s3, t4)), e4;
1341
+ })();
1342
+ });
1343
+ return L(() => L(() => !!h2())() ? (() => {
1344
+ var e3 = Fn(), t3 = e3.firstChild;
1345
+ return H((e4) => n2 = e4, t3), F((n3) => {
1346
+ var r3 = `${p2()}px`, i3 = `${m2()}px`, a3 = g2(), o3 = `${p2()}px`, s3 = `${m2()}px`;
1347
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), a3 !== n3.a && R(e3, "aria-label", n3.a = a3), o3 !== n3.o && z(t3, "width", n3.o = o3), s3 !== n3.i && z(t3, "height", n3.i = s3), n3;
1348
+ }, {
1349
+ e: void 0,
1350
+ t: void 0,
1351
+ a: void 0,
1352
+ o: void 0,
1353
+ i: void 0
1354
+ }), e3;
1355
+ })() : (() => {
1356
+ var e3 = In(), t3 = e3.firstChild, a3 = t3.nextSibling;
1357
+ return e3.addEventListener("pointerleave", f2), e3.$$pointermove = d2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, v2, null), I(e3, _2, null), F((n3) => {
1358
+ var r3 = `${p2()}px`, i3 = `${m2()}px`, o3 = g2(), s3 = `${p2()}px`, c3 = `${m2()}px`, l3 = `${p2()}px`, u3 = `${m2()}px`;
1359
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s3 !== n3.o && z(t3, "width", n3.o = s3), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
1360
+ }, {
1361
+ e: void 0,
1362
+ t: void 0,
1363
+ a: void 0,
1364
+ o: void 0,
1365
+ i: void 0,
1366
+ n: void 0,
1367
+ s: void 0
1368
+ }), e3;
1369
+ })());
1370
+ }
1371
+ function Bn(e2) {
1372
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34, 36, 42)" : "rgb(255, 255, 255)", r2 = t2 ? "rgb(240, 242, 246)" : "rgb(20, 22, 26)", i2 = t2 ? "rgba(240, 242, 246, 0.62)" : "rgba(20, 22, 26, 0.56)", a2 = t2 ? "rgba(255, 255, 255, 0.08)" : "rgba(15, 18, 23, 0.08)", o2 = t2 ? "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)" : "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)", s2 = Math.min(e2.containerWidth - 140, e2.pointerX + 12), c2 = Math.min(e2.containerHeight - 70, e2.pointerY + 12);
1373
+ return (() => {
1374
+ var t3 = Ln(), l2 = t3.firstChild, u2 = l2.firstChild, d2 = u2.nextSibling, f2 = d2.firstChild, p2 = l2.nextSibling;
1375
+ p2.firstChild;
1376
+ var m2 = p2.nextSibling;
1377
+ return m2.firstChild, z(t3, "left", `${s2}px`), z(t3, "top", `${c2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(t3, "box-shadow", o2), z(l2, "color", i2), I(d2, () => e2.seriesLabel, f2), I(d2, () => e2.idx, null), I(p2, () => e2.formatter.formatNumber(e2.x, 2), null), I(m2, () => e2.formatter.formatNumber(e2.y, 2), null), I(t3, (() => {
1378
+ var t4 = L(() => e2.size !== null);
1379
+ return () => t4() && (() => {
1380
+ var t5 = Rn();
1381
+ return t5.firstChild, I(t5, () => e2.formatter.formatNumber(e2.size, 2), null), t5;
1382
+ })();
1383
+ })(), null), F((t4) => z(u2, "background", e2.seriesColor)), t3;
1384
+ })();
1385
+ }
1386
+ P(["pointermove"]);
1387
+ var Vn = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block>"), Hn = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), Un = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:140px"><div style=font-size:10px;margin-bottom:2px>Bin #</div><div>range: <!> \u2013 </div><div>count: `), Wn = /* @__PURE__ */ V("<div>: ");
1388
+ function Gn(e2) {
1389
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
1390
+ let e3 = t2();
1391
+ return {
1392
+ theme: e3.theme,
1393
+ palette: e3.palette,
1394
+ locale: e3.locale,
1395
+ timeZone: e3.timeZone,
1396
+ visualStyle: e3.visualStyle,
1397
+ outlineFillColor: e3.outlineFillColor,
1398
+ outlineFillOpacity: e3.outlineFillOpacity,
1399
+ cornerRadius: e3.cornerRadius,
1400
+ borderWidth: e3.borderWidth,
1401
+ accents: e3.accents,
1402
+ osTheme: e3.osTheme,
1403
+ appTheme: e3.appTheme
1404
+ };
1405
+ });
1406
+ J(() => {
1407
+ n2 !== void 0 && (a2 = new x({
1408
+ container: i2 ?? null,
1409
+ staticCanvas: n2,
1410
+ dynamicCanvas: r2 ?? null,
1411
+ initialProps: e2,
1412
+ initialProvider: u2(),
1413
+ onContextChange: s2,
1414
+ onHoverChange: l2
1415
+ }));
1416
+ }), W(() => {
1417
+ a2 !== null && a2.update(e2, u2());
1418
+ }), q(() => {
1419
+ a2 !== null && (a2.dispose(), a2 = null);
1420
+ });
1421
+ let d2 = (e3) => {
1422
+ a2?.handlePointerMove(e3);
1423
+ }, f2 = () => {
1424
+ a2?.handlePointerLeave();
1425
+ }, p2 = G(() => e2.width ?? 800), m2 = G(() => e2.height ?? 300), h2 = G(() => e2.sparkline === true || e2.sparkline !== false && p2() < 150), g2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Histogram"), _2 = G(() => {
1426
+ let t3 = c2(), n3 = o2();
1427
+ if (t3 === null || n3 === null) return null;
1428
+ let r3 = {
1429
+ binIdx: t3.binIdx,
1430
+ binStart: t3.binStart,
1431
+ binEnd: t3.binEnd,
1432
+ count: t3.count,
1433
+ value: t3.value,
1434
+ pointerX: t3.pointerX,
1435
+ pointerY: t3.pointerY,
1436
+ containerWidth: p2(),
1437
+ containerHeight: m2(),
1438
+ theme: n3.personalization.theme,
1439
+ palette: n3.personalization.palette,
1440
+ locale: n3.resolvedLocaleBase,
1441
+ timeZone: n3.resolvedTimeZone,
1442
+ formatter: n3.formatter
1443
+ };
1444
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : Kn(r3, n3.yAxisMode);
1445
+ });
1446
+ return L(() => L(() => !!h2())() ? (() => {
1447
+ var e3 = Vn(), t3 = e3.firstChild;
1448
+ return H((e4) => n2 = e4, t3), F((n3) => {
1449
+ var r3 = `${p2()}px`, i3 = `${m2()}px`, a3 = g2(), o3 = `${p2()}px`, s3 = `${m2()}px`;
1450
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), a3 !== n3.a && R(e3, "aria-label", n3.a = a3), o3 !== n3.o && z(t3, "width", n3.o = o3), s3 !== n3.i && z(t3, "height", n3.i = s3), n3;
1451
+ }, {
1452
+ e: void 0,
1453
+ t: void 0,
1454
+ a: void 0,
1455
+ o: void 0,
1456
+ i: void 0
1457
+ }), e3;
1458
+ })() : (() => {
1459
+ var e3 = Hn(), t3 = e3.firstChild, a3 = t3.nextSibling;
1460
+ return e3.addEventListener("pointerleave", f2), e3.$$pointermove = d2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, _2, null), F((n3) => {
1461
+ var r3 = `${p2()}px`, i3 = `${m2()}px`, o3 = g2(), s3 = `${p2()}px`, c3 = `${m2()}px`, l3 = `${p2()}px`, u3 = `${m2()}px`;
1462
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s3 !== n3.o && z(t3, "width", n3.o = s3), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
1463
+ }, {
1464
+ e: void 0,
1465
+ t: void 0,
1466
+ a: void 0,
1467
+ o: void 0,
1468
+ i: void 0,
1469
+ n: void 0,
1470
+ s: void 0
1471
+ }), e3;
1472
+ })());
1473
+ }
1474
+ function Kn(e2, t2) {
1475
+ let n2 = e2.theme === "dark", r2 = n2 ? "rgb(34, 36, 42)" : "rgb(255, 255, 255)", i2 = n2 ? "rgb(240, 242, 246)" : "rgb(20, 22, 26)", a2 = n2 ? "rgba(240, 242, 246, 0.62)" : "rgba(20, 22, 26, 0.56)", o2 = n2 ? "rgba(255, 255, 255, 0.08)" : "rgba(15, 18, 23, 0.08)", s2 = n2 ? "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)" : "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)", c2 = Math.min(e2.containerWidth - 160, e2.pointerX + 12), l2 = Math.min(e2.containerHeight - 80, e2.pointerY + 12), u2 = t2 === "frequency" ? "count" : t2 === "density" ? "density" : "cumulative";
1476
+ return (() => {
1477
+ var n3 = Un(), d2 = n3.firstChild;
1478
+ d2.firstChild;
1479
+ var f2 = d2.nextSibling, p2 = f2.firstChild.nextSibling;
1480
+ p2.nextSibling;
1481
+ var m2 = f2.nextSibling;
1482
+ return m2.firstChild, z(n3, "left", `${c2}px`), z(n3, "top", `${l2}px`), z(n3, "background", r2), z(n3, "color", i2), z(n3, "border", `1px solid ${o2}`), z(n3, "box-shadow", s2), z(d2, "color", a2), I(d2, () => e2.binIdx, null), I(f2, () => e2.formatter.formatNumber(e2.binStart, 2), p2), I(f2, () => e2.formatter.formatNumber(e2.binEnd, 2), null), I(m2, () => e2.formatter.formatNumber(e2.count, 0), null), I(n3, t2 !== "frequency" && (() => {
1483
+ var t3 = Wn(), n4 = t3.firstChild;
1484
+ return I(t3, u2, n4), I(t3, () => e2.formatter.formatNumber(e2.value, 4), null), t3;
1485
+ })(), null), n3;
1486
+ })();
1487
+ }
1488
+ P(["pointermove"]);
1489
+ var qn = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), Jn = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:140px"><div style=font-size:10px;margin-bottom:2px> \xB7 </div><div>`), Yn = /* @__PURE__ */ V("<span>(no data)"), Xn = /* @__PURE__ */ V("<span>value: ");
1490
+ function Zn(e2) {
1491
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
1492
+ let e3 = t2();
1493
+ return {
1494
+ theme: e3.theme,
1495
+ palette: e3.palette,
1496
+ locale: e3.locale,
1497
+ timeZone: e3.timeZone,
1498
+ visualStyle: e3.visualStyle,
1499
+ outlineFillColor: e3.outlineFillColor,
1500
+ outlineFillOpacity: e3.outlineFillOpacity,
1501
+ cornerRadius: e3.cornerRadius,
1502
+ borderWidth: e3.borderWidth,
1503
+ accents: e3.accents,
1504
+ osTheme: e3.osTheme,
1505
+ appTheme: e3.appTheme
1506
+ };
1507
+ });
1508
+ J(() => {
1509
+ n2 !== void 0 && (a2 = new h({
1510
+ container: i2 ?? null,
1511
+ staticCanvas: n2,
1512
+ dynamicCanvas: r2 ?? null,
1513
+ initialProps: e2,
1514
+ initialProvider: u2(),
1515
+ onContextChange: s2,
1516
+ onHoverChange: l2
1517
+ }));
1518
+ }), W(() => {
1519
+ a2 !== null && a2.update(e2, u2());
1520
+ }), q(() => {
1521
+ a2 !== null && (a2.dispose(), a2 = null);
1522
+ });
1523
+ let d2 = (e3) => {
1524
+ a2?.handlePointerMove(e3);
1525
+ }, f2 = () => {
1526
+ a2?.handlePointerLeave();
1527
+ }, p2 = G(() => e2.width ?? 800), m2 = G(() => e2.height ?? 300), g2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Heatmap"), _2 = G(() => {
1528
+ let t3 = c2(), n3 = o2();
1529
+ if (t3 === null || n3 === null) return null;
1530
+ let r3 = {
1531
+ row: t3.row,
1532
+ col: t3.col,
1533
+ value: t3.value,
1534
+ rowLabel: t3.rowLabel,
1535
+ colLabel: t3.colLabel,
1536
+ pointerX: t3.pointerX,
1537
+ pointerY: t3.pointerY,
1538
+ containerWidth: p2(),
1539
+ containerHeight: m2(),
1540
+ theme: n3.personalization.theme,
1541
+ palette: n3.personalization.palette,
1542
+ locale: n3.resolvedLocaleBase,
1543
+ timeZone: n3.resolvedTimeZone,
1544
+ formatter: n3.formatter
1545
+ };
1546
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : Qn(r3);
1547
+ });
1548
+ return (() => {
1549
+ var e3 = qn(), t3 = e3.firstChild, a3 = t3.nextSibling;
1550
+ return e3.addEventListener("pointerleave", f2), e3.$$pointermove = d2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, _2, null), F((n3) => {
1551
+ var r3 = `${p2()}px`, i3 = `${m2()}px`, o3 = g2(), s3 = `${p2()}px`, c3 = `${m2()}px`, l3 = `${p2()}px`, u3 = `${m2()}px`;
1552
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s3 !== n3.o && z(t3, "width", n3.o = s3), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
1553
+ }, {
1554
+ e: void 0,
1555
+ t: void 0,
1556
+ a: void 0,
1557
+ o: void 0,
1558
+ i: void 0,
1559
+ n: void 0,
1560
+ s: void 0
1561
+ }), e3;
1562
+ })();
1563
+ }
1564
+ function Qn(e2) {
1565
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34, 36, 42)" : "rgb(255, 255, 255)", r2 = t2 ? "rgb(240, 242, 246)" : "rgb(20, 22, 26)", i2 = t2 ? "rgba(240, 242, 246, 0.62)" : "rgba(20, 22, 26, 0.56)", a2 = t2 ? "rgba(255, 255, 255, 0.08)" : "rgba(15, 18, 23, 0.08)", o2 = t2 ? "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)" : "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)", s2 = Math.min(e2.containerWidth - 160, e2.pointerX + 12), c2 = Math.min(e2.containerHeight - 80, e2.pointerY + 12);
1566
+ return (() => {
1567
+ var t3 = Jn(), l2 = t3.firstChild, u2 = l2.firstChild, d2 = l2.nextSibling;
1568
+ return z(t3, "left", `${s2}px`), z(t3, "top", `${c2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(t3, "box-shadow", o2), z(l2, "color", i2), I(l2, () => e2.rowLabel, u2), I(l2, () => e2.colLabel, null), I(d2, (() => {
1569
+ var t4 = L(() => e2.value === null);
1570
+ return () => t4() ? (() => {
1571
+ var e3 = Yn();
1572
+ return z(e3, "color", i2), e3;
1573
+ })() : (() => {
1574
+ var t5 = Xn();
1575
+ return t5.firstChild, I(t5, () => e2.formatter.formatNumber(e2.value, 3), null), t5;
1576
+ })();
1577
+ })()), t3;
1578
+ })();
1579
+ }
1580
+ P(["pointermove"]);
1581
+ var $n = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), er = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:160px"><div style=font-size:10px;margin-bottom:2px> \xB7 <!>%</div><div>price: </div><div>cumulative: `);
1582
+ function tr(e2) {
1583
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
1584
+ let e3 = t2();
1585
+ return {
1586
+ theme: e3.theme,
1587
+ palette: e3.palette,
1588
+ locale: e3.locale,
1589
+ timeZone: e3.timeZone,
1590
+ visualStyle: e3.visualStyle,
1591
+ outlineFillColor: e3.outlineFillColor,
1592
+ outlineFillOpacity: e3.outlineFillOpacity,
1593
+ cornerRadius: e3.cornerRadius,
1594
+ borderWidth: e3.borderWidth,
1595
+ accents: e3.accents,
1596
+ osTheme: e3.osTheme,
1597
+ appTheme: e3.appTheme
1598
+ };
1599
+ });
1600
+ J(() => {
1601
+ n2 !== void 0 && (a2 = new d({
1602
+ container: i2 ?? null,
1603
+ staticCanvas: n2,
1604
+ dynamicCanvas: r2 ?? null,
1605
+ initialProps: e2,
1606
+ initialProvider: u2(),
1607
+ onContextChange: s2,
1608
+ onHoverChange: l2
1609
+ }));
1610
+ }), W(() => {
1611
+ a2 !== null && a2.update(e2, u2());
1612
+ }), q(() => {
1613
+ a2 !== null && (a2.dispose(), a2 = null);
1614
+ });
1615
+ let f2 = (e3) => {
1616
+ a2?.handlePointerMove(e3);
1617
+ }, p2 = () => {
1618
+ a2?.handlePointerLeave();
1619
+ }, m2 = G(() => e2.width ?? 800), h2 = G(() => e2.height ?? 300), g2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Depth chart"), _2 = G(() => {
1620
+ let t3 = c2(), n3 = o2();
1621
+ if (t3 === null || n3 === null) return null;
1622
+ let r3 = {
1623
+ side: t3.side,
1624
+ price: t3.price,
1625
+ cumulativeVolume: t3.cumulativeVolume,
1626
+ pctFromMid: t3.pctFromMid,
1627
+ pointerX: t3.pointerX,
1628
+ pointerY: t3.pointerY,
1629
+ containerWidth: m2(),
1630
+ containerHeight: h2(),
1631
+ theme: n3.personalization.theme,
1632
+ palette: n3.personalization.palette,
1633
+ locale: n3.resolvedLocaleBase,
1634
+ timeZone: n3.resolvedTimeZone,
1635
+ formatter: n3.formatter
1636
+ };
1637
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : nr(r3);
1638
+ });
1639
+ return (() => {
1640
+ var e3 = $n(), t3 = e3.firstChild, a3 = t3.nextSibling;
1641
+ return e3.addEventListener("pointerleave", p2), e3.$$pointermove = f2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, _2, null), F((n3) => {
1642
+ var r3 = `${m2()}px`, i3 = `${h2()}px`, o3 = g2(), s3 = `${m2()}px`, c3 = `${h2()}px`, l3 = `${m2()}px`, u3 = `${h2()}px`;
1643
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s3 !== n3.o && z(t3, "width", n3.o = s3), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
1644
+ }, {
1645
+ e: void 0,
1646
+ t: void 0,
1647
+ a: void 0,
1648
+ o: void 0,
1649
+ i: void 0,
1650
+ n: void 0,
1651
+ s: void 0
1652
+ }), e3;
1653
+ })();
1654
+ }
1655
+ function nr(e2) {
1656
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34, 36, 42)" : "rgb(255, 255, 255)", r2 = t2 ? "rgb(240, 242, 246)" : "rgb(20, 22, 26)", i2 = t2 ? "rgba(240, 242, 246, 0.62)" : "rgba(20, 22, 26, 0.56)", a2 = t2 ? "rgba(255, 255, 255, 0.08)" : "rgba(15, 18, 23, 0.08)", o2 = t2 ? "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)" : "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)", s2 = Math.min(e2.containerWidth - 180, e2.pointerX + 12), c2 = Math.min(e2.containerHeight - 90, e2.pointerY + 12), l2 = e2.side === "bid" ? "BID" : "ASK", u2 = e2.pctFromMid >= 0 ? "+" : "";
1657
+ return (() => {
1658
+ var t3 = er(), d2 = t3.firstChild, f2 = d2.firstChild, p2 = f2.nextSibling;
1659
+ p2.nextSibling;
1660
+ var m2 = d2.nextSibling;
1661
+ m2.firstChild;
1662
+ var h2 = m2.nextSibling;
1663
+ return h2.firstChild, z(t3, "left", `${s2}px`), z(t3, "top", `${c2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(t3, "box-shadow", o2), z(d2, "color", i2), I(d2, l2, f2), I(d2, u2, p2), I(d2, () => (e2.pctFromMid * 100).toFixed(2), p2), I(m2, () => e2.formatter.formatNumber(e2.price, 4), null), I(h2, () => e2.formatter.formatNumber(e2.cumulativeVolume, 3), null), t3;
1664
+ })();
1665
+ }
1666
+ P(["pointermove"]);
1667
+ var rr = /* @__PURE__ */ V("<div style=text-align:center;line-height:1.2><div style=font-size:11px;opacity:0.65>Total</div><div style=font-size:18px;font-weight:600>"), ir = /* @__PURE__ */ V(`<div style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif">`), ar = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), or = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:160px"><div style=font-size:10px;margin-bottom:2px;display:flex;align-items:center;gap:5px><span aria-hidden=true style=width:10px;height:10px;border-radius:5px;display:inline-block></span><span></span></div><div>value: </div><div>percent: <!>%`);
1668
+ function sr(e2) {
1669
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
1670
+ let e3 = t2();
1671
+ return {
1672
+ theme: e3.theme,
1673
+ palette: e3.palette,
1674
+ locale: e3.locale,
1675
+ timeZone: e3.timeZone,
1676
+ visualStyle: e3.visualStyle,
1677
+ outlineFillColor: e3.outlineFillColor,
1678
+ outlineFillOpacity: e3.outlineFillOpacity,
1679
+ cornerRadius: e3.cornerRadius,
1680
+ borderWidth: e3.borderWidth,
1681
+ accents: e3.accents,
1682
+ osTheme: e3.osTheme,
1683
+ appTheme: e3.appTheme
1684
+ };
1685
+ });
1686
+ J(() => {
1687
+ n2 !== void 0 && (a2 = new te({
1688
+ container: i2 ?? null,
1689
+ staticCanvas: n2,
1690
+ dynamicCanvas: r2 ?? null,
1691
+ initialProps: e2,
1692
+ initialProvider: u2(),
1693
+ innerRadiusDefault: e2.innerRadiusDefault,
1694
+ onContextChange: s2,
1695
+ onHoverChange: l2
1696
+ }));
1697
+ }), W(() => {
1698
+ a2 !== null && a2.update(e2, u2());
1699
+ }), q(() => {
1700
+ a2 !== null && (a2.dispose(), a2 = null);
1701
+ });
1702
+ let d2 = (e3) => {
1703
+ a2?.handlePointerMove(e3);
1704
+ }, f2 = () => {
1705
+ a2?.handlePointerLeave();
1706
+ }, p2 = G(() => e2.width ?? 480), m2 = G(() => e2.height ?? 360), h2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Pie chart"), g2 = G(() => {
1707
+ let t3 = c2(), n3 = o2();
1708
+ if (t3 === null || n3 === null) return null;
1709
+ let r3 = {
1710
+ idx: t3.idx,
1711
+ name: t3.name,
1712
+ value: t3.value,
1713
+ percent: t3.percent,
1714
+ color: t3.color,
1715
+ pointerX: t3.pointerX,
1716
+ pointerY: t3.pointerY,
1717
+ containerWidth: p2(),
1718
+ containerHeight: m2(),
1719
+ theme: n3.personalization.theme,
1720
+ palette: n3.personalization.palette,
1721
+ locale: n3.resolvedLocaleBase,
1722
+ timeZone: n3.resolvedTimeZone,
1723
+ formatter: n3.formatter
1724
+ };
1725
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : ur(r3);
1726
+ }), _2 = G(() => {
1727
+ let t3 = e2.centerLabel;
1728
+ if (t3 === void 0 || t3 === false) return null;
1729
+ let n3 = o2();
1730
+ if (n3 === null || n3.innerRadiusFraction <= 0) return null;
1731
+ let r3 = {
1732
+ totalValue: n3.totalValue,
1733
+ formatter: n3.formatter,
1734
+ theme: n3.personalization.theme,
1735
+ palette: n3.personalization.palette
1736
+ }, i3;
1737
+ return i3 = t3 === true ? (() => {
1738
+ var e3 = rr(), t4 = e3.firstChild.nextSibling;
1739
+ return I(t4, () => n3.formatter.formatNumber(n3.totalValue, 2)), e3;
1740
+ })() : typeof t3 == "string" ? t3 : t3(r3), (() => {
1741
+ var e3 = ir();
1742
+ return I(e3, i3), F((t4) => z(e3, "color", n3.personalization.theme === "dark" ? "rgb(240,242,246)" : "rgb(20,22,26)")), e3;
1743
+ })();
1744
+ });
1745
+ return (() => {
1746
+ var e3 = ar(), t3 = e3.firstChild, a3 = t3.nextSibling;
1747
+ return e3.addEventListener("pointerleave", f2), e3.$$pointermove = d2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, _2, null), I(e3, g2, null), F((n3) => {
1748
+ var r3 = `${p2()}px`, i3 = `${m2()}px`, o3 = h2(), s3 = `${p2()}px`, c3 = `${m2()}px`, l3 = `${p2()}px`, u3 = `${m2()}px`;
1749
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s3 !== n3.o && z(t3, "width", n3.o = s3), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
1750
+ }, {
1751
+ e: void 0,
1752
+ t: void 0,
1753
+ a: void 0,
1754
+ o: void 0,
1755
+ i: void 0,
1756
+ n: void 0,
1757
+ s: void 0
1758
+ }), e3;
1759
+ })();
1760
+ }
1761
+ function cr(e2) {
1762
+ return N(sr, wt(e2, { innerRadiusDefault: 0 }));
1763
+ }
1764
+ function lr(e2) {
1765
+ return N(sr, wt(e2, { innerRadiusDefault: 0.5 }));
1766
+ }
1767
+ function ur(e2) {
1768
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34, 36, 42)" : "rgb(255, 255, 255)", r2 = t2 ? "rgb(240, 242, 246)" : "rgb(20, 22, 26)", i2 = t2 ? "rgba(240, 242, 246, 0.62)" : "rgba(20, 22, 26, 0.56)", a2 = t2 ? "rgba(255, 255, 255, 0.08)" : "rgba(15, 18, 23, 0.08)", o2 = t2 ? "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)" : "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)", s2 = Math.min(e2.containerWidth - 180, e2.pointerX + 12), c2 = Math.min(e2.containerHeight - 80, e2.pointerY + 12);
1769
+ return (() => {
1770
+ var t3 = or(), l2 = t3.firstChild, u2 = l2.firstChild, d2 = u2.nextSibling, f2 = l2.nextSibling;
1771
+ f2.firstChild;
1772
+ var p2 = f2.nextSibling, m2 = p2.firstChild.nextSibling;
1773
+ return m2.nextSibling, z(t3, "left", `${s2}px`), z(t3, "top", `${c2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(t3, "box-shadow", o2), z(l2, "color", i2), I(d2, () => e2.name), I(f2, () => e2.formatter.formatNumber(e2.value, 2), null), I(p2, () => (e2.percent * 100).toFixed(1), m2), F((t4) => z(u2, "background", e2.color)), t3;
1774
+ })();
1775
+ }
1776
+ P(["pointermove"]);
1777
+ var dr = /* @__PURE__ */ V(`<div role=navigation aria-label="Treemap breadcrumb"style="display:flex;align-items:center;gap:6px;height:32px;padding-bottom:6px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;font-size:12px"><button type=button aria-label=Back style=display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:transparent;font-size:13px;line-height:1;padding:0>\u2039</button><div style=display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap>`), fr = /* @__PURE__ */ V('<button type=button style="background:transparent;border:none;padding:2px 6px;border-radius:4px;font-size:12px;white-space:nowrap">'), pr = /* @__PURE__ */ V("<span style=font-size:11px>/"), mr = /* @__PURE__ */ V("<div style=position:relative;display:flex;flex-direction:column><div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), hr = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:180px"><div style=font-size:10px;margin-bottom:2px></div><div style=display:flex;align-items:center;gap:5px><span aria-hidden=true style=width:10px;height:10px;border-radius:2px;display:inline-block></span><span style=font-weight:600></span></div><div>value: </div><div>percent: <!>%`);
1778
+ function gr(e2) {
1779
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
1780
+ let e3 = t2();
1781
+ return {
1782
+ theme: e3.theme,
1783
+ palette: e3.palette,
1784
+ locale: e3.locale,
1785
+ timeZone: e3.timeZone,
1786
+ visualStyle: e3.visualStyle,
1787
+ outlineFillColor: e3.outlineFillColor,
1788
+ outlineFillOpacity: e3.outlineFillOpacity,
1789
+ cornerRadius: e3.cornerRadius,
1790
+ borderWidth: e3.borderWidth,
1791
+ accents: e3.accents,
1792
+ osTheme: e3.osTheme,
1793
+ appTheme: e3.appTheme
1794
+ };
1795
+ });
1796
+ J(() => {
1797
+ n2 !== void 0 && (a2 = new w({
1798
+ container: i2 ?? null,
1799
+ staticCanvas: n2,
1800
+ dynamicCanvas: r2 ?? null,
1801
+ initialProps: e2,
1802
+ initialProvider: u2(),
1803
+ onContextChange: s2,
1804
+ onHoverChange: l2
1805
+ }));
1806
+ }), W(() => {
1807
+ a2 !== null && a2.update(e2, u2());
1808
+ }), q(() => {
1809
+ a2 !== null && (a2.dispose(), a2 = null);
1810
+ });
1811
+ let d2 = (e3) => {
1812
+ a2?.handlePointerMove(e3);
1813
+ }, f2 = () => {
1814
+ a2?.handlePointerLeave();
1815
+ }, p2 = (e3) => {
1816
+ a2?.handleClick(e3);
1817
+ }, m2 = G(() => e2.width ?? 600), h2 = G(() => e2.height ?? 400), g2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Treemap"), _2 = G(() => {
1818
+ let t3 = c2(), n3 = o2();
1819
+ if (t3 === null || n3 === null) return null;
1820
+ let r3 = {
1821
+ idx: t3.idx,
1822
+ name: t3.name,
1823
+ value: t3.value,
1824
+ percent: t3.percent,
1825
+ depth: t3.depth,
1826
+ path: t3.path,
1827
+ color: t3.color,
1828
+ pointerX: t3.pointerX,
1829
+ pointerY: t3.pointerY,
1830
+ containerWidth: m2(),
1831
+ containerHeight: h2(),
1832
+ theme: n3.personalization.theme,
1833
+ palette: n3.personalization.palette,
1834
+ locale: n3.resolvedLocaleBase,
1835
+ timeZone: n3.resolvedTimeZone,
1836
+ formatter: n3.formatter
1837
+ };
1838
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : _r(r3);
1839
+ }), v2 = G(() => {
1840
+ let e3 = o2();
1841
+ if (e3 === null || !e3.showBreadcrumb) return null;
1842
+ let t3 = e3.personalization.theme === "dark", n3 = ["root", ...e3.currentPath], r3 = n3.length - 1, i3 = t3 ? "rgba(240,242,246,0.92)" : "rgba(20,22,26,0.82)", s3 = t3 ? "rgba(240,242,246,0.55)" : "rgba(20,22,26,0.45)", c3 = n3.length === 1;
1843
+ return (() => {
1844
+ var o3 = dr(), l3 = o3.firstChild, u3 = l3.nextSibling;
1845
+ return z(o3, "color", i3), l3.$$click = () => {
1846
+ c3 || a2?.setPath(e3.currentPath.slice(0, -1));
1847
+ }, l3.disabled = c3, z(l3, "border", `1px solid ${t3 ? "rgba(255,255,255,0.12)" : "rgba(15,18,23,0.10)"}`), z(l3, "color", c3 ? s3 : i3), z(l3, "cursor", c3 ? "not-allowed" : "pointer"), z(l3, "opacity", c3 ? "0.45" : "1"), I(u3, N(U, {
1848
+ each: n3,
1849
+ children: (e4, t4) => [L(() => L(() => t4() > 0)() && (() => {
1850
+ var e5 = pr();
1851
+ return z(e5, "color", s3), e5;
1852
+ })()), (() => {
1853
+ var o4 = fr();
1854
+ return o4.$$click = () => a2?.setPath(n3.slice(1, t4() + 1)), I(o4, e4), F((e5) => {
1855
+ var n4 = t4() === r3, a3 = t4() === r3 ? i3 : s3, c4 = t4() === r3 ? "600" : "500", l4 = t4() === r3 ? "default" : "pointer";
1856
+ return n4 !== e5.e && (o4.disabled = e5.e = n4), a3 !== e5.t && z(o4, "color", e5.t = a3), c4 !== e5.a && z(o4, "font-weight", e5.a = c4), l4 !== e5.o && z(o4, "cursor", e5.o = l4), e5;
1857
+ }, {
1858
+ e: void 0,
1859
+ t: void 0,
1860
+ a: void 0,
1861
+ o: void 0
1862
+ }), o4;
1863
+ })()]
1864
+ })), F((e4) => z(o3, "width", `${m2()}px`)), o3;
1865
+ })();
1866
+ });
1867
+ return (() => {
1868
+ var e3 = mr(), t3 = e3.firstChild, a3 = t3.firstChild, o3 = a3.nextSibling;
1869
+ return H((e4) => i2 = e4, e3), I(e3, v2, t3), t3.$$click = p2, t3.addEventListener("pointerleave", f2), t3.$$pointermove = d2, H((e4) => n2 = e4, a3), H((e4) => r2 = e4, o3), I(t3, _2, null), F((n3) => {
1870
+ var r3 = `${m2()}px`, i3 = g2(), s3 = `${m2()}px`, c3 = `${h2()}px`, l3 = `${m2()}px`, u3 = `${h2()}px`, d3 = `${m2()}px`, f3 = `${h2()}px`;
1871
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && R(e3, "aria-label", n3.t = i3), s3 !== n3.a && z(t3, "width", n3.a = s3), c3 !== n3.o && z(t3, "height", n3.o = c3), l3 !== n3.i && z(a3, "width", n3.i = l3), u3 !== n3.n && z(a3, "height", n3.n = u3), d3 !== n3.s && z(o3, "width", n3.s = d3), f3 !== n3.h && z(o3, "height", n3.h = f3), n3;
1872
+ }, {
1873
+ e: void 0,
1874
+ t: void 0,
1875
+ a: void 0,
1876
+ o: void 0,
1877
+ i: void 0,
1878
+ n: void 0,
1879
+ s: void 0,
1880
+ h: void 0
1881
+ }), e3;
1882
+ })();
1883
+ }
1884
+ function _r(e2) {
1885
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34, 36, 42)" : "rgb(255, 255, 255)", r2 = t2 ? "rgb(240, 242, 246)" : "rgb(20, 22, 26)", i2 = t2 ? "rgba(240, 242, 246, 0.62)" : "rgba(20, 22, 26, 0.56)", a2 = t2 ? "rgba(255, 255, 255, 0.08)" : "rgba(15, 18, 23, 0.08)", o2 = t2 ? "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)" : "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)", s2 = Math.min(e2.containerWidth - 200, e2.pointerX + 12), c2 = Math.min(e2.containerHeight - 80, e2.pointerY + 12);
1886
+ return (() => {
1887
+ var t3 = hr(), l2 = t3.firstChild, u2 = l2.nextSibling, d2 = u2.firstChild, f2 = d2.nextSibling, p2 = u2.nextSibling;
1888
+ p2.firstChild;
1889
+ var m2 = p2.nextSibling, h2 = m2.firstChild.nextSibling;
1890
+ return h2.nextSibling, z(t3, "left", `${s2}px`), z(t3, "top", `${c2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(t3, "box-shadow", o2), z(l2, "color", i2), I(l2, () => e2.path.join(" \u203A ")), I(f2, () => e2.name), I(p2, () => e2.formatter.formatNumber(e2.value, 2), null), I(m2, () => (e2.percent * 100).toFixed(1), h2), F((t4) => z(d2, "background", e2.color)), t3;
1891
+ })();
1892
+ }
1893
+ P(["click", "pointermove"]);
1894
+ var vr = /* @__PURE__ */ V("<div style=text-align:center;line-height:1.2><div style=font-size:10px;opacity:0.6>Total</div><div style=font-size:18px;font-weight:600>"), yr = /* @__PURE__ */ V(`<div style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif">`), br = /* @__PURE__ */ V(`<div role=button style="position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);border-radius:50%;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;user-select:none"><span style=font-size:10px;line-height:1;letter-spacing:0.02em>\u2039 Back</span><span style=font-size:14px;font-weight:600;line-height:1.1>`), xr = /* @__PURE__ */ V("<span style=font-size:11px;line-height:1>"), Sr = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), Cr = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:180px"><div style=font-size:10px;margin-bottom:2px></div><div style=display:flex;align-items:center;gap:5px><span aria-hidden=true style=width:10px;height:10px;border-radius:5px;display:inline-block></span><span style=font-weight:600></span></div><div>value: </div><div>percent: <!>%`);
1895
+ function wr(e2) {
1896
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
1897
+ let e3 = t2();
1898
+ return {
1899
+ theme: e3.theme,
1900
+ palette: e3.palette,
1901
+ locale: e3.locale,
1902
+ timeZone: e3.timeZone,
1903
+ visualStyle: e3.visualStyle,
1904
+ outlineFillColor: e3.outlineFillColor,
1905
+ outlineFillOpacity: e3.outlineFillOpacity,
1906
+ cornerRadius: e3.cornerRadius,
1907
+ borderWidth: e3.borderWidth,
1908
+ accents: e3.accents,
1909
+ osTheme: e3.osTheme,
1910
+ appTheme: e3.appTheme
1911
+ };
1912
+ });
1913
+ J(() => {
1914
+ n2 !== void 0 && (a2 = new C({
1915
+ container: i2 ?? null,
1916
+ staticCanvas: n2,
1917
+ dynamicCanvas: r2 ?? null,
1918
+ initialProps: e2,
1919
+ initialProvider: u2(),
1920
+ onContextChange: s2,
1921
+ onHoverChange: l2
1922
+ }));
1923
+ }), W(() => {
1924
+ a2 !== null && a2.update(e2, u2());
1925
+ }), q(() => {
1926
+ a2 !== null && (a2.dispose(), a2 = null);
1927
+ });
1928
+ let d2 = (e3) => {
1929
+ a2?.handlePointerMove(e3);
1930
+ }, f2 = () => {
1931
+ a2?.handlePointerLeave();
1932
+ }, p2 = (e3) => {
1933
+ a2?.handleClick(e3);
1934
+ }, m2 = G(() => e2.width ?? 480), h2 = G(() => e2.height ?? 480), g2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Sunburst"), _2 = G(() => {
1935
+ let t3 = c2(), n3 = o2();
1936
+ if (t3 === null || n3 === null) return null;
1937
+ let r3 = {
1938
+ idx: t3.idx,
1939
+ name: t3.name,
1940
+ value: t3.value,
1941
+ percent: t3.percent,
1942
+ depth: t3.depth,
1943
+ path: t3.path,
1944
+ color: t3.color,
1945
+ pointerX: t3.pointerX,
1946
+ pointerY: t3.pointerY,
1947
+ containerWidth: m2(),
1948
+ containerHeight: h2(),
1949
+ theme: n3.personalization.theme,
1950
+ palette: n3.personalization.palette,
1951
+ locale: n3.resolvedLocaleBase,
1952
+ timeZone: n3.resolvedTimeZone,
1953
+ formatter: n3.formatter
1954
+ };
1955
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : Tr(r3);
1956
+ }), v2 = G(() => {
1957
+ let t3 = o2();
1958
+ if (t3 === null || t3.isDrilled) return null;
1959
+ let n3 = e2.centerLabel;
1960
+ if (n3 === void 0 || n3 === false) return null;
1961
+ let r3 = t3.personalization.theme === "dark", i3;
1962
+ return i3 = n3 === true ? (() => {
1963
+ var e3 = vr(), n4 = e3.firstChild.nextSibling;
1964
+ return I(n4, () => t3.formatter.formatNumber(t3.totalValue, 0)), e3;
1965
+ })() : n3, (() => {
1966
+ var e3 = yr();
1967
+ return z(e3, "color", r3 ? "rgb(240,242,246)" : "rgb(20,22,26)"), I(e3, i3), e3;
1968
+ })();
1969
+ }), y2 = G(() => {
1970
+ let e3 = o2();
1971
+ if (e3 === null || !e3.isDrilled) return null;
1972
+ let t3 = e3.personalization.theme === "dark", n3 = t3 ? "rgb(34, 36, 42)" : "rgb(255, 255, 255)", r3 = t3 ? "rgb(240, 242, 246)" : "rgb(20, 22, 26)", i3 = t3 ? "rgba(240, 242, 246, 0.62)" : "rgba(20, 22, 26, 0.56)", s3 = t3 ? "rgba(255, 255, 255, 0.08)" : "rgba(15, 18, 23, 0.10)", c3 = e3.centerDiscDiameter, l3 = () => {
1973
+ let t4 = e3.currentPath.slice(0, -1);
1974
+ a2?.setPath(t4);
1975
+ }, u3 = Number.isFinite(e3.rootDelta) ? `${e3.rootDelta >= 0 ? "\u25B2" : "\u25BC"} ${Math.abs(e3.rootDelta).toFixed(1)}%` : "";
1976
+ return (() => {
1977
+ var t4 = br(), a3 = t4.firstChild, o3 = a3.nextSibling;
1978
+ return t4.$$click = (e4) => {
1979
+ e4.stopPropagation(), l3();
1980
+ }, z(t4, "width", `${c3}px`), z(t4, "height", `${c3}px`), z(t4, "background", n3), z(t4, "border", `1px solid ${s3}`), z(t4, "color", r3), z(a3, "color", i3), I(o3, () => e3.rootName), I(t4, u3 !== "" && (() => {
1981
+ var e4 = xr();
1982
+ return z(e4, "color", i3), I(e4, u3), e4;
1983
+ })(), null), F(() => R(t4, "aria-label", `Back to ${e3.currentPath.length > 1 ? e3.currentPath[e3.currentPath.length - 2] : "root"}`)), t4;
1984
+ })();
1985
+ });
1986
+ return (() => {
1987
+ var e3 = Sr(), t3 = e3.firstChild, a3 = t3.nextSibling;
1988
+ return e3.$$click = p2, e3.addEventListener("pointerleave", f2), e3.$$pointermove = d2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, v2, null), I(e3, y2, null), I(e3, _2, null), F((n3) => {
1989
+ var r3 = `${m2()}px`, i3 = `${h2()}px`, o3 = g2(), s3 = `${m2()}px`, c3 = `${h2()}px`, l3 = `${m2()}px`, u3 = `${h2()}px`;
1990
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s3 !== n3.o && z(t3, "width", n3.o = s3), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
1991
+ }, {
1992
+ e: void 0,
1993
+ t: void 0,
1994
+ a: void 0,
1995
+ o: void 0,
1996
+ i: void 0,
1997
+ n: void 0,
1998
+ s: void 0
1999
+ }), e3;
2000
+ })();
2001
+ }
2002
+ function Tr(e2) {
2003
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34, 36, 42)" : "rgb(255, 255, 255)", r2 = t2 ? "rgb(240, 242, 246)" : "rgb(20, 22, 26)", i2 = t2 ? "rgba(240, 242, 246, 0.62)" : "rgba(20, 22, 26, 0.56)", a2 = t2 ? "rgba(255, 255, 255, 0.08)" : "rgba(15, 18, 23, 0.08)", o2 = t2 ? "0 8px 24px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.40)" : "0 8px 24px rgba(15, 18, 23, 0.10), 0 2px 6px rgba(15, 18, 23, 0.06)", s2 = Math.min(e2.containerWidth - 200, e2.pointerX + 12), c2 = Math.min(e2.containerHeight - 80, e2.pointerY + 12);
2004
+ return (() => {
2005
+ var t3 = Cr(), l2 = t3.firstChild, u2 = l2.nextSibling, d2 = u2.firstChild, f2 = d2.nextSibling, p2 = u2.nextSibling;
2006
+ p2.firstChild;
2007
+ var m2 = p2.nextSibling, h2 = m2.firstChild.nextSibling;
2008
+ return h2.nextSibling, z(t3, "left", `${s2}px`), z(t3, "top", `${c2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(t3, "box-shadow", o2), z(l2, "color", i2), I(l2, () => e2.path.join(" \u203A ")), I(f2, () => e2.name), I(p2, () => e2.formatter.formatNumber(e2.value, 2), null), I(m2, () => (e2.percent * 100).toFixed(1), h2), F((t4) => z(d2, "background", e2.color)), t3;
2009
+ })();
2010
+ }
2011
+ P(["click", "pointermove"]);
2012
+ var Er = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), Dr = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:160px"><div style=font-size:10px;margin-bottom:2px> \xB7 #</div><div>range: <!> \u2013 </div><div>source: `);
2013
+ function Or(e2) {
2014
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
2015
+ let e3 = t2();
2016
+ return {
2017
+ theme: e3.theme,
2018
+ palette: e3.palette,
2019
+ locale: e3.locale,
2020
+ timeZone: e3.timeZone,
2021
+ visualStyle: e3.visualStyle,
2022
+ outlineFillColor: e3.outlineFillColor,
2023
+ outlineFillOpacity: e3.outlineFillOpacity,
2024
+ cornerRadius: e3.cornerRadius,
2025
+ borderWidth: e3.borderWidth,
2026
+ accents: e3.accents,
2027
+ osTheme: e3.osTheme,
2028
+ appTheme: e3.appTheme
2029
+ };
2030
+ });
2031
+ J(() => {
2032
+ n2 !== void 0 && (a2 = new Be({
2033
+ container: i2 ?? null,
2034
+ staticCanvas: n2,
2035
+ dynamicCanvas: r2 ?? null,
2036
+ initialProps: e2,
2037
+ initialProvider: u2(),
2038
+ onContextChange: s2,
2039
+ onHoverChange: l2
2040
+ }));
2041
+ }), W(() => {
2042
+ a2 !== null && a2.update(e2, u2());
2043
+ }), q(() => {
2044
+ a2 !== null && (a2.dispose(), a2 = null);
2045
+ });
2046
+ let d2 = (e3) => {
2047
+ a2?.handlePointerMove(e3);
2048
+ }, f2 = () => {
2049
+ a2?.handlePointerLeave();
2050
+ }, p2 = G(() => e2.width ?? 800), m2 = G(() => e2.height ?? 400), h2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Renko chart"), g2 = G(() => {
2051
+ let t3 = c2(), n3 = o2();
2052
+ if (t3 === null || n3 === null) return null;
2053
+ let r3 = {
2054
+ idx: t3.idx,
2055
+ direction: t3.direction,
2056
+ bottomPrice: t3.bottomPrice,
2057
+ topPrice: t3.topPrice,
2058
+ sourceTime: t3.sourceTime,
2059
+ pointerX: t3.pointerX,
2060
+ pointerY: t3.pointerY,
2061
+ containerWidth: p2(),
2062
+ containerHeight: m2(),
2063
+ theme: n3.personalization.theme,
2064
+ palette: n3.personalization.palette,
2065
+ locale: n3.resolvedLocaleBase,
2066
+ timeZone: n3.resolvedTimeZone,
2067
+ formatter: n3.formatter
2068
+ };
2069
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : kr(r3);
2070
+ });
2071
+ return (() => {
2072
+ var e3 = Er(), t3 = e3.firstChild, a3 = t3.nextSibling;
2073
+ return e3.addEventListener("pointerleave", f2), e3.$$pointermove = d2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, g2, null), F((n3) => {
2074
+ var r3 = `${p2()}px`, i3 = `${m2()}px`, o3 = h2(), s3 = `${p2()}px`, c3 = `${m2()}px`, l3 = `${p2()}px`, u3 = `${m2()}px`;
2075
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s3 !== n3.o && z(t3, "width", n3.o = s3), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
2076
+ }, {
2077
+ e: void 0,
2078
+ t: void 0,
2079
+ a: void 0,
2080
+ o: void 0,
2081
+ i: void 0,
2082
+ n: void 0,
2083
+ s: void 0
2084
+ }), e3;
2085
+ })();
2086
+ }
2087
+ function kr(e2) {
2088
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34,36,42)" : "rgb(255,255,255)", r2 = t2 ? "rgb(240,242,246)" : "rgb(20,22,26)", i2 = t2 ? "rgba(240,242,246,0.62)" : "rgba(20,22,26,0.56)", a2 = t2 ? "rgba(255,255,255,0.08)" : "rgba(15,18,23,0.08)", o2 = Math.min(e2.containerWidth - 180, e2.pointerX + 12), s2 = Math.min(e2.containerHeight - 80, e2.pointerY + 12);
2089
+ return (() => {
2090
+ var t3 = Dr(), c2 = t3.firstChild, l2 = c2.firstChild, u2 = c2.nextSibling, d2 = u2.firstChild.nextSibling;
2091
+ d2.nextSibling;
2092
+ var f2 = u2.nextSibling;
2093
+ return f2.firstChild, z(t3, "left", `${o2}px`), z(t3, "top", `${s2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(c2, "color", i2), I(c2, () => e2.direction > 0 ? "\u25B2 Up brick" : "\u25BC Down brick", l2), I(c2, () => e2.idx, null), I(u2, () => e2.formatter.formatNumber(e2.bottomPrice, 2), d2), I(u2, () => e2.formatter.formatNumber(e2.topPrice, 2), null), I(f2, () => e2.formatter.formatDate(e2.sourceTime), null), t3;
2094
+ })();
2095
+ }
2096
+ P(["pointermove"]);
2097
+ var Ar = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), jr = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:160px"><div style=font-size:10px;margin-bottom:2px> \xB7 <!> \xB7 leg #</div><div> \u2192 `);
2098
+ function Mr(e2) {
2099
+ let t2 = X(), r2, i2, a2, o2 = null, [s2, c2] = K(null), [l2, u2] = K(null), d2 = G(() => {
2100
+ let e3 = t2();
2101
+ return {
2102
+ theme: e3.theme,
2103
+ palette: e3.palette,
2104
+ locale: e3.locale,
2105
+ timeZone: e3.timeZone,
2106
+ visualStyle: e3.visualStyle,
2107
+ outlineFillColor: e3.outlineFillColor,
2108
+ outlineFillOpacity: e3.outlineFillOpacity,
2109
+ cornerRadius: e3.cornerRadius,
2110
+ borderWidth: e3.borderWidth,
2111
+ accents: e3.accents,
2112
+ osTheme: e3.osTheme,
2113
+ appTheme: e3.appTheme
2114
+ };
2115
+ });
2116
+ J(() => {
2117
+ r2 !== void 0 && (o2 = new n({
2118
+ container: a2 ?? null,
2119
+ staticCanvas: r2,
2120
+ dynamicCanvas: i2 ?? null,
2121
+ initialProps: e2,
2122
+ initialProvider: d2(),
2123
+ onContextChange: c2,
2124
+ onHoverChange: u2
2125
+ }));
2126
+ }), W(() => {
2127
+ o2 !== null && o2.update(e2, d2());
2128
+ }), q(() => {
2129
+ o2 !== null && (o2.dispose(), o2 = null);
2130
+ });
2131
+ let f2 = (e3) => {
2132
+ o2?.handlePointerMove(e3);
2133
+ }, p2 = () => {
2134
+ o2?.handlePointerLeave();
2135
+ }, m2 = G(() => e2.width ?? 800), h2 = G(() => e2.height ?? 400), g2 = G(() => e2.ariaLabel ?? s2()?.ariaLabel ?? "Kagi chart"), _2 = G(() => {
2136
+ let t3 = l2(), n2 = s2();
2137
+ if (t3 === null || n2 === null) return null;
2138
+ let r3 = {
2139
+ idx: t3.idx,
2140
+ direction: t3.direction,
2141
+ thick: t3.thick,
2142
+ startPrice: t3.startPrice,
2143
+ endPrice: t3.endPrice,
2144
+ pointerX: t3.pointerX,
2145
+ pointerY: t3.pointerY,
2146
+ containerWidth: m2(),
2147
+ containerHeight: h2(),
2148
+ theme: n2.personalization.theme,
2149
+ palette: n2.personalization.palette,
2150
+ locale: n2.resolvedLocaleBase,
2151
+ timeZone: n2.resolvedTimeZone,
2152
+ formatter: n2.formatter
2153
+ };
2154
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : Nr(r3);
2155
+ });
2156
+ return (() => {
2157
+ var e3 = Ar(), t3 = e3.firstChild, n2 = t3.nextSibling;
2158
+ return e3.addEventListener("pointerleave", p2), e3.$$pointermove = f2, H((e4) => a2 = e4, e3), H((e4) => r2 = e4, t3), H((e4) => i2 = e4, n2), I(e3, _2, null), F((r3) => {
2159
+ var i3 = `${m2()}px`, a3 = `${h2()}px`, o3 = g2(), s3 = `${m2()}px`, c3 = `${h2()}px`, l3 = `${m2()}px`, u3 = `${h2()}px`;
2160
+ return i3 !== r3.e && z(e3, "width", r3.e = i3), a3 !== r3.t && z(e3, "height", r3.t = a3), o3 !== r3.a && R(e3, "aria-label", r3.a = o3), s3 !== r3.o && z(t3, "width", r3.o = s3), c3 !== r3.i && z(t3, "height", r3.i = c3), l3 !== r3.n && z(n2, "width", r3.n = l3), u3 !== r3.s && z(n2, "height", r3.s = u3), r3;
2161
+ }, {
2162
+ e: void 0,
2163
+ t: void 0,
2164
+ a: void 0,
2165
+ o: void 0,
2166
+ i: void 0,
2167
+ n: void 0,
2168
+ s: void 0
2169
+ }), e3;
2170
+ })();
2171
+ }
2172
+ function Nr(e2) {
2173
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34,36,42)" : "rgb(255,255,255)", r2 = t2 ? "rgb(240,242,246)" : "rgb(20,22,26)", i2 = t2 ? "rgba(240,242,246,0.62)" : "rgba(20,22,26,0.56)", a2 = t2 ? "rgba(255,255,255,0.08)" : "rgba(15,18,23,0.08)", o2 = Math.min(e2.containerWidth - 180, e2.pointerX + 12), s2 = Math.min(e2.containerHeight - 80, e2.pointerY + 12);
2174
+ return (() => {
2175
+ var t3 = jr(), c2 = t3.firstChild, l2 = c2.firstChild, u2 = l2.nextSibling;
2176
+ u2.nextSibling;
2177
+ var d2 = c2.nextSibling, f2 = d2.firstChild;
2178
+ return z(t3, "left", `${o2}px`), z(t3, "top", `${s2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(c2, "color", i2), I(c2, () => e2.thick ? "Yang" : "Yin", l2), I(c2, () => e2.direction > 0 ? "\u25B2" : "\u25BC", u2), I(c2, () => e2.idx, null), I(d2, () => e2.formatter.formatNumber(e2.startPrice, 2), f2), I(d2, () => e2.formatter.formatNumber(e2.endPrice, 2), null), t3;
2179
+ })();
2180
+ }
2181
+ P(["pointermove"]);
2182
+ var Pr = /* @__PURE__ */ V("<div style=position:relative><canvas aria-hidden=true style=display:block></canvas><canvas aria-hidden=true style=display:block;position:absolute;inset:0;pointer-events:none>"), Fr = /* @__PURE__ */ V(`<div role=tooltip style="position:absolute;border-radius:6px;padding:6px 8px;font-size:12px;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;pointer-events:none;min-width:160px"><div style=font-size:10px;margin-bottom:2px> \xB7 #</div><div>range: <!> \u2013 `);
2183
+ function Ir(e2) {
2184
+ let t2 = X(), n2, r2, i2, a2 = null, [o2, s2] = K(null), [c2, l2] = K(null), u2 = G(() => {
2185
+ let e3 = t2();
2186
+ return {
2187
+ theme: e3.theme,
2188
+ palette: e3.palette,
2189
+ locale: e3.locale,
2190
+ timeZone: e3.timeZone,
2191
+ visualStyle: e3.visualStyle,
2192
+ outlineFillColor: e3.outlineFillColor,
2193
+ outlineFillOpacity: e3.outlineFillOpacity,
2194
+ cornerRadius: e3.cornerRadius,
2195
+ borderWidth: e3.borderWidth,
2196
+ accents: e3.accents,
2197
+ osTheme: e3.osTheme,
2198
+ appTheme: e3.appTheme
2199
+ };
2200
+ });
2201
+ J(() => {
2202
+ n2 !== void 0 && (a2 = new He({
2203
+ container: i2 ?? null,
2204
+ staticCanvas: n2,
2205
+ dynamicCanvas: r2 ?? null,
2206
+ initialProps: e2,
2207
+ initialProvider: u2(),
2208
+ onContextChange: s2,
2209
+ onHoverChange: l2
2210
+ }));
2211
+ }), W(() => {
2212
+ a2 !== null && a2.update(e2, u2());
2213
+ }), q(() => {
2214
+ a2 !== null && (a2.dispose(), a2 = null);
2215
+ });
2216
+ let d2 = (e3) => {
2217
+ a2?.handlePointerMove(e3);
2218
+ }, f2 = () => {
2219
+ a2?.handlePointerLeave();
2220
+ }, p2 = G(() => e2.width ?? 800), m2 = G(() => e2.height ?? 400), h2 = G(() => e2.ariaLabel ?? o2()?.ariaLabel ?? "Point and figure chart"), g2 = G(() => {
2221
+ let t3 = c2(), n3 = o2();
2222
+ if (t3 === null || n3 === null) return null;
2223
+ let r3 = {
2224
+ idx: t3.idx,
2225
+ direction: t3.direction,
2226
+ bottomBox: t3.bottomBox,
2227
+ topBox: t3.topBox,
2228
+ pointerX: t3.pointerX,
2229
+ pointerY: t3.pointerY,
2230
+ containerWidth: p2(),
2231
+ containerHeight: m2(),
2232
+ theme: n3.personalization.theme,
2233
+ palette: n3.personalization.palette,
2234
+ locale: n3.resolvedLocaleBase,
2235
+ timeZone: n3.resolvedTimeZone,
2236
+ formatter: n3.formatter
2237
+ };
2238
+ return e2.tooltip === false ? null : typeof e2.tooltip == "function" ? e2.tooltip(r3) : Lr(r3);
2239
+ });
2240
+ return (() => {
2241
+ var e3 = Pr(), t3 = e3.firstChild, a3 = t3.nextSibling;
2242
+ return e3.addEventListener("pointerleave", f2), e3.$$pointermove = d2, H((e4) => i2 = e4, e3), H((e4) => n2 = e4, t3), H((e4) => r2 = e4, a3), I(e3, g2, null), F((n3) => {
2243
+ var r3 = `${p2()}px`, i3 = `${m2()}px`, o3 = h2(), s3 = `${p2()}px`, c3 = `${m2()}px`, l3 = `${p2()}px`, u3 = `${m2()}px`;
2244
+ return r3 !== n3.e && z(e3, "width", n3.e = r3), i3 !== n3.t && z(e3, "height", n3.t = i3), o3 !== n3.a && R(e3, "aria-label", n3.a = o3), s3 !== n3.o && z(t3, "width", n3.o = s3), c3 !== n3.i && z(t3, "height", n3.i = c3), l3 !== n3.n && z(a3, "width", n3.n = l3), u3 !== n3.s && z(a3, "height", n3.s = u3), n3;
2245
+ }, {
2246
+ e: void 0,
2247
+ t: void 0,
2248
+ a: void 0,
2249
+ o: void 0,
2250
+ i: void 0,
2251
+ n: void 0,
2252
+ s: void 0
2253
+ }), e3;
2254
+ })();
2255
+ }
2256
+ function Lr(e2) {
2257
+ let t2 = e2.theme === "dark", n2 = t2 ? "rgb(34,36,42)" : "rgb(255,255,255)", r2 = t2 ? "rgb(240,242,246)" : "rgb(20,22,26)", i2 = t2 ? "rgba(240,242,246,0.62)" : "rgba(20,22,26,0.56)", a2 = t2 ? "rgba(255,255,255,0.08)" : "rgba(15,18,23,0.08)", o2 = Math.min(e2.containerWidth - 180, e2.pointerX + 12), s2 = Math.min(e2.containerHeight - 80, e2.pointerY + 12);
2258
+ return (() => {
2259
+ var t3 = Fr(), c2 = t3.firstChild, l2 = c2.firstChild, u2 = c2.nextSibling, d2 = u2.firstChild.nextSibling;
2260
+ return d2.nextSibling, z(t3, "left", `${o2}px`), z(t3, "top", `${s2}px`), z(t3, "background", n2), z(t3, "color", r2), z(t3, "border", `1px solid ${a2}`), z(c2, "color", i2), I(c2, () => e2.direction > 0 ? "X (up column)" : "O (down column)", l2), I(c2, () => e2.idx, null), I(u2, () => e2.formatter.formatNumber(e2.bottomBox, 2), d2), I(u2, () => e2.formatter.formatNumber(e2.topBox, 2), null), t3;
2261
+ })();
2262
+ }
2263
+ P(["pointermove"]);
2264
+ var Rr = /* @__PURE__ */ V('<div role=slider aria-label="Time-range brush"style=position:relative;border-radius:4px;user-select:none;touch-action:none>'), zr = /* @__PURE__ */ V("<div style=position:absolute;top:0;height:100%>"), Br = /* @__PURE__ */ V("<div style=position:absolute;top:0;width:4px;height:100%;border-radius:2px;cursor:ew-resize>");
2265
+ function Vr(e2) {
2266
+ let t2 = Q(), n2, [r2, i2] = K(null), a2 = () => e2.width ?? 600, o2 = () => e2.height ?? 28, s2 = () => e2.trackColor ?? "rgba(120,120,120,0.12)", c2 = () => e2.selectionColor ?? "rgba(80,160,120,0.28)", l2 = () => e2.handleColor ?? "rgba(80,160,120,0.95)", u2 = () => e2.domain.end - e2.domain.start, d2 = (t3) => {
2267
+ let n3 = a2();
2268
+ return u2() <= 0 || n3 <= 0 ? e2.domain.start : e2.domain.start + t3 / n3 * u2();
2269
+ }, f2 = (t3) => {
2270
+ let n3 = a2();
2271
+ return u2() <= 0 || n3 <= 0 ? 0 : (t3 - e2.domain.start) / u2() * n3;
2272
+ }, p2 = (e3) => {
2273
+ if (t2 === null || n2 === void 0) return;
2274
+ let r3 = n2.getBoundingClientRect(), a3 = e3.clientX - r3.left;
2275
+ e3.target.setPointerCapture(e3.pointerId);
2276
+ let o3 = t2.state.brush;
2277
+ if (o3 !== null) {
2278
+ let e4 = f2(o3.start), t3 = f2(o3.end);
2279
+ if (Math.abs(a3 - e4) < 6) {
2280
+ i2({
2281
+ kind: "left",
2282
+ startX: a3,
2283
+ startBrush: o3
2284
+ });
2285
+ return;
2286
+ }
2287
+ if (Math.abs(a3 - t3) < 6) {
2288
+ i2({
2289
+ kind: "right",
2290
+ startX: a3,
2291
+ startBrush: o3
2292
+ });
2293
+ return;
2294
+ }
2295
+ if (a3 > e4 && a3 < t3) {
2296
+ i2({
2297
+ kind: "move",
2298
+ startX: a3,
2299
+ startBrush: o3
2300
+ });
2301
+ return;
2302
+ }
2303
+ }
2304
+ let s3 = d2(a3);
2305
+ t2.state.setBrush({
2306
+ start: s3,
2307
+ end: s3
2308
+ }), i2({
2309
+ kind: "draw",
2310
+ startX: a3,
2311
+ startBrush: null
2312
+ });
2313
+ }, m2 = (i3) => {
2314
+ let a3 = r2();
2315
+ if (t2 === null || a3 === null || n2 === void 0) return;
2316
+ let o3 = n2.getBoundingClientRect(), s3 = i3.clientX - o3.left;
2317
+ if (a3.kind === "draw") {
2318
+ let e3 = d2(a3.startX), n3 = d2(s3), r3 = Math.min(e3, n3), i4 = Math.max(e3, n3);
2319
+ t2.state.setBrush({
2320
+ start: r3,
2321
+ end: i4
2322
+ });
2323
+ return;
2324
+ }
2325
+ let c3 = a3.startBrush;
2326
+ if (c3 === null) return;
2327
+ let l3 = d2(s3) - d2(a3.startX);
2328
+ if (a3.kind === "left") {
2329
+ let e3 = c3.start + l3;
2330
+ e3 >= c3.end && (e3 = c3.end - 1e-4 * u2()), t2.state.setBrush({
2331
+ start: e3,
2332
+ end: c3.end
2333
+ });
2334
+ } else if (a3.kind === "right") {
2335
+ let e3 = c3.end + l3;
2336
+ e3 <= c3.start && (e3 = c3.start + 1e-4 * u2()), t2.state.setBrush({
2337
+ start: c3.start,
2338
+ end: e3
2339
+ });
2340
+ } else if (a3.kind === "move") {
2341
+ let n3 = c3.start + l3, r3 = c3.end + l3;
2342
+ if (n3 < e2.domain.start) {
2343
+ let t3 = e2.domain.start - n3;
2344
+ n3 += t3, r3 += t3;
2345
+ }
2346
+ if (r3 > e2.domain.end) {
2347
+ let t3 = r3 - e2.domain.end;
2348
+ n3 -= t3, r3 -= t3;
2349
+ }
2350
+ t2.state.setBrush({
2351
+ start: n3,
2352
+ end: r3
2353
+ });
2354
+ }
2355
+ }, h2 = () => {
2356
+ i2(null);
2357
+ }, g2 = () => {
2358
+ t2?.state.setBrush(null);
2359
+ };
2360
+ return (() => {
2361
+ var e3 = Rr();
2362
+ return e3.$$dblclick = g2, e3.addEventListener("pointercancel", h2), e3.$$pointerup = h2, e3.$$pointermove = m2, e3.$$pointerdown = p2, H((e4) => n2 = e4, e3), z(e3, "display", t2 === null ? "none" : void 0), I(e3, () => {
2363
+ if (t2 === null) return null;
2364
+ t2.version();
2365
+ let e4 = t2.state.brush;
2366
+ if (e4 === null) return null;
2367
+ let n3 = f2(e4.start), r3 = f2(e4.end);
2368
+ return r3 <= n3 ? null : [
2369
+ (() => {
2370
+ var e5 = zr();
2371
+ return z(e5, "left", `${n3}px`), z(e5, "width", `${r3 - n3}px`), F((t3) => {
2372
+ var n4 = c2(), r4 = `1px solid ${l2()}`, i3 = `1px solid ${l2()}`;
2373
+ return n4 !== t3.e && z(e5, "background", t3.e = n4), r4 !== t3.t && z(e5, "border-top", t3.t = r4), i3 !== t3.a && z(e5, "border-bottom", t3.a = i3), t3;
2374
+ }, {
2375
+ e: void 0,
2376
+ t: void 0,
2377
+ a: void 0
2378
+ }), e5;
2379
+ })(),
2380
+ (() => {
2381
+ var e5 = Br();
2382
+ return z(e5, "left", `${n3 - 2}px`), F((t3) => z(e5, "background", l2())), e5;
2383
+ })(),
2384
+ (() => {
2385
+ var e5 = Br();
2386
+ return z(e5, "left", `${r3 - 2}px`), F((t3) => z(e5, "background", l2())), e5;
2387
+ })()
2388
+ ];
2389
+ }), F((t3) => {
2390
+ var n3 = `${a2()}px`, i3 = `${o2()}px`, c3 = s2(), l3 = r2() === null ? "crosshair" : "grabbing";
2391
+ return n3 !== t3.e && z(e3, "width", t3.e = n3), i3 !== t3.t && z(e3, "height", t3.t = i3), c3 !== t3.a && z(e3, "background", t3.a = c3), l3 !== t3.o && z(e3, "cursor", t3.o = l3), t3;
2392
+ }, {
2393
+ e: void 0,
2394
+ t: void 0,
2395
+ a: void 0,
2396
+ o: void 0
2397
+ }), e3;
2398
+ })();
2399
+ }
2400
+ P([
2401
+ "pointerdown",
2402
+ "pointermove",
2403
+ "pointerup",
2404
+ "dblclick"
2405
+ ]);
2406
+ var Hr = /* @__PURE__ */ V('<div role=region aria-label="Chart group navigator"style=position:relative;flex-direction:column;gap:0>');
2407
+ function Ur(e2) {
2408
+ let t2 = Q(), n2 = () => e2.width ?? 600, r2 = () => e2.height ?? 80, i2 = G(() => {
2409
+ if (e2.domain !== void 0) return e2.domain;
2410
+ let t3 = e2.data;
2411
+ if ("times" in t3) {
2412
+ let e3 = t3.times, n4 = e3.length;
2413
+ return n4 === 0 ? {
2414
+ start: 0,
2415
+ end: 1
2416
+ } : {
2417
+ start: e3[0],
2418
+ end: e3[n4 - 1]
2419
+ };
2420
+ }
2421
+ let n3 = t3.points;
2422
+ return n3.length === 0 ? {
2423
+ start: 0,
2424
+ end: 1
2425
+ } : {
2426
+ start: n3[0].t,
2427
+ end: n3[n3.length - 1].t
2428
+ };
2429
+ });
2430
+ return (() => {
2431
+ var a2 = Hr();
2432
+ return z(a2, "display", t2 === null ? "none" : "flex"), I(a2, N(tn, {
2433
+ get data() {
2434
+ return e2.data;
2435
+ },
2436
+ get width() {
2437
+ return n2();
2438
+ },
2439
+ get height() {
2440
+ return r2() - 20;
2441
+ },
2442
+ sparkline: true
2443
+ }), null), I(a2, N(Vr, {
2444
+ get domain() {
2445
+ return i2();
2446
+ },
2447
+ get width() {
2448
+ return n2();
2449
+ },
2450
+ height: 20
2451
+ }), null), F((e3) => {
2452
+ var t3 = `${n2()}px`, i3 = `${r2()}px`;
2453
+ return t3 !== e3.e && z(a2, "width", e3.e = t3), i3 !== e3.t && z(a2, "height", e3.t = i3), e3;
2454
+ }, {
2455
+ e: void 0,
2456
+ t: void 0
2457
+ }), a2;
2458
+ })();
2459
+ }
2460
+ export {
2461
+ Qe as AUTO_OPACITY_THRESHOLDS,
2462
+ on as AreaChart,
2463
+ me as BULK_BAR_THRESHOLD,
2464
+ dn as BarChart,
2465
+ Mn as CandleChart,
2466
+ Ft as ChartGroup,
2467
+ Vr as ChartGroupBrush,
2468
+ Ur as ChartGroupNavigator,
2469
+ Ot as ChartsProvider,
2470
+ t as DEFAULT_AXIS_LABELS,
2471
+ Re as DEFAULT_BIN_ALGORITHM,
2472
+ ee as DEFAULT_BOX_SIZING,
2473
+ ot as DEFAULT_BUBBLE_RANGE_PX,
2474
+ ct as DEFAULT_CELL_SHAPE,
2475
+ he as DEFAULT_DEPTH_FILL_TYPE,
2476
+ Pe as DEFAULT_GLOW,
2477
+ ye as DEFAULT_GLOW_COLOR,
2478
+ Ze as DEFAULT_GPU_RENDERER,
2479
+ Ye as DEFAULT_HEATMAP_COLOR_SCALE,
2480
+ E as DEFAULT_KAGI_THICKNESS_RULE,
2481
+ ue as DEFAULT_LABEL_BEHAVIOR,
2482
+ b as DEFAULT_LABEL_CONTENT,
2483
+ v as DEFAULT_LABEL_PLACEMENT,
2484
+ ie as DEFAULT_LABEL_ROTATION,
2485
+ mt as DEFAULT_LONG_PRESS_BEHAVIOR,
2486
+ Oe as DEFAULT_NULL_BEHAVIOR,
2487
+ qe as DEFAULT_NUMBER_FORMAT,
2488
+ Se as DEFAULT_PAN_ZOOM_OPTIONS,
2489
+ S as DEFAULT_PATTERN,
2490
+ O as DEFAULT_PATTERN_COLOR,
2491
+ St as DEFAULT_PATTERN_SCALE,
2492
+ f as DEFAULT_PNF_SYMBOL_STYLE,
2493
+ Te as DEFAULT_POINT_SIZE_PX,
2494
+ ne as DEFAULT_PRICE_RANGE_PCT,
2495
+ Ct as DEFAULT_RADIUS_PROPORTION,
2496
+ m as DEFAULT_SORT_ORDER,
2497
+ _e as DEFAULT_SPREAD_DISPLAY,
2498
+ pe as DEFAULT_TILE_LAYOUT,
2499
+ g as DEFAULT_TIME_OFF_SOURCE,
2500
+ de as DEFAULT_TREEMAP_COLOR_SCALE,
2501
+ i as DEFAULT_VIEW_MODE,
2502
+ rt as DEFAULT_Y_AXIS_MODE,
2503
+ xe as DENSITY_AUTO_THRESHOLD,
2504
+ _n as DefaultCandleTooltip,
2505
+ Ut as DefaultExtremeTooltip,
2506
+ Vt as DefaultTooltip,
2507
+ Cn as DefaultVolumeBarTooltip,
2508
+ tr as DepthChart,
2509
+ lt as DirtyRectRing,
2510
+ lr as DonutChart,
2511
+ Ne as FrameTimeMonitor,
2512
+ at as GPU_ENGAGE_THRESHOLD,
2513
+ Zn as HeatmapChart,
2514
+ Gn as HistogramChart,
2515
+ _t as INERTIA_EPSILON,
2516
+ Mr as KagiChart,
2517
+ tn as LineChart,
2518
+ ge as MULTI_CHART_THRESHOLD,
2519
+ Ve as PaletteValidationError,
2520
+ cr as PieChart,
2521
+ Ir as PointFigureChart,
2522
+ Or as RenkoChart,
2523
+ it as SPLIT_MIN_PX,
2524
+ zn as ScatterChart,
2525
+ be as StaticLayerCache,
2526
+ wr as SunburstChart,
2527
+ nt as TOOLTIP_SLOT_NAMES,
2528
+ gr as TreemapChart,
2529
+ D as VISIBLE_MARK_THRESHOLD,
2530
+ $e as allocSharedFloat64,
2531
+ Ke as allocSharedUint32,
2532
+ st as applyAriaAttributes,
2533
+ ae as applyInertiaDecay,
2534
+ y as clearGlowPool,
2535
+ we as compileShaderProgram,
2536
+ Je as defaultAriaLabel,
2537
+ bt as deriveAccentTint,
2538
+ Ce as deriveCategoricalSet,
2539
+ vt as deriveDefaultPalette,
2540
+ k as deriveVariant,
2541
+ ve as detectFastModeContext,
2542
+ oe as detectTouchOnly,
2543
+ ft as downgradeOverrides,
2544
+ tt as drawWithGlow,
2545
+ o as hexToOklch,
2546
+ c as intentFromKey,
2547
+ Fe as isSharedMemoryAvailable,
2548
+ We as isWebgl2Available,
2549
+ T as makeKeyboardHandler,
2550
+ l as makePinchHandler,
2551
+ Ue as registerPalette,
2552
+ Wt as renderExtremeTooltip,
2553
+ yt as resolveFastModeAuto,
2554
+ pt as resolveGlow,
2555
+ _ as resolveGlowHaloColor,
2556
+ ut as resolveGpuRenderer,
2557
+ Ie as resolveNumberFormat,
2558
+ a as resolvePanZoomOptions,
2559
+ r as resolvePattern,
2560
+ Le as resolveTooltip,
2561
+ e as shouldEngageOffscreenWorker,
2562
+ De as shouldEngageWebgl,
2563
+ Xe as shouldUseDirtyRects,
2564
+ ze as shouldUseLayerSplit,
2565
+ ke as transferablesFor,
2566
+ Ae as tryGetWebgl2,
2567
+ Q as useChartGroup,
2568
+ kt as useChartTheme,
2569
+ X as useChartsContext,
2570
+ Nt as useStreamingCandles
2571
+ };