@wick-charts/vue 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +554 -132
  2. package/dist/index.js +143 -152
  3. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { inject as xe, defineComponent as Z, ref as tt, onMounted as q, onUnmounted as et, watch as st, createCommentVNode as K, shallowRef as ne, provide as le, computed as P, openBlock as R, createElementBlock as T, normalizeStyle as z, renderSlot as Oe, unref as W, Fragment as O, createElementVNode as _, toDisplayString as I, renderList as ct, createVNode as $e } from "vue";
1
+ import { inject as xe, defineComponent as Z, ref as tt, onMounted as q, onUnmounted as et, watch as st, createCommentVNode as K, shallowRef as le, provide as he, computed as P, openBlock as R, createElementBlock as T, normalizeStyle as z, renderSlot as Oe, unref as W, Fragment as O, createElementVNode as _, toDisplayString as I, renderList as ct, createVNode as $e } from "vue";
2
2
  var Xe = Object.defineProperty, Ce = (r) => {
3
3
  throw TypeError(r);
4
- }, He = (r, t, e) => t in r ? Xe(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e, x = (r, t, e) => He(r, typeof t != "symbol" ? t + "" : t, e), Jt = (r, t, e) => t.has(r) || Ce("Cannot " + e), h = (r, t, e) => (Jt(r, t, "read from private field"), e ? e.call(r) : t.get(r)), A = (r, t, e) => t.has(r) ? Ce("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, e), M = (r, t, e, o) => (Jt(r, t, "write to private field"), t.set(r, e), e), It = (r, t, e) => (Jt(r, t, "access private method"), e), he = (r, t, e, o) => ({
4
+ }, He = (r, t, e) => t in r ? Xe(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e, x = (r, t, e) => He(r, typeof t != "symbol" ? t + "" : t, e), jt = (r, t, e) => t.has(r) || Ce("Cannot " + e), h = (r, t, e) => (jt(r, t, "read from private field"), e ? e.call(r) : t.get(r)), A = (r, t, e) => t.has(r) ? Ce("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, e), M = (r, t, e, o) => (jt(r, t, "write to private field"), t.set(r, e), e), It = (r, t, e) => (jt(r, t, "access private method"), e), ce = (r, t, e, o) => ({
5
5
  set _(i) {
6
6
  M(r, t, i);
7
7
  },
@@ -29,13 +29,13 @@ class Pt {
29
29
  this.listeners.clear();
30
30
  }
31
31
  }
32
- function ce(r, t, e) {
32
+ function de(r, t, e) {
33
33
  const o = document.createElement("canvas");
34
34
  return o.style.position = "absolute", o.style.inset = "0", o.style.width = "100%", o.style.height = "100%", o.style.display = "block", o.style.zIndex = String(t), r.appendChild(o), o;
35
35
  }
36
36
  class Ge extends Pt {
37
37
  constructor(t) {
38
- super(), x(this, "mainCanvas"), x(this, "mainCtx"), x(this, "overlayCanvas"), x(this, "overlayCtx"), x(this, "resizeObserver"), x(this, "_size"), x(this, "supportsDevicePixelContentBox", !1), this.mainCanvas = ce(t, 0), this.overlayCanvas = ce(t, 1), this.mainCtx = this.mainCanvas.getContext("2d", { alpha: !0 }), this.overlayCtx = this.overlayCanvas.getContext("2d", { alpha: !0 });
38
+ super(), x(this, "mainCanvas"), x(this, "mainCtx"), x(this, "overlayCanvas"), x(this, "overlayCtx"), x(this, "resizeObserver"), x(this, "_size"), x(this, "supportsDevicePixelContentBox", !1), this.mainCanvas = de(t, 0), this.overlayCanvas = de(t, 1), this.mainCtx = this.mainCanvas.getContext("2d", { alpha: !0 }), this.overlayCtx = this.overlayCanvas.getContext("2d", { alpha: !0 });
39
39
  const e = window.devicePixelRatio || 1;
40
40
  this._size = {
41
41
  media: { width: 0, height: 0 },
@@ -146,10 +146,10 @@ function Je(r, t, e, o, i) {
146
146
  }
147
147
  a.stroke(), a.setLineDash([]);
148
148
  }
149
- function de(r, t, e) {
149
+ function ue(r, t, e) {
150
150
  return r + (t - r) * e;
151
151
  }
152
- function Xt(r, t, e) {
152
+ function Ht(r, t, e) {
153
153
  let o = 0, i = r.length - 1;
154
154
  for (; o <= i; ) {
155
155
  const a = o + i >>> 1, s = e(r[a]);
@@ -159,7 +159,7 @@ function Xt(r, t, e) {
159
159
  }
160
160
  return o;
161
161
  }
162
- class jt extends Pt {
162
+ class Kt extends Pt {
163
163
  constructor() {
164
164
  super(...arguments), x(this, "data", []), x(this, "_visible", !0), x(this, "cachedRange", null), x(this, "cachedResult", []);
165
165
  }
@@ -194,7 +194,7 @@ class jt extends Pt {
194
194
  getVisibleData(t, e) {
195
195
  if (this.data.length === 0) return [];
196
196
  if (this.cachedRange && this.cachedRange.from === t && this.cachedRange.to === e) return this.cachedResult;
197
- const o = Math.max(0, Xt(this.data, t, (a) => a.time) - 1), i = Math.min(this.data.length, Xt(this.data, e, (a) => a.time) + 1);
197
+ const o = Math.max(0, Ht(this.data, t, (a) => a.time) - 1), i = Math.min(this.data.length, Ht(this.data, e, (a) => a.time) + 1);
198
198
  return this.cachedResult = this.data.slice(o, i), this.cachedRange = { from: t, to: e }, this.cachedResult;
199
199
  }
200
200
  first() {
@@ -211,7 +211,7 @@ class jt extends Pt {
211
211
  }
212
212
  findNearest(t, e) {
213
213
  if (this.data.length === 0) return null;
214
- const o = Xt(this.data, t, (s) => s.time);
214
+ const o = Ht(this.data, t, (s) => s.time);
215
215
  let i = null, a = e;
216
216
  for (let s = Math.max(0, o - 1); s <= Math.min(this.data.length - 1, o + 1); s++) {
217
217
  const n = Math.abs(this.data[s].time - t);
@@ -304,7 +304,7 @@ class Qe extends Pt {
304
304
  this.canvas.removeEventListener("wheel", this.onWheel), this.canvas.removeEventListener("mousedown", this.onMouseDown), this.canvas.removeEventListener("mousemove", this.onMouseMove), this.canvas.removeEventListener("mouseup", this.onMouseUp), this.canvas.removeEventListener("mouseleave", this.onMouseLeave), this.canvas.removeEventListener("dblclick", this.onDblClick), this.canvas.removeEventListener("touchstart", this.onTouchStart), this.canvas.removeEventListener("touchmove", this.onTouchMove), this.canvas.removeEventListener("touchend", this.onTouchEnd), this.removeAllListeners();
305
305
  }
306
306
  }
307
- class ue {
307
+ class fe {
308
308
  constructor(t) {
309
309
  x(this, "dirty", !1), x(this, "rafId", null), x(this, "callback"), x(this, "render", (e) => {
310
310
  this.dirty = !1, this.rafId = null, this.callback(e);
@@ -318,14 +318,14 @@ class ue {
318
318
  }
319
319
  }
320
320
  const xt = 6e4, vt = 36e5, ft = 864e5;
321
- function fe(r) {
321
+ function Yt(r) {
322
322
  return r instanceof Date ? r.getTime() : r;
323
323
  }
324
324
  function Ze(r) {
325
- return r.length === 0 || typeof r[0].time == "number" ? r : r.map((t) => ({ ...t, time: t.time.getTime() }));
325
+ return r.length === 0 || !r.some((t) => t.time instanceof Date) ? r : r.map((t) => ({ ...t, time: Yt(t.time) }));
326
326
  }
327
327
  function to(r) {
328
- return r.length === 0 || typeof r[0].time == "number" ? r : r.map((t) => ({ ...t, time: t.time.getTime() }));
328
+ return r.length === 0 || !r.some((t) => t.time instanceof Date) ? r : r.map((t) => ({ ...t, time: Yt(t.time) }));
329
329
  }
330
330
  function eo(r) {
331
331
  if (r.length < 2) return ft;
@@ -334,7 +334,7 @@ function eo(r) {
334
334
  t.push(r[e] - r[e - 1]);
335
335
  return t.sort((e, o) => e - o), t[Math.floor(t.length / 2)];
336
336
  }
337
- function Yt(r, t) {
337
+ function Ut(r, t) {
338
338
  const e = new Date(r);
339
339
  return t >= ft ? e.toLocaleDateString("en-US", { month: "short", day: "numeric" }) : t >= vt ? e.toLocaleTimeString("en-US", { hour: "2-digit", minute: "2-digit", hour12: !1 }) : e.toLocaleTimeString("en-US", {
340
340
  hour: "2-digit",
@@ -396,7 +396,7 @@ class ao {
396
396
  return this.width;
397
397
  }
398
398
  }
399
- const Ht = [
399
+ const Gt = [
400
400
  1e-4,
401
401
  2e-4,
402
402
  5e-4,
@@ -449,8 +449,8 @@ class so {
449
449
  niceTickValues() {
450
450
  if (this.max <= this.min) return [];
451
451
  const t = (this.max - this.min) / this.height * 50;
452
- let e = Ht[Ht.length - 1];
453
- for (const a of Ht)
452
+ let e = Gt[Gt.length - 1];
453
+ for (const a of Gt)
454
454
  if (a >= t) {
455
455
  e = a;
456
456
  break;
@@ -479,7 +479,7 @@ const ro = {
479
479
  };
480
480
  class nt {
481
481
  constructor(t, e) {
482
- x(this, "stores"), x(this, "options"), this.stores = Array.from({ length: t }, () => new jt()), this.options = { ...ro, ...e };
482
+ x(this, "stores"), x(this, "options"), this.stores = Array.from({ length: t }, () => new Kt()), this.options = { ...ro, ...e };
483
483
  }
484
484
  /** For chart compatibility — returns first store */
485
485
  get store() {
@@ -595,25 +595,25 @@ class nt {
595
595
  const f = i.timeToBitmapX(g);
596
596
  let y = 0, F = 0;
597
597
  for (let k = 0; k < C; k++) {
598
- const B = p[k];
599
- B > 0 ? y += B : F += B;
598
+ const D = p[k];
599
+ D > 0 ? y += D : F += D;
600
600
  }
601
601
  if (e) {
602
- let k = 0, B = 0;
602
+ let k = 0, D = 0;
603
603
  for (const L of p)
604
- L > 0 ? k += L : B += L;
604
+ L > 0 ? k += L : D += L;
605
605
  if (m > 0 && k > 0) {
606
606
  const L = y / k * 100, N = (y + m) / k * 100, $ = a.valueToBitmapY(N), Q = a.valueToBitmapY(L), G = Math.max(1, Q - $);
607
607
  this.fillBar(n, f - u, $, d, G, w);
608
- } else if (m < 0 && B < 0) {
609
- const L = F / B * -100, N = (F + m) / B * -100, $ = a.valueToBitmapY(L), Q = a.valueToBitmapY(N), G = Math.max(1, Q - $);
608
+ } else if (m < 0 && D < 0) {
609
+ const L = F / D * -100, N = (F + m) / D * -100, $ = a.valueToBitmapY(L), Q = a.valueToBitmapY(N), G = Math.max(1, Q - $);
610
610
  n.fillStyle = w, n.fillRect(f - u, $, d, G);
611
611
  }
612
612
  } else if (m > 0) {
613
- const k = a.valueToBitmapY(y + m), B = a.valueToBitmapY(y), L = Math.max(1, B - k);
613
+ const k = a.valueToBitmapY(y + m), D = a.valueToBitmapY(y), L = Math.max(1, D - k);
614
614
  this.fillBar(n, f - u, k, d, L, w);
615
615
  } else {
616
- const k = a.valueToBitmapY(F), B = a.valueToBitmapY(F + m), L = Math.max(1, B - k);
616
+ const k = a.valueToBitmapY(F), D = a.valueToBitmapY(F + m), L = Math.max(1, D - k);
617
617
  n.fillStyle = w, n.fillRect(f - u, k, d, L);
618
618
  }
619
619
  }
@@ -674,7 +674,7 @@ function lo(r, t, e, o) {
674
674
  return i.push(r[r.length - 1]), i;
675
675
  }
676
676
  const ge = /* @__PURE__ */ new Map(), me = /* @__PURE__ */ new Map(), be = /* @__PURE__ */ new Map();
677
- function Kt(r) {
677
+ function qt(r) {
678
678
  return [parseInt(r.slice(1, 3), 16), parseInt(r.slice(3, 5), 16), parseInt(r.slice(5, 7), 16)];
679
679
  }
680
680
  function we(r, t, e) {
@@ -686,14 +686,14 @@ function Mt(r, t) {
686
686
  const e = r + t;
687
687
  let o = ge.get(e);
688
688
  if (o) return o;
689
- const [i, a, s] = Kt(r);
689
+ const [i, a, s] = qt(r);
690
690
  return o = `rgba(${i}, ${a}, ${s}, ${t})`, ge.set(e, o), o;
691
691
  }
692
692
  function ho(r, t) {
693
693
  const e = r + t;
694
694
  let o = me.get(e);
695
695
  if (o) return o;
696
- const [i, a, s] = Kt(r);
696
+ const [i, a, s] = qt(r);
697
697
  return o = we(
698
698
  Math.min(255, Math.round(i + (255 - i) * t)),
699
699
  Math.min(255, Math.round(a + (255 - a) * t)),
@@ -704,7 +704,7 @@ function co(r, t) {
704
704
  const e = r + t;
705
705
  let o = be.get(e);
706
706
  if (o) return o;
707
- const [i, a, s] = Kt(r);
707
+ const [i, a, s] = qt(r);
708
708
  return o = we(
709
709
  Math.max(0, Math.round(i * (1 - t))),
710
710
  Math.max(0, Math.round(a * (1 - t))),
@@ -718,7 +718,7 @@ const uo = {
718
718
  wickDownColor: "#ef5350",
719
719
  bodyWidthRatio: 0.6
720
720
  };
721
- class Gt {
721
+ class Nt {
722
722
  constructor(t, e) {
723
723
  x(this, "store"), x(this, "options"), this.store = t, this.options = { ...uo, ...e };
724
724
  }
@@ -800,7 +800,7 @@ const fo = {
800
800
  };
801
801
  class j {
802
802
  constructor(t, e) {
803
- x(this, "stores"), x(this, "options"), x(this, "areaGradientCache", /* @__PURE__ */ new Map()), this.stores = Array.from({ length: t }, () => new jt()), this.options = { ...fo, ...e };
803
+ x(this, "stores"), x(this, "options"), x(this, "areaGradientCache", /* @__PURE__ */ new Map()), this.stores = Array.from({ length: t }, () => new Kt()), this.options = { ...fo, ...e };
804
804
  }
805
805
  get store() {
806
806
  return this.stores[0];
@@ -931,13 +931,7 @@ class j {
931
931
  const s = this.stores[a].last();
932
932
  if (!s) continue;
933
933
  const n = this.options.colors[a % this.options.colors.length];
934
- this.drawPulse(
935
- t,
936
- e.timeToBitmapX(s.time),
937
- o.valueToBitmapY(s.value),
938
- n,
939
- i
940
- );
934
+ this.drawPulse(t, e.timeToBitmapX(s.time), o.valueToBitmapY(s.value), n, i);
941
935
  }
942
936
  }
943
937
  drawPulse(t, e, o, i, a) {
@@ -1010,18 +1004,18 @@ class bt {
1010
1004
  if (this.data.length === 0) return;
1011
1005
  const { scope: e, theme: o } = t, { context: i, bitmapSize: a, horizontalPixelRatio: s } = e, n = performance.now(), l = this.lastRenderTime ? (n - this.lastRenderTime) / 1e3 : 0;
1012
1006
  this.lastRenderTime = n;
1013
- const c = this.data.reduce((k, B) => k + B.value, 0);
1007
+ const c = this.data.reduce((k, D) => k + D.value, 0);
1014
1008
  if (c <= 0) return;
1015
1009
  const d = 10;
1016
1010
  for (; this.sliceOffsets.length < this.data.length; ) this.sliceOffsets.push(0);
1017
1011
  for (let k = 0; k < this.data.length; k++) {
1018
- const B = k === this.hoverIndex ? 1 : 0;
1019
- this.sliceOffsets[k] = bo(this.sliceOffsets[k], B, d * l);
1012
+ const D = k === this.hoverIndex ? 1 : 0;
1013
+ this.sliceOffsets[k] = bo(this.sliceOffsets[k], D, d * l);
1020
1014
  }
1021
1015
  const u = this.options.colors ?? o.seriesColors, b = a.width / 2, v = a.height / 2, C = Math.min(a.width, a.height) / 2 * 0.85, w = C * this.options.innerRadiusRatio, g = this.options.padAngle, { strokeColor: p, strokeWidth: m } = this.options, f = 8 * s;
1022
1016
  let y = -Math.PI / 2;
1023
1017
  for (let k = 0; k < this.data.length; k++) {
1024
- const B = this.data[k], L = B.value / c * Wt, N = y + g / 2, $ = y + L - g / 2, Q = y + L / 2, G = B.color ?? u[k % u.length], pt = this.sliceOffsets[k] * f, J = Math.cos(Q) * pt, Ft = Math.sin(Q) * pt, gt = b + J, mt = v + Ft;
1018
+ const D = this.data[k], L = D.value / c * Wt, N = y + g / 2, $ = y + L - g / 2, Q = y + L / 2, G = D.color ?? u[k % u.length], pt = this.sliceOffsets[k] * f, J = Math.cos(Q) * pt, Ft = Math.sin(Q) * pt, gt = b + J, mt = v + Ft;
1025
1019
  i.beginPath(), i.arc(gt, mt, C, N, $), w > 0 ? i.arc(gt, mt, w, $, N, !0) : i.lineTo(gt, mt), i.closePath();
1026
1020
  const X = i.createRadialGradient(gt, mt, w || 0, gt, mt, C);
1027
1021
  X.addColorStop(0, mo(G, 0.15)), X.addColorStop(1, G), i.fillStyle = X, this.sliceOffsets[k] > 0.01 && (i.shadowColor = "rgba(0,0,0,0.25)", i.shadowBlur = 12 * s * this.sliceOffsets[k], i.shadowOffsetX = J * 0.3, i.shadowOffsetY = Ft * 0.3), i.fill(), i.shadowColor = "transparent", i.shadowBlur = 0, i.shadowOffsetX = 0, i.shadowOffsetY = 0, m > 0 && p !== "transparent" && (i.strokeStyle = p, i.lineWidth = m, i.stroke()), y += L;
@@ -1030,10 +1024,10 @@ class bt {
1030
1024
  const F = w > 0 ? (C + w) / 2 : C * 0.65;
1031
1025
  i.textAlign = "center", i.textBaseline = "middle", i.font = `${11 * s}px ${o.typography.fontFamily}`;
1032
1026
  for (let k = 0; k < this.data.length; k++) {
1033
- const B = this.data[k], L = B.value / c * Wt;
1027
+ const D = this.data[k], L = D.value / c * Wt;
1034
1028
  if (L > 0.3) {
1035
- const N = y + L / 2, $ = this.sliceOffsets[k] * f, Q = b + Math.cos(N) * (F + $), G = v + Math.sin(N) * (F + $), pt = B.color ?? u[k % u.length];
1036
- i.fillStyle = go(pt) ? "#000000" : "#ffffff", i.fillText(B.label, Q, G);
1029
+ const N = y + L / 2, $ = this.sliceOffsets[k] * f, Q = b + Math.cos(N) * (F + $), G = v + Math.sin(N) * (F + $), pt = D.color ?? u[k % u.length];
1030
+ i.fillStyle = go(pt) ? "#000000" : "#ffffff", i.fillText(D.label, Q, G);
1037
1031
  }
1038
1032
  y += L;
1039
1033
  }
@@ -1173,7 +1167,7 @@ class vo extends Pt {
1173
1167
  /** Called by the render loop before each frame. Returns true if still animating. */
1174
1168
  tick(t) {
1175
1169
  if (!this._animating) return !1;
1176
- const e = t - this.animStartTime, o = Math.min(1, e / this.animDuration), i = 1 - (1 - o) ** 3, a = de(this.animFrom.from, this.animTo.from, i), s = de(this.animFrom.to, this.animTo.to, i);
1170
+ const e = t - this.animStartTime, o = Math.min(1, e / this.animDuration), i = 1 - (1 - o) ** 3, a = ue(this.animFrom.from, this.animTo.from, i), s = ue(this.animFrom.to, this.animTo.to, i);
1177
1171
  return s > a && this.applyRange(a, s), o >= 1 && (this._animating = !1), this._animating;
1178
1172
  }
1179
1173
  /** Set the Y-axis range. Adds pixel-based padding unless a side has a fixed (explicit) bound. */
@@ -1223,13 +1217,13 @@ class vo extends Pt {
1223
1217
  }
1224
1218
  }
1225
1219
  let yo = 0;
1226
- var E, D, U, Ct, _t, S, V, Bt, ot, ht, H, lt, Nt, wt, ut, Dt, yt, kt, zt, Vt, it, at, St;
1220
+ var E, B, U, Ct, _t, S, V, Dt, ot, ht, H, lt, Jt, wt, ut, Bt, yt, kt, zt, Vt, it, at, St;
1227
1221
  class xo extends Pt {
1228
1222
  constructor(t, e) {
1229
1223
  var o, i, a;
1230
- super(), A(this, kt), A(this, E), A(this, D), A(this, U), A(this, Ct), x(this, "timeScale"), x(this, "yScale"), A(this, _t), A(this, S, []), A(this, V), A(this, Bt), A(this, ot, 6e4), A(this, ht, null), A(this, H, {}), A(this, lt, null), A(this, Nt, !1), A(this, wt, {}), A(this, ut, 0), A(this, Dt, !1), A(this, yt, !1), A(this, Vt, 0), A(this, it, 0), A(this, at, 0), A(this, St, !1), e != null && e.axis && (M(this, wt, e.axis), M(this, H, { min: (o = e.axis.y) == null ? void 0 : o.min, max: (i = e.axis.y) == null ? void 0 : i.max })), M(this, V, (e == null ? void 0 : e.theme) ?? ke), M(this, Bt, (e == null ? void 0 : e.grid) !== !1), M(this, E, new Ge(t)), M(this, D, new vo({ padding: e == null ? void 0 : e.padding })), this.timeScale = new ao(), this.yScale = new so(), M(this, U, new ue(() => this.renderMain())), M(this, Ct, new ue(() => this.renderOverlay()));
1224
+ super(), A(this, kt), A(this, E), A(this, B), A(this, U), A(this, Ct), x(this, "timeScale"), x(this, "yScale"), A(this, _t), A(this, S, []), A(this, V), A(this, Dt), A(this, ot, 6e4), A(this, ht, null), A(this, H, {}), A(this, lt, null), A(this, Jt, !1), A(this, wt, {}), A(this, ut, 0), A(this, Bt, !1), A(this, yt, !1), A(this, Vt, 0), A(this, it, 0), A(this, at, 0), A(this, St, !1), e != null && e.axis && (M(this, wt, e.axis), M(this, H, { min: (o = e.axis.y) == null ? void 0 : o.min, max: (i = e.axis.y) == null ? void 0 : i.max })), M(this, V, (e == null ? void 0 : e.theme) ?? ke), M(this, Dt, (e == null ? void 0 : e.grid) !== !1), M(this, E, new Ge(t)), M(this, B, new vo({ padding: e == null ? void 0 : e.padding })), this.timeScale = new ao(), this.yScale = new so(), M(this, U, new fe(() => this.renderMain())), M(this, Ct, new fe(() => this.renderOverlay()));
1231
1225
  const s = (e == null ? void 0 : e.interactive) !== !1;
1232
- M(this, _t, s ? new Qe(h(this, E).canvas, h(this, D), this.timeScale, this.yScale) : null), h(this, D).on("change", () => {
1226
+ M(this, _t, s ? new Qe(h(this, E).canvas, h(this, B), this.timeScale, this.yScale) : null), h(this, B).on("change", () => {
1233
1227
  this.syncScales(), h(this, U).markDirty(), this.emit("viewportChange");
1234
1228
  }), h(this, E).on("resize", () => {
1235
1229
  this.updateScales(!0), this.renderMain(), this.emit("viewportChange");
@@ -1247,7 +1241,7 @@ class xo extends Pt {
1247
1241
  }
1248
1242
  /** Add a candlestick (OHLC) series and return its unique ID. */
1249
1243
  addCandlestickSeries(t) {
1250
- const e = new jt(), o = new Gt(e, {
1244
+ const e = new Kt(), o = new Nt(e, {
1251
1245
  upColor: h(this, V).candlestick.upColor,
1252
1246
  downColor: h(this, V).candlestick.downColor,
1253
1247
  wickUpColor: h(this, V).candlestick.wickUpColor,
@@ -1341,20 +1335,20 @@ class xo extends Pt {
1341
1335
  appendData(t, e) {
1342
1336
  const o = h(this, S).find((a) => a.id === t);
1343
1337
  if (!(o != null && o.store)) return;
1344
- const i = { ...e, time: fe(e.time) };
1338
+ const i = { ...e, time: Yt(e.time) };
1345
1339
  o.store.append(i);
1346
1340
  }
1347
1341
  /** Update the last data point of a series in place (e.g. live candle update). */
1348
1342
  updateData(t, e) {
1349
1343
  const o = h(this, S).find((a) => a.id === t);
1350
1344
  if (!(o != null && o.store)) return;
1351
- const i = { ...e, time: fe(e.time) };
1345
+ const i = { ...e, time: Yt(e.time) };
1352
1346
  o.store.updateLast(i);
1353
1347
  }
1354
1348
  /** Update visual options (color, width, etc.) for an existing series. */
1355
1349
  updateSeriesOptions(t, e) {
1356
1350
  const o = h(this, S).find((i) => i.id === t);
1357
- o && ((o.renderer instanceof Gt || o.renderer instanceof j || o.renderer instanceof nt || o.renderer instanceof bt) && o.renderer.updateOptions(e), "label" in e && typeof e.label == "string" && (o.label = e.label), h(this, U).markDirty());
1351
+ o && ((o.renderer instanceof Nt || o.renderer instanceof j || o.renderer instanceof nt || o.renderer instanceof bt) && o.renderer.updateOptions(e), "label" in e && typeof e.label == "string" && (o.label = e.label), h(this, U).markDirty());
1358
1352
  }
1359
1353
  /**
1360
1354
  * Batch multiple updates: suppress recomputes until `fn` returns.
@@ -1370,11 +1364,11 @@ class xo extends Pt {
1370
1364
  }
1371
1365
  /** @deprecated Use {@link batch} instead. */
1372
1366
  beginUpdate() {
1373
- he(this, ut)._++;
1367
+ ce(this, ut)._++;
1374
1368
  }
1375
1369
  /** @deprecated Use {@link batch} instead. */
1376
1370
  endUpdate() {
1377
- --he(this, ut)._ <= 0 && (M(this, ut, 0), h(this, Dt) ? (M(this, Dt, !1), M(this, yt, !1), this.onDataChanged()) : h(this, yt) && (M(this, yt, !1), this.updateYRange(!0), h(this, U).markDirty()));
1371
+ --ce(this, ut)._ <= 0 && (M(this, ut, 0), h(this, Bt) ? (M(this, Bt, !1), M(this, yt, !1), this.onDataChanged()) : h(this, yt) && (M(this, yt, !1), this.updateYRange(!0), h(this, U).markDirty()));
1378
1372
  }
1379
1373
  /** Show or hide a series. Hidden series are not rendered and excluded from Y-range. */
1380
1374
  setSeriesVisible(t, e) {
@@ -1420,13 +1414,13 @@ class xo extends Pt {
1420
1414
  const { first: t, last: e } = this.getDataBounds();
1421
1415
  if (t === void 0 || e === void 0) return;
1422
1416
  const o = h(this, E).size.media.width - this.yAxisWidth;
1423
- h(this, D).fitToData(t, e, o, !0);
1417
+ h(this, B).fitToData(t, e, o, !0);
1424
1418
  }
1425
1419
  getVisibleRange() {
1426
- return h(this, D).visibleRange;
1420
+ return h(this, B).visibleRange;
1427
1421
  }
1428
1422
  getYRange() {
1429
- return h(this, D).yRange;
1423
+ return h(this, B).yRange;
1430
1424
  }
1431
1425
  getCrosshairPosition() {
1432
1426
  return h(this, ht);
@@ -1437,7 +1431,7 @@ class xo extends Pt {
1437
1431
  if (!(e != null && e.store)) return null;
1438
1432
  const o = e.store.last();
1439
1433
  if (!o) return null;
1440
- const i = (l) => "close" in l ? l.close : l.value, { from: a, to: s } = h(this, D).visibleRange;
1434
+ const i = (l) => "close" in l ? l.close : l.value, { from: a, to: s } = h(this, B).visibleRange;
1441
1435
  if (o.time >= a && o.time <= s)
1442
1436
  return { value: i(o), isLive: !0 };
1443
1437
  const n = e.store.getVisibleData(a, s);
@@ -1550,7 +1544,7 @@ class xo extends Pt {
1550
1544
  const e = h(this, V).line.color;
1551
1545
  M(this, V, t);
1552
1546
  for (const o of h(this, S))
1553
- o.renderer instanceof Gt ? o.renderer.updateOptions({
1547
+ o.renderer instanceof Nt ? o.renderer.updateOptions({
1554
1548
  upColor: t.candlestick.upColor,
1555
1549
  downColor: t.candlestick.downColor,
1556
1550
  wickUpColor: t.candlestick.wickUpColor,
@@ -1590,21 +1584,21 @@ class xo extends Pt {
1590
1584
  }
1591
1585
  /** Update viewport padding at runtime. Refits the visible range to current data bounds. */
1592
1586
  setPadding(t) {
1593
- h(this, D).setPadding(t);
1587
+ h(this, B).setPadding(t);
1594
1588
  const { first: e, last: o } = this.getDataBounds();
1595
1589
  if (e !== void 0 && o !== void 0) {
1596
1590
  const i = h(this, E).size.media.width - this.yAxisWidth;
1597
- h(this, D).fitToData(e, o, i, !1);
1591
+ h(this, B).fitToData(e, o, i, !1);
1598
1592
  }
1599
1593
  this.syncScales(), h(this, U).markDirty();
1600
1594
  }
1601
1595
  /** Show or hide the background grid. Takes effect on the next render frame. */
1602
1596
  setGrid(t) {
1603
- M(this, Bt, t), h(this, U).markDirty();
1597
+ M(this, Dt, t), h(this, U).markDirty();
1604
1598
  }
1605
1599
  /** Notify chart that a YLabel is present (affects right padding). */
1606
1600
  setYLabel(t) {
1607
- M(this, Nt, t), this.updateViewportPadding();
1601
+ M(this, Jt, t), this.updateViewportPadding();
1608
1602
  }
1609
1603
  updatePieHover(t) {
1610
1604
  const e = h(this, E).size;
@@ -1624,7 +1618,7 @@ class xo extends Pt {
1624
1618
  /** Tear down the chart: cancel animations, remove listeners, and detach the canvas. */
1625
1619
  destroy() {
1626
1620
  var t;
1627
- h(this, D).destroy(), h(this, U).destroy(), h(this, Ct).destroy(), (t = h(this, _t)) == null || t.destroy(), h(this, E).destroy(), this.removeAllListeners();
1621
+ h(this, B).destroy(), h(this, U).destroy(), h(this, Ct).destroy(), (t = h(this, _t)) == null || t.destroy(), h(this, E).destroy(), this.removeAllListeners();
1628
1622
  }
1629
1623
  /** Compute the earliest and latest timestamps across all series. */
1630
1624
  getDataBounds() {
@@ -1638,12 +1632,12 @@ class xo extends Pt {
1638
1632
  }
1639
1633
  onDataChanged() {
1640
1634
  if (h(this, ut) > 0) {
1641
- M(this, Dt, !0);
1635
+ M(this, Bt, !0);
1642
1636
  return;
1643
1637
  }
1644
1638
  this.updateDataInterval();
1645
1639
  const { first: t, last: e } = this.getDataBounds();
1646
- t !== void 0 && h(this, D).setDataStart(t), e !== void 0 && h(this, D).setDataEnd(e);
1640
+ t !== void 0 && h(this, B).setDataStart(t), e !== void 0 && h(this, B).setDataEnd(e);
1647
1641
  let o = 0;
1648
1642
  for (const a of h(this, S))
1649
1643
  if (a.renderer instanceof j || a.renderer instanceof nt)
@@ -1651,14 +1645,14 @@ class xo extends Pt {
1651
1645
  else a.store && (o += a.store.length);
1652
1646
  const i = o - h(this, Vt) > 5;
1653
1647
  if (M(this, Vt, o), t !== void 0 && e !== void 0) {
1654
- const { from: a, to: s } = h(this, D).visibleRange, n = a === 0 && s === 0, l = h(this, E).size.media.width - this.yAxisWidth;
1655
- n ? h(this, D).fitToData(t, e, l, !1) : i && h(this, D).autoScroll ? h(this, D).fitToData(t, e, l, !0) : !i && this.isLastPointVisible() && h(this, D).scrollToEnd(e, l);
1648
+ const { from: a, to: s } = h(this, B).visibleRange, n = a === 0 && s === 0, l = h(this, E).size.media.width - this.yAxisWidth;
1649
+ n ? h(this, B).fitToData(t, e, l, !1) : i && h(this, B).autoScroll ? h(this, B).fitToData(t, e, l, !0) : !i && this.isLastPointVisible() && h(this, B).scrollToEnd(e, l);
1656
1650
  }
1657
1651
  this.updateYRange(i), this.syncScales(), h(this, U).markDirty(), this.emit("dataUpdate");
1658
1652
  }
1659
1653
  /** Check whether the last data point of any series falls within the visible time range. */
1660
1654
  isLastPointVisible() {
1661
- const { from: t, to: e } = h(this, D).visibleRange;
1655
+ const { from: t, to: e } = h(this, B).visibleRange;
1662
1656
  for (const o of h(this, S)) {
1663
1657
  if (!o.visible || !o.store) continue;
1664
1658
  const i = o.store.last();
@@ -1672,14 +1666,14 @@ class xo extends Pt {
1672
1666
  const e = t.store.getAll();
1673
1667
  if (e.length >= 2) {
1674
1668
  const o = e.slice(0, 20).map((i) => i.time);
1675
- M(this, ot, eo(o)), h(this, D).setDataInterval(h(this, ot));
1669
+ M(this, ot, eo(o)), h(this, B).setDataInterval(h(this, ot));
1676
1670
  break;
1677
1671
  }
1678
1672
  }
1679
1673
  }
1680
1674
  updateYRange(t = !1) {
1681
1675
  let e = 1 / 0, o = -1 / 0;
1682
- const i = h(this, D).visibleRange;
1676
+ const i = h(this, B).visibleRange;
1683
1677
  let a = h(this, H).min !== void 0 && h(this, H).min !== "auto" && typeof h(this, H).min != "number" || h(this, H).max !== void 0 && h(this, H).max !== "auto" && typeof h(this, H).max != "number" ? [] : null;
1684
1678
  for (const c of h(this, S)) {
1685
1679
  if (!c.visible) continue;
@@ -1713,7 +1707,7 @@ class xo extends Pt {
1713
1707
  (Math.abs(h(this, it) - e) > c || Math.abs(h(this, at) - o) > c) && h(this, U).markDirty();
1714
1708
  }
1715
1709
  const s = h(this, H).min !== void 0 && h(this, H).min !== "auto", n = h(this, H).max !== void 0 && h(this, H).max !== "auto", l = h(this, E).size.media.height - this.xAxisHeight;
1716
- h(this, D).setYRange(h(this, it), h(this, at), l, s, n);
1710
+ h(this, B).setYRange(h(this, it), h(this, at), l, s, n);
1717
1711
  }
1718
1712
  /** Resolve an {@link AxisBound} to a concrete numeric value. */
1719
1713
  resolveBound(t, e, o, i, a) {
@@ -1736,21 +1730,21 @@ class xo extends Pt {
1736
1730
  const t = h(this, E).size;
1737
1731
  if (t.media.width === 0 || t.media.height === 0) return;
1738
1732
  const e = t.media.width - this.yAxisWidth, o = t.media.height - this.xAxisHeight;
1739
- this.timeScale.update(h(this, D).visibleRange, e, t.horizontalPixelRatio), this.yScale.update(h(this, D).yRange, o, t.verticalPixelRatio);
1733
+ this.timeScale.update(h(this, B).visibleRange, e, t.horizontalPixelRatio), this.yScale.update(h(this, B).yRange, o, t.verticalPixelRatio);
1740
1734
  }
1741
1735
  updateScales(t = !1) {
1742
1736
  const e = h(this, E).size;
1743
1737
  if (e.media.width === 0 || e.media.height === 0) return;
1744
1738
  const o = e.media.width - this.yAxisWidth, i = e.media.height - this.xAxisHeight;
1745
- this.timeScale.update(h(this, D).visibleRange, o, e.horizontalPixelRatio), this.yScale.update(h(this, D).yRange, i, e.verticalPixelRatio), this.updateYRange(t), this.yScale.update(h(this, D).yRange, i, e.verticalPixelRatio);
1739
+ this.timeScale.update(h(this, B).visibleRange, o, e.horizontalPixelRatio), this.yScale.update(h(this, B).yRange, i, e.verticalPixelRatio), this.updateYRange(t), this.yScale.update(h(this, B).yRange, i, e.verticalPixelRatio);
1746
1740
  }
1747
1741
  /** Expensive: background, grid, all series. Only on data/viewport/resize change. */
1748
1742
  renderMain() {
1749
1743
  const t = h(this, E).size;
1750
1744
  if (!(t.media.width === 0 || t.media.height === 0)) {
1751
- h(this, D).tick(performance.now()) && h(this, U).markDirty(), this.updateScales(), h(this, E).useMainLayer((e) => {
1745
+ h(this, B).tick(performance.now()) && h(this, U).markDirty(), this.updateScales(), h(this, E).useMainLayer((e) => {
1752
1746
  const { context: o, bitmapSize: i } = e, a = (t.media.width - this.yAxisWidth) * t.horizontalPixelRatio, s = (t.media.height - this.xAxisHeight) * t.verticalPixelRatio;
1753
- o.clearRect(0, 0, i.width, i.height), o.save(), o.beginPath(), o.rect(0, 0, a, s), o.clip(), h(this, Bt) && Je(e, this.timeScale, this.yScale, h(this, V), h(this, ot));
1747
+ o.clearRect(0, 0, i.width, i.height), o.save(), o.beginPath(), o.rect(0, 0, a, s), o.clip(), h(this, Dt) && Je(e, this.timeScale, this.yScale, h(this, V), h(this, ot));
1754
1748
  for (const n of h(this, S))
1755
1749
  n.visible && n.renderer.render({
1756
1750
  scope: e,
@@ -1838,7 +1832,7 @@ class xo extends Pt {
1838
1832
  }
1839
1833
  }
1840
1834
  }
1841
- E = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakMap(), U = /* @__PURE__ */ new WeakMap(), Ct = /* @__PURE__ */ new WeakMap(), _t = /* @__PURE__ */ new WeakMap(), S = /* @__PURE__ */ new WeakMap(), V = /* @__PURE__ */ new WeakMap(), Bt = /* @__PURE__ */ new WeakMap(), ot = /* @__PURE__ */ new WeakMap(), ht = /* @__PURE__ */ new WeakMap(), H = /* @__PURE__ */ new WeakMap(), lt = /* @__PURE__ */ new WeakMap(), Nt = /* @__PURE__ */ new WeakMap(), wt = /* @__PURE__ */ new WeakMap(), ut = /* @__PURE__ */ new WeakMap(), Dt = /* @__PURE__ */ new WeakMap(), yt = /* @__PURE__ */ new WeakMap(), kt = /* @__PURE__ */ new WeakSet(), /**
1835
+ E = /* @__PURE__ */ new WeakMap(), B = /* @__PURE__ */ new WeakMap(), U = /* @__PURE__ */ new WeakMap(), Ct = /* @__PURE__ */ new WeakMap(), _t = /* @__PURE__ */ new WeakMap(), S = /* @__PURE__ */ new WeakMap(), V = /* @__PURE__ */ new WeakMap(), Dt = /* @__PURE__ */ new WeakMap(), ot = /* @__PURE__ */ new WeakMap(), ht = /* @__PURE__ */ new WeakMap(), H = /* @__PURE__ */ new WeakMap(), lt = /* @__PURE__ */ new WeakMap(), Jt = /* @__PURE__ */ new WeakMap(), wt = /* @__PURE__ */ new WeakMap(), ut = /* @__PURE__ */ new WeakMap(), Bt = /* @__PURE__ */ new WeakMap(), yt = /* @__PURE__ */ new WeakMap(), kt = /* @__PURE__ */ new WeakSet(), /**
1842
1836
  * Return a series ID: use the provided hint if it's non-empty and not already taken,
1843
1837
  * otherwise generate a new auto ID. Auto-generated IDs never collide with each other
1844
1838
  * or with user-provided IDs because they use a monotonically increasing counter.
@@ -1913,8 +1907,8 @@ function Co(r) {
1913
1907
  return parseInt(r.slice(1, 3), 16) * 0.299 + parseInt(r.slice(3, 5), 16) * 0.587 + parseInt(r.slice(5, 7), 16) * 0.114 < 128;
1914
1908
  }
1915
1909
  function Y(r) {
1916
- var t, e, o, i, a, s, n, l, c, d, u, b, v, C, w, g, p, m, f, y, F, k, B, L, N, $, Q, G, pt;
1917
- const { background: J, name: Ft = "Custom", description: gt, fontUrl: mt = null } = r, X = Co(J), ze = X ? "#d1d4dc" : "#24292f", Pe = X ? "#787b86" : "#8b949e", ie = X ? "#26a69a" : "#2da44e", ae = X ? "#ef5350" : "#cf222e", Fe = X ? "#2962ff" : "#0969da", Le = X ? "rgba(42,46,57,0.6)" : "rgba(200,200,200,0.5)", Ie = X ? "rgba(150,150,150,0.5)" : "rgba(170,170,170,0.3)", se = X ? At(J, 0.1) : ve(J, 0.05), We = X ? Tt(J, 0.92) : Tt(J, 0.95), Ae = X ? Tt(At(J, 0.15), 0.6) : "rgba(200,200,200,0.5)", Ve = Ot, $t = ((t = r.candlestick) == null ? void 0 : t.upColor) ?? ie, Lt = ((e = r.candlestick) == null ? void 0 : e.downColor) ?? ae, Rt = ((o = r.line) == null ? void 0 : o.color) ?? Fe, re = ((i = r.tooltip) == null ? void 0 : i.textColor) ?? ze, Ye = ((a = r.axis) == null ? void 0 : a.textColor) ?? Pe, Ue = ((s = r.typography) == null ? void 0 : s.fontFamily) ?? Ve, Ee = {
1910
+ var t, e, o, i, a, s, n, l, c, d, u, b, v, C, w, g, p, m, f, y, F, k, D, L, N, $, Q, G, pt;
1911
+ const { background: J, name: Ft = "Custom", description: gt, fontUrl: mt = null } = r, X = Co(J), ze = X ? "#d1d4dc" : "#24292f", Pe = X ? "#787b86" : "#8b949e", ae = X ? "#26a69a" : "#2da44e", se = X ? "#ef5350" : "#cf222e", Fe = X ? "#2962ff" : "#0969da", Le = X ? "rgba(42,46,57,0.6)" : "rgba(200,200,200,0.5)", Ie = X ? "rgba(150,150,150,0.5)" : "rgba(170,170,170,0.3)", re = X ? At(J, 0.1) : ve(J, 0.05), We = X ? Tt(J, 0.92) : Tt(J, 0.95), Ae = X ? Tt(At(J, 0.15), 0.6) : "rgba(200,200,200,0.5)", Ve = $t, Xt = ((t = r.candlestick) == null ? void 0 : t.upColor) ?? ae, Lt = ((e = r.candlestick) == null ? void 0 : e.downColor) ?? se, Rt = ((o = r.line) == null ? void 0 : o.color) ?? Fe, ne = ((i = r.tooltip) == null ? void 0 : i.textColor) ?? ze, Ye = ((a = r.axis) == null ? void 0 : a.textColor) ?? Pe, Ue = ((s = r.typography) == null ? void 0 : s.fontFamily) ?? Ve, Ee = {
1918
1912
  background: J,
1919
1913
  chartGradient: r.chartGradient ?? (X ? [At(J, 0.04), ve(J, 0.06)] : [At(J, 0.06), J]),
1920
1914
  typography: {
@@ -1929,9 +1923,9 @@ function Y(r) {
1929
1923
  style: ((v = r.grid) == null ? void 0 : v.style) ?? "dashed"
1930
1924
  },
1931
1925
  candlestick: {
1932
- upColor: $t,
1926
+ upColor: Xt,
1933
1927
  downColor: Lt,
1934
- wickUpColor: ((C = r.candlestick) == null ? void 0 : C.wickUpColor) ?? $t,
1928
+ wickUpColor: ((C = r.candlestick) == null ? void 0 : C.wickUpColor) ?? Xt,
1935
1929
  wickDownColor: ((w = r.candlestick) == null ? void 0 : w.wickDownColor) ?? Lt
1936
1930
  },
1937
1931
  line: {
@@ -1940,26 +1934,26 @@ function Y(r) {
1940
1934
  areaTopColor: ((p = r.line) == null ? void 0 : p.areaTopColor) ?? Tt(Rt, 0.08),
1941
1935
  areaBottomColor: ((m = r.line) == null ? void 0 : m.areaBottomColor) ?? Tt(Rt, 0.01)
1942
1936
  },
1943
- seriesColors: r.seriesColors ?? [Rt, ie, ae],
1937
+ seriesColors: r.seriesColors ?? [Rt, ae, se],
1944
1938
  bands: {
1945
1939
  upper: ((f = r.bands) == null ? void 0 : f.upper) ?? Rt,
1946
1940
  lower: ((y = r.bands) == null ? void 0 : y.lower) ?? Lt
1947
1941
  },
1948
1942
  crosshair: {
1949
1943
  color: ((F = r.crosshair) == null ? void 0 : F.color) ?? Ie,
1950
- labelBackground: ((k = r.crosshair) == null ? void 0 : k.labelBackground) ?? se,
1951
- labelTextColor: ((B = r.crosshair) == null ? void 0 : B.labelTextColor) ?? re
1944
+ labelBackground: ((k = r.crosshair) == null ? void 0 : k.labelBackground) ?? re,
1945
+ labelTextColor: ((D = r.crosshair) == null ? void 0 : D.labelTextColor) ?? ne
1952
1946
  },
1953
1947
  axis: { textColor: Ye },
1954
1948
  yLabel: {
1955
- upBackground: ((L = r.yLabel) == null ? void 0 : L.upBackground) ?? $t,
1949
+ upBackground: ((L = r.yLabel) == null ? void 0 : L.upBackground) ?? Xt,
1956
1950
  downBackground: ((N = r.yLabel) == null ? void 0 : N.downBackground) ?? Lt,
1957
- neutralBackground: (($ = r.yLabel) == null ? void 0 : $.neutralBackground) ?? se,
1951
+ neutralBackground: (($ = r.yLabel) == null ? void 0 : $.neutralBackground) ?? re,
1958
1952
  textColor: ((Q = r.yLabel) == null ? void 0 : Q.textColor) ?? "#ffffff"
1959
1953
  },
1960
1954
  tooltip: {
1961
1955
  background: ((G = r.tooltip) == null ? void 0 : G.background) ?? We,
1962
- textColor: re,
1956
+ textColor: ne,
1963
1957
  borderColor: ((pt = r.tooltip) == null ? void 0 : pt.borderColor) ?? Ae
1964
1958
  }
1965
1959
  };
@@ -1979,7 +1973,7 @@ function ve(r, t) {
1979
1973
  const e = Math.max(0, Math.round(parseInt(r.slice(1, 3), 16) * (1 - t))), o = Math.max(0, Math.round(parseInt(r.slice(3, 5), 16) * (1 - t))), i = Math.max(0, Math.round(parseInt(r.slice(5, 7), 16) * (1 - t)));
1980
1974
  return `#${e.toString(16).padStart(2, "0")}${o.toString(16).padStart(2, "0")}${i.toString(16).padStart(2, "0")}`;
1981
1975
  }
1982
- const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap", Ot = "'Outfit', -apple-system, BlinkMacSystemFont, sans-serif", qt = "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600&display=swap", Se = "'Roboto Mono', monospace", Me = "https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;600&display=swap", wo = "'IBM Plex Mono', monospace", ko = "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap", Qt = "'Fira Code', monospace", Zt = "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&display=swap", Re = "'Source Code Pro', monospace", Te = "https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500;600&display=swap", So = "'Space Mono', monospace", Mo = "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap", te = "'Plus Jakarta Sans', sans-serif", ee = "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap", Ro = "'Caveat', 'Comic Sans MS', cursive", To = "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&display=swap", _o = Y({
1976
+ const Et = "'JetBrains Mono', 'Fira Code', monospace", Ot = "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap", $t = "'Outfit', -apple-system, BlinkMacSystemFont, sans-serif", Qt = "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600&display=swap", Se = "'Roboto Mono', monospace", Me = "https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;600&display=swap", wo = "'IBM Plex Mono', monospace", ko = "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap", Zt = "'Fira Code', monospace", te = "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&display=swap", Re = "'Source Code Pro', monospace", Te = "https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500;600&display=swap", So = "'Space Mono', monospace", Mo = "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap", ee = "'Plus Jakarta Sans', sans-serif", oe = "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap", Ro = "'Caveat', 'Comic Sans MS', cursive", To = "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&display=swap", _o = Y({
1983
1977
  name: "Andromeda",
1984
1978
  description: "Deep space purples and cosmic blues",
1985
1979
  background: "#23262e",
@@ -2004,7 +1998,7 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2004
1998
  tooltip: { background: "rgba(35,38,46,0.92)", textColor: "#d5ced9", borderColor: "rgba(50,48,56,0.6)" },
2005
1999
  typography: { fontFamily: Se },
2006
2000
  fontUrl: Me
2007
- }), Bo = Y({
2001
+ }), Do = Y({
2008
2002
  name: "Ayu Mirage",
2009
2003
  description: "Warm dark with amber accents",
2010
2004
  background: "#1f2430",
@@ -2027,9 +2021,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2027
2021
  crosshair: { color: "rgba(92,103,115,0.4)", labelBackground: "#2a3040" },
2028
2022
  axis: { textColor: "#5c6773" },
2029
2023
  tooltip: { background: "rgba(31,36,48,0.92)", textColor: "#cbccc6", borderColor: "rgba(42,48,60,0.6)" },
2030
- typography: { fontFamily: Ot },
2031
- fontUrl: qt
2032
- }), Do = Y({
2024
+ typography: { fontFamily: $t },
2025
+ fontUrl: Qt
2026
+ }), Bo = Y({
2033
2027
  name: "Catppuccin",
2034
2028
  description: "Pastel tones on a mocha base",
2035
2029
  background: "#1e1e2e",
@@ -2052,8 +2046,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2052
2046
  crosshair: { color: "rgba(108,112,134,0.4)", labelBackground: "#313244" },
2053
2047
  axis: { textColor: "#6c7086" },
2054
2048
  tooltip: { background: "rgba(30,30,46,0.92)", textColor: "#cdd6f4", borderColor: "rgba(49,50,68,0.6)" },
2055
- typography: { fontFamily: Ot },
2056
- fontUrl: qt
2049
+ typography: { fontFamily: $t },
2050
+ fontUrl: Qt
2057
2051
  }), zo = Y({
2058
2052
  name: "Dracula",
2059
2053
  description: "Classic dark with vibrant highlights",
@@ -2077,8 +2071,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2077
2071
  crosshair: { color: "rgba(98,114,164,0.4)", labelBackground: "#44475a" },
2078
2072
  axis: { textColor: "#6272a4" },
2079
2073
  tooltip: { background: "rgba(40,42,54,0.92)", textColor: "#f8f8f2", borderColor: "rgba(68,71,90,0.6)" },
2080
- typography: { fontFamily: Qt },
2081
- fontUrl: Zt
2074
+ typography: { fontFamily: Zt },
2075
+ fontUrl: te
2082
2076
  }), Po = Y({
2083
2077
  name: "GitHub Light",
2084
2078
  description: "Clean and familiar, GitHub-inspired",
@@ -2128,8 +2122,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2128
2122
  crosshair: { color: "rgba(146,131,116,0.4)", labelBackground: "#3c3836" },
2129
2123
  axis: { textColor: "#928374" },
2130
2124
  tooltip: { background: "rgba(40,40,40,0.92)", textColor: "#ebdbb2", borderColor: "rgba(60,56,54,0.6)" },
2131
- typography: { fontFamily: Ut },
2132
- fontUrl: Et
2125
+ typography: { fontFamily: Et },
2126
+ fontUrl: Ot
2133
2127
  }), Lo = {
2134
2128
  name: "Handwritten",
2135
2129
  description: "Sketch-style with a personal touch",
@@ -2242,8 +2236,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2242
2236
  axis: { textColor: "#9a88a0" },
2243
2237
  crosshair: { color: "rgba(150,130,155,0.2)", labelBackground: "#ebe4e8" },
2244
2238
  tooltip: { background: "rgba(245,240,244,0.95)", textColor: "#3a3050", borderColor: "rgba(150,130,155,0.25)" },
2245
- typography: { fontFamily: te },
2246
- fontUrl: ee,
2239
+ typography: { fontFamily: ee },
2240
+ fontUrl: oe,
2247
2241
  chartGradient: ["#f8f4f7", "#f5f0f4"]
2248
2242
  }), Yo = Y({
2249
2243
  name: "Love",
@@ -2269,8 +2263,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2269
2263
  crosshair: { color: "rgba(180,140,155,0.3)", labelBackground: "#f0dce2" },
2270
2264
  axis: { textColor: "#b08898" },
2271
2265
  tooltip: { background: "rgba(253,242,244,0.95)", textColor: "#4a3040", borderColor: "rgba(200,160,175,0.35)" },
2272
- typography: { fontFamily: Ot },
2273
- fontUrl: qt
2266
+ typography: { fontFamily: $t },
2267
+ fontUrl: Qt
2274
2268
  }), Uo = Y({
2275
2269
  name: "Material Palenight",
2276
2270
  description: "Material Design in moonlit hues",
@@ -2370,8 +2364,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2370
2364
  crosshair: { color: "rgba(114,112,114,0.4)", labelBackground: "#403e42" },
2371
2365
  axis: { textColor: "#727072" },
2372
2366
  tooltip: { background: "rgba(45,42,46,0.92)", textColor: "#fcfcfa", borderColor: "rgba(64,60,62,0.6)" },
2373
- typography: { fontFamily: Qt },
2374
- fontUrl: Zt
2367
+ typography: { fontFamily: Zt },
2368
+ fontUrl: te
2375
2369
  }), Go = Y({
2376
2370
  name: "Night Owl",
2377
2371
  description: "Crafted for late-night coding",
@@ -2395,8 +2389,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2395
2389
  crosshair: { color: "rgba(99,119,119,0.4)", labelBackground: "#1d3b53" },
2396
2390
  axis: { textColor: "#495a5a" },
2397
2391
  tooltip: { background: "rgba(1,22,39,0.92)", textColor: "#d6deeb", borderColor: "rgba(31,52,72,0.6)" },
2398
- typography: { fontFamily: Ut },
2399
- fontUrl: Et
2392
+ typography: { fontFamily: Et },
2393
+ fontUrl: Ot
2400
2394
  }), No = Y({
2401
2395
  name: "One Dark Pro",
2402
2396
  description: "Atom editor's iconic dark palette",
@@ -2420,8 +2414,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2420
2414
  crosshair: { color: "rgba(99,110,123,0.4)", labelBackground: "#3e4451" },
2421
2415
  axis: { textColor: "#5c6370" },
2422
2416
  tooltip: { background: "rgba(40,44,52,0.92)", textColor: "#abb2bf", borderColor: "rgba(59,64,72,0.6)" },
2423
- typography: { fontFamily: Ut },
2424
- fontUrl: Et
2417
+ typography: { fontFamily: Et },
2418
+ fontUrl: Ot
2425
2419
  }), Jo = Y({
2426
2420
  name: "Panda",
2427
2421
  description: "Playful neons on charcoal",
@@ -2445,8 +2439,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2445
2439
  crosshair: { color: "rgba(117,117,117,0.4)", labelBackground: "#3a3a3c" },
2446
2440
  axis: { textColor: "#757575" },
2447
2441
  tooltip: { background: "rgba(41,42,43,0.92)", textColor: "#e6e6e6", borderColor: "rgba(58,58,60,0.6)" },
2448
- typography: { fontFamily: Qt },
2449
- fontUrl: Zt
2442
+ typography: { fontFamily: Zt },
2443
+ fontUrl: te
2450
2444
  }), jo = Y({
2451
2445
  name: "Peach Cream",
2452
2446
  background: "#fef6f0",
@@ -2469,8 +2463,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2469
2463
  axis: { textColor: "#b09080" },
2470
2464
  crosshair: { color: "rgba(180,140,120,0.2)", labelBackground: "#f0e4d8" },
2471
2465
  tooltip: { background: "rgba(254,246,240,0.95)", textColor: "#4a3028", borderColor: "rgba(180,140,120,0.25)" },
2472
- typography: { fontFamily: te },
2473
- fontUrl: ee,
2466
+ typography: { fontFamily: ee },
2467
+ fontUrl: oe,
2474
2468
  chartGradient: ["#fff8f2", "#fef6f0"]
2475
2469
  }), Ko = Y({
2476
2470
  name: "Quiet Light",
@@ -2495,8 +2489,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2495
2489
  crosshair: { color: "rgba(170,170,170,0.3)", labelBackground: "#e8e8e8" },
2496
2490
  axis: { textColor: "#aaaaaa" },
2497
2491
  tooltip: { background: "rgba(245,245,245,0.95)", textColor: "#333333", borderColor: "rgba(200,200,200,0.5)" },
2498
- typography: { fontFamily: te },
2499
- fontUrl: ee
2492
+ typography: { fontFamily: ee },
2493
+ fontUrl: oe
2500
2494
  }), qo = Y({
2501
2495
  name: "Rosé Pine Dawn",
2502
2496
  description: "Dawn-inspired warm neutrals",
@@ -2571,8 +2565,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2571
2565
  crosshair: { color: "rgba(147,161,161,0.3)", labelBackground: "#eee8d5" },
2572
2566
  axis: { textColor: "#93a1a1" },
2573
2567
  tooltip: { background: "rgba(253,246,227,0.95)", textColor: "#586e75", borderColor: "rgba(238,232,213,0.6)" },
2574
- typography: { fontFamily: Ut },
2575
- fontUrl: Et
2568
+ typography: { fontFamily: Et },
2569
+ fontUrl: Ot
2576
2570
  }), ye = {
2577
2571
  Dracula: zo,
2578
2572
  "One Dark Pro": No,
@@ -2580,8 +2574,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2580
2574
  "Night Owl": Go,
2581
2575
  "Material Palenight": Uo,
2582
2576
  Gruvbox: Fo,
2583
- Catppuccin: Do,
2584
- "Ayu Mirage": Bo,
2577
+ Catppuccin: Bo,
2578
+ "Ayu Mirage": Do,
2585
2579
  Panda: Jo,
2586
2580
  Andromeda: _o,
2587
2581
  Matrix: Ao,
@@ -2600,7 +2594,7 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2600
2594
  function ki(r) {
2601
2595
  return (ye[r] ?? ye["One Dark Pro"]).theme;
2602
2596
  }
2603
- const _e = Symbol("wick-chart"), Be = Symbol("wick-theme");
2597
+ const _e = Symbol("wick-chart"), De = Symbol("wick-theme");
2604
2598
  function rt() {
2605
2599
  const r = xe(_e);
2606
2600
  if (!r || !r.value)
@@ -2608,7 +2602,7 @@ function rt() {
2608
2602
  return r.value;
2609
2603
  }
2610
2604
  function ti() {
2611
- const r = xe(Be);
2605
+ const r = xe(De);
2612
2606
  if (!r)
2613
2607
  throw new Error("useTheme must be used within <ChartContainer>");
2614
2608
  return r;
@@ -2697,8 +2691,8 @@ const Si = /* @__PURE__ */ Z({
2697
2691
  axis: {}
2698
2692
  },
2699
2693
  setup(r) {
2700
- const t = r, e = tt(), o = ne(null), i = ne(t.theme);
2701
- le(_e, o), le(Be, i), q(() => {
2694
+ const t = r, e = tt(), o = le(null), i = le(t.theme);
2695
+ he(_e, o), he(De, i), q(() => {
2702
2696
  if (!e.value) return;
2703
2697
  const s = {};
2704
2698
  t.axis && (s.axis = t.axis), t.theme && (s.theme = t.theme), o.value = new xo(e.value, s);
@@ -2732,7 +2726,7 @@ const Si = /* @__PURE__ */ Z({
2732
2726
  ], 4));
2733
2727
  }
2734
2728
  });
2735
- function De(r) {
2729
+ function Be(r) {
2736
2730
  const t = tt(r.getVisibleRange()), e = () => {
2737
2731
  t.value = r.getVisibleRange();
2738
2732
  };
@@ -2762,7 +2756,7 @@ function ii(r, t) {
2762
2756
  };
2763
2757
  return q(() => r.on("dataUpdate", o)), et(() => r.off("dataUpdate", o)), e;
2764
2758
  }
2765
- function oe(r) {
2759
+ function ie(r) {
2766
2760
  const t = tt(r.getCrosshairPosition()), e = () => {
2767
2761
  t.value = r.getCrosshairPosition();
2768
2762
  };
@@ -2800,7 +2794,7 @@ const _i = /* @__PURE__ */ Z({
2800
2794
  { deep: !0 }
2801
2795
  ), (s, n) => K("", !0);
2802
2796
  }
2803
- }), Bi = /* @__PURE__ */ Z({
2797
+ }), Di = /* @__PURE__ */ Z({
2804
2798
  __name: "PieSeries",
2805
2799
  props: {
2806
2800
  data: {},
@@ -2827,10 +2821,10 @@ const _i = /* @__PURE__ */ Z({
2827
2821
  { deep: !0 }
2828
2822
  ), (s, n) => K("", !0);
2829
2823
  }
2830
- }), Di = /* @__PURE__ */ Z({
2824
+ }), Bi = /* @__PURE__ */ Z({
2831
2825
  __name: "Crosshair",
2832
2826
  setup(r) {
2833
- const t = rt(), e = oe(t), o = P(() => t.getTheme()), i = P(() => t.getDataInterval()), a = P(() => ({
2827
+ const t = rt(), e = ie(t), o = P(() => t.getTheme()), i = P(() => t.getDataInterval()), a = P(() => ({
2834
2828
  background: o.value.crosshair.labelBackground,
2835
2829
  color: o.value.crosshair.labelTextColor,
2836
2830
  fontSize: o.value.typography.axisFontSize + "px",
@@ -2858,7 +2852,7 @@ const _i = /* @__PURE__ */ Z({
2858
2852
  transform: "translateX(-50%)",
2859
2853
  ...a.value
2860
2854
  })
2861
- }, I(W(Yt)(W(e).time, i.value)), 5)
2855
+ }, I(W(Ut)(W(e).time, i.value)), 5)
2862
2856
  ], 64)) : K("", !0);
2863
2857
  }
2864
2858
  }), ai = { style: {
@@ -2983,7 +2977,7 @@ const _i = /* @__PURE__ */ Z({
2983
2977
  seriesId: {}
2984
2978
  },
2985
2979
  setup(r) {
2986
- const t = r, e = rt(), o = oe(e), i = P(() => e.getTheme()), a = P(() => (o.value, e.getPieHoverInfo(t.seriesId))), s = P(() => {
2980
+ const t = r, e = rt(), o = ie(e), i = P(() => e.getTheme()), a = P(() => (o.value, e.getPieHoverInfo(t.seriesId))), s = P(() => {
2987
2981
  if (!o.value || !a.value) return null;
2988
2982
  const n = e.getMediaSize(), l = 160, c = 70, d = 16, u = 16, b = o.value.mediaX + d + l > n.width ? o.value.mediaX - d - l : o.value.mediaX + d, v = o.value.mediaY + u + c > n.height ? o.value.mediaY - u - c : o.value.mediaY + u;
2989
2983
  return { left: b, top: v };
@@ -3032,7 +3026,7 @@ const _i = /* @__PURE__ */ Z({
3032
3026
  }), Fi = /* @__PURE__ */ Z({
3033
3027
  __name: "TimeAxis",
3034
3028
  setup(r) {
3035
- const t = rt(), e = De(t), o = /* @__PURE__ */ new Map(), i = P(() => t.getTheme()), a = P(() => {
3029
+ const t = rt(), e = Be(t), o = /* @__PURE__ */ new Map(), i = P(() => t.getTheme()), a = P(() => {
3036
3030
  e.value;
3037
3031
  const s = t.getDataInterval(), { ticks: n, tickInterval: l } = t.timeScale.niceTickValues(s), c = new Set(n), d = performance.now();
3038
3032
  for (const u of n)
@@ -3073,7 +3067,7 @@ const _i = /* @__PURE__ */ Z({
3073
3067
  transition: "opacity 0.3s ease",
3074
3068
  willChange: "opacity"
3075
3069
  })
3076
- }, I(W(Yt)(l, a.value.tickInterval)), 5))), 128))
3070
+ }, I(W(Ut)(l, a.value.tickInterval)), 5))), 128))
3077
3071
  ], 4));
3078
3072
  }
3079
3073
  }), gi = {
@@ -3095,7 +3089,7 @@ const _i = /* @__PURE__ */ Z({
3095
3089
  sort: { default: "none" }
3096
3090
  },
3097
3091
  setup(r) {
3098
- const t = r, e = rt(), o = oe(e), i = P(() => t.seriesId ? [t.seriesId] : e.getSeriesIds()), a = P(() => i.value[0] ?? ""), s = tt(
3092
+ const t = r, e = rt(), o = ie(e), i = P(() => t.seriesId ? [t.seriesId] : e.getSeriesIds()), a = P(() => i.value[0] ?? ""), s = tt(
3099
3093
  a.value ? e.getLastValue(a.value) : null
3100
3094
  ), n = () => {
3101
3095
  const p = a.value;
@@ -3141,7 +3135,7 @@ const _i = /* @__PURE__ */ Z({
3141
3135
  return d(p, t.sort);
3142
3136
  }), C = P(() => v.value.length === 0 ? 0 : v.value[0].data.time), w = P(() => {
3143
3137
  if (!o.value || b.value.length === 0) return null;
3144
- const p = e.getMediaSize(), m = b.value.some((G) => "open" in G.data), f = b.value.filter((G) => !("open" in G.data)).length, y = 160, F = m ? 140 : 40 + f * 22, k = 16, B = 16, L = p.width - e.yAxisWidth, N = p.height - e.xAxisHeight, $ = o.value.mediaX + k + y > L ? o.value.mediaX - k - y : o.value.mediaX + k, Q = o.value.mediaY + B + F > N ? o.value.mediaY - B - F : o.value.mediaY + B;
3138
+ const p = e.getMediaSize(), m = b.value.some((G) => "open" in G.data), f = b.value.filter((G) => !("open" in G.data)).length, y = 160, F = m ? 140 : 40 + f * 22, k = 16, D = 16, L = p.width - e.yAxisWidth, N = p.height - e.xAxisHeight, $ = o.value.mediaX + k + y > L ? o.value.mediaX - k - y : o.value.mediaX + k, Q = o.value.mediaY + D + F > N ? o.value.mediaY - D - F : o.value.mediaY + D;
3145
3139
  return { left: $, top: Q };
3146
3140
  });
3147
3141
  function g(p) {
@@ -3168,7 +3162,7 @@ const _i = /* @__PURE__ */ Z({
3168
3162
  }, [
3169
3163
  _("span", {
3170
3164
  style: z({ color: l.value.axis.textColor, marginRight: "2px" })
3171
- }, I(W(Yt)(C.value, c.value)), 5),
3165
+ }, I(W(Ut)(C.value, c.value)), 5),
3172
3166
  (R(!0), T(O, null, ct(v.value, (f) => (R(), T(O, {
3173
3167
  key: f.id
3174
3168
  }, [
@@ -3241,7 +3235,7 @@ const _i = /* @__PURE__ */ Z({
3241
3235
  borderBottom: "1px solid " + l.value.tooltip.borderColor,
3242
3236
  letterSpacing: "0.02em"
3243
3237
  })
3244
- }, I(W(oo)(C.value)) + " " + I(W(Yt)(C.value, c.value)), 5),
3238
+ }, I(W(oo)(C.value)) + " " + I(W(Ut)(C.value, c.value)), 5),
3245
3239
  (R(!0), T(O, null, ct(v.value, (f) => (R(), T(O, {
3246
3240
  key: f.id
3247
3241
  }, [
@@ -3291,7 +3285,7 @@ const _i = /* @__PURE__ */ Z({
3291
3285
  }), Ii = /* @__PURE__ */ Z({
3292
3286
  __name: "YAxis",
3293
3287
  setup(r) {
3294
- const t = rt(), e = De(t), o = /* @__PURE__ */ new Map(), i = P(() => t.getTheme()), a = P(() => {
3288
+ const t = rt(), e = Be(t), o = /* @__PURE__ */ new Map(), i = P(() => t.getTheme()), a = P(() => {
3295
3289
  e.value;
3296
3290
  const s = t.yScale.niceTickValues(), n = new Set(s), l = performance.now();
3297
3291
  for (const c of s)
@@ -3340,13 +3334,10 @@ const _i = /* @__PURE__ */ Z({
3340
3334
  setup(r) {
3341
3335
  const t = r, e = rt(), o = oi(e, t.seriesId), i = ii(e, t.seriesId);
3342
3336
  q(() => e.setYLabel(!0)), et(() => e.setYLabel(!1));
3343
- const a = P(() => e.getTheme()), s = P(() => {
3344
- const d = o.value;
3345
- return d === null ? 0 : e.yScale.valueToY(d.value);
3346
- }), n = P(() => {
3337
+ const a = P(() => e.getTheme()), s = P(() => o.value === null ? 0 : e.yScale.valueToY(o.value.value)), n = P(() => {
3347
3338
  if (t.color) return t.color;
3348
- const d = a.value, u = o.value;
3349
- return i.value === null || u === null ? d.yLabel.neutralBackground : u.value > i.value ? d.yLabel.upBackground : u.value < i.value ? d.yLabel.downBackground : d.yLabel.neutralBackground;
3339
+ const d = a.value;
3340
+ return i.value === null || o.value === null ? d.yLabel.neutralBackground : o.value.value > i.value ? d.yLabel.upBackground : o.value.value < i.value ? d.yLabel.downBackground : d.yLabel.neutralBackground;
3350
3341
  }), l = P(() => {
3351
3342
  const d = e.yScale.getRange(), u = d.max - d.min;
3352
3343
  return u < 0.1 ? 6 : u < 10 ? 4 : u < 1e3 ? 2 : 0;
@@ -3401,26 +3392,26 @@ export {
3401
3392
  Mi as CandlestickSeries,
3402
3393
  Ri as ChartContainer,
3403
3394
  xo as ChartInstance,
3404
- Di as Crosshair,
3395
+ Bi as Crosshair,
3405
3396
  _i as LineSeries,
3406
3397
  ni as NumberFlow,
3407
3398
  zi as PieLegend,
3408
- Bi as PieSeries,
3399
+ Di as PieSeries,
3409
3400
  Pi as PieTooltip,
3410
3401
  Fi as TimeAxis,
3411
3402
  Li as Tooltip,
3412
3403
  Ii as YAxis,
3413
3404
  Wi as YLabel,
3414
3405
  _o as andromeda,
3415
- Bo as ayuMirage,
3406
+ Do as ayuMirage,
3416
3407
  ki as buildTheme,
3417
- Do as catppuccin,
3408
+ Bo as catppuccin,
3418
3409
  Y as createTheme,
3419
3410
  ke as darkTheme,
3420
3411
  eo as detectInterval,
3421
3412
  zo as dracula,
3422
3413
  oo as formatDate,
3423
- Yt as formatTime,
3414
+ Ut as formatTime,
3424
3415
  Po as githubLight,
3425
3416
  Fo as gruvbox,
3426
3417
  Lo as handwritten,
@@ -3433,7 +3424,7 @@ export {
3433
3424
  Xo as mintBreeze,
3434
3425
  Ho as monokaiPro,
3435
3426
  Go as nightOwl,
3436
- fe as normalizeTime,
3427
+ Yt as normalizeTime,
3437
3428
  No as oneDarkPro,
3438
3429
  Jo as panda,
3439
3430
  jo as peachCream,
@@ -3443,10 +3434,10 @@ export {
3443
3434
  Zo as solarizedLight,
3444
3435
  ye as themes,
3445
3436
  rt as useChartInstance,
3446
- oe as useCrosshairPosition,
3437
+ ie as useCrosshairPosition,
3447
3438
  oi as useLastYValue,
3448
3439
  ii as usePreviousClose,
3449
3440
  ti as useTheme,
3450
- De as useVisibleRange,
3441
+ Be as useVisibleRange,
3451
3442
  Ti as useYRange
3452
3443
  };