@wick-charts/vue 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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";
2
- var Xe = Object.defineProperty, Ce = (r) => {
1
+ import { inject as Ce, defineComponent as Q, ref as Z, onMounted as K, onUnmounted as tt, watch as st, createCommentVNode as j, shallowRef as le, provide as he, computed as P, openBlock as R, createElementBlock as T, normalizeStyle as z, renderSlot as $e, unref as W, Fragment as O, createElementVNode as _, toDisplayString as L, renderList as ct, createVNode as Xe } from "vue";
2
+ var He = Object.defineProperty, we = (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
+ }, Ge = (r, t, e) => t in r ? He(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e, x = (r, t, e) => Ge(r, typeof t != "symbol" ? t + "" : t, e), jt = (r, t, e) => t.has(r) || we("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) ? we("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), Wt = (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
  },
@@ -9,7 +9,7 @@ var Xe = Object.defineProperty, Ce = (r) => {
9
9
  return h(r, t, o);
10
10
  }
11
11
  });
12
- class Pt {
12
+ class Ft {
13
13
  constructor() {
14
14
  x(this, "listeners", /* @__PURE__ */ new Map());
15
15
  }
@@ -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
- class Ge extends Pt {
36
+ class Ne extends Ft {
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 },
@@ -122,13 +122,13 @@ class Ge extends Pt {
122
122
  this.resizeObserver.disconnect(), this.mainCanvas.remove(), this.overlayCanvas.remove(), this.removeAllListeners();
123
123
  }
124
124
  }
125
- function Ne(r, t, e, o) {
125
+ function Je(r, t, e, o) {
126
126
  const { context: i, bitmapSize: a, horizontalPixelRatio: s } = r;
127
127
  i.strokeStyle = o.crosshair.color, i.lineWidth = 1, i.setLineDash([4 * s, 4 * s]);
128
128
  const n = Math.round(t) + 0.5, l = Math.round(e) + 0.5;
129
129
  i.beginPath(), i.moveTo(n, 0), i.lineTo(n, a.height), i.moveTo(0, l), i.lineTo(a.width, l), i.stroke(), i.setLineDash([]);
130
130
  }
131
- function Je(r, t, e, o, i) {
131
+ function je(r, t, e, o, i) {
132
132
  const { context: a, bitmapSize: s, horizontalPixelRatio: n, verticalPixelRatio: l } = r;
133
133
  a.strokeStyle = o.grid.color, a.lineWidth = 1, o.grid.style === "dashed" ? a.setLineDash([4 * n, 4 * n]) : o.grid.style === "dotted" && a.setLineDash([1 * n, 3 * n]);
134
134
  const c = e.niceTickValues();
@@ -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 Ft {
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);
@@ -220,7 +220,7 @@ class jt extends Pt {
220
220
  return i;
221
221
  }
222
222
  }
223
- class je {
223
+ class Ke {
224
224
  constructor(t, e, o) {
225
225
  x(this, "dragging", !1), x(this, "lastX", 0), this.viewport = t, this.timeScale = e, this.canvas = o;
226
226
  }
@@ -241,20 +241,20 @@ class je {
241
241
  return this.dragging;
242
242
  }
243
243
  }
244
- class Ke {
244
+ class qe {
245
245
  constructor(t, e) {
246
246
  this.viewport = t, this.timeScale = e;
247
247
  }
248
248
  handleWheel(t) {
249
249
  t.preventDefault();
250
- const e = qe(t.deltaY, t.deltaMode), o = Math.exp(e * 5e-3), i = this.timeScale.getMediaWidth(), a = Math.min(t.offsetX, i), s = this.timeScale.xToTime(a);
250
+ const e = Qe(t.deltaY, t.deltaMode), o = Math.exp(e * 5e-3), i = this.timeScale.getMediaWidth(), a = Math.min(t.offsetX, i), s = this.timeScale.xToTime(a);
251
251
  this.viewport.zoomAt(s, o);
252
252
  }
253
253
  }
254
- function qe(r, t) {
254
+ function Qe(r, t) {
255
255
  return t === WheelEvent.DOM_DELTA_LINE ? r * 8 : t === WheelEvent.DOM_DELTA_PAGE ? r * 24 : r;
256
256
  }
257
- class Qe extends Pt {
257
+ class Ze extends Ft {
258
258
  constructor(t, e, o, i) {
259
259
  super(), x(this, "zoom"), x(this, "pan"), x(this, "canvas"), x(this, "timeScale"), x(this, "yScale"), x(this, "viewport"), x(this, "onWheel", (a) => {
260
260
  this.zoom.handleWheel(a);
@@ -289,7 +289,7 @@ class Qe extends Pt {
289
289
  }
290
290
  }), x(this, "onTouchEnd", (a) => {
291
291
  a.touches.length === 0 && (this.pan.handleMouseUp(), this.touchCount = 0, this.lastTouchDist = 0);
292
- }), this.canvas = t, this.viewport = e, this.timeScale = o, this.yScale = i, this.zoom = new Ke(e, o), this.pan = new je(e, o, t), t.style.cursor = "crosshair", t.style.touchAction = "none", t.addEventListener("wheel", this.onWheel, { passive: !1 }), t.addEventListener("mousedown", this.onMouseDown), t.addEventListener("mousemove", this.onMouseMove), t.addEventListener("mouseup", this.onMouseUp), t.addEventListener("mouseleave", this.onMouseLeave), t.addEventListener("dblclick", this.onDblClick), t.addEventListener("touchstart", this.onTouchStart, { passive: !1 }), t.addEventListener("touchmove", this.onTouchMove, { passive: !1 }), t.addEventListener("touchend", this.onTouchEnd);
292
+ }), this.canvas = t, this.viewport = e, this.timeScale = o, this.yScale = i, this.zoom = new qe(e, o), this.pan = new Ke(e, o, t), t.style.cursor = "crosshair", t.style.touchAction = "none", t.addEventListener("wheel", this.onWheel, { passive: !1 }), t.addEventListener("mousedown", this.onMouseDown), t.addEventListener("mousemove", this.onMouseMove), t.addEventListener("mouseup", this.onMouseUp), t.addEventListener("mouseleave", this.onMouseLeave), t.addEventListener("dblclick", this.onDblClick), t.addEventListener("touchstart", this.onTouchStart, { passive: !1 }), t.addEventListener("touchmove", this.onTouchMove, { passive: !1 }), t.addEventListener("touchend", this.onTouchEnd);
293
293
  }
294
294
  emitCrosshair(t, e) {
295
295
  const o = this.timeScale.xToTime(t), i = this.yScale.yToValue(e);
@@ -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,23 +318,23 @@ class ue {
318
318
  }
319
319
  }
320
320
  const xt = 6e4, vt = 36e5, ft = 864e5;
321
- function fe(r) {
321
+ function pe(r) {
322
322
  return r instanceof Date ? r.getTime() : r;
323
323
  }
324
- function Ze(r) {
325
- return r.length === 0 || typeof r[0].time == "number" ? r : r.map((t) => ({ ...t, time: t.time.getTime() }));
326
- }
327
324
  function to(r) {
328
325
  return r.length === 0 || typeof r[0].time == "number" ? r : r.map((t) => ({ ...t, time: t.time.getTime() }));
329
326
  }
330
327
  function eo(r) {
328
+ return r.length === 0 || typeof r[0].time == "number" ? r : r.map((t) => ({ ...t, time: t.time.getTime() }));
329
+ }
330
+ function oo(r) {
331
331
  if (r.length < 2) return ft;
332
332
  const t = [];
333
333
  for (let e = 1; e < Math.min(r.length, 20); e++)
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",
@@ -343,14 +343,14 @@ function Yt(r, t) {
343
343
  hour12: !1
344
344
  });
345
345
  }
346
- function oo(r) {
346
+ function io(r) {
347
347
  return new Date(r).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
348
348
  }
349
- function io(r) {
349
+ function ao(r) {
350
350
  const t = [1e3, 5e3, 1e4, 15e3, 3e4], e = [xt, 5 * xt, 10 * xt, 15 * xt, 30 * xt], o = [vt, 2 * vt, 4 * vt, 6 * vt, 12 * vt], i = [ft, 7 * ft, 30 * ft, 90 * ft, 365 * ft];
351
351
  return r < xt ? [...t, ...e, ...o, ...i] : r < vt ? [...e, ...o, ...i] : r < ft ? [...o, ...i] : i;
352
352
  }
353
- class ao {
353
+ class so {
354
354
  constructor() {
355
355
  x(this, "from", 0), x(this, "to", 0), x(this, "width", 1), x(this, "pixelRatio", 1);
356
356
  }
@@ -377,7 +377,7 @@ class ao {
377
377
  }
378
378
  niceTickValues(t) {
379
379
  if (this.to <= this.from) return { ticks: [], tickInterval: 0 };
380
- const e = io(t), o = (this.to - this.from) / this.width * 80;
380
+ const e = ao(t), o = (this.to - this.from) / this.width * 80;
381
381
  let i = e[e.length - 1];
382
382
  for (const n of e)
383
383
  if (n >= o) {
@@ -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,
@@ -425,7 +425,7 @@ const Ht = [
425
425
  2e4,
426
426
  5e4
427
427
  ];
428
- class so {
428
+ class ro {
429
429
  constructor() {
430
430
  x(this, "min", 0), x(this, "max", 0), x(this, "height", 1), x(this, "pixelRatio", 1);
431
431
  }
@@ -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;
@@ -472,14 +472,14 @@ class so {
472
472
  return e < 0.01 ? t.toFixed(6) : e < 0.1 ? t.toFixed(4) : e < 10 ? t.toFixed(2) : e < 1e3 ? t.toFixed(1) : t.toFixed(0);
473
473
  }
474
474
  }
475
- const ro = {
475
+ const no = {
476
476
  colors: ["#26a69a", "#ef5350"],
477
477
  barWidthRatio: 0.6,
478
478
  stacking: "off"
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 = { ...no, ...e };
483
483
  }
484
484
  /** For chart compatibility — returns first store */
485
485
  get store() {
@@ -595,26 +595,26 @@ 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;
603
- for (const L of p)
604
- L > 0 ? k += L : B += L;
602
+ let k = 0, D = 0;
603
+ for (const I of p)
604
+ I > 0 ? k += I : D += I;
605
605
  if (m > 0 && k > 0) {
606
- const L = y / k * 100, N = (y + m) / k * 100, $ = a.valueToBitmapY(N), Q = a.valueToBitmapY(L), G = Math.max(1, Q - $);
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 - $);
610
- n.fillStyle = w, n.fillRect(f - u, $, d, G);
606
+ const I = y / k * 100, G = (y + m) / k * 100, $ = a.valueToBitmapY(G), q = a.valueToBitmapY(I), H = Math.max(1, q - $);
607
+ this.fillBar(n, f - u, $, d, H, w);
608
+ } else if (m < 0 && D < 0) {
609
+ const I = F / D * -100, G = (F + m) / D * -100, $ = a.valueToBitmapY(I), q = a.valueToBitmapY(G), H = Math.max(1, q - $);
610
+ n.fillStyle = w, n.fillRect(f - u, $, d, H);
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);
614
- this.fillBar(n, f - u, k, d, L, w);
613
+ const k = a.valueToBitmapY(y + m), D = a.valueToBitmapY(y), I = Math.max(1, D - k);
614
+ this.fillBar(n, f - u, k, d, I, w);
615
615
  } else {
616
- const k = a.valueToBitmapY(F), B = a.valueToBitmapY(F + m), L = Math.max(1, B - k);
617
- n.fillStyle = w, n.fillRect(f - u, k, d, L);
616
+ const k = a.valueToBitmapY(F), D = a.valueToBitmapY(F + m), I = Math.max(1, D - k);
617
+ n.fillStyle = w, n.fillRect(f - u, k, d, I);
618
618
  }
619
619
  }
620
620
  }
@@ -623,15 +623,15 @@ class nt {
623
623
  t.fillStyle = s, t.fillRect(e, o, i, a);
624
624
  }
625
625
  }
626
- function pe(r, t) {
627
- return r.length <= t ? r : lo(
626
+ function ge(r, t) {
627
+ return r.length <= t ? r : ho(
628
628
  r,
629
629
  t,
630
630
  (e) => e.time,
631
631
  (e) => e.value
632
632
  );
633
633
  }
634
- function no(r, t) {
634
+ function lo(r, t) {
635
635
  if (r.length <= t) return r;
636
636
  const e = Math.ceil(r.length / t), o = [];
637
637
  for (let i = 0; i < r.length; i += e) {
@@ -650,7 +650,7 @@ function no(r, t) {
650
650
  }
651
651
  return o;
652
652
  }
653
- function lo(r, t, e, o) {
653
+ function ho(r, t, e, o) {
654
654
  if (t >= r.length || t < 3) return r;
655
655
  const i = [r[0]], a = (r.length - 2) / (t - 2);
656
656
  let s = 0;
@@ -673,54 +673,54 @@ function lo(r, t, e, o) {
673
673
  }
674
674
  return i.push(r[r.length - 1]), i;
675
675
  }
676
- const ge = /* @__PURE__ */ new Map(), me = /* @__PURE__ */ new Map(), be = /* @__PURE__ */ new Map();
677
- function Kt(r) {
676
+ const me = /* @__PURE__ */ new Map(), be = /* @__PURE__ */ new Map(), ve = /* @__PURE__ */ new Map();
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
- function we(r, t, e) {
680
+ function ke(r, t, e) {
681
681
  return `#${r.toString(16).padStart(2, "0")}${t.toString(16).padStart(2, "0")}${e.toString(16).padStart(2, "0")}`;
682
682
  }
683
683
  function Mt(r, t) {
684
684
  if (r.startsWith("rgba")) return r.replace(/[\d.]+\)\s*$/, `${t})`);
685
685
  if (r.startsWith("rgb(")) return r.replace(/^rgb\((.*)\)$/i, `rgba($1, ${t})`);
686
686
  const e = r + t;
687
- let o = ge.get(e);
687
+ let o = me.get(e);
688
688
  if (o) return o;
689
- const [i, a, s] = Kt(r);
690
- return o = `rgba(${i}, ${a}, ${s}, ${t})`, ge.set(e, o), o;
689
+ const [i, a, s] = qt(r);
690
+ return o = `rgba(${i}, ${a}, ${s}, ${t})`, me.set(e, o), o;
691
691
  }
692
- function ho(r, t) {
692
+ function co(r, t) {
693
693
  const e = r + t;
694
- let o = me.get(e);
694
+ let o = be.get(e);
695
695
  if (o) return o;
696
- const [i, a, s] = Kt(r);
697
- return o = we(
696
+ const [i, a, s] = qt(r);
697
+ return o = ke(
698
698
  Math.min(255, Math.round(i + (255 - i) * t)),
699
699
  Math.min(255, Math.round(a + (255 - a) * t)),
700
700
  Math.min(255, Math.round(s + (255 - s) * t))
701
- ), me.set(e, o), o;
701
+ ), be.set(e, o), o;
702
702
  }
703
- function co(r, t) {
703
+ function uo(r, t) {
704
704
  const e = r + t;
705
- let o = be.get(e);
705
+ let o = ve.get(e);
706
706
  if (o) return o;
707
- const [i, a, s] = Kt(r);
708
- return o = we(
707
+ const [i, a, s] = qt(r);
708
+ return o = ke(
709
709
  Math.max(0, Math.round(i * (1 - t))),
710
710
  Math.max(0, Math.round(a * (1 - t))),
711
711
  Math.max(0, Math.round(s * (1 - t)))
712
- ), be.set(e, o), o;
712
+ ), ve.set(e, o), o;
713
713
  }
714
- const uo = {
714
+ const fo = {
715
715
  upColor: "#26a69a",
716
716
  downColor: "#ef5350",
717
717
  wickUpColor: "#26a69a",
718
718
  wickDownColor: "#ef5350",
719
719
  bodyWidthRatio: 0.6
720
720
  };
721
- class Gt {
721
+ class Nt {
722
722
  constructor(t, e) {
723
- x(this, "store"), x(this, "options"), this.store = t, this.options = { ...uo, ...e };
723
+ x(this, "store"), x(this, "options"), this.store = t, this.options = { ...fo, ...e };
724
724
  }
725
725
  updateOptions(t) {
726
726
  this.options = { ...this.options, ...t };
@@ -732,7 +732,7 @@ class Gt {
732
732
  const { scope: e, timeScale: o, yScale: i, dataInterval: a } = t, { context: s, horizontalPixelRatio: n } = e, l = o.getRange();
733
733
  let c = this.store.getVisibleData(l.from, l.to);
734
734
  const d = e.mediaSize.width;
735
- if (c.length > d * 2 && (c = no(c, Math.round(d * 1.5))), c.length === 0) return;
735
+ if (c.length > d * 2 && (c = lo(c, Math.round(d * 1.5))), c.length === 0) return;
736
736
  const u = o.barWidthBitmap(a), b = Math.max(1, Math.round(u * this.options.bodyWidthRatio) - 2), v = Math.floor(b / 2), C = Math.max(1, Math.round(n)), w = Math.round(i.getMediaHeight() * e.verticalPixelRatio);
737
737
  this.drawVolume(s, c, o, w, u, a);
738
738
  const g = [], p = [];
@@ -779,7 +779,7 @@ class Gt {
779
779
  const C = o.timeToBitmapX(v.time), w = i.valueToBitmapY(v.high), g = i.valueToBitmapY(v.low), p = C - Math.floor(n / 2);
780
780
  t.fillRect(p, w, n, g - w);
781
781
  }
782
- const d = this.options.candleGradient !== !1, u = d ? ho(l, 0.2) : l, b = d ? co(l, 0.15) : l;
782
+ const d = this.options.candleGradient !== !1, u = d ? co(l, 0.2) : l, b = d ? uo(l, 0.15) : l;
783
783
  d || (t.fillStyle = l);
784
784
  for (const v of e) {
785
785
  const C = o.timeToBitmapX(v.time), w = i.valueToBitmapY(v.open), g = i.valueToBitmapY(v.close), p = Math.min(w, g), m = Math.max(1, Math.abs(g - w));
@@ -791,16 +791,16 @@ class Gt {
791
791
  }
792
792
  }
793
793
  }
794
- const fo = {
794
+ const po = {
795
795
  colors: ["#2962FF"],
796
796
  lineWidth: 1,
797
797
  areaFill: !0,
798
798
  pulse: !0,
799
799
  stacking: "off"
800
800
  };
801
- class j {
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 = { ...po, ...e };
804
804
  }
805
805
  get store() {
806
806
  return this.stores[0];
@@ -859,7 +859,7 @@ class j {
859
859
  if (!this.stores[d].isVisible()) continue;
860
860
  let u = this.stores[d].getVisibleData(s.from, s.to);
861
861
  const b = e.mediaSize.width;
862
- if (u.length > b * 2 && (u = pe(u, Math.round(b * 1.5))), u.length < 2) continue;
862
+ if (u.length > b * 2 && (u = ge(u, Math.round(b * 1.5))), u.length < 2) continue;
863
863
  const v = this.options.colors[d % this.options.colors.length];
864
864
  a.beginPath(), a.moveTo(o.timeToBitmapX(u[0].time), i.valueToBitmapY(u[0].value));
865
865
  for (let C = 1; C < u.length; C++)
@@ -877,7 +877,7 @@ class j {
877
877
  renderStacked(t, e) {
878
878
  const { scope: o, timeScale: i, yScale: a } = t, { context: s } = o, n = i.getRange(), { verticalPixelRatio: l } = o, c = Math.max(1, Math.round(this.options.lineWidth * l)), d = o.mediaSize.width, u = this.stores.map((g) => {
879
879
  let p = g.getVisibleData(n.from, n.to);
880
- return p.length > d * 2 && (p = pe(p, Math.round(d * 1.5))), p;
880
+ return p.length > d * 2 && (p = ge(p, Math.round(d * 1.5))), p;
881
881
  }), b = /* @__PURE__ */ new Set();
882
882
  for (const g of u)
883
883
  for (const p of g) b.add(p.time);
@@ -945,28 +945,28 @@ class j {
945
945
  t.beginPath(), t.arc(e, o, l, 0, Math.PI * 2), t.fillStyle = Mt(i, n * 0.3), t.fill(), t.beginPath(), t.arc(e, o, s, 0, Math.PI * 2), t.fillStyle = i, t.fill();
946
946
  }
947
947
  }
948
- const po = {
948
+ const go = {
949
949
  innerRadiusRatio: 0,
950
950
  padAngle: 0.02,
951
951
  strokeColor: "transparent",
952
952
  strokeWidth: 0
953
- }, Wt = Math.PI * 2;
954
- function go(r) {
953
+ }, At = Math.PI * 2;
954
+ function mo(r) {
955
955
  if (!r.startsWith("#")) return !1;
956
956
  const t = parseInt(r.slice(1, 3), 16), e = parseInt(r.slice(3, 5), 16), o = parseInt(r.slice(5, 7), 16);
957
957
  return t * 0.299 + e * 0.587 + o * 0.114 > 150;
958
958
  }
959
- function mo(r, t) {
959
+ function bo(r, t) {
960
960
  if (!r.startsWith("#")) return r;
961
961
  const e = Math.min(255, parseInt(r.slice(1, 3), 16) + Math.round(255 * t)), o = Math.min(255, parseInt(r.slice(3, 5), 16) + Math.round(255 * t)), i = Math.min(255, parseInt(r.slice(5, 7), 16) + Math.round(255 * t));
962
962
  return `#${e.toString(16).padStart(2, "0")}${o.toString(16).padStart(2, "0")}${i.toString(16).padStart(2, "0")}`;
963
963
  }
964
- function bo(r, t, e) {
964
+ function vo(r, t, e) {
965
965
  return r + (t - r) * Math.min(1, e);
966
966
  }
967
967
  class bt {
968
968
  constructor(t) {
969
- x(this, "data", []), x(this, "options"), x(this, "hoverIndex", -1), x(this, "sliceOffsets", []), x(this, "lastRenderTime", 0), this.options = { ...po, ...t };
969
+ x(this, "data", []), x(this, "options"), x(this, "hoverIndex", -1), x(this, "sliceOffsets", []), x(this, "lastRenderTime", 0), this.options = { ...go, ...t };
970
970
  }
971
971
  getData() {
972
972
  return this.data;
@@ -989,10 +989,10 @@ class bt {
989
989
  const s = o / 2, n = i / 2, l = Math.min(o, i) / 2 * 0.85, c = l * this.options.innerRadiusRatio, d = t - s, u = e - n, b = Math.sqrt(d * d + u * u);
990
990
  if (b > l || b < c) return -1;
991
991
  let v = Math.atan2(u, d) + Math.PI / 2;
992
- v < 0 && (v += Wt);
992
+ v < 0 && (v += At);
993
993
  let C = 0;
994
994
  for (let w = 0; w < this.data.length; w++) {
995
- const g = this.data[w].value / a * Wt;
995
+ const g = this.data[w].value / a * At;
996
996
  if (v >= C && v < C + g) return w;
997
997
  C += g;
998
998
  }
@@ -1010,36 +1010,36 @@ class bt {
1010
1010
  if (this.data.length === 0) return;
1011
1011
  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
1012
  this.lastRenderTime = n;
1013
- const c = this.data.reduce((k, B) => k + B.value, 0);
1013
+ const c = this.data.reduce((k, D) => k + D.value, 0);
1014
1014
  if (c <= 0) return;
1015
1015
  const d = 10;
1016
1016
  for (; this.sliceOffsets.length < this.data.length; ) this.sliceOffsets.push(0);
1017
1017
  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);
1018
+ const D = k === this.hoverIndex ? 1 : 0;
1019
+ this.sliceOffsets[k] = vo(this.sliceOffsets[k], D, d * l);
1020
1020
  }
1021
1021
  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
1022
  let y = -Math.PI / 2;
1023
1023
  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;
1025
- i.beginPath(), i.arc(gt, mt, C, N, $), w > 0 ? i.arc(gt, mt, w, $, N, !0) : i.lineTo(gt, mt), i.closePath();
1026
- const X = i.createRadialGradient(gt, mt, w || 0, gt, mt, C);
1027
- 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;
1024
+ const D = this.data[k], I = D.value / c * At, G = y + g / 2, $ = y + I - g / 2, q = y + I / 2, H = D.color ?? u[k % u.length], pt = this.sliceOffsets[k] * f, N = Math.cos(q) * pt, It = Math.sin(q) * pt, gt = b + N, mt = v + It;
1025
+ i.beginPath(), i.arc(gt, mt, C, G, $), w > 0 ? i.arc(gt, mt, w, $, G, !0) : i.lineTo(gt, mt), i.closePath();
1026
+ const Rt = i.createRadialGradient(gt, mt, w || 0, gt, mt, C);
1027
+ Rt.addColorStop(0, bo(H, 0.15)), Rt.addColorStop(1, H), i.fillStyle = Rt, this.sliceOffsets[k] > 0.01 && (i.shadowColor = "rgba(0,0,0,0.25)", i.shadowBlur = 12 * s * this.sliceOffsets[k], i.shadowOffsetX = N * 0.3, i.shadowOffsetY = It * 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 += I;
1028
1028
  }
1029
1029
  y = -Math.PI / 2;
1030
1030
  const F = w > 0 ? (C + w) / 2 : C * 0.65;
1031
1031
  i.textAlign = "center", i.textBaseline = "middle", i.font = `${11 * s}px ${o.typography.fontFamily}`;
1032
1032
  for (let k = 0; k < this.data.length; k++) {
1033
- const B = this.data[k], L = B.value / c * Wt;
1034
- 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);
1033
+ const D = this.data[k], I = D.value / c * At;
1034
+ if (I > 0.3) {
1035
+ const G = y + I / 2, $ = this.sliceOffsets[k] * f, q = b + Math.cos(G) * (F + $), H = v + Math.sin(G) * (F + $), pt = D.color ?? u[k % u.length];
1036
+ i.fillStyle = mo(pt) ? "#000000" : "#ffffff", i.fillText(D.label, q, H);
1037
1037
  }
1038
- y += L;
1038
+ y += I;
1039
1039
  }
1040
1040
  }
1041
1041
  }
1042
- const ke = {
1042
+ const Se = {
1043
1043
  background: "#131722",
1044
1044
  chartGradient: ["#1a1f2e", "#101318"],
1045
1045
  typography: {
@@ -1104,7 +1104,7 @@ const ke = {
1104
1104
  right: { intervals: 3 },
1105
1105
  left: { intervals: 0 }
1106
1106
  };
1107
- class vo extends Pt {
1107
+ class yo extends Ft {
1108
1108
  constructor({ padding: t } = {}) {
1109
1109
  super(), x(this, "_visibleRange", { from: 0, to: 0 }), x(this, "_yRange", { min: 0, max: 0 }), x(this, "_autoScroll", !0), x(this, "padding"), x(this, "dataInterval", 6e4), x(this, "_dataStart", null), x(this, "_dataEnd", null), x(this, "_animating", !1), x(this, "animStartTime", 0), x(this, "animDuration", 0), x(this, "animFrom", { from: 0, to: 0 }), x(this, "animTo", { from: 0, to: 0 }), this.padding = {
1110
1110
  top: (t == null ? void 0 : t.top) ?? dt.top,
@@ -1173,7 +1173,7 @@ class vo extends Pt {
1173
1173
  /** Called by the render loop before each frame. Returns true if still animating. */
1174
1174
  tick(t) {
1175
1175
  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);
1176
+ 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
1177
  return s > a && this.applyRange(a, s), o >= 1 && (this._animating = !1), this._animating;
1178
1178
  }
1179
1179
  /** Set the Y-axis range. Adds pixel-based padding unless a side has a fixed (explicit) bound. */
@@ -1222,18 +1222,18 @@ class vo extends Pt {
1222
1222
  this.cancelAnimation(), this.removeAllListeners();
1223
1223
  }
1224
1224
  }
1225
- 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;
1227
- class xo extends Pt {
1225
+ let xo = 0;
1226
+ var E, B, U, Ct, Dt, S, V, Bt, ot, ht, X, lt, Jt, wt, ut, zt, yt, kt, Pt, Yt, it, at, St;
1227
+ class Co extends Ft {
1228
1228
  constructor(t, e) {
1229
1229
  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()));
1230
+ super(), A(this, kt), A(this, E), A(this, B), A(this, U), A(this, Ct), x(this, "timeScale"), x(this, "yScale"), A(this, Dt), A(this, S, []), A(this, V), A(this, Bt), A(this, ot, 6e4), A(this, ht, null), A(this, X, {}), A(this, lt, null), A(this, Jt, !1), A(this, wt, {}), A(this, ut, 0), A(this, zt, !1), A(this, yt, !1), A(this, Yt, 0), A(this, it, 0), A(this, at, 0), A(this, St, !1), e != null && e.axis && (M(this, wt, e.axis), M(this, X, { 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) ?? Se), M(this, Bt, (e == null ? void 0 : e.grid) !== !1), M(this, E, new Ne(t)), M(this, B, new yo({ padding: e == null ? void 0 : e.padding })), this.timeScale = new so(), this.yScale = new ro(), M(this, U, new fe(() => this.renderMain())), M(this, Ct, new fe(() => this.renderOverlay()));
1231
1231
  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", () => {
1232
+ M(this, Dt, s ? new Ze(h(this, E).canvas, h(this, B), this.timeScale, this.yScale) : null), h(this, B).on("change", () => {
1233
1233
  this.syncScales(), h(this, U).markDirty(), this.emit("viewportChange");
1234
1234
  }), h(this, E).on("resize", () => {
1235
1235
  this.updateScales(!0), this.renderMain(), this.emit("viewportChange");
1236
- }), (a = h(this, _t)) == null || a.on("crosshairMove", (n) => {
1236
+ }), (a = h(this, Dt)) == null || a.on("crosshairMove", (n) => {
1237
1237
  M(this, ht, n), h(this, Ct).markDirty(), this.emit("crosshairMove", n), this.updatePieHover(n);
1238
1238
  });
1239
1239
  }
@@ -1247,14 +1247,14 @@ class xo extends Pt {
1247
1247
  }
1248
1248
  /** Add a candlestick (OHLC) series and return its unique ID. */
1249
1249
  addCandlestickSeries(t) {
1250
- const e = new jt(), o = new Gt(e, {
1250
+ const e = new Kt(), o = new Nt(e, {
1251
1251
  upColor: h(this, V).candlestick.upColor,
1252
1252
  downColor: h(this, V).candlestick.downColor,
1253
1253
  wickUpColor: h(this, V).candlestick.wickUpColor,
1254
1254
  wickDownColor: h(this, V).candlestick.wickDownColor,
1255
1255
  bodyWidthRatio: 0.6,
1256
1256
  ...t
1257
- }), i = It(this, kt, zt).call(this, t == null ? void 0 : t.id);
1257
+ }), i = Wt(this, kt, Pt).call(this, t == null ? void 0 : t.id);
1258
1258
  return e.on("update", () => {
1259
1259
  this.onDataChanged();
1260
1260
  }), h(this, S).push({ id: i, renderer: o, store: e, visible: !0 }), M(this, lt, null), this.updateViewportPadding(), this.emit("seriesChange"), i;
@@ -1267,12 +1267,12 @@ class xo extends Pt {
1267
1267
  const { layers: n, ...l } = t ?? {};
1268
1268
  o = n ?? 1, i = l;
1269
1269
  }
1270
- const a = new j(o, {
1270
+ const a = new J(o, {
1271
1271
  colors: o === 1 ? [h(this, V).line.color] : h(this, V).seriesColors.slice(0, o),
1272
1272
  lineWidth: h(this, V).line.width,
1273
1273
  areaFill: !0,
1274
1274
  ...i
1275
- }), s = It(this, kt, zt).call(this, i == null ? void 0 : i.id);
1275
+ }), s = Wt(this, kt, Pt).call(this, i == null ? void 0 : i.id);
1276
1276
  for (const n of a.stores)
1277
1277
  n.on("update", () => this.onDataChanged());
1278
1278
  return h(this, S).push({ id: s, label: i == null ? void 0 : i.label, renderer: a, store: a.stores[0], visible: !0 }), M(this, lt, null), this.updateViewportPadding(), this.emit("seriesChange"), s;
@@ -1280,7 +1280,7 @@ class xo extends Pt {
1280
1280
  /** Set data for a specific layer within a line series. */
1281
1281
  setLineLayerData(t, e, o) {
1282
1282
  const i = h(this, S).find((s) => s.id === t);
1283
- if (!i || !(i.renderer instanceof j)) return;
1283
+ if (!i || !(i.renderer instanceof J)) return;
1284
1284
  const a = i.renderer.stores[e];
1285
1285
  a && a.setData(o);
1286
1286
  }
@@ -1296,7 +1296,7 @@ class xo extends Pt {
1296
1296
  colors: h(this, V).seriesColors.slice(0, o),
1297
1297
  barWidthRatio: 0.6,
1298
1298
  ...i
1299
- }), s = It(this, kt, zt).call(this, i == null ? void 0 : i.id);
1299
+ }), s = Wt(this, kt, Pt).call(this, i == null ? void 0 : i.id);
1300
1300
  for (const n of a.stores)
1301
1301
  n.on("update", () => this.onDataChanged());
1302
1302
  return h(this, S).push({ id: s, label: i == null ? void 0 : i.label, renderer: a, store: a.stores[0], visible: !0 }), M(this, lt, null), this.updateViewportPadding(), this.emit("seriesChange"), s;
@@ -1310,7 +1310,7 @@ class xo extends Pt {
1310
1310
  }
1311
1311
  /** Add a pie/donut series. Set `innerRadiusRatio > 0` for donut. */
1312
1312
  addPieSeries(t) {
1313
- const e = new bt(t), o = It(this, kt, zt).call(this, t == null ? void 0 : t.id);
1313
+ const e = new bt(t), o = Wt(this, kt, Pt).call(this, t == null ? void 0 : t.id);
1314
1314
  return h(this, S).push({ id: o, label: t == null ? void 0 : t.label, renderer: e, store: null, visible: !0 }), M(this, lt, null), this.updateViewportPadding(), this.emit("seriesChange"), o;
1315
1315
  }
1316
1316
  /** Set data for a pie/donut series. */
@@ -1323,7 +1323,7 @@ class xo extends Pt {
1323
1323
  const e = h(this, S).findIndex((o) => o.id === t);
1324
1324
  if (e >= 0) {
1325
1325
  const { renderer: o, store: i } = h(this, S)[e];
1326
- if (o instanceof j || o instanceof nt)
1326
+ if (o instanceof J || o instanceof nt)
1327
1327
  for (const a of o.stores) a.removeAllListeners();
1328
1328
  else
1329
1329
  i == null || i.removeAllListeners();
@@ -1334,27 +1334,27 @@ class xo extends Pt {
1334
1334
  setSeriesData(t, e) {
1335
1335
  const o = h(this, S).find((a) => a.id === t);
1336
1336
  if (!(o != null && o.store)) return;
1337
- const i = e.length > 0 && "open" in e[0] ? Ze(e) : to(e);
1337
+ const i = e.length > 0 && "open" in e[0] ? to(e) : eo(e);
1338
1338
  o.store.setData(i);
1339
1339
  }
1340
1340
  /** Append a new data point to the end of a series (real-time tick). */
1341
1341
  appendData(t, e) {
1342
1342
  const o = h(this, S).find((a) => a.id === t);
1343
1343
  if (!(o != null && o.store)) return;
1344
- const i = { ...e, time: fe(e.time) };
1344
+ const i = { ...e, time: pe(e.time) };
1345
1345
  o.store.append(i);
1346
1346
  }
1347
1347
  /** Update the last data point of a series in place (e.g. live candle update). */
1348
1348
  updateData(t, e) {
1349
1349
  const o = h(this, S).find((a) => a.id === t);
1350
1350
  if (!(o != null && o.store)) return;
1351
- const i = { ...e, time: fe(e.time) };
1351
+ const i = { ...e, time: pe(e.time) };
1352
1352
  o.store.updateLast(i);
1353
1353
  }
1354
1354
  /** Update visual options (color, width, etc.) for an existing series. */
1355
1355
  updateSeriesOptions(t, e) {
1356
1356
  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());
1357
+ 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
1358
  }
1359
1359
  /**
1360
1360
  * Batch multiple updates: suppress recomputes until `fn` returns.
@@ -1370,11 +1370,11 @@ class xo extends Pt {
1370
1370
  }
1371
1371
  /** @deprecated Use {@link batch} instead. */
1372
1372
  beginUpdate() {
1373
- he(this, ut)._++;
1373
+ ce(this, ut)._++;
1374
1374
  }
1375
1375
  /** @deprecated Use {@link batch} instead. */
1376
1376
  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()));
1377
+ --ce(this, ut)._ <= 0 && (M(this, ut, 0), h(this, zt) ? (M(this, zt, !1), M(this, yt, !1), this.onDataChanged()) : h(this, yt) && (M(this, yt, !1), this.updateYRange(!0), h(this, U).markDirty()));
1378
1378
  }
1379
1379
  /** Show or hide a series. Hidden series are not rendered and excluded from Y-range. */
1380
1380
  setSeriesVisible(t, e) {
@@ -1396,7 +1396,7 @@ class xo extends Pt {
1396
1396
  const i = h(this, S).find((s) => s.id === t);
1397
1397
  if (!i) return;
1398
1398
  const a = i.renderer;
1399
- if (a instanceof nt || a instanceof j) {
1399
+ if (a instanceof nt || a instanceof J) {
1400
1400
  const s = a.stores[e];
1401
1401
  if (s) {
1402
1402
  if (s.isVisible() === o) return;
@@ -1413,20 +1413,20 @@ class xo extends Pt {
1413
1413
  const i = h(this, S).find((s) => s.id === t);
1414
1414
  if (!i) return !0;
1415
1415
  const a = i.renderer;
1416
- return a instanceof nt || a instanceof j ? ((o = a.stores[e]) == null ? void 0 : o.isVisible()) ?? !0 : !0;
1416
+ return a instanceof nt || a instanceof J ? ((o = a.stores[e]) == null ? void 0 : o.isVisible()) ?? !0 : !0;
1417
1417
  }
1418
1418
  /** Auto-fit the viewport to show all data across every series. */
1419
1419
  fitContent() {
1420
1420
  const { first: t, last: e } = this.getDataBounds();
1421
1421
  if (t === void 0 || e === void 0) return;
1422
1422
  const o = h(this, E).size.media.width - this.yAxisWidth;
1423
- h(this, D).fitToData(t, e, o, !0);
1423
+ h(this, B).fitToData(t, e, o, !0);
1424
1424
  }
1425
1425
  getVisibleRange() {
1426
- return h(this, D).visibleRange;
1426
+ return h(this, B).visibleRange;
1427
1427
  }
1428
1428
  getYRange() {
1429
- return h(this, D).yRange;
1429
+ return h(this, B).yRange;
1430
1430
  }
1431
1431
  getCrosshairPosition() {
1432
1432
  return h(this, ht);
@@ -1437,7 +1437,7 @@ class xo extends Pt {
1437
1437
  if (!(e != null && e.store)) return null;
1438
1438
  const o = e.store.last();
1439
1439
  if (!o) return null;
1440
- const i = (l) => "close" in l ? l.close : l.value, { from: a, to: s } = h(this, D).visibleRange;
1440
+ const i = (l) => "close" in l ? l.close : l.value, { from: a, to: s } = h(this, B).visibleRange;
1441
1441
  if (o.time >= a && o.time <= s)
1442
1442
  return { value: i(o), isLive: !0 };
1443
1443
  const n = e.store.getVisibleData(a, s);
@@ -1474,7 +1474,7 @@ class xo extends Pt {
1474
1474
  const o = h(this, S).find((n) => n.id === t);
1475
1475
  if (!o || !o.visible) return null;
1476
1476
  const i = o.renderer;
1477
- if (!(i instanceof nt) && !(i instanceof j) || i.stores.length <= 1) return null;
1477
+ if (!(i instanceof nt) && !(i instanceof J) || i.stores.length <= 1) return null;
1478
1478
  const a = i.getColors(), s = [];
1479
1479
  for (let n = 0; n < i.stores.length; n++) {
1480
1480
  if (!i.stores[n].isVisible()) continue;
@@ -1509,7 +1509,7 @@ class xo extends Pt {
1509
1509
  const e = h(this, S).find((a) => a.id === t);
1510
1510
  if (!e) return null;
1511
1511
  const o = e.renderer;
1512
- if (!(o instanceof nt) && !(o instanceof j)) return null;
1512
+ if (!(o instanceof nt) && !(o instanceof J)) return null;
1513
1513
  const i = o.getColors();
1514
1514
  return o.stores.map((a, s) => ({
1515
1515
  color: i[s % i.length]
@@ -1550,14 +1550,14 @@ class xo extends Pt {
1550
1550
  const e = h(this, V).line.color;
1551
1551
  M(this, V, t);
1552
1552
  for (const o of h(this, S))
1553
- o.renderer instanceof Gt ? o.renderer.updateOptions({
1553
+ o.renderer instanceof Nt ? o.renderer.updateOptions({
1554
1554
  upColor: t.candlestick.upColor,
1555
1555
  downColor: t.candlestick.downColor,
1556
1556
  wickUpColor: t.candlestick.wickUpColor,
1557
1557
  wickDownColor: t.candlestick.wickDownColor
1558
1558
  }) : o.renderer instanceof nt ? o.renderer.updateOptions({
1559
1559
  colors: t.seriesColors.slice(0, o.renderer.stores.length)
1560
- }) : o.renderer instanceof j && (o.renderer.stores.length === 1 ? o.renderer.getColor() === e && o.renderer.updateOptions({ colors: [t.line.color] }) : o.renderer.updateOptions({
1560
+ }) : o.renderer instanceof J && (o.renderer.stores.length === 1 ? o.renderer.getColor() === e && o.renderer.updateOptions({ colors: [t.line.color] }) : o.renderer.updateOptions({
1561
1561
  colors: t.seriesColors.slice(0, o.renderer.stores.length)
1562
1562
  }));
1563
1563
  h(this, U).markDirty();
@@ -1571,7 +1571,7 @@ class xo extends Pt {
1571
1571
  const i = this.yAxisWidth, a = this.xAxisHeight;
1572
1572
  M(this, wt, t);
1573
1573
  const s = { min: (e = t.y) == null ? void 0 : e.min, max: (o = t.y) == null ? void 0 : o.max };
1574
- M(this, H, s), M(this, St, !1), this.updateYRange(!0), (this.yAxisWidth !== i || this.xAxisHeight !== a) && this.updateScales(!0), h(this, U).markDirty();
1574
+ M(this, X, s), M(this, St, !1), this.updateYRange(!0), (this.yAxisWidth !== i || this.xAxisHeight !== a) && this.updateScales(!0), h(this, U).markDirty();
1575
1575
  }
1576
1576
  getMediaSize() {
1577
1577
  return h(this, E).size.media;
@@ -1590,11 +1590,11 @@ class xo extends Pt {
1590
1590
  }
1591
1591
  /** Update viewport padding at runtime. Refits the visible range to current data bounds. */
1592
1592
  setPadding(t) {
1593
- h(this, D).setPadding(t);
1593
+ h(this, B).setPadding(t);
1594
1594
  const { first: e, last: o } = this.getDataBounds();
1595
1595
  if (e !== void 0 && o !== void 0) {
1596
1596
  const i = h(this, E).size.media.width - this.yAxisWidth;
1597
- h(this, D).fitToData(e, o, i, !1);
1597
+ h(this, B).fitToData(e, o, i, !1);
1598
1598
  }
1599
1599
  this.syncScales(), h(this, U).markDirty();
1600
1600
  }
@@ -1604,7 +1604,7 @@ class xo extends Pt {
1604
1604
  }
1605
1605
  /** Notify chart that a YLabel is present (affects right padding). */
1606
1606
  setYLabel(t) {
1607
- M(this, Nt, t), this.updateViewportPadding();
1607
+ M(this, Jt, t), this.updateViewportPadding();
1608
1608
  }
1609
1609
  updatePieHover(t) {
1610
1610
  const e = h(this, E).size;
@@ -1624,7 +1624,7 @@ class xo extends Pt {
1624
1624
  /** Tear down the chart: cancel animations, remove listeners, and detach the canvas. */
1625
1625
  destroy() {
1626
1626
  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();
1627
+ h(this, B).destroy(), h(this, U).destroy(), h(this, Ct).destroy(), (t = h(this, Dt)) == null || t.destroy(), h(this, E).destroy(), this.removeAllListeners();
1628
1628
  }
1629
1629
  /** Compute the earliest and latest timestamps across all series. */
1630
1630
  getDataBounds() {
@@ -1638,27 +1638,27 @@ class xo extends Pt {
1638
1638
  }
1639
1639
  onDataChanged() {
1640
1640
  if (h(this, ut) > 0) {
1641
- M(this, Dt, !0);
1641
+ M(this, zt, !0);
1642
1642
  return;
1643
1643
  }
1644
1644
  this.updateDataInterval();
1645
1645
  const { first: t, last: e } = this.getDataBounds();
1646
- t !== void 0 && h(this, D).setDataStart(t), e !== void 0 && h(this, D).setDataEnd(e);
1646
+ t !== void 0 && h(this, B).setDataStart(t), e !== void 0 && h(this, B).setDataEnd(e);
1647
1647
  let o = 0;
1648
1648
  for (const a of h(this, S))
1649
- if (a.renderer instanceof j || a.renderer instanceof nt)
1649
+ if (a.renderer instanceof J || a.renderer instanceof nt)
1650
1650
  for (const s of a.renderer.stores) o += s.length;
1651
1651
  else a.store && (o += a.store.length);
1652
- const i = o - h(this, Vt) > 5;
1653
- 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);
1652
+ const i = o - h(this, Yt) > 5;
1653
+ if (M(this, Yt, o), t !== void 0 && e !== void 0) {
1654
+ const { from: a, to: s } = h(this, B).visibleRange, n = a === 0 && s === 0, l = h(this, E).size.media.width - this.yAxisWidth;
1655
+ 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
1656
  }
1657
1657
  this.updateYRange(i), this.syncScales(), h(this, U).markDirty(), this.emit("dataUpdate");
1658
1658
  }
1659
1659
  /** Check whether the last data point of any series falls within the visible time range. */
1660
1660
  isLastPointVisible() {
1661
- const { from: t, to: e } = h(this, D).visibleRange;
1661
+ const { from: t, to: e } = h(this, B).visibleRange;
1662
1662
  for (const o of h(this, S)) {
1663
1663
  if (!o.visible || !o.store) continue;
1664
1664
  const i = o.store.last();
@@ -1672,15 +1672,15 @@ class xo extends Pt {
1672
1672
  const e = t.store.getAll();
1673
1673
  if (e.length >= 2) {
1674
1674
  const o = e.slice(0, 20).map((i) => i.time);
1675
- M(this, ot, eo(o)), h(this, D).setDataInterval(h(this, ot));
1675
+ M(this, ot, oo(o)), h(this, B).setDataInterval(h(this, ot));
1676
1676
  break;
1677
1677
  }
1678
1678
  }
1679
1679
  }
1680
1680
  updateYRange(t = !1) {
1681
1681
  let e = 1 / 0, o = -1 / 0;
1682
- const i = h(this, D).visibleRange;
1683
- 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;
1682
+ const i = h(this, B).visibleRange;
1683
+ let a = h(this, X).min !== void 0 && h(this, X).min !== "auto" && typeof h(this, X).min != "number" || h(this, X).max !== void 0 && h(this, X).max !== "auto" && typeof h(this, X).max != "number" ? [] : null;
1684
1684
  for (const c of h(this, S)) {
1685
1685
  if (!c.visible) continue;
1686
1686
  if (c.renderer.getValueRange) {
@@ -1705,15 +1705,15 @@ class xo extends Pt {
1705
1705
  M(this, St, !1);
1706
1706
  return;
1707
1707
  }
1708
- if (e = this.resolveBound(h(this, H).min, e, o, a ?? [], "min"), o = this.resolveBound(h(this, H).max, o, e, a ?? [], "max"), !h(this, St) || t)
1708
+ if (e = this.resolveBound(h(this, X).min, e, o, a ?? [], "min"), o = this.resolveBound(h(this, X).max, o, e, a ?? [], "max"), !h(this, St) || t)
1709
1709
  M(this, it, e), M(this, at, o), M(this, St, !0);
1710
1710
  else {
1711
1711
  M(this, it, h(this, it) + (e - h(this, it)) * 0.2), M(this, at, h(this, at) + (o - h(this, at)) * 0.2), e < h(this, it) && M(this, it, e), o > h(this, at) && M(this, at, o);
1712
1712
  const c = Math.max(Math.abs(h(this, at) - h(this, it)) * 1e-4, 1e-3);
1713
1713
  (Math.abs(h(this, it) - e) > c || Math.abs(h(this, at) - o) > c) && h(this, U).markDirty();
1714
1714
  }
1715
- 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);
1715
+ const s = h(this, X).min !== void 0 && h(this, X).min !== "auto", n = h(this, X).max !== void 0 && h(this, X).max !== "auto", l = h(this, E).size.media.height - this.xAxisHeight;
1716
+ h(this, B).setYRange(h(this, it), h(this, at), l, s, n);
1717
1717
  }
1718
1718
  /** Resolve an {@link AxisBound} to a concrete numeric value. */
1719
1719
  resolveBound(t, e, o, i, a) {
@@ -1736,21 +1736,21 @@ class xo extends Pt {
1736
1736
  const t = h(this, E).size;
1737
1737
  if (t.media.width === 0 || t.media.height === 0) return;
1738
1738
  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);
1739
+ this.timeScale.update(h(this, B).visibleRange, e, t.horizontalPixelRatio), this.yScale.update(h(this, B).yRange, o, t.verticalPixelRatio);
1740
1740
  }
1741
1741
  updateScales(t = !1) {
1742
1742
  const e = h(this, E).size;
1743
1743
  if (e.media.width === 0 || e.media.height === 0) return;
1744
1744
  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);
1745
+ 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
1746
  }
1747
1747
  /** Expensive: background, grid, all series. Only on data/viewport/resize change. */
1748
1748
  renderMain() {
1749
1749
  const t = h(this, E).size;
1750
1750
  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) => {
1751
+ h(this, B).tick(performance.now()) && h(this, U).markDirty(), this.updateScales(), h(this, E).useMainLayer((e) => {
1752
1752
  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));
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));
1754
1754
  for (const n of h(this, S))
1755
1755
  n.visible && n.renderer.render({
1756
1756
  scope: e,
@@ -1775,7 +1775,7 @@ class xo extends Pt {
1775
1775
  if (t.media.width === 0 || t.media.height === 0) return;
1776
1776
  let e = !1;
1777
1777
  for (const o of h(this, S))
1778
- if (o.visible && o.renderer instanceof j && o.renderer.hasPulse) {
1778
+ if (o.visible && o.renderer instanceof J && o.renderer.hasPulse) {
1779
1779
  e = !0;
1780
1780
  break;
1781
1781
  }
@@ -1784,9 +1784,9 @@ class xo extends Pt {
1784
1784
  const i = (t.media.width - this.yAxisWidth) * t.horizontalPixelRatio, a = (t.media.height - this.xAxisHeight) * t.verticalPixelRatio;
1785
1785
  if (o.context.save(), o.context.beginPath(), o.context.rect(0, 0, i, a), o.context.clip(), h(this, ht)) {
1786
1786
  const s = h(this, ht).mediaX * t.horizontalPixelRatio, n = h(this, ht).mediaY * t.verticalPixelRatio;
1787
- Ne(o, s, n, h(this, V));
1787
+ Je(o, s, n, h(this, V));
1788
1788
  for (const l of h(this, S))
1789
- if (l.visible && l.renderer instanceof j) {
1789
+ if (l.visible && l.renderer instanceof J) {
1790
1790
  const c = l.renderer, d = c.getColors(), u = c.getStacking(), b = 4 * t.horizontalPixelRatio, v = [], C = [];
1791
1791
  for (let g = 0; g < c.stores.length; g++) {
1792
1792
  const p = c.stores[g].findNearest(h(this, ht).time, h(this, ot));
@@ -1813,7 +1813,7 @@ class xo extends Pt {
1813
1813
  }
1814
1814
  }
1815
1815
  for (const s of h(this, S))
1816
- s.visible && s.renderer instanceof j && s.renderer.hasPulse && s.renderer.drawPulseOverlay(
1816
+ s.visible && s.renderer instanceof J && s.renderer.hasPulse && s.renderer.drawPulseOverlay(
1817
1817
  o.context,
1818
1818
  this.timeScale,
1819
1819
  this.yScale,
@@ -1824,7 +1824,7 @@ class xo extends Pt {
1824
1824
  const { from: o, to: i } = this.timeScale.getRange();
1825
1825
  let a = !1;
1826
1826
  for (const s of h(this, S))
1827
- if (!(!s.visible || !(s.renderer instanceof j) || !s.renderer.hasPulse)) {
1827
+ if (!(!s.visible || !(s.renderer instanceof J) || !s.renderer.hasPulse)) {
1828
1828
  for (const n of s.renderer.stores) {
1829
1829
  const l = n.last();
1830
1830
  if (l && l.time >= o && l.time <= i) {
@@ -1838,21 +1838,21 @@ class xo extends Pt {
1838
1838
  }
1839
1839
  }
1840
1840
  }
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(), /**
1841
+ E = /* @__PURE__ */ new WeakMap(), B = /* @__PURE__ */ new WeakMap(), U = /* @__PURE__ */ new WeakMap(), Ct = /* @__PURE__ */ new WeakMap(), Dt = /* @__PURE__ */ new WeakMap(), S = /* @__PURE__ */ new WeakMap(), V = /* @__PURE__ */ new WeakMap(), Bt = /* @__PURE__ */ new WeakMap(), ot = /* @__PURE__ */ new WeakMap(), ht = /* @__PURE__ */ new WeakMap(), X = /* @__PURE__ */ new WeakMap(), lt = /* @__PURE__ */ new WeakMap(), Jt = /* @__PURE__ */ new WeakMap(), wt = /* @__PURE__ */ new WeakMap(), ut = /* @__PURE__ */ new WeakMap(), zt = /* @__PURE__ */ new WeakMap(), yt = /* @__PURE__ */ new WeakMap(), kt = /* @__PURE__ */ new WeakSet(), /**
1842
1842
  * Return a series ID: use the provided hint if it's non-empty and not already taken,
1843
1843
  * otherwise generate a new auto ID. Auto-generated IDs never collide with each other
1844
1844
  * or with user-provided IDs because they use a monotonically increasing counter.
1845
1845
  */
1846
- zt = function(r) {
1846
+ Pt = function(r) {
1847
1847
  if (r && !h(this, S).some((e) => e.id === r))
1848
1848
  return r;
1849
1849
  let t;
1850
1850
  do
1851
- t = `series_${++yo}`;
1851
+ t = `series_${++xo}`;
1852
1852
  while (h(this, S).some((e) => e.id === t));
1853
1853
  return t;
1854
- }, Vt = /* @__PURE__ */ new WeakMap(), it = /* @__PURE__ */ new WeakMap(), at = /* @__PURE__ */ new WeakMap(), St = /* @__PURE__ */ new WeakMap();
1855
- const wi = {
1854
+ }, Yt = /* @__PURE__ */ new WeakMap(), it = /* @__PURE__ */ new WeakMap(), at = /* @__PURE__ */ new WeakMap(), St = /* @__PURE__ */ new WeakMap();
1855
+ const ki = {
1856
1856
  background: "#ffffff",
1857
1857
  chartGradient: ["#ffffff", "#f5f6f8"],
1858
1858
  typography: {
@@ -1909,77 +1909,83 @@ const wi = {
1909
1909
  borderColor: "rgba(0, 0, 0, 0.1)"
1910
1910
  }
1911
1911
  };
1912
- function Co(r) {
1912
+ function wo(r) {
1913
1913
  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
1914
  }
1915
1915
  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 = {
1918
- background: J,
1919
- chartGradient: r.chartGradient ?? (X ? [At(J, 0.04), ve(J, 0.06)] : [At(J, 0.06), J]),
1916
+ var t, e, o, i, a, s, n, l, c, d, u, b, v, C, w, g, p, m, f, y, F, k, D, I, G, $, q, H, pt;
1917
+ const { background: N, name: It = "Custom", description: gt, fontUrl: mt = null, backgroundImage: Rt, backgroundSize: Pe } = r, et = wo(N), Fe = et ? "#d1d4dc" : "#24292f", Ie = et ? "#787b86" : "#8b949e", ae = et ? "#26a69a" : "#2da44e", se = et ? "#ef5350" : "#cf222e", Le = et ? "#2962ff" : "#0969da", We = et ? "rgba(42,46,57,0.6)" : "rgba(200,200,200,0.5)", Ae = et ? "rgba(150,150,150,0.5)" : "rgba(170,170,170,0.3)", re = et ? Vt(N, 0.1) : ye(N, 0.05), Ve = et ? _t(N, 0.92) : _t(N, 0.95), Ye = et ? _t(Vt(N, 0.15), 0.6) : "rgba(200,200,200,0.5)", Ue = $t, Xt = ((t = r.candlestick) == null ? void 0 : t.upColor) ?? ae, Lt = ((e = r.candlestick) == null ? void 0 : e.downColor) ?? se, Tt = ((o = r.line) == null ? void 0 : o.color) ?? Le, ne = ((i = r.tooltip) == null ? void 0 : i.textColor) ?? Fe, Ee = ((a = r.axis) == null ? void 0 : a.textColor) ?? Ie, Oe = ((s = r.typography) == null ? void 0 : s.fontFamily) ?? Ue;
1918
+ return {
1919
+ name: It,
1920
+ description: gt,
1921
+ dark: et,
1922
+ fontUrl: mt,
1923
+ backgroundImage: Rt,
1924
+ backgroundSize: Pe,
1925
+ background: N,
1926
+ chartGradient: r.chartGradient ?? (et ? [Vt(N, 0.04), ye(N, 0.06)] : [Vt(N, 0.06), N]),
1920
1927
  typography: {
1921
- fontFamily: Ue,
1928
+ fontFamily: Oe,
1922
1929
  fontSize: ((n = r.typography) == null ? void 0 : n.fontSize) ?? 12,
1923
1930
  axisFontSize: ((l = r.typography) == null ? void 0 : l.axisFontSize) ?? 10,
1924
1931
  yFontSize: ((c = r.typography) == null ? void 0 : c.yFontSize) ?? 11,
1925
1932
  tooltipFontSize: ((d = r.typography) == null ? void 0 : d.tooltipFontSize) ?? ((u = r.typography) == null ? void 0 : u.fontSize) ?? 12
1926
1933
  },
1927
1934
  grid: {
1928
- color: ((b = r.grid) == null ? void 0 : b.color) ?? Le,
1935
+ color: ((b = r.grid) == null ? void 0 : b.color) ?? We,
1929
1936
  style: ((v = r.grid) == null ? void 0 : v.style) ?? "dashed"
1930
1937
  },
1931
1938
  candlestick: {
1932
- upColor: $t,
1939
+ upColor: Xt,
1933
1940
  downColor: Lt,
1934
- wickUpColor: ((C = r.candlestick) == null ? void 0 : C.wickUpColor) ?? $t,
1941
+ wickUpColor: ((C = r.candlestick) == null ? void 0 : C.wickUpColor) ?? Xt,
1935
1942
  wickDownColor: ((w = r.candlestick) == null ? void 0 : w.wickDownColor) ?? Lt
1936
1943
  },
1937
1944
  line: {
1938
- color: Rt,
1945
+ color: Tt,
1939
1946
  width: ((g = r.line) == null ? void 0 : g.width) ?? 1,
1940
- areaTopColor: ((p = r.line) == null ? void 0 : p.areaTopColor) ?? Tt(Rt, 0.08),
1941
- areaBottomColor: ((m = r.line) == null ? void 0 : m.areaBottomColor) ?? Tt(Rt, 0.01)
1947
+ areaTopColor: ((p = r.line) == null ? void 0 : p.areaTopColor) ?? _t(Tt, 0.08),
1948
+ areaBottomColor: ((m = r.line) == null ? void 0 : m.areaBottomColor) ?? _t(Tt, 0.01)
1942
1949
  },
1943
- seriesColors: r.seriesColors ?? [Rt, ie, ae],
1950
+ seriesColors: r.seriesColors ?? [Tt, ae, se],
1944
1951
  bands: {
1945
- upper: ((f = r.bands) == null ? void 0 : f.upper) ?? Rt,
1952
+ upper: ((f = r.bands) == null ? void 0 : f.upper) ?? Tt,
1946
1953
  lower: ((y = r.bands) == null ? void 0 : y.lower) ?? Lt
1947
1954
  },
1948
1955
  crosshair: {
1949
- 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
1956
+ color: ((F = r.crosshair) == null ? void 0 : F.color) ?? Ae,
1957
+ labelBackground: ((k = r.crosshair) == null ? void 0 : k.labelBackground) ?? re,
1958
+ labelTextColor: ((D = r.crosshair) == null ? void 0 : D.labelTextColor) ?? ne
1952
1959
  },
1953
- axis: { textColor: Ye },
1960
+ axis: { textColor: Ee },
1954
1961
  yLabel: {
1955
- upBackground: ((L = r.yLabel) == null ? void 0 : L.upBackground) ?? $t,
1956
- downBackground: ((N = r.yLabel) == null ? void 0 : N.downBackground) ?? Lt,
1957
- neutralBackground: (($ = r.yLabel) == null ? void 0 : $.neutralBackground) ?? se,
1958
- textColor: ((Q = r.yLabel) == null ? void 0 : Q.textColor) ?? "#ffffff"
1962
+ upBackground: ((I = r.yLabel) == null ? void 0 : I.upBackground) ?? Xt,
1963
+ downBackground: ((G = r.yLabel) == null ? void 0 : G.downBackground) ?? Lt,
1964
+ neutralBackground: (($ = r.yLabel) == null ? void 0 : $.neutralBackground) ?? re,
1965
+ textColor: ((q = r.yLabel) == null ? void 0 : q.textColor) ?? "#ffffff"
1959
1966
  },
1960
1967
  tooltip: {
1961
- background: ((G = r.tooltip) == null ? void 0 : G.background) ?? We,
1962
- textColor: re,
1963
- borderColor: ((pt = r.tooltip) == null ? void 0 : pt.borderColor) ?? Ae
1968
+ background: ((H = r.tooltip) == null ? void 0 : H.background) ?? Ve,
1969
+ textColor: ne,
1970
+ borderColor: ((pt = r.tooltip) == null ? void 0 : pt.borderColor) ?? Ye
1964
1971
  }
1965
1972
  };
1966
- return { name: Ft, description: gt, fontUrl: mt, dark: X, theme: Ee };
1967
1973
  }
1968
- function Tt(r, t) {
1974
+ function _t(r, t) {
1969
1975
  const e = parseInt(r.slice(1, 3), 16), o = parseInt(r.slice(3, 5), 16), i = parseInt(r.slice(5, 7), 16);
1970
1976
  return `rgba(${e}, ${o}, ${i}, ${t})`;
1971
1977
  }
1972
- function At(r, t) {
1978
+ function Vt(r, t) {
1973
1979
  if (!r.startsWith("#")) return r;
1974
1980
  const e = Math.min(255, Math.round(parseInt(r.slice(1, 3), 16) + 255 * t)), o = Math.min(255, Math.round(parseInt(r.slice(3, 5), 16) + 255 * t)), i = Math.min(255, Math.round(parseInt(r.slice(5, 7), 16) + 255 * t));
1975
1981
  return `#${e.toString(16).padStart(2, "0")}${o.toString(16).padStart(2, "0")}${i.toString(16).padStart(2, "0")}`;
1976
1982
  }
1977
- function ve(r, t) {
1983
+ function ye(r, t) {
1978
1984
  if (!r.startsWith("#")) return r;
1979
1985
  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
1986
  return `#${e.toString(16).padStart(2, "0")}${o.toString(16).padStart(2, "0")}${i.toString(16).padStart(2, "0")}`;
1981
1987
  }
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({
1988
+ 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", Me = "'Roboto Mono', monospace", Re = "https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;600&display=swap", ko = "'IBM Plex Mono', monospace", So = "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", Te = "'Source Code Pro', monospace", _e = "https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500;600&display=swap", Mo = "'Space Mono', monospace", Ro = "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", To = "'Caveat', 'Comic Sans MS', cursive", _o = "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&display=swap", Do = Y({
1983
1989
  name: "Andromeda",
1984
1990
  description: "Deep space purples and cosmic blues",
1985
1991
  background: "#23262e",
@@ -2002,8 +2008,8 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2002
2008
  crosshair: { color: "rgba(102,94,110,0.4)", labelBackground: "#2e3038" },
2003
2009
  axis: { textColor: "#665e6e" },
2004
2010
  tooltip: { background: "rgba(35,38,46,0.92)", textColor: "#d5ced9", borderColor: "rgba(50,48,56,0.6)" },
2005
- typography: { fontFamily: Se },
2006
- fontUrl: Me
2011
+ typography: { fontFamily: Me },
2012
+ fontUrl: Re
2007
2013
  }), Bo = Y({
2008
2014
  name: "Ayu Mirage",
2009
2015
  description: "Warm dark with amber accents",
@@ -2027,9 +2033,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2027
2033
  crosshair: { color: "rgba(92,103,115,0.4)", labelBackground: "#2a3040" },
2028
2034
  axis: { textColor: "#5c6773" },
2029
2035
  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({
2036
+ typography: { fontFamily: $t },
2037
+ fontUrl: Qt
2038
+ }), zo = Y({
2033
2039
  name: "Catppuccin",
2034
2040
  description: "Pastel tones on a mocha base",
2035
2041
  background: "#1e1e2e",
@@ -2052,9 +2058,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2052
2058
  crosshair: { color: "rgba(108,112,134,0.4)", labelBackground: "#313244" },
2053
2059
  axis: { textColor: "#6c7086" },
2054
2060
  tooltip: { background: "rgba(30,30,46,0.92)", textColor: "#cdd6f4", borderColor: "rgba(49,50,68,0.6)" },
2055
- typography: { fontFamily: Ot },
2056
- fontUrl: qt
2057
- }), zo = Y({
2061
+ typography: { fontFamily: $t },
2062
+ fontUrl: Qt
2063
+ }), Po = Y({
2058
2064
  name: "Dracula",
2059
2065
  description: "Classic dark with vibrant highlights",
2060
2066
  background: "#282a36",
@@ -2077,9 +2083,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2077
2083
  crosshair: { color: "rgba(98,114,164,0.4)", labelBackground: "#44475a" },
2078
2084
  axis: { textColor: "#6272a4" },
2079
2085
  tooltip: { background: "rgba(40,42,54,0.92)", textColor: "#f8f8f2", borderColor: "rgba(68,71,90,0.6)" },
2080
- typography: { fontFamily: Qt },
2081
- fontUrl: Zt
2082
- }), Po = Y({
2086
+ typography: { fontFamily: Zt },
2087
+ fontUrl: te
2088
+ }), Fo = Y({
2083
2089
  name: "GitHub Light",
2084
2090
  description: "Clean and familiar, GitHub-inspired",
2085
2091
  background: "#fafbfc",
@@ -2103,9 +2109,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2103
2109
  crosshair: { color: "rgba(208,215,222,0.3)", labelBackground: "#f0f3f6" },
2104
2110
  axis: { textColor: "#8b949e" },
2105
2111
  tooltip: { background: "rgba(250,251,252,0.95)", textColor: "#24292f", borderColor: "rgba(216,222,228,0.5)" },
2106
- typography: { fontFamily: wo },
2107
- fontUrl: ko
2108
- }), Fo = Y({
2112
+ typography: { fontFamily: ko },
2113
+ fontUrl: So
2114
+ }), Io = Y({
2109
2115
  name: "Gruvbox",
2110
2116
  description: "Retro warm with earthy tones",
2111
2117
  background: "#282828",
@@ -2128,74 +2134,72 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2128
2134
  crosshair: { color: "rgba(146,131,116,0.4)", labelBackground: "#3c3836" },
2129
2135
  axis: { textColor: "#928374" },
2130
2136
  tooltip: { background: "rgba(40,40,40,0.92)", textColor: "#ebdbb2", borderColor: "rgba(60,56,54,0.6)" },
2131
- typography: { fontFamily: Ut },
2132
- fontUrl: Et
2137
+ typography: { fontFamily: Et },
2138
+ fontUrl: Ot
2133
2139
  }), Lo = {
2134
2140
  name: "Handwritten",
2135
2141
  description: "Sketch-style with a personal touch",
2136
- fontUrl: To,
2142
+ fontUrl: _o,
2137
2143
  dark: !1,
2138
- theme: {
2139
- background: "#fdf5e6",
2140
- chartGradient: ["#fef6e3", "#fdf5e6"],
2141
- typography: {
2142
- fontFamily: Ro,
2143
- fontSize: 18,
2144
- axisFontSize: 13,
2145
- yFontSize: 15,
2146
- tooltipFontSize: 14
2147
- },
2148
- grid: {
2149
- color: "rgba(180,170,150,0.3)",
2150
- style: "dashed"
2151
- },
2152
- candlestick: {
2153
- upColor: "#7a9a5e",
2154
- downColor: "#b07060",
2155
- wickUpColor: "#7a9a5e",
2156
- wickDownColor: "#b07060"
2157
- },
2158
- line: {
2159
- color: "#6a8fa0",
2160
- width: 1,
2161
- areaTopColor: "rgba(106,143,160,0.08)",
2162
- areaBottomColor: "rgba(106,143,160,0.01)"
2163
- },
2164
- seriesColors: [
2165
- "#6a8fa0",
2166
- "#c09050",
2167
- "#7a9a5e",
2168
- "#8a7098",
2169
- "#b07060",
2170
- "#a09030",
2171
- "#508878",
2172
- "#a06878",
2173
- "#6888a0",
2174
- "#8870a0"
2175
- ],
2176
- bands: {
2177
- upper: "#6888a0",
2178
- lower: "#a06878"
2179
- },
2180
- crosshair: {
2181
- color: "rgba(160,152,128,0.3)",
2182
- labelBackground: "#f5edd8",
2183
- labelTextColor: "#5c5040"
2184
- },
2185
- axis: { textColor: "#a09880" },
2186
- yLabel: {
2187
- upBackground: "#7a9a5e",
2188
- downBackground: "#b07060",
2189
- neutralBackground: "#e8dcc8",
2190
- textColor: "#fdf5e6"
2191
- },
2192
- tooltip: {
2193
- background: "rgba(253,245,230,0.95)",
2194
- textColor: "#5c5040",
2195
- borderColor: "rgba(180,170,150,0.4)"
2196
- }
2144
+ background: "#fdf5e6",
2145
+ chartGradient: ["#fef6e3", "#fdf5e6"],
2146
+ typography: {
2147
+ fontFamily: To,
2148
+ fontSize: 18,
2149
+ axisFontSize: 13,
2150
+ yFontSize: 15,
2151
+ tooltipFontSize: 14
2152
+ },
2153
+ grid: {
2154
+ color: "rgba(180,170,150,0.3)",
2155
+ style: "dashed"
2156
+ },
2157
+ candlestick: {
2158
+ upColor: "#7a9a5e",
2159
+ downColor: "#b07060",
2160
+ wickUpColor: "#7a9a5e",
2161
+ wickDownColor: "#b07060"
2162
+ },
2163
+ line: {
2164
+ color: "#6a8fa0",
2165
+ width: 1,
2166
+ areaTopColor: "rgba(106,143,160,0.08)",
2167
+ areaBottomColor: "rgba(106,143,160,0.01)"
2168
+ },
2169
+ seriesColors: [
2170
+ "#6a8fa0",
2171
+ "#c09050",
2172
+ "#7a9a5e",
2173
+ "#8a7098",
2174
+ "#b07060",
2175
+ "#a09030",
2176
+ "#508878",
2177
+ "#a06878",
2178
+ "#6888a0",
2179
+ "#8870a0"
2180
+ ],
2181
+ bands: {
2182
+ upper: "#6888a0",
2183
+ lower: "#a06878"
2184
+ },
2185
+ crosshair: {
2186
+ color: "rgba(160,152,128,0.3)",
2187
+ labelBackground: "#f5edd8",
2188
+ labelTextColor: "#5c5040"
2189
+ },
2190
+ axis: { textColor: "#a09880" },
2191
+ yLabel: {
2192
+ upBackground: "#7a9a5e",
2193
+ downBackground: "#b07060",
2194
+ neutralBackground: "#e8dcc8",
2195
+ textColor: "#fdf5e6"
2196
+ },
2197
+ tooltip: {
2198
+ background: "rgba(253,245,230,0.95)",
2199
+ textColor: "#5c5040",
2200
+ borderColor: "rgba(180,170,150,0.4)"
2197
2201
  }
2198
- }, Io = "'Silkscreen', cursive", Wo = "https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&display=swap", Ao = Y({
2202
+ }, Wo = "'Silkscreen', cursive", Ao = "https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&display=swap", Vo = Y({
2199
2203
  name: "Matrix",
2200
2204
  background: "#000000",
2201
2205
  candlestick: { upColor: "#00ff41", downColor: "#00802a" },
@@ -2217,10 +2221,10 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2217
2221
  axis: { textColor: "#00cc33" },
2218
2222
  crosshair: { color: "rgba(0,255,65,0.3)", labelBackground: "#0a1a0a" },
2219
2223
  tooltip: { background: "rgba(0,10,0,0.95)", textColor: "#00ff41", borderColor: "rgba(0,255,65,0.2)" },
2220
- typography: { fontFamily: Io },
2221
- fontUrl: Wo,
2224
+ typography: { fontFamily: Wo },
2225
+ fontUrl: Ao,
2222
2226
  chartGradient: ["#010a01", "#000000"]
2223
- }), Vo = Y({
2227
+ }), Yo = Y({
2224
2228
  name: "Lavender Mist",
2225
2229
  background: "#f5f0f4",
2226
2230
  candlestick: { upColor: "#6b8e5e", downColor: "#b85468" },
@@ -2242,10 +2246,10 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2242
2246
  axis: { textColor: "#9a88a0" },
2243
2247
  crosshair: { color: "rgba(150,130,155,0.2)", labelBackground: "#ebe4e8" },
2244
2248
  tooltip: { background: "rgba(245,240,244,0.95)", textColor: "#3a3050", borderColor: "rgba(150,130,155,0.25)" },
2245
- typography: { fontFamily: te },
2246
- fontUrl: ee,
2249
+ typography: { fontFamily: ee },
2250
+ fontUrl: oe,
2247
2251
  chartGradient: ["#f8f4f7", "#f5f0f4"]
2248
- }), Yo = Y({
2252
+ }), Uo = Y({
2249
2253
  name: "Love",
2250
2254
  description: "Soft romantic pinks and roses",
2251
2255
  background: "#fef7f8",
@@ -2269,9 +2273,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2269
2273
  crosshair: { color: "rgba(180,140,155,0.3)", labelBackground: "#f0dce2" },
2270
2274
  axis: { textColor: "#b08898" },
2271
2275
  tooltip: { background: "rgba(253,242,244,0.95)", textColor: "#4a3040", borderColor: "rgba(200,160,175,0.35)" },
2272
- typography: { fontFamily: Ot },
2273
- fontUrl: qt
2274
- }), Uo = Y({
2276
+ typography: { fontFamily: $t },
2277
+ fontUrl: Qt
2278
+ }), Eo = Y({
2275
2279
  name: "Material Palenight",
2276
2280
  description: "Material Design in moonlit hues",
2277
2281
  background: "#292d3e",
@@ -2294,9 +2298,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2294
2298
  crosshair: { color: "rgba(103,110,149,0.4)", labelBackground: "#34324a" },
2295
2299
  axis: { textColor: "#676e95" },
2296
2300
  tooltip: { background: "rgba(41,45,62,0.92)", textColor: "#a6accd", borderColor: "rgba(55,59,75,0.6)" },
2297
- typography: { fontFamily: Se },
2298
- fontUrl: Me
2299
- }), Eo = "'Silkscreen', cursive", Oo = "https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&display=swap", $o = Y({
2301
+ typography: { fontFamily: Me },
2302
+ fontUrl: Re
2303
+ }), Oo = "'Silkscreen', cursive", $o = "https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&display=swap", Xo = Y({
2300
2304
  name: "Monochrome",
2301
2305
  description: "Pure black and white, pixel font",
2302
2306
  background: "#ffffff",
@@ -2320,9 +2324,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2320
2324
  crosshair: { color: "rgba(0,0,0,0.08)", labelBackground: "#f0f0f0" },
2321
2325
  axis: { textColor: "#b0b0b0" },
2322
2326
  tooltip: { background: "rgba(255,255,255,0.97)", textColor: "#222222", borderColor: "rgba(0,0,0,0.08)" },
2323
- typography: { fontFamily: Eo, tooltipFontSize: 9 },
2324
- fontUrl: Oo
2325
- }), Xo = Y({
2327
+ typography: { fontFamily: Oo, tooltipFontSize: 9 },
2328
+ fontUrl: $o
2329
+ }), Ho = Y({
2326
2330
  name: "Mint Breeze",
2327
2331
  background: "#f6f5ee",
2328
2332
  candlestick: { upColor: "#2e9070", downColor: "#d04848" },
@@ -2344,10 +2348,10 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2344
2348
  axis: { textColor: "#80a098" },
2345
2349
  crosshair: { color: "rgba(120,140,120,0.18)", labelBackground: "#ece8de" },
2346
2350
  tooltip: { background: "rgba(246,245,238,0.95)", textColor: "#2a3530", borderColor: "rgba(130,140,115,0.2)" },
2347
- typography: { fontFamily: So },
2348
- fontUrl: Mo,
2351
+ typography: { fontFamily: Mo },
2352
+ fontUrl: Ro,
2349
2353
  chartGradient: ["#f8f7f0", "#f6f5ee"]
2350
- }), Ho = Y({
2354
+ }), Go = Y({
2351
2355
  name: "Monokai Pro",
2352
2356
  description: "Bold syntax colors on dark gray",
2353
2357
  background: "#2d2a2e",
@@ -2370,9 +2374,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2370
2374
  crosshair: { color: "rgba(114,112,114,0.4)", labelBackground: "#403e42" },
2371
2375
  axis: { textColor: "#727072" },
2372
2376
  tooltip: { background: "rgba(45,42,46,0.92)", textColor: "#fcfcfa", borderColor: "rgba(64,60,62,0.6)" },
2373
- typography: { fontFamily: Qt },
2374
- fontUrl: Zt
2375
- }), Go = Y({
2377
+ typography: { fontFamily: Zt },
2378
+ fontUrl: te
2379
+ }), No = Y({
2376
2380
  name: "Night Owl",
2377
2381
  description: "Crafted for late-night coding",
2378
2382
  background: "#011627",
@@ -2395,9 +2399,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2395
2399
  crosshair: { color: "rgba(99,119,119,0.4)", labelBackground: "#1d3b53" },
2396
2400
  axis: { textColor: "#495a5a" },
2397
2401
  tooltip: { background: "rgba(1,22,39,0.92)", textColor: "#d6deeb", borderColor: "rgba(31,52,72,0.6)" },
2398
- typography: { fontFamily: Ut },
2399
- fontUrl: Et
2400
- }), No = Y({
2402
+ typography: { fontFamily: Et },
2403
+ fontUrl: Ot
2404
+ }), Jo = Y({
2401
2405
  name: "One Dark Pro",
2402
2406
  description: "Atom editor's iconic dark palette",
2403
2407
  background: "#282c34",
@@ -2420,9 +2424,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2420
2424
  crosshair: { color: "rgba(99,110,123,0.4)", labelBackground: "#3e4451" },
2421
2425
  axis: { textColor: "#5c6370" },
2422
2426
  tooltip: { background: "rgba(40,44,52,0.92)", textColor: "#abb2bf", borderColor: "rgba(59,64,72,0.6)" },
2423
- typography: { fontFamily: Ut },
2424
- fontUrl: Et
2425
- }), Jo = Y({
2427
+ typography: { fontFamily: Et },
2428
+ fontUrl: Ot
2429
+ }), jo = Y({
2426
2430
  name: "Panda",
2427
2431
  description: "Playful neons on charcoal",
2428
2432
  background: "#292a2b",
@@ -2445,9 +2449,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2445
2449
  crosshair: { color: "rgba(117,117,117,0.4)", labelBackground: "#3a3a3c" },
2446
2450
  axis: { textColor: "#757575" },
2447
2451
  tooltip: { background: "rgba(41,42,43,0.92)", textColor: "#e6e6e6", borderColor: "rgba(58,58,60,0.6)" },
2448
- typography: { fontFamily: Qt },
2449
- fontUrl: Zt
2450
- }), jo = Y({
2452
+ typography: { fontFamily: Zt },
2453
+ fontUrl: te
2454
+ }), Ko = Y({
2451
2455
  name: "Peach Cream",
2452
2456
  background: "#fef6f0",
2453
2457
  candlestick: { upColor: "#5a9a68", downColor: "#d06848" },
@@ -2469,10 +2473,10 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2469
2473
  axis: { textColor: "#b09080" },
2470
2474
  crosshair: { color: "rgba(180,140,120,0.2)", labelBackground: "#f0e4d8" },
2471
2475
  tooltip: { background: "rgba(254,246,240,0.95)", textColor: "#4a3028", borderColor: "rgba(180,140,120,0.25)" },
2472
- typography: { fontFamily: te },
2473
- fontUrl: ee,
2476
+ typography: { fontFamily: ee },
2477
+ fontUrl: oe,
2474
2478
  chartGradient: ["#fff8f2", "#fef6f0"]
2475
- }), Ko = Y({
2479
+ }), qo = Y({
2476
2480
  name: "Quiet Light",
2477
2481
  description: "Subdued and easy on the eyes",
2478
2482
  background: "#f5f5f5",
@@ -2495,9 +2499,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2495
2499
  crosshair: { color: "rgba(170,170,170,0.3)", labelBackground: "#e8e8e8" },
2496
2500
  axis: { textColor: "#aaaaaa" },
2497
2501
  tooltip: { background: "rgba(245,245,245,0.95)", textColor: "#333333", borderColor: "rgba(200,200,200,0.5)" },
2498
- typography: { fontFamily: te },
2499
- fontUrl: ee
2500
- }), qo = Y({
2502
+ typography: { fontFamily: ee },
2503
+ fontUrl: oe
2504
+ }), Qo = Y({
2501
2505
  name: "Rosé Pine Dawn",
2502
2506
  description: "Dawn-inspired warm neutrals",
2503
2507
  background: "#faf4ed",
@@ -2520,9 +2524,9 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2520
2524
  crosshair: { color: "rgba(152,147,165,0.3)", labelBackground: "#f2e9e1" },
2521
2525
  axis: { textColor: "#9893a5" },
2522
2526
  tooltip: { background: "rgba(250,244,237,0.95)", textColor: "#575279", borderColor: "rgba(152,147,165,0.3)" },
2523
- typography: { fontFamily: Re },
2524
- fontUrl: Te
2525
- }), Qo = Y({
2527
+ typography: { fontFamily: Te },
2528
+ fontUrl: _e
2529
+ }), Zo = Y({
2526
2530
  name: "Sand Dune",
2527
2531
  background: "#f4f0e8",
2528
2532
  candlestick: { upColor: "#5a8a50", downColor: "#b85040" },
@@ -2544,10 +2548,10 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2544
2548
  axis: { textColor: "#9a8a70" },
2545
2549
  crosshair: { color: "rgba(150,130,100,0.2)", labelBackground: "#e8e0d0" },
2546
2550
  tooltip: { background: "rgba(244,240,232,0.95)", textColor: "#3a3020", borderColor: "rgba(150,130,100,0.3)" },
2547
- typography: { fontFamily: Re },
2548
- fontUrl: Te,
2551
+ typography: { fontFamily: Te },
2552
+ fontUrl: _e,
2549
2553
  chartGradient: ["#f8f4ec", "#f4f0e8"]
2550
- }), Zo = Y({
2554
+ }), ti = Y({
2551
2555
  name: "Solarized Light",
2552
2556
  description: "Ethan Schoonover's precision palette",
2553
2557
  background: "#fdf6e3",
@@ -2571,49 +2575,49 @@ const Ut = "'JetBrains Mono', 'Fira Code', monospace", Et = "https://fonts.googl
2571
2575
  crosshair: { color: "rgba(147,161,161,0.3)", labelBackground: "#eee8d5" },
2572
2576
  axis: { textColor: "#93a1a1" },
2573
2577
  tooltip: { background: "rgba(253,246,227,0.95)", textColor: "#586e75", borderColor: "rgba(238,232,213,0.6)" },
2574
- typography: { fontFamily: Ut },
2575
- fontUrl: Et
2576
- }), ye = {
2577
- Dracula: zo,
2578
- "One Dark Pro": No,
2579
- "Monokai Pro": Ho,
2580
- "Night Owl": Go,
2581
- "Material Palenight": Uo,
2582
- Gruvbox: Fo,
2583
- Catppuccin: Do,
2578
+ typography: { fontFamily: Et },
2579
+ fontUrl: Ot
2580
+ }), xe = {
2581
+ Dracula: Po,
2582
+ "One Dark Pro": Jo,
2583
+ "Monokai Pro": Go,
2584
+ "Night Owl": No,
2585
+ "Material Palenight": Eo,
2586
+ Gruvbox: Io,
2587
+ Catppuccin: zo,
2584
2588
  "Ayu Mirage": Bo,
2585
- Panda: Jo,
2586
- Andromeda: _o,
2587
- Matrix: Ao,
2589
+ Panda: jo,
2590
+ Andromeda: Do,
2591
+ Matrix: Vo,
2588
2592
  Handwritten: Lo,
2589
- "GitHub Light": Po,
2590
- "Solarized Light": Zo,
2591
- "Rosé Pine Dawn": qo,
2592
- "Quiet Light": Ko,
2593
- "Lavender Mist": Vo,
2594
- "Mint Breeze": Xo,
2595
- "Sand Dune": Qo,
2596
- "Peach Cream": jo,
2597
- Monochrome: $o,
2598
- Love: Yo
2593
+ "GitHub Light": Fo,
2594
+ "Solarized Light": ti,
2595
+ "Rosé Pine Dawn": Qo,
2596
+ "Quiet Light": qo,
2597
+ "Lavender Mist": Yo,
2598
+ "Mint Breeze": Ho,
2599
+ "Sand Dune": Zo,
2600
+ "Peach Cream": Ko,
2601
+ Monochrome: Xo,
2602
+ Love: Uo
2599
2603
  };
2600
- function ki(r) {
2601
- return (ye[r] ?? ye["One Dark Pro"]).theme;
2604
+ function Si(r) {
2605
+ return xe[r] ?? xe["One Dark Pro"];
2602
2606
  }
2603
- const _e = Symbol("wick-chart"), Be = Symbol("wick-theme");
2607
+ const De = Symbol("wick-chart"), Be = Symbol("wick-theme");
2604
2608
  function rt() {
2605
- const r = xe(_e);
2609
+ const r = Ce(De);
2606
2610
  if (!r || !r.value)
2607
2611
  throw new Error("useChartInstance must be used within <ChartContainer>");
2608
2612
  return r.value;
2609
2613
  }
2610
- function ti() {
2611
- const r = xe(Be);
2614
+ function ei() {
2615
+ const r = Ce(Be);
2612
2616
  if (!r)
2613
2617
  throw new Error("useTheme must be used within <ChartContainer>");
2614
2618
  return r;
2615
2619
  }
2616
- const Si = /* @__PURE__ */ Z({
2620
+ const Mi = /* @__PURE__ */ Q({
2617
2621
  __name: "BarSeries",
2618
2622
  props: {
2619
2623
  data: {},
@@ -2622,12 +2626,12 @@ const Si = /* @__PURE__ */ Z({
2622
2626
  },
2623
2627
  emits: ["seriesId"],
2624
2628
  setup(r, { emit: t }) {
2625
- const e = r, o = t, i = rt(), a = tt(null);
2626
- return q(() => {
2629
+ const e = r, o = t, i = rt(), a = Z(null);
2630
+ return K(() => {
2627
2631
  var n;
2628
2632
  const s = i.addBarSeries({ ...e.options, label: e.label ?? ((n = e.options) == null ? void 0 : n.label), layers: e.data.length });
2629
2633
  a.value = s, o("seriesId", s);
2630
- }), et(() => {
2634
+ }), tt(() => {
2631
2635
  a.value && i.removeSeries(a.value);
2632
2636
  }), st(
2633
2637
  () => e.data,
@@ -2643,9 +2647,9 @@ const Si = /* @__PURE__ */ Z({
2643
2647
  a.value && s && i.updateSeriesOptions(a.value, s);
2644
2648
  },
2645
2649
  { deep: !0 }
2646
- ), (s, n) => K("", !0);
2650
+ ), (s, n) => j("", !0);
2647
2651
  }
2648
- }), Mi = /* @__PURE__ */ Z({
2652
+ }), Ri = /* @__PURE__ */ Q({
2649
2653
  __name: "CandlestickSeries",
2650
2654
  props: {
2651
2655
  data: {},
@@ -2653,12 +2657,12 @@ const Si = /* @__PURE__ */ Z({
2653
2657
  },
2654
2658
  emits: ["seriesId"],
2655
2659
  setup(r, { emit: t }) {
2656
- const e = r, o = t, i = rt(), a = tt(null);
2660
+ const e = r, o = t, i = rt(), a = Z(null);
2657
2661
  let s = 0;
2658
- return q(() => {
2662
+ return K(() => {
2659
2663
  const n = i.addCandlestickSeries(e.options);
2660
2664
  a.value = n, o("seriesId", n);
2661
- }), et(() => {
2665
+ }), tt(() => {
2662
2666
  a.value && i.removeSeries(a.value);
2663
2667
  }), st(
2664
2668
  () => e.data,
@@ -2685,24 +2689,24 @@ const Si = /* @__PURE__ */ Z({
2685
2689
  a.value && n && i.updateSeriesOptions(a.value, n);
2686
2690
  },
2687
2691
  { deep: !0 }
2688
- ), (n, l) => K("", !0);
2692
+ ), (n, l) => j("", !0);
2689
2693
  }
2690
- }), ei = {
2694
+ }), oi = {
2691
2695
  key: 0,
2692
2696
  style: { position: "absolute", inset: "0", "pointer-events": "none", "z-index": "2" }
2693
- }, Ri = /* @__PURE__ */ Z({
2697
+ }, Ti = /* @__PURE__ */ Q({
2694
2698
  __name: "ChartContainer",
2695
2699
  props: {
2696
- theme: { default: () => ke },
2700
+ theme: { default: () => Se },
2697
2701
  axis: {}
2698
2702
  },
2699
2703
  setup(r) {
2700
- const t = r, e = tt(), o = ne(null), i = ne(t.theme);
2701
- le(_e, o), le(Be, i), q(() => {
2704
+ const t = r, e = Z(), o = le(null), i = le(t.theme);
2705
+ he(De, o), he(Be, i), K(() => {
2702
2706
  if (!e.value) return;
2703
2707
  const s = {};
2704
- t.axis && (s.axis = t.axis), t.theme && (s.theme = t.theme), o.value = new xo(e.value, s);
2705
- }), et(() => {
2708
+ t.axis && (s.axis = t.axis), t.theme && (s.theme = t.theme), o.value = new Co(e.value, s);
2709
+ }), tt(() => {
2706
2710
  var s;
2707
2711
  (s = o.value) == null || s.destroy(), o.value = null;
2708
2712
  }), st(
@@ -2726,49 +2730,49 @@ const Si = /* @__PURE__ */ Z({
2726
2730
  ref: e,
2727
2731
  style: z(a.value)
2728
2732
  }, [
2729
- o.value ? (R(), T("div", ei, [
2730
- Oe(s.$slots, "default")
2731
- ])) : K("", !0)
2733
+ o.value ? (R(), T("div", oi, [
2734
+ $e(s.$slots, "default")
2735
+ ])) : j("", !0)
2732
2736
  ], 4));
2733
2737
  }
2734
2738
  });
2735
- function De(r) {
2736
- const t = tt(r.getVisibleRange()), e = () => {
2739
+ function ze(r) {
2740
+ const t = Z(r.getVisibleRange()), e = () => {
2737
2741
  t.value = r.getVisibleRange();
2738
2742
  };
2739
- return q(() => r.on("viewportChange", e)), et(() => r.off("viewportChange", e)), t;
2743
+ return K(() => r.on("viewportChange", e)), tt(() => r.off("viewportChange", e)), t;
2740
2744
  }
2741
- function Ti(r) {
2742
- const t = tt(r.getYRange()), e = () => {
2745
+ function _i(r) {
2746
+ const t = Z(r.getYRange()), e = () => {
2743
2747
  t.value = r.getYRange();
2744
2748
  };
2745
- return q(() => r.on("viewportChange", e)), et(() => r.off("viewportChange", e)), t;
2749
+ return K(() => r.on("viewportChange", e)), tt(() => r.off("viewportChange", e)), t;
2746
2750
  }
2747
- function oi(r, t) {
2748
- const e = tt(r.getLastValue(t)), o = () => {
2751
+ function ii(r, t) {
2752
+ const e = Z(r.getLastValue(t)), o = () => {
2749
2753
  var a, s;
2750
2754
  const i = r.getLastValue(t);
2751
2755
  ((a = e.value) == null ? void 0 : a.value) === (i == null ? void 0 : i.value) && ((s = e.value) == null ? void 0 : s.isLive) === (i == null ? void 0 : i.isLive) || (e.value = i);
2752
2756
  };
2753
- return q(() => {
2757
+ return K(() => {
2754
2758
  r.on("dataUpdate", o), r.on("viewportChange", o);
2755
- }), et(() => {
2759
+ }), tt(() => {
2756
2760
  r.off("dataUpdate", o), r.off("viewportChange", o);
2757
2761
  }), e;
2758
2762
  }
2759
- function ii(r, t) {
2760
- const e = tt(r.getPreviousClose(t)), o = () => {
2763
+ function ai(r, t) {
2764
+ const e = Z(r.getPreviousClose(t)), o = () => {
2761
2765
  e.value = r.getPreviousClose(t);
2762
2766
  };
2763
- return q(() => r.on("dataUpdate", o)), et(() => r.off("dataUpdate", o)), e;
2767
+ return K(() => r.on("dataUpdate", o)), tt(() => r.off("dataUpdate", o)), e;
2764
2768
  }
2765
- function oe(r) {
2766
- const t = tt(r.getCrosshairPosition()), e = () => {
2769
+ function ie(r) {
2770
+ const t = Z(r.getCrosshairPosition()), e = () => {
2767
2771
  t.value = r.getCrosshairPosition();
2768
2772
  };
2769
- return q(() => r.on("crosshairMove", e)), et(() => r.off("crosshairMove", e)), t;
2773
+ return K(() => r.on("crosshairMove", e)), tt(() => r.off("crosshairMove", e)), t;
2770
2774
  }
2771
- const _i = /* @__PURE__ */ Z({
2775
+ const Di = /* @__PURE__ */ Q({
2772
2776
  __name: "LineSeries",
2773
2777
  props: {
2774
2778
  data: {},
@@ -2777,12 +2781,12 @@ const _i = /* @__PURE__ */ Z({
2777
2781
  },
2778
2782
  emits: ["seriesId"],
2779
2783
  setup(r, { emit: t }) {
2780
- const e = r, o = t, i = rt(), a = tt(null);
2781
- return q(() => {
2784
+ const e = r, o = t, i = rt(), a = Z(null);
2785
+ return K(() => {
2782
2786
  var n;
2783
2787
  const s = i.addLineSeries({ ...e.options, label: e.label ?? ((n = e.options) == null ? void 0 : n.label), layers: e.data.length });
2784
2788
  a.value = s, o("seriesId", s);
2785
- }), et(() => {
2789
+ }), tt(() => {
2786
2790
  a.value && i.removeSeries(a.value);
2787
2791
  }), st(
2788
2792
  () => e.data,
@@ -2798,9 +2802,9 @@ const _i = /* @__PURE__ */ Z({
2798
2802
  a.value && s && i.updateSeriesOptions(a.value, s);
2799
2803
  },
2800
2804
  { deep: !0 }
2801
- ), (s, n) => K("", !0);
2805
+ ), (s, n) => j("", !0);
2802
2806
  }
2803
- }), Bi = /* @__PURE__ */ Z({
2807
+ }), Bi = /* @__PURE__ */ Q({
2804
2808
  __name: "PieSeries",
2805
2809
  props: {
2806
2810
  data: {},
@@ -2808,11 +2812,11 @@ const _i = /* @__PURE__ */ Z({
2808
2812
  },
2809
2813
  emits: ["seriesId"],
2810
2814
  setup(r, { emit: t }) {
2811
- const e = r, o = t, i = rt(), a = tt(null);
2812
- return q(() => {
2815
+ const e = r, o = t, i = rt(), a = Z(null);
2816
+ return K(() => {
2813
2817
  const s = i.addPieSeries(e.options);
2814
2818
  a.value = s, o("seriesId", s);
2815
- }), et(() => {
2819
+ }), tt(() => {
2816
2820
  a.value && i.removeSeries(a.value);
2817
2821
  }), st(
2818
2822
  () => e.data,
@@ -2825,12 +2829,12 @@ const _i = /* @__PURE__ */ Z({
2825
2829
  a.value && s && i.updateSeriesOptions(a.value, s);
2826
2830
  },
2827
2831
  { deep: !0 }
2828
- ), (s, n) => K("", !0);
2832
+ ), (s, n) => j("", !0);
2829
2833
  }
2830
- }), Di = /* @__PURE__ */ Z({
2834
+ }), zi = /* @__PURE__ */ Q({
2831
2835
  __name: "Crosshair",
2832
2836
  setup(r) {
2833
- const t = rt(), e = oe(t), o = P(() => t.getTheme()), i = P(() => t.getDataInterval()), a = P(() => ({
2837
+ const t = rt(), e = ie(t), o = P(() => t.getTheme()), i = P(() => t.getDataInterval()), a = P(() => ({
2834
2838
  background: o.value.crosshair.labelBackground,
2835
2839
  color: o.value.crosshair.labelTextColor,
2836
2840
  fontSize: o.value.typography.axisFontSize + "px",
@@ -2849,7 +2853,7 @@ const _i = /* @__PURE__ */ Z({
2849
2853
  transform: "translateY(-50%)",
2850
2854
  ...a.value
2851
2855
  })
2852
- }, I(W(t).yScale.formatY(W(e).y)), 5),
2856
+ }, L(W(t).yScale.formatY(W(e).y)), 5),
2853
2857
  _("div", {
2854
2858
  style: z({
2855
2859
  position: "absolute",
@@ -2858,14 +2862,14 @@ const _i = /* @__PURE__ */ Z({
2858
2862
  transform: "translateX(-50%)",
2859
2863
  ...a.value
2860
2864
  })
2861
- }, I(W(Yt)(W(e).time, i.value)), 5)
2862
- ], 64)) : K("", !0);
2865
+ }, L(W(Ut)(W(e).time, i.value)), 5)
2866
+ ], 64)) : j("", !0);
2863
2867
  }
2864
- }), ai = { style: {
2868
+ }), si = { style: {
2865
2869
  display: "inline-flex",
2866
2870
  fontVariantNumeric: "tabular-nums",
2867
2871
  lineHeight: 1.2
2868
- } }, si = {
2872
+ } }, ri = {
2869
2873
  key: 0,
2870
2874
  style: {
2871
2875
  display: "inline-block",
@@ -2873,10 +2877,10 @@ const _i = /* @__PURE__ */ Z({
2873
2877
  overflow: "hidden",
2874
2878
  position: "relative"
2875
2879
  }
2876
- }, ri = {
2880
+ }, ni = {
2877
2881
  key: 1,
2878
2882
  style: { display: "inline-block" }
2879
- }, ni = /* @__PURE__ */ Z({
2883
+ }, li = /* @__PURE__ */ Q({
2880
2884
  __name: "NumberFlow",
2881
2885
  props: {
2882
2886
  value: {},
@@ -2885,8 +2889,8 @@ const _i = /* @__PURE__ */ Z({
2885
2889
  spinDuration: { default: 350 }
2886
2890
  },
2887
2891
  setup(r) {
2888
- const t = r, e = tt(!1);
2889
- q(() => {
2892
+ const t = r, e = Z(!1);
2893
+ K(() => {
2890
2894
  e.value = !0;
2891
2895
  });
2892
2896
  const o = P(() => new Intl.NumberFormat(t.locale, t.format)), i = P(() => {
@@ -2895,9 +2899,9 @@ const _i = /* @__PURE__ */ Z({
2895
2899
  l >= "0" && l <= "9" ? n.push({ type: "digit", value: l }) : n.push({ type: "symbol", value: l });
2896
2900
  return n;
2897
2901
  }), a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
2898
- return (s, n) => (R(), T("span", ai, [
2902
+ return (s, n) => (R(), T("span", si, [
2899
2903
  (R(!0), T(O, null, ct(i.value, (l, c) => (R(), T(O, { key: c }, [
2900
- l.type === "digit" ? (R(), T("span", si, [
2904
+ l.type === "digit" ? (R(), T("span", ri, [
2901
2905
  _("span", {
2902
2906
  style: z({
2903
2907
  display: "flex",
@@ -2914,28 +2918,28 @@ const _i = /* @__PURE__ */ Z({
2914
2918
  justifyContent: "center",
2915
2919
  height: "1.2em"
2916
2920
  }
2917
- }, I(d), 1)), 64))
2921
+ }, L(d), 1)), 64))
2918
2922
  ], 4)
2919
- ])) : (R(), T("span", ri, I(l.value), 1))
2923
+ ])) : (R(), T("span", ni, L(l.value), 1))
2920
2924
  ], 64))), 128))
2921
2925
  ]));
2922
2926
  }
2923
- }), li = { style: { flex: 1, opacity: 0.8 } }, hi = {
2927
+ }), hi = { style: { flex: 1, opacity: 0.8 } }, ci = {
2924
2928
  key: 0,
2925
2929
  style: { fontWeight: 600, fontVariantNumeric: "tabular-nums" }
2926
- }, zi = /* @__PURE__ */ Z({
2930
+ }, Pi = /* @__PURE__ */ Q({
2927
2931
  __name: "PieLegend",
2928
2932
  props: {
2929
2933
  seriesId: {},
2930
2934
  format: { default: "value" }
2931
2935
  },
2932
2936
  setup(r) {
2933
- const t = r, e = rt(), o = ti(), i = tt(0), a = () => {
2937
+ const t = r, e = rt(), o = ei(), i = Z(0), a = () => {
2934
2938
  i.value++;
2935
2939
  };
2936
- q(() => {
2940
+ K(() => {
2937
2941
  e.on("dataUpdate", a);
2938
- }), et(() => {
2942
+ }), tt(() => {
2939
2943
  e.off("dataUpdate", a);
2940
2944
  });
2941
2945
  const s = P(() => o.value), n = P(() => (i.value, e.getPieSlices(t.seriesId) ?? []));
@@ -2962,8 +2966,8 @@ const _i = /* @__PURE__ */ Z({
2962
2966
  _("span", {
2963
2967
  style: z({ width: "10px", height: "10px", borderRadius: "50%", background: u.color, flexShrink: 0 })
2964
2968
  }, null, 4),
2965
- _("span", li, I(u.label), 1),
2966
- r.format === "value" ? (R(), T("span", hi, I(l(u.value)), 1)) : K("", !0),
2969
+ _("span", hi, L(u.label), 1),
2970
+ r.format === "value" ? (R(), T("span", ci, L(l(u.value)), 1)) : j("", !0),
2967
2971
  _("span", {
2968
2972
  style: z({
2969
2973
  opacity: r.format === "percent" ? 1 : 0.5,
@@ -2973,17 +2977,17 @@ const _i = /* @__PURE__ */ Z({
2973
2977
  minWidth: "40px",
2974
2978
  textAlign: "right"
2975
2979
  })
2976
- }, I(u.percent.toFixed(1)) + "% ", 5)
2980
+ }, L(u.percent.toFixed(1)) + "% ", 5)
2977
2981
  ]))), 128))
2978
- ], 4)) : K("", !0);
2982
+ ], 4)) : j("", !0);
2979
2983
  }
2980
- }), ci = { style: { display: "flex", alignItems: "center", gap: "8px" } }, di = { style: { fontWeight: 600 } }, ui = { style: { display: "flex", justifyContent: "space-between", gap: "16px" } }, fi = { style: { opacity: 0.6 } }, pi = { style: { fontWeight: 600 } }, Pi = /* @__PURE__ */ Z({
2984
+ }), di = { style: { display: "flex", alignItems: "center", gap: "8px" } }, ui = { style: { fontWeight: 600 } }, fi = { style: { display: "flex", justifyContent: "space-between", gap: "16px" } }, pi = { style: { opacity: 0.6 } }, gi = { style: { fontWeight: 600 } }, Fi = /* @__PURE__ */ Q({
2981
2985
  __name: "PieTooltip",
2982
2986
  props: {
2983
2987
  seriesId: {}
2984
2988
  },
2985
2989
  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(() => {
2990
+ const t = r, e = rt(), o = ie(e), i = P(() => e.getTheme()), a = P(() => (o.value, e.getPieHoverInfo(t.seriesId))), s = P(() => {
2987
2991
  if (!o.value || !a.value) return null;
2988
2992
  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
2993
  return { left: b, top: v };
@@ -3011,7 +3015,7 @@ const _i = /* @__PURE__ */ Z({
3011
3015
  gap: "6px"
3012
3016
  })
3013
3017
  }, [
3014
- _("div", ci, [
3018
+ _("div", di, [
3015
3019
  _("span", {
3016
3020
  style: z({
3017
3021
  width: "10px",
@@ -3021,18 +3025,18 @@ const _i = /* @__PURE__ */ Z({
3021
3025
  flexShrink: 0
3022
3026
  })
3023
3027
  }, null, 4),
3024
- _("span", di, I(a.value.label), 1)
3028
+ _("span", ui, L(a.value.label), 1)
3025
3029
  ]),
3026
- _("div", ui, [
3027
- _("span", fi, I(a.value.value.toLocaleString()), 1),
3028
- _("span", pi, I(a.value.percent.toFixed(1)) + "%", 1)
3030
+ _("div", fi, [
3031
+ _("span", pi, L(a.value.value.toLocaleString()), 1),
3032
+ _("span", gi, L(a.value.percent.toFixed(1)) + "%", 1)
3029
3033
  ])
3030
- ], 4)) : K("", !0);
3034
+ ], 4)) : j("", !0);
3031
3035
  }
3032
- }), Fi = /* @__PURE__ */ Z({
3036
+ }), Ii = /* @__PURE__ */ Q({
3033
3037
  __name: "TimeAxis",
3034
3038
  setup(r) {
3035
- const t = rt(), e = De(t), o = /* @__PURE__ */ new Map(), i = P(() => t.getTheme()), a = P(() => {
3039
+ const t = rt(), e = ze(t), o = /* @__PURE__ */ new Map(), i = P(() => t.getTheme()), a = P(() => {
3036
3040
  e.value;
3037
3041
  const s = t.getDataInterval(), { ticks: n, tickInterval: l } = t.timeScale.niceTickValues(s), c = new Set(n), d = performance.now();
3038
3042
  for (const u of n)
@@ -3073,35 +3077,35 @@ const _i = /* @__PURE__ */ Z({
3073
3077
  transition: "opacity 0.3s ease",
3074
3078
  willChange: "opacity"
3075
3079
  })
3076
- }, I(W(Yt)(l, a.value.tickInterval)), 5))), 128))
3080
+ }, L(W(Ut)(l, a.value.tickInterval)), 5))), 128))
3077
3081
  ], 4));
3078
3082
  }
3079
- }), gi = {
3083
+ }), mi = {
3080
3084
  key: 0,
3081
3085
  style: { display: "inline-flex", alignItems: "center", gap: "4px" }
3082
- }, mi = {
3086
+ }, bi = {
3083
3087
  key: 1,
3084
3088
  style: { display: "inline-flex", alignItems: "center", gap: "3px" }
3085
- }, bi = {
3089
+ }, vi = {
3086
3090
  key: 0,
3087
3091
  style: { display: "grid", gridTemplateColumns: "auto 1fr", gap: "4px 12px" }
3088
- }, vi = { style: { opacity: 0.5 } }, yi = {
3092
+ }, yi = { style: { opacity: 0.5 } }, xi = {
3089
3093
  key: 1,
3090
3094
  style: { display: "flex", alignItems: "center", gap: "8px", padding: "2px 0" }
3091
- }, xi = { style: { opacity: 0.6, flex: "1" } }, Li = /* @__PURE__ */ Z({
3095
+ }, Ci = { style: { opacity: 0.6, flex: "1" } }, Li = /* @__PURE__ */ Q({
3092
3096
  __name: "Tooltip",
3093
3097
  props: {
3094
3098
  seriesId: {},
3095
3099
  sort: { default: "none" }
3096
3100
  },
3097
3101
  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(
3102
+ const t = r, e = rt(), o = ie(e), i = P(() => t.seriesId ? [t.seriesId] : e.getSeriesIds()), a = P(() => i.value[0] ?? ""), s = Z(
3099
3103
  a.value ? e.getLastValue(a.value) : null
3100
3104
  ), n = () => {
3101
3105
  const p = a.value;
3102
3106
  s.value = p ? e.getLastValue(p) : null;
3103
3107
  };
3104
- q(() => e.on("dataUpdate", n)), et(() => e.off("dataUpdate", n)), st(a, () => n());
3108
+ K(() => e.on("dataUpdate", n)), tt(() => e.off("dataUpdate", n)), st(a, () => n());
3105
3109
  const l = P(() => e.getTheme()), c = P(() => e.getDataInterval());
3106
3110
  function d(p, m) {
3107
3111
  return m === "none" || p.length <= 1 ? p : [...p].sort((f, y) => {
@@ -3141,8 +3145,8 @@ const _i = /* @__PURE__ */ Z({
3141
3145
  return d(p, t.sort);
3142
3146
  }), C = P(() => v.value.length === 0 ? 0 : v.value[0].data.time), w = P(() => {
3143
3147
  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;
3145
- return { left: $, top: Q };
3148
+ const p = e.getMediaSize(), m = b.value.some((H) => "open" in H.data), f = b.value.filter((H) => !("open" in H.data)).length, y = 160, F = m ? 140 : 40 + f * 22, k = 16, D = 16, I = p.width - e.yAxisWidth, G = p.height - e.xAxisHeight, $ = o.value.mediaX + k + y > I ? o.value.mediaX - k - y : o.value.mediaX + k, q = o.value.mediaY + D + F > G ? o.value.mediaY - D - F : o.value.mediaY + D;
3149
+ return { left: $, top: q };
3146
3150
  });
3147
3151
  function g(p) {
3148
3152
  return "open" in p;
@@ -3168,22 +3172,22 @@ const _i = /* @__PURE__ */ Z({
3168
3172
  }, [
3169
3173
  _("span", {
3170
3174
  style: z({ color: l.value.axis.textColor, marginRight: "2px" })
3171
- }, I(W(Yt)(C.value, c.value)), 5),
3175
+ }, L(W(Ut)(C.value, c.value)), 5),
3172
3176
  (R(!0), T(O, null, ct(v.value, (f) => (R(), T(O, {
3173
3177
  key: f.id
3174
3178
  }, [
3175
- g(f.data) ? (R(), T("span", gi, [
3179
+ g(f.data) ? (R(), T("span", mi, [
3176
3180
  (R(), T(O, null, ct(["O", "H", "L", "C"], (y) => (R(), T(O, { key: y }, [
3177
3181
  _("span", {
3178
3182
  style: z({ color: l.value.axis.textColor, opacity: 0.5, marginLeft: "5px" })
3179
- }, I(y), 5),
3183
+ }, L(y), 5),
3180
3184
  _("span", {
3181
3185
  style: z({
3182
3186
  color: f.data.close >= f.data.open ? l.value.candlestick.upColor : l.value.candlestick.downColor,
3183
3187
  fontWeight: 500,
3184
3188
  marginLeft: "2px"
3185
3189
  })
3186
- }, I({ O: f.data.open, H: f.data.high, L: f.data.low, C: f.data.close }[y].toFixed(2)), 5)
3190
+ }, L({ O: f.data.open, H: f.data.high, L: f.data.low, C: f.data.close }[y].toFixed(2)), 5)
3187
3191
  ], 64))), 64)),
3188
3192
  f.data.volume != null ? (R(), T(O, { key: 0 }, [
3189
3193
  _("span", {
@@ -3191,9 +3195,9 @@ const _i = /* @__PURE__ */ Z({
3191
3195
  }, "V", 4),
3192
3196
  _("span", {
3193
3197
  style: z({ color: l.value.axis.textColor, fontWeight: 500, marginLeft: "2px" })
3194
- }, I(u(f.data.volume)), 5)
3195
- ], 64)) : K("", !0)
3196
- ])) : (R(), T("span", mi, [
3198
+ }, L(u(f.data.volume)), 5)
3199
+ ], 64)) : j("", !0)
3200
+ ])) : (R(), T("span", bi, [
3197
3201
  _("span", {
3198
3202
  style: z({
3199
3203
  width: "6px",
@@ -3205,7 +3209,7 @@ const _i = /* @__PURE__ */ Z({
3205
3209
  }, null, 4),
3206
3210
  _("span", {
3207
3211
  style: z({ color: f.color, fontWeight: 500 })
3208
- }, I(f.data.value.toFixed(2)), 5)
3212
+ }, L(f.data.value.toFixed(2)), 5)
3209
3213
  ]))
3210
3214
  ], 64))), 128))
3211
3215
  ], 4),
@@ -3241,11 +3245,11 @@ const _i = /* @__PURE__ */ Z({
3241
3245
  borderBottom: "1px solid " + l.value.tooltip.borderColor,
3242
3246
  letterSpacing: "0.02em"
3243
3247
  })
3244
- }, I(W(oo)(C.value)) + " " + I(W(Yt)(C.value, c.value)), 5),
3248
+ }, L(W(io)(C.value)) + " " + L(W(Ut)(C.value, c.value)), 5),
3245
3249
  (R(!0), T(O, null, ct(v.value, (f) => (R(), T(O, {
3246
3250
  key: f.id
3247
3251
  }, [
3248
- g(f.data) ? (R(), T("div", bi, [
3252
+ g(f.data) ? (R(), T("div", vi, [
3249
3253
  (R(!0), T(O, null, ct([
3250
3254
  { label: "Open", val: f.data.open },
3251
3255
  { label: "High", val: f.data.high },
@@ -3254,22 +3258,22 @@ const _i = /* @__PURE__ */ Z({
3254
3258
  ], (y) => (R(), T(O, {
3255
3259
  key: y.label
3256
3260
  }, [
3257
- _("span", vi, I(y.label), 1),
3261
+ _("span", yi, L(y.label), 1),
3258
3262
  _("span", {
3259
3263
  style: z({
3260
3264
  fontWeight: 600,
3261
3265
  color: f.data.close >= f.data.open ? l.value.candlestick.upColor : l.value.candlestick.downColor,
3262
3266
  textAlign: "right"
3263
3267
  })
3264
- }, I(y.val.toFixed(2)), 5)
3268
+ }, L(y.val.toFixed(2)), 5)
3265
3269
  ], 64))), 128)),
3266
3270
  f.data.volume != null ? (R(), T(O, { key: 0 }, [
3267
3271
  m[0] || (m[0] = _("span", { style: { opacity: 0.5 } }, "Volume", -1)),
3268
3272
  _("span", {
3269
3273
  style: z({ fontWeight: 600, color: l.value.tooltip.textColor, textAlign: "right" })
3270
- }, I(u(f.data.volume)), 5)
3271
- ], 64)) : K("", !0)
3272
- ])) : (R(), T("div", yi, [
3274
+ }, L(u(f.data.volume)), 5)
3275
+ ], 64)) : j("", !0)
3276
+ ])) : (R(), T("div", xi, [
3273
3277
  _("span", {
3274
3278
  style: z({
3275
3279
  width: "8px",
@@ -3279,19 +3283,19 @@ const _i = /* @__PURE__ */ Z({
3279
3283
  flexShrink: 0
3280
3284
  })
3281
3285
  }, null, 4),
3282
- _("span", xi, I(f.label ?? "Value"), 1),
3286
+ _("span", Ci, L(f.label ?? "Value"), 1),
3283
3287
  _("span", {
3284
3288
  style: z({ fontWeight: 600, color: f.color })
3285
- }, I(f.data.value.toFixed(2)), 5)
3289
+ }, L(f.data.value.toFixed(2)), 5)
3286
3290
  ]))
3287
3291
  ], 64))), 128))
3288
- ], 4)) : K("", !0)
3289
- ], 64)) : K("", !0);
3292
+ ], 4)) : j("", !0)
3293
+ ], 64)) : j("", !0);
3290
3294
  }
3291
- }), Ii = /* @__PURE__ */ Z({
3295
+ }), Wi = /* @__PURE__ */ Q({
3292
3296
  __name: "YAxis",
3293
3297
  setup(r) {
3294
- const t = rt(), e = De(t), o = /* @__PURE__ */ new Map(), i = P(() => t.getTheme()), a = P(() => {
3298
+ const t = rt(), e = ze(t), o = /* @__PURE__ */ new Map(), i = P(() => t.getTheme()), a = P(() => {
3295
3299
  e.value;
3296
3300
  const s = t.yScale.niceTickValues(), n = new Set(s), l = performance.now();
3297
3301
  for (const c of s)
@@ -3328,18 +3332,18 @@ const _i = /* @__PURE__ */ Z({
3328
3332
  transition: "opacity 0.3s ease",
3329
3333
  willChange: "opacity"
3330
3334
  })
3331
- }, I(W(t).yScale.formatY(l)), 5))), 128))
3335
+ }, L(W(t).yScale.formatY(l)), 5))), 128))
3332
3336
  ], 4));
3333
3337
  }
3334
- }), Wi = /* @__PURE__ */ Z({
3338
+ }), Ai = /* @__PURE__ */ Q({
3335
3339
  __name: "YLabel",
3336
3340
  props: {
3337
3341
  seriesId: {},
3338
3342
  color: {}
3339
3343
  },
3340
3344
  setup(r) {
3341
- const t = r, e = rt(), o = oi(e, t.seriesId), i = ii(e, t.seriesId);
3342
- q(() => e.setYLabel(!0)), et(() => e.setYLabel(!1));
3345
+ const t = r, e = rt(), o = ii(e, t.seriesId), i = ai(e, t.seriesId);
3346
+ K(() => e.setYLabel(!0)), tt(() => e.setYLabel(!1));
3343
3347
  const a = P(() => e.getTheme()), s = P(() => {
3344
3348
  const d = o.value;
3345
3349
  return d === null ? 0 : e.yScale.valueToY(d.value);
@@ -3387,66 +3391,66 @@ const _i = /* @__PURE__ */ Z({
3387
3391
  transition: "background-color 0.3s ease"
3388
3392
  })
3389
3393
  }, [
3390
- $e(ni, {
3394
+ Xe(li, {
3391
3395
  value: W(o).value,
3392
3396
  format: c.value,
3393
3397
  "spin-duration": 350
3394
3398
  }, null, 8, ["value", "format"])
3395
3399
  ], 4)
3396
- ], 64)) : K("", !0);
3400
+ ], 64)) : j("", !0);
3397
3401
  }
3398
3402
  });
3399
3403
  export {
3400
- Si as BarSeries,
3401
- Mi as CandlestickSeries,
3402
- Ri as ChartContainer,
3403
- xo as ChartInstance,
3404
- Di as Crosshair,
3405
- _i as LineSeries,
3406
- ni as NumberFlow,
3407
- zi as PieLegend,
3404
+ Mi as BarSeries,
3405
+ Ri as CandlestickSeries,
3406
+ Ti as ChartContainer,
3407
+ Co as ChartInstance,
3408
+ zi as Crosshair,
3409
+ Di as LineSeries,
3410
+ li as NumberFlow,
3411
+ Pi as PieLegend,
3408
3412
  Bi as PieSeries,
3409
- Pi as PieTooltip,
3410
- Fi as TimeAxis,
3413
+ Fi as PieTooltip,
3414
+ Ii as TimeAxis,
3411
3415
  Li as Tooltip,
3412
- Ii as YAxis,
3413
- Wi as YLabel,
3414
- _o as andromeda,
3416
+ Wi as YAxis,
3417
+ Ai as YLabel,
3418
+ Do as andromeda,
3415
3419
  Bo as ayuMirage,
3416
- ki as buildTheme,
3417
- Do as catppuccin,
3420
+ Si as buildTheme,
3421
+ zo as catppuccin,
3418
3422
  Y as createTheme,
3419
- ke as darkTheme,
3420
- eo as detectInterval,
3421
- zo as dracula,
3422
- oo as formatDate,
3423
- Yt as formatTime,
3424
- Po as githubLight,
3425
- Fo as gruvbox,
3423
+ Se as darkTheme,
3424
+ oo as detectInterval,
3425
+ Po as dracula,
3426
+ io as formatDate,
3427
+ Ut as formatTime,
3428
+ Fo as githubLight,
3429
+ Io as gruvbox,
3426
3430
  Lo as handwritten,
3427
- Ao as highContrast,
3428
- Vo as lavenderMist,
3429
- Yo as lightPink,
3430
- wi as lightTheme,
3431
- Uo as materialPalenight,
3432
- $o as minimalLight,
3433
- Xo as mintBreeze,
3434
- Ho as monokaiPro,
3435
- Go as nightOwl,
3436
- fe as normalizeTime,
3437
- No as oneDarkPro,
3438
- Jo as panda,
3439
- jo as peachCream,
3440
- Ko as quietLight,
3441
- qo as rosePineDawn,
3442
- Qo as sandDune,
3443
- Zo as solarizedLight,
3444
- ye as themes,
3431
+ Vo as highContrast,
3432
+ Yo as lavenderMist,
3433
+ Uo as lightPink,
3434
+ ki as lightTheme,
3435
+ Eo as materialPalenight,
3436
+ Xo as minimalLight,
3437
+ Ho as mintBreeze,
3438
+ Go as monokaiPro,
3439
+ No as nightOwl,
3440
+ pe as normalizeTime,
3441
+ Jo as oneDarkPro,
3442
+ jo as panda,
3443
+ Ko as peachCream,
3444
+ qo as quietLight,
3445
+ Qo as rosePineDawn,
3446
+ Zo as sandDune,
3447
+ ti as solarizedLight,
3448
+ xe as themes,
3445
3449
  rt as useChartInstance,
3446
- oe as useCrosshairPosition,
3447
- oi as useLastYValue,
3448
- ii as usePreviousClose,
3449
- ti as useTheme,
3450
- De as useVisibleRange,
3451
- Ti as useYRange
3450
+ ie as useCrosshairPosition,
3451
+ ii as useLastYValue,
3452
+ ai as usePreviousClose,
3453
+ ei as useTheme,
3454
+ ze as useVisibleRange,
3455
+ _i as useYRange
3452
3456
  };