waveform-analysis 0.1.59 → 0.1.61

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,15 +1,15 @@
1
- import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, openBlock as v, reactive as y, ref as b, renderList as x, shallowReactive as S, shallowRef as C, toDisplayString as w, toRefs as T, unref as E, vModelText as D, watch as O, watchEffect as k, withCtx as A, withDirectives as j, withModifiers as M } from "vue";
2
- import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as G, symbolCircle as ee, symbolDiamond as te, symbolSquare as ne, symbolTriangle as re, zoom as K, zoomIdentity as q, zoomTransform as J } from "d3";
3
- import { InputNumber as ie, Modal as ae, Pagination as oe } from "ant-design-vue";
1
+ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, onUpdated as v, openBlock as y, reactive as b, ref as x, renderList as S, shallowReactive as C, shallowRef as w, toDisplayString as T, toRefs as E, unref as D, vModelText as O, watch as k, watchEffect as A, withCtx as j, withDirectives as M, withModifiers as N } from "vue";
2
+ import { axisBottom as P, axisLeft as F, axisRight as I, bisector as L, curveStep as R, curveStepAfter as z, curveStepBefore as B, extent as V, line as H, pointer as U, scaleLinear as W, select as G, symbol as ee, symbolCircle as te, symbolDiamond as ne, symbolSquare as re, symbolTriangle as K, zoom as q, zoomIdentity as J, zoomTransform as ie } from "d3";
3
+ import { InputNumber as ae, Modal as oe, Pagination as se } from "ant-design-vue";
4
4
  //#region src/utils/waveformId.ts
5
- var se = 0;
6
- function ce(e = "waveform") {
5
+ var ce = 0;
6
+ function le(e = "waveform") {
7
7
  let t = u();
8
- return `${e}-${t ? `v${t.uid}` : `f${++se}`}`;
8
+ return `${e}-${t ? `v${t.uid}` : `f${++ce}`}`;
9
9
  }
10
10
  //#endregion
11
11
  //#region src/core/compactSamplePointSource.ts
12
- function le(e, t, n, r) {
12
+ function ue(e, t, n, r) {
13
13
  let i = 0, a = e;
14
14
  for (; i < a;) {
15
15
  let e = i + Math.floor((a - i) / 2);
@@ -17,7 +17,7 @@ function le(e, t, n, r) {
17
17
  }
18
18
  return i;
19
19
  }
20
- function ue(e, t, n, r) {
20
+ function de(e, t, n, r) {
21
21
  let i = (e) => n + (r?.[e] ?? e) / t, a = (t) => t < 0 || t >= e.length ? void 0 : {
22
22
  x: i(t),
23
23
  y: e[t]
@@ -33,15 +33,15 @@ function ue(e, t, n, r) {
33
33
  visibleRange(t) {
34
34
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
35
35
  return {
36
- start: le(e.length, i, n, !1),
37
- end: le(e.length, i, r, !0)
36
+ start: ue(e.length, i, n, !1),
37
+ end: ue(e.length, i, r, !0)
38
38
  };
39
39
  },
40
40
  nearestPoint(t) {
41
41
  if (!Number.isFinite(t) || !e.length) return;
42
42
  if (t <= i(0)) return a(0);
43
43
  if (t >= i(e.length - 1)) return a(e.length - 1);
44
- let n = le(e.length, i, t, !1), r = Math.max(0, n - 1);
44
+ let n = ue(e.length, i, t, !1), r = Math.max(0, n - 1);
45
45
  return Math.abs(t - i(r)) < Math.abs(i(n) - t) ? a(r) : a(n);
46
46
  },
47
47
  metrics() {
@@ -71,14 +71,14 @@ function ue(e, t, n, r) {
71
71
  function Y(e) {
72
72
  return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
73
73
  }
74
- function de(e, t, n) {
74
+ function fe(e, t, n) {
75
75
  let r = Math.max(0, Math.min(n, Math.floor(e)));
76
76
  return {
77
77
  start: r,
78
78
  end: Math.max(r, Math.min(n, Math.floor(t)))
79
79
  };
80
80
  }
81
- function fe(e, t, n) {
81
+ function X(e, t, n) {
82
82
  let r = 0, i = e;
83
83
  for (; r < i;) {
84
84
  let e = r + Math.floor((i - r) / 2);
@@ -123,13 +123,13 @@ var he = class {
123
123
  return this.sourcePoints[e];
124
124
  }
125
125
  pointsInRange(e = 0, t = this.length) {
126
- let n = de(e, t, this.length);
126
+ let n = fe(e, t, this.length);
127
127
  return this.sourcePoints.slice(n.start, n.end);
128
128
  }
129
129
  visibleRange(e) {
130
130
  let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
131
131
  return {
132
- start: fe(this.length, (e) => this.sourcePoints[e].x, t),
132
+ start: X(this.length, (e) => this.sourcePoints[e].x, t),
133
133
  end: pe(this.length, (e) => this.sourcePoints[e].x, n)
134
134
  };
135
135
  }
@@ -138,7 +138,7 @@ var he = class {
138
138
  let t = this.sourcePoints[0], n = this.sourcePoints[this.length - 1];
139
139
  if (e <= t.x) return t;
140
140
  if (e >= n.x) return n;
141
- let r = fe(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
141
+ let r = X(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
142
142
  return Math.abs(e - a.x) < Math.abs(i.x - e) ? a : i;
143
143
  }
144
144
  metrics(e = !1) {
@@ -175,14 +175,14 @@ var he = class {
175
175
  };
176
176
  }
177
177
  pointsInRange(e = 0, t = this.length) {
178
- let n = de(e, t, this.length), r = [];
178
+ let n = fe(e, t, this.length), r = [];
179
179
  for (let e = n.start; e < n.end; e += 1) r.push(this.pointAt(e));
180
180
  return r;
181
181
  }
182
182
  visibleRange(e) {
183
183
  let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
184
184
  return {
185
- start: fe(this.length, (e) => this.x[e], t),
185
+ start: X(this.length, (e) => this.x[e], t),
186
186
  end: pe(this.length, (e) => this.x[e], n)
187
187
  };
188
188
  }
@@ -190,7 +190,7 @@ var he = class {
190
190
  if (!Number.isFinite(e) || !this.length) return;
191
191
  if (e <= this.x[0]) return this.pointAt(0);
192
192
  if (e >= this.x[this.length - 1]) return this.pointAt(this.length - 1);
193
- let t = fe(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
193
+ let t = X(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
194
194
  return Math.abs(e - this.x[r]) < Math.abs(this.x[n] - e) ? this.pointAt(r) : this.pointAt(n);
195
195
  }
196
196
  metrics(e = !1) {
@@ -230,7 +230,7 @@ function ve(e) {
230
230
  return e.x instanceof Float64Array && t.every((t) => t === void 0 || _e(t) && t.length === e.x.length);
231
231
  }
232
232
  function ye(e) {
233
- if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return ue(/* @__PURE__ */ new Float64Array(), 1, 0);
233
+ if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return de(/* @__PURE__ */ new Float64Array(), 1, 0);
234
234
  let t = e.startTime ?? 0, n = 0;
235
235
  for (let t = 0; t < e.values.length; t += 1) n += +!!Number.isFinite(e.values[t]);
236
236
  let r = e.values instanceof Float32Array ? new Float32Array(n) : new Float64Array(n), i = n === e.values.length ? void 0 : new Uint32Array(n);
@@ -238,7 +238,7 @@ function ye(e) {
238
238
  let a = e.values[t];
239
239
  Number.isFinite(a) && (r[n] = a, i && (i[n] = t), n += 1);
240
240
  }
241
- return ue(r, e.sampleRate, t, i);
241
+ return de(r, e.sampleRate, t, i);
242
242
  }
243
243
  function be(e) {
244
244
  if (!ve(e)) return new ge(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
@@ -256,7 +256,7 @@ function be(e) {
256
256
  function xe(e, t) {
257
257
  return e.kind === "typed-samples" ? ye(e) : e.kind === "typed-points" ? be(e) : new he(t(e));
258
258
  }
259
- function X(e) {
259
+ function Z(e) {
260
260
  return new he(e);
261
261
  }
262
262
  function Se(e) {
@@ -438,10 +438,10 @@ var Ne = {
438
438
  backgroundColor: "rgba(255, 255, 255, 0.92)"
439
439
  }, Pe = "12px Arial, sans-serif";
440
440
  function Fe(e) {
441
- return Ce(e) ? e : X(e);
441
+ return Ce(e) ? e : Z(e);
442
442
  }
443
443
  function Ie(e, t, n) {
444
- let r = null, i = e.series.source ?? X(e.series.points);
444
+ let r = null, i = e.series.source ?? Z(e.series.points);
445
445
  for (let a = 0; a < i.length; a += 1) {
446
446
  let o = i.pointAt(a);
447
447
  if (!Number.isFinite(o.x) || !Number.isFinite(o.y)) continue;
@@ -510,9 +510,9 @@ function ze(e, t, n, r) {
510
510
  ...t
511
511
  }] : [];
512
512
  }
513
- let i = Re(e.series.source ?? X(e.series.points), t, e.series.lineType);
513
+ let i = Re(e.series.source ?? Z(e.series.points), t, e.series.lineType);
514
514
  if (!i) return [];
515
- let a = Le(e.series.source ?? X(e.series.points), t);
515
+ let a = Le(e.series.source ?? Z(e.series.points), t);
516
516
  if (!a) return [];
517
517
  let o = e.xScale(i.x), s = e.top + e.yScale(i.y), c = e.xScale(a.x), l = e.top + e.yScale(a.y);
518
518
  return [{
@@ -598,7 +598,7 @@ var Ke = [
598
598
  "drag-end"
599
599
  ],
600
600
  setup(n, { emit: o }) {
601
- let s = n, c = o, l = b(/* @__PURE__ */ new Map()), u = b(null), d = null, f = null, h = 0, g = t(() => {
601
+ let s = n, c = o, l = x(/* @__PURE__ */ new Map()), u = x(null), d = null, f = null, h = 0, g = t(() => {
602
602
  let e = /* @__PURE__ */ new Map();
603
603
  return s.annotations.forEach((t) => {
604
604
  let n = l.value.get(t.annotation.id);
@@ -614,14 +614,14 @@ var Ke = [
614
614
  function _(e) {
615
615
  return g.value.get(e.annotation.id) ?? e.box;
616
616
  }
617
- function y() {
617
+ function v() {
618
618
  f = null, d && (l.value = new Map(l.value).set(d.annotationId, {
619
619
  x: d.deltaX,
620
620
  y: d.deltaY
621
621
  }));
622
622
  }
623
- function S() {
624
- f === null && (f = requestAnimationFrame(y));
623
+ function b() {
624
+ f === null && (f = requestAnimationFrame(v));
625
625
  }
626
626
  function C(e, t) {
627
627
  if (!s.interactive || t.button !== 0 || d) return;
@@ -643,12 +643,12 @@ var Ke = [
643
643
  target: n
644
644
  };
645
645
  }
646
- function T(e) {
646
+ function w(e) {
647
647
  if (!s.interactive || (e.stopPropagation(), !d || e.pointerId !== d.pointerId)) return;
648
648
  let t = e.clientX - d.startX, n = e.clientY - d.startY;
649
- d.deltaX = t, d.deltaY = n, d.moved = d.moved || Math.hypot(t, n) >= 2, d.moved && S();
649
+ d.deltaX = t, d.deltaY = n, d.moved = d.moved || Math.hypot(t, n) >= 2, d.moved && b();
650
650
  }
651
- function D(e) {
651
+ function E(e) {
652
652
  if (!s.interactive || (e.preventDefault(), e.stopPropagation(), !d || e.pointerId !== d.pointerId)) return;
653
653
  let t = d, n = e.clientX - t.startX, r = e.clientY - t.startY;
654
654
  if (t.deltaX = n, t.deltaY = r, t.moved = Math.hypot(n, r) >= 2, t.moved = t.moved || Math.hypot(n, r) >= 2, f !== null && (cancelAnimationFrame(f), f = null), t.moved) {
@@ -665,7 +665,7 @@ var Ke = [
665
665
  } else d = null;
666
666
  t.target.hasPointerCapture(t.pointerId) && t.target.releasePointerCapture(t.pointerId), c("drag-end", !1);
667
667
  }
668
- O(() => s.annotations, (e) => {
668
+ k(() => s.annotations, (e) => {
669
669
  let t = u.value;
670
670
  if (!t) return;
671
671
  let n = e.find((e) => e.annotation.id === t.annotationId);
@@ -676,7 +676,7 @@ var Ke = [
676
676
  y: 0
677
677
  }), u.value = null);
678
678
  });
679
- function k(e) {
679
+ function O(e) {
680
680
  e.preventDefault(), e.stopPropagation(), !(!d || e.pointerId !== d.pointerId) && A();
681
681
  }
682
682
  function A() {
@@ -687,7 +687,7 @@ var Ke = [
687
687
  y: 0
688
688
  }), f !== null && (cancelAnimationFrame(f), f = null), e.target.hasPointerCapture(e.pointerId) && e.target.releasePointerCapture(e.pointerId), c("drag-end", !0);
689
689
  }
690
- O(() => s.interactive, (e) => {
690
+ k(() => s.interactive, (e) => {
691
691
  e || A();
692
692
  });
693
693
  function j(e, t) {
@@ -696,18 +696,18 @@ var Ke = [
696
696
  function M(e) {
697
697
  return `waveform-annotation-arrow-${e.replace(/[^a-zA-Z0-9_-]/g, "-")}`;
698
698
  }
699
- return (t, n) => s.visible ? (v(), i("g", {
699
+ return (t, n) => s.visible ? (y(), i("g", {
700
700
  key: 0,
701
701
  class: p(["waveform-annotation-layer", { "waveform-annotation-layer--interactive": s.interactive }])
702
- }, [(v(!0), i(e, null, x(s.annotations, (t) => (v(), i("g", {
702
+ }, [(y(!0), i(e, null, S(s.annotations, (t) => (y(), i("g", {
703
703
  key: t.annotation.id,
704
704
  class: "waveform-annotation",
705
705
  "data-annotation-id": t.annotation.id,
706
706
  "data-placement": t.placement,
707
707
  onPointerdown: (e) => C(t, e),
708
- onPointermove: T,
709
- onPointerup: D,
710
- onPointercancel: k,
708
+ onPointermove: w,
709
+ onPointerup: E,
710
+ onPointercancel: O,
711
711
  onContextmenu: (e) => j(t.annotation.id, e)
712
712
  }, [
713
713
  a("defs", null, [a("marker", {
@@ -743,16 +743,16 @@ var Ke = [
743
743
  a("text", {
744
744
  class: "waveform-annotation__text",
745
745
  x: _(t).x + _(t).width / 2,
746
- y: _(t).y + _(t).height / 2 - (t.lines.length - 1) * E(16) / 2,
746
+ y: _(t).y + _(t).height / 2 - (t.lines.length - 1) * D(16) / 2,
747
747
  fill: t.style.textColor,
748
- style: m({ font: E(Pe) }),
748
+ style: m({ font: D(Pe) }),
749
749
  "text-anchor": "middle",
750
750
  "dominant-baseline": "central"
751
- }, [(v(!0), i(e, null, x(t.lines, (e, n) => (v(), i("tspan", {
751
+ }, [(y(!0), i(e, null, S(t.lines, (e, n) => (y(), i("tspan", {
752
752
  key: `${t.annotation.id}-${n}`,
753
753
  x: _(t).x + _(t).width / 2,
754
- dy: n === 0 ? 0 : E(16)
755
- }, w(e), 9, Qe))), 128))], 12, Ze)
754
+ dy: n === 0 ? 0 : D(16)
755
+ }, T(e), 9, Qe))), 128))], 12, Ze)
756
756
  ], 40, Ke))), 128))], 2)) : r("", !0);
757
757
  }
758
758
  }), et = (e, t) => {
@@ -774,7 +774,7 @@ var Ke = [
774
774
  ],
775
775
  setup(e, { emit: t }) {
776
776
  let n = e, o = t;
777
- return (e, t) => n.visible && n.canEdit ? (v(), i("div", {
777
+ return (e, t) => n.visible && n.canEdit ? (y(), i("div", {
778
778
  key: 0,
779
779
  class: "waveform-annotation-context-menu",
780
780
  style: m({
@@ -782,7 +782,7 @@ var Ke = [
782
782
  top: `${n.y}px`
783
783
  }),
784
784
  role: "menu",
785
- onContextmenu: t[3] ||= M(() => {}, ["prevent"])
785
+ onContextmenu: t[3] ||= N(() => {}, ["prevent"])
786
786
  }, [
787
787
  a("button", {
788
788
  type: "button",
@@ -802,7 +802,7 @@ var Ke = [
802
802
  ], 36)) : r("", !0);
803
803
  }
804
804
  }), [["__scopeId", "data-v-c70c98a1"]]), rt = 1;
805
- function Z(e) {
805
+ function Q(e) {
806
806
  throw TypeError(`Invalid waveform annotation file: ${e}`);
807
807
  }
808
808
  function it(e) {
@@ -810,23 +810,23 @@ function it(e) {
810
810
  }
811
811
  function at(e, t, n) {
812
812
  let r = e[t];
813
- return (typeof r != "string" || r.trim().length === 0) && Z(`${n}.${t} must be a non-empty string`), r;
813
+ return (typeof r != "string" || r.trim().length === 0) && Q(`${n}.${t} must be a non-empty string`), r;
814
814
  }
815
815
  function ot(e, t, n) {
816
816
  let r = e[t];
817
- if (r !== void 0) return typeof r != "string" && Z(`${n}.${t} must be a string`), r;
817
+ if (r !== void 0) return typeof r != "string" && Q(`${n}.${t} must be a string`), r;
818
818
  }
819
819
  function st(e, t, n) {
820
820
  let r = e[t];
821
- return (typeof r != "number" || !Number.isFinite(r)) && Z(`${n}.${t} must be a finite number`), r;
821
+ return (typeof r != "number" || !Number.isFinite(r)) && Q(`${n}.${t} must be a finite number`), r;
822
822
  }
823
823
  function ct(e, t, n) {
824
824
  let r = e[t];
825
- if (r !== void 0) return (typeof r != "number" || !Number.isFinite(r)) && Z(`${n}.${t} must be a finite number`), r;
825
+ if (r !== void 0) return (typeof r != "number" || !Number.isFinite(r)) && Q(`${n}.${t} must be a finite number`), r;
826
826
  }
827
827
  function lt(e, t) {
828
828
  if (e === void 0) return;
829
- it(e) || Z(`${t} must be an object`);
829
+ it(e) || Q(`${t} must be an object`);
830
830
  let n = ot(e, "borderColor", t), r = ot(e, "textColor", t), i = ot(e, "backgroundColor", t);
831
831
  return {
832
832
  ...n !== void 0 && { borderColor: n },
@@ -836,9 +836,9 @@ function lt(e, t) {
836
836
  }
837
837
  function ut(e, t) {
838
838
  let n = `annotations[${t}]`;
839
- it(e) || Z(`${n} must be an object`);
839
+ it(e) || Q(`${n} must be an object`);
840
840
  let r = at(e, "text", n);
841
- r.length > 40 && Z(`${n}.text must not exceed 40 characters`);
841
+ r.length > 40 && Q(`${n}.text must not exceed 40 characters`);
842
842
  let i = ct(e, "labelOffsetX", n), a = ct(e, "labelOffsetY", n), o = ot(e, "createdAt", n), s = lt(e.style, `${n}.style`);
843
843
  return {
844
844
  id: at(e, "id", n),
@@ -855,7 +855,7 @@ function ut(e, t) {
855
855
  function dt(e) {
856
856
  let t = e.map(ut), n = /* @__PURE__ */ new Set();
857
857
  return t.forEach((e, t) => {
858
- n.has(e.id) && Z(`annotations[${t}].id must be unique`), n.add(e.id);
858
+ n.has(e.id) && Q(`annotations[${t}].id must be unique`), n.add(e.id);
859
859
  }), t;
860
860
  }
861
861
  function ft(e) {
@@ -865,19 +865,19 @@ function ft(e) {
865
865
  }, null, 2);
866
866
  }
867
867
  function pt(e) {
868
- typeof e != "string" && Z("input must be a JSON string");
868
+ typeof e != "string" && Q("input must be a JSON string");
869
869
  let t;
870
870
  try {
871
871
  t = JSON.parse(e);
872
872
  } catch {
873
- Z("input is not valid JSON");
873
+ Q("input is not valid JSON");
874
874
  }
875
- return it(t) || Z("root must be an object"), t.version !== rt && Z(`version must be ${rt}`), Array.isArray(t.annotations) || Z("annotations must be an array"), dt(t.annotations);
875
+ return it(t) || Q("root must be an object"), t.version !== rt && Q(`version must be ${rt}`), Array.isArray(t.annotations) || Q("annotations must be an array"), dt(t.annotations);
876
876
  }
877
877
  //#endregion
878
878
  //#region src/components/annotation/useWaveformAnnotationInteraction.ts
879
879
  function mt() {
880
- let e = b(null), t = b(null);
880
+ let e = x(null), t = x(null);
881
881
  return {
882
882
  editorDraft: e,
883
883
  contextMenu: t,
@@ -918,7 +918,7 @@ function mt() {
918
918
  //#region src/utils/domain.ts
919
919
  function ht(e) {
920
920
  if (e.length === 0) return [0, 1];
921
- let [t = 0, n = 1] = B(e);
921
+ let [t = 0, n = 1] = V(e);
922
922
  if (t !== n) return [t, n];
923
923
  let r = Math.abs(t) * .05 || .5;
924
924
  return [t - r, n + r];
@@ -1236,7 +1236,7 @@ function hn(e) {
1236
1236
  }
1237
1237
  //#endregion
1238
1238
  //#region src/core/renderingOptions.ts
1239
- var Q = {
1239
+ var gn = {
1240
1240
  downsample: !0,
1241
1241
  downsampleThreshold: 2e3,
1242
1242
  maxPointsPerPixel: 4,
@@ -1252,11 +1252,11 @@ var Q = {
1252
1252
  rawPointLimit: 1e5,
1253
1253
  wasmFailureFallback: "error"
1254
1254
  }
1255
- }, gn = [
1255
+ }, _n = [
1256
1256
  "auto",
1257
1257
  "wasm",
1258
1258
  "raw"
1259
- ], _n = [
1259
+ ], vn = [
1260
1260
  "auto",
1261
1261
  "none",
1262
1262
  "peak",
@@ -1267,68 +1267,68 @@ var Q = {
1267
1267
  "minmax",
1268
1268
  "sum"
1269
1269
  ];
1270
- function vn(e) {
1271
- return typeof e == "string" && gn.includes(e);
1272
- }
1273
1270
  function yn(e) {
1274
1271
  return typeof e == "string" && _n.includes(e);
1275
1272
  }
1276
- function bn(e, t, n) {
1273
+ function bn(e) {
1274
+ return typeof e == "string" && vn.includes(e);
1275
+ }
1276
+ function xn(e, t, n) {
1277
1277
  return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : n;
1278
1278
  }
1279
- function xn(e, t) {
1279
+ function Sn(e, t) {
1280
1280
  return typeof e == "number" && Number.isFinite(e) && e > 0 ? e : t;
1281
1281
  }
1282
- function Sn(e, t) {
1282
+ function Cn(e, t) {
1283
1283
  return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : void 0;
1284
1284
  }
1285
- function Cn(e, t) {
1285
+ function wn(e, t) {
1286
1286
  return Number.isFinite(e) && e >= 0 ? e : t;
1287
1287
  }
1288
- function wn(e, t, n) {
1289
- let r = vn(e?.mode) ? e.mode : t === !1 ? "raw" : Q.sampling.mode, i = xn(e?.maxPointsPerPixel, n);
1288
+ function Tn(e, t, n) {
1289
+ let r = yn(e?.mode) ? e.mode : t === !1 ? "raw" : gn.sampling.mode, i = Sn(e?.maxPointsPerPixel, n);
1290
1290
  return {
1291
1291
  mode: r,
1292
- autoThreshold: bn(e?.autoThreshold, 1, Q.sampling.autoThreshold),
1293
- autoHysteresis: bn(e?.autoHysteresis, 0, Q.sampling.autoHysteresis),
1294
- strategy: yn(e?.strategy) ? e.strategy : Q.sampling.strategy,
1292
+ autoThreshold: xn(e?.autoThreshold, 1, gn.sampling.autoThreshold),
1293
+ autoHysteresis: xn(e?.autoHysteresis, 0, gn.sampling.autoHysteresis),
1294
+ strategy: bn(e?.strategy) ? e.strategy : gn.sampling.strategy,
1295
1295
  maxPointsPerPixel: i,
1296
- maxPointCount: Sn(e?.maxPointCount, 1),
1297
- rawPointLimit: bn(e?.rawPointLimit, 1, Q.sampling.rawPointLimit),
1298
- wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback : Q.sampling.wasmFailureFallback
1296
+ maxPointCount: Cn(e?.maxPointCount, 1),
1297
+ rawPointLimit: xn(e?.rawPointLimit, 1, gn.sampling.rawPointLimit),
1298
+ wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback : gn.sampling.wasmFailureFallback
1299
1299
  };
1300
1300
  }
1301
- function Tn(e) {
1302
- let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n : Q.maxPointsPerPixel, o = wn(e?.sampling, typeof e?.downsample == "boolean" ? e.downsample : void 0, a);
1301
+ function En(e) {
1302
+ let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n : gn.maxPointsPerPixel, o = Tn(e?.sampling, typeof e?.downsample == "boolean" ? e.downsample : void 0, a);
1303
1303
  return {
1304
1304
  downsample: o.mode !== "raw",
1305
- downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Q.downsampleThreshold,
1305
+ downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : gn.downsampleThreshold,
1306
1306
  maxPointsPerPixel: o.maxPointsPerPixel,
1307
- pointMinSpacing: Cn(r, Q.pointMinSpacing),
1308
- errorBarMinSpacing: Cn(i, Q.errorBarMinSpacing),
1307
+ pointMinSpacing: wn(r, gn.pointMinSpacing),
1308
+ errorBarMinSpacing: wn(i, gn.errorBarMinSpacing),
1309
1309
  sampling: o
1310
1310
  };
1311
1311
  }
1312
1312
  //#endregion
1313
1313
  //#region src/core/rendering.ts
1314
- var En = I((e) => e.x), Dn = () => !0;
1315
- function On(e, t) {
1314
+ var Dn = L((e) => e.x), On = () => !0;
1315
+ function kn(e, t) {
1316
1316
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
1317
1317
  return {
1318
- start: En.left(e, n),
1319
- end: En.right(e, r)
1318
+ start: Dn.left(e, n),
1319
+ end: Dn.right(e, r)
1320
1320
  };
1321
1321
  }
1322
- function kn(e, t, n) {
1322
+ function An(e, t, n) {
1323
1323
  if (!Number.isFinite(n) || n <= 0) return !0;
1324
1324
  let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
1325
1325
  for (let n of e) {
1326
- let e = On(n.points, t);
1326
+ let e = kn(n.points, t);
1327
1327
  for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
1328
1328
  }
1329
1329
  return !1;
1330
1330
  }
1331
- function An(e, t, n, r, i) {
1331
+ function jn(e, t, n, r, i) {
1332
1332
  let a = Math.max(0, t.start - 1), o = Math.min(e.length, t.end + 1) - a;
1333
1333
  return o <= 0 ? [] : hn({
1334
1334
  visibleCount: o,
@@ -1342,10 +1342,10 @@ function An(e, t, n, r, i) {
1342
1342
  options: i
1343
1343
  });
1344
1344
  }
1345
- function jn(e, t) {
1345
+ function Mn(e, t) {
1346
1346
  return t.sampling.mode === "wasm" || t.sampling.mode === "auto" && e > t.sampling.autoThreshold;
1347
1347
  }
1348
- function Mn(e, t, n, r) {
1348
+ function Nn(e, t, n, r) {
1349
1349
  let i = Math.max(0, t.start - 1), a = Math.min(e.length, t.end + 1), o = a - i;
1350
1350
  if (o <= 0) return [];
1351
1351
  if (r.sampling.strategy === "none") return e.slice(i, a);
@@ -1355,12 +1355,12 @@ function Mn(e, t, n, r) {
1355
1355
  return e[i + r];
1356
1356
  });
1357
1357
  }
1358
- function Nn(e, t, n, r) {
1359
- return !e.length || n <= 0 ? [] : An(e, On(e, t), t, n, r);
1358
+ function Pn(e, t, n, r) {
1359
+ return !e.length || n <= 0 ? [] : jn(e, kn(e, t), t, n, r);
1360
1360
  }
1361
- function Pn(e, t, n, r, i, a, o, s) {
1361
+ function Fn(e, t, n, r, i, a, o, s) {
1362
1362
  if (!a || i === 0) {
1363
- if (o === Dn) return e.slice(t.start, t.end);
1363
+ if (o === On) return e.slice(t.start, t.end);
1364
1364
  let n = [];
1365
1365
  for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
1366
1366
  return n;
@@ -1393,40 +1393,40 @@ function Pn(e, t, n, r, i, a, o, s) {
1393
1393
  let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
1394
1394
  return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
1395
1395
  }
1396
- function Fn(e) {
1396
+ function In(e) {
1397
1397
  let { lower: t, upper: n } = on(e);
1398
1398
  return t !== 0 || n !== 0;
1399
1399
  }
1400
- function In(e, t, n, r, i) {
1400
+ function Ln(e, t, n, r, i) {
1401
1401
  if (!e.length || n <= 0) return {
1402
1402
  linePoints: [],
1403
1403
  pointRenderPoints: [],
1404
1404
  errorBarRenderPoints: []
1405
1405
  };
1406
- let a = On(e, t), o = i.lineVisible ? i.linePointOverride ?? (jn(a.end - a.start, r) ? Mn(e, a, n, r) : An(e, a, t, n, r)) : [], s = i.errorBarVisible && i.hasErrorPoints;
1406
+ let a = kn(e, t), o = i.lineVisible ? i.linePointOverride ?? (Mn(a.end - a.start, r) ? Nn(e, a, n, r) : jn(e, a, t, n, r)) : [], s = i.errorBarVisible && i.hasErrorPoints;
1407
1407
  if (i.pointVisible && s) {
1408
- let i = Pn(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, Dn, Fn);
1408
+ let i = Fn(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, On, In);
1409
1409
  return {
1410
1410
  linePoints: o,
1411
1411
  pointRenderPoints: i,
1412
- errorBarRenderPoints: i.filter(Fn)
1412
+ errorBarRenderPoints: i.filter(In)
1413
1413
  };
1414
1414
  }
1415
1415
  return {
1416
1416
  linePoints: o,
1417
- pointRenderPoints: i.pointVisible ? Pn(e, a, t, n, r.pointMinSpacing, r.downsample, Dn) : [],
1418
- errorBarRenderPoints: s ? Pn(e, a, t, n, r.errorBarMinSpacing, r.downsample, Fn) : []
1417
+ pointRenderPoints: i.pointVisible ? Fn(e, a, t, n, r.pointMinSpacing, r.downsample, On) : [],
1418
+ errorBarRenderPoints: s ? Fn(e, a, t, n, r.errorBarMinSpacing, r.downsample, In) : []
1419
1419
  };
1420
1420
  }
1421
- var Ln = (e, t) => {
1421
+ var Rn = (e, t) => {
1422
1422
  let n = typeof e == "number" ? e : Number(e);
1423
1423
  return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
1424
- }, Rn = (e) => {
1424
+ }, zn = (e) => {
1425
1425
  if (!Array.isArray(e)) return [];
1426
1426
  let t = e.filter((e) => typeof e == "string").map((e) => e.trim()).filter(Boolean);
1427
1427
  return Array.from(new Set(t));
1428
1428
  };
1429
- function zn(e) {
1429
+ function Bn(e) {
1430
1430
  let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
1431
1431
  horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
1432
1432
  vertical: typeof t?.vertical != "boolean" || t.vertical,
@@ -1434,34 +1434,34 @@ function zn(e) {
1434
1434
  verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
1435
1435
  }]));
1436
1436
  return {
1437
- rowCount: Ln(e?.rowCount, 2),
1438
- columnCount: Ln(e?.columnCount, 1),
1437
+ rowCount: Rn(e?.rowCount, 2),
1438
+ columnCount: Rn(e?.columnCount, 1),
1439
1439
  showPagination: e?.showPagination ?? !0,
1440
1440
  fillIncompleteLastRow: e?.fillIncompleteLastRow ?? !1,
1441
- trackOrder: Rn(e?.trackOrder),
1441
+ trackOrder: zn(e?.trackOrder),
1442
1442
  hideEmptyTracks: e?.hideEmptyTracks ?? !1,
1443
1443
  trackLines: t
1444
1444
  };
1445
1445
  }
1446
- function Bn(e) {
1446
+ function Vn(e) {
1447
1447
  return e.rowCount * e.columnCount;
1448
1448
  }
1449
- function Vn(e, t) {
1450
- return Math.max(1, Math.ceil(Math.max(0, e) / Bn(t)));
1449
+ function Hn(e, t) {
1450
+ return Math.max(1, Math.ceil(Math.max(0, e) / Vn(t)));
1451
1451
  }
1452
- function Hn(e, t, n) {
1453
- let r = Vn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * Bn(n);
1454
- return e.slice(i, i + Bn(n));
1452
+ function Un(e, t, n) {
1453
+ let r = Hn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * Vn(n);
1454
+ return e.slice(i, i + Vn(n));
1455
1455
  }
1456
- function Un(e) {
1456
+ function Wn(e) {
1457
1457
  return e === "compact" ? 0 : e === "separated" ? 16 : 14;
1458
1458
  }
1459
- function Wn(e, t, n, r, i = [], a, o = !0) {
1460
- let s = Bn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = Un(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
1459
+ function Gn(e, t, n, r, i = [], a, o = !0) {
1460
+ let s = Vn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = Wn(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
1461
1461
  if (o) {
1462
1462
  if (r === "independent") for (let e = 0; e < u; e += 1) p.add(e);
1463
1463
  else if (r === "compact") p.add(u - 1);
1464
- else for (let e = 0; e < n.columnCount; e += 1) for (let t = Bn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1464
+ else for (let e = 0; e < n.columnCount; e += 1) for (let t = Vn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1465
1465
  p.add(Math.floor(t / n.columnCount));
1466
1466
  break;
1467
1467
  }
@@ -1487,7 +1487,7 @@ function Wn(e, t, n, r, i = [], a, o = !0) {
1487
1487
  };
1488
1488
  });
1489
1489
  }
1490
- function Gn(e, t) {
1490
+ function Kn(e, t) {
1491
1491
  let n = /* @__PURE__ */ new Set();
1492
1492
  for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
1493
1493
  let i = e[t];
@@ -1500,26 +1500,26 @@ function Gn(e, t) {
1500
1500
  }
1501
1501
  //#endregion
1502
1502
  //#region src/components/core/xDomain.ts
1503
- var Kn = 10;
1504
- function qn(e) {
1505
- return !Number.isFinite(e) || (e ?? 0) < 1 ? Kn : Math.max(1, Math.trunc(e));
1503
+ var qn = 10;
1504
+ function Jn(e) {
1505
+ return !Number.isFinite(e) || (e ?? 0) < 1 ? qn : Math.max(1, Math.trunc(e));
1506
1506
  }
1507
- function Jn(e, t, n = !1) {
1507
+ function Yn(e, t, n = !1) {
1508
1508
  if (t.type !== "nice" || n && !t.includeExplicit) return [...e];
1509
- let r = U().domain(e).nice(qn(t.tickCount)).domain();
1509
+ let r = W().domain(e).nice(Jn(t.tickCount)).domain();
1510
1510
  return t.bounds === "end" ? [e[0], r[1]] : r;
1511
1511
  }
1512
1512
  //#endregion
1513
1513
  //#region src/components/core/trackLayoutBuilder.ts
1514
- function Yn(e, t, n) {
1514
+ function Xn(e, t, n) {
1515
1515
  let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
1516
- return i ? Jn(i, r, !0) : Jn(e.xDomain, r);
1516
+ return i ? Yn(i, r, !0) : Yn(e.xDomain, r);
1517
1517
  }
1518
- function Xn(e) {
1518
+ function Zn(e) {
1519
1519
  let t = e.cells.map((e) => ({
1520
1520
  ...e,
1521
1521
  hasSeries: !!e.series
1522
- })), n = Gn(t, e.grid.columnCount);
1522
+ })), n = Kn(t, e.grid.columnCount);
1523
1523
  return t.flatMap((t, r) => {
1524
1524
  let i = !t.series || t.series.series.length === 0;
1525
1525
  if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
@@ -1529,47 +1529,42 @@ function Xn(e) {
1529
1529
  visibleSeries: [],
1530
1530
  xDomain: [0, 1],
1531
1531
  yDomain: [0, 1]
1532
- }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? q : q).rescaleX(c), u = e.yDomains?.[a.id], d = or(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && u ? {
1533
- ...e,
1534
- domain: u
1535
- } : e), f = {
1532
+ }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W(Xn(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? J : J).rescaleX(c), u = ur(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
1536
1533
  left: 0,
1537
1534
  right: 0
1538
- }, p = {
1535
+ }, f = {
1539
1536
  left: 0,
1540
1537
  right: 0
1541
- }, m = d.map((n) => {
1542
- let r = f[n.side]++, i = nr(t.plotHeight, e.yAxisSplitNumber), a = Math.max(1, i - 1), o = U(n.domain, [t.plotHeight, 0]);
1543
- e.yAxisNice !== !1 && o.nice(a);
1544
- let [s, c] = o.domain(), l = Array.from({ length: i }, (e, t) => s + (c - s) * t / (i - 1)), u = e.displayMode !== "compact" || t.row === 0 ? l : l.slice(0, -1), { tickTextWidth: d } = sr(o.domain(), !1, u, n.seriesList[0]?.unit, i), m = d + 7 + 0 + 12 + 4, h = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), g = h ? (n.side === "left" ? 0 : t.width) + h.axisOffset : n.side === "left" ? -p.left : t.width + p.right, _ = d + 7 + 0 + 12 / 2, v = (h ? (n.side === "left" ? 0 : t.width) + h.labelOffset : g + (n.side === "left" ? -_ : _)) - (n.side === "right" ? 10 : 0);
1545
- return h || (p[n.side] += m), {
1538
+ }, p = u.map((n) => {
1539
+ let r = d[n.side]++, i = rr(t.plotHeight, e.yAxisSplitNumber), a = ir(n.domain, i, e.yAxisNice !== !1), o = W(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = dr(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 12 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 12 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
1540
+ return p || (f[n.side] += u), {
1546
1541
  index: n.index,
1547
1542
  side: n.side,
1548
- x: g,
1549
- labelX: v,
1543
+ x: m,
1544
+ labelX: g,
1550
1545
  scale: o,
1551
- majorTicks: l,
1552
- minorTicks: gt(l, 2),
1553
- tickValues: u,
1546
+ majorTicks: s,
1547
+ minorTicks: gt(s, 2),
1548
+ tickValues: c,
1554
1549
  seriesList: n.seriesList
1555
1550
  };
1556
- }), h = U(a.yDomain, [t.plotHeight, 0]);
1557
- e.yAxisNice !== !1 && h.nice();
1558
- let g = m[0]?.scale ?? h, _ = l.ticks(Math.max(2, Math.floor(t.width / 100))), v = m[0]?.majorTicks ?? [], y = m[0]?.tickValues ?? [], b = l.domain(), x = {
1559
- start: At(b[0], b, e.timeUnit, "start", e.xAxisLabelFormatter),
1560
- end: At(b[1], b, e.timeUnit, "end", e.xAxisLabelFormatter)
1561
- }, S = x.start.length * 7 + 10, C = x.end.length * 7 + 10, w = _.filter((e) => {
1551
+ }), m = W(a.yDomain, [t.plotHeight, 0]);
1552
+ e.yAxisNice !== !1 && m.nice();
1553
+ let h = p[0]?.scale ?? m, g = l.ticks(Math.max(2, Math.floor(t.width / 100))), _ = p[0]?.majorTicks ?? [], v = p[0]?.tickValues ?? [], y = l.domain(), b = {
1554
+ start: At(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1555
+ end: At(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1556
+ }, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
1562
1557
  let n = l(e);
1563
- return n > S && n < t.width - C;
1564
- }), T = a.visibleSeries.map((n) => {
1565
- let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? g, o = In(n.points, b, t.width, e.rendering, {
1558
+ return n > x && n < t.width - S;
1559
+ }), w = a.visibleSeries.map((n) => {
1560
+ let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Ln(n.points, y, t.width, e.rendering, {
1566
1561
  lineVisible: !i && n.lineType !== "none",
1567
1562
  linePointOverride: e.linePointOverrides?.[n.id],
1568
1563
  pointVisible: n.pointType !== "none",
1569
1564
  errorBarVisible: n.errorBar.visible,
1570
1565
  hasErrorPoints: n.hasErrorPoints
1571
- }), s = V().x((e) => l(e.x)).y((e) => a(e.y));
1572
- return n.lineType === "step-start" && s.curve(z), n.lineType === "step-middle" && s.curve(L), (n.lineType === "step-end" || n.lineType === "step-after") && s.curve(R), {
1566
+ }), s = H().x((e) => l(e.x)).y((e) => a(e.y));
1567
+ return n.lineType === "step-start" && s.curve(B), n.lineType === "step-middle" && s.curve(R), (n.lineType === "step-end" || n.lineType === "step-after") && s.curve(z), {
1573
1568
  series: n,
1574
1569
  path: o.linePoints.length ? s(o.linePoints) : null,
1575
1570
  pointRenderPoints: o.pointRenderPoints,
@@ -1594,17 +1589,17 @@ function Xn(e) {
1594
1589
  width: t.width,
1595
1590
  height: t.plotHeight,
1596
1591
  xScale: l,
1597
- yScale: g,
1598
- yAxes: m,
1599
- xMajorTicks: _,
1600
- xMinorTicks: gt(_, 3, b),
1601
- yMajorTicks: v,
1602
- yMinorTicks: m[0]?.minorTicks ?? [],
1603
- yAxisTickValues: y,
1604
- xAxisTickValues: w,
1605
- endpointLabels: x,
1606
- path: T[0]?.path ?? null,
1607
- seriesPaths: T,
1592
+ yScale: h,
1593
+ yAxes: p,
1594
+ xMajorTicks: g,
1595
+ xMinorTicks: gt(g, 3, y),
1596
+ yMajorTicks: _,
1597
+ yMinorTicks: p[0]?.minorTicks ?? [],
1598
+ yAxisTickValues: v,
1599
+ xAxisTickValues: C,
1600
+ endpointLabels: b,
1601
+ path: w[0]?.path ?? null,
1602
+ seriesPaths: w,
1608
1603
  gridLines: e.grid.trackLines[a.id] ?? {
1609
1604
  horizontal: !0,
1610
1605
  vertical: !0
@@ -1615,11 +1610,28 @@ function Xn(e) {
1615
1610
  }
1616
1611
  //#endregion
1617
1612
  //#region src/components/core/layout.ts
1618
- var Zn = 7, Qn = 7, $n = 4, er = 0, tr = 12;
1619
- function nr(e, t) {
1613
+ var Qn = 7, $n = 7, er = 4, tr = 0, nr = 12;
1614
+ function rr(e, t) {
1620
1615
  return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
1621
1616
  }
1622
- function rr(e) {
1617
+ function ir(e, t = 5, n = !0) {
1618
+ let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
1619
+ n && i.nice(Math.max(1, r - 1));
1620
+ let a = i.domain(), [o, s] = a;
1621
+ return {
1622
+ domain: a,
1623
+ values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
1624
+ };
1625
+ }
1626
+ function ar(e, t, n, r) {
1627
+ return Et(e, {
1628
+ axisMin: t[0],
1629
+ axisMax: t[1],
1630
+ topTickValue: Math.max(...n),
1631
+ unit: r
1632
+ });
1633
+ }
1634
+ function or(e) {
1623
1635
  return e >= 4 ? [
1624
1636
  "left",
1625
1637
  "left",
@@ -1631,13 +1643,13 @@ function rr(e) {
1631
1643
  "right"
1632
1644
  ] : e === 2 ? ["left", "right"] : ["left"];
1633
1645
  }
1634
- var ir = /* @__PURE__ */ new WeakMap();
1635
- function ar(e, t) {
1636
- let n = ir.get(e);
1637
- n || (n = /* @__PURE__ */ new Map(), ir.set(e, n));
1646
+ var sr = /* @__PURE__ */ new WeakMap();
1647
+ function cr(e, t) {
1648
+ let n = sr.get(e);
1649
+ n || (n = /* @__PURE__ */ new Map(), sr.set(e, n));
1638
1650
  let r = n.get(t);
1639
1651
  if (r) return r;
1640
- let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = rr(i), o = Array.from({ length: i }, (e, t) => ({
1652
+ let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = or(i), o = Array.from({ length: i }, (e, t) => ({
1641
1653
  index: t,
1642
1654
  side: a[t],
1643
1655
  seriesList: [],
@@ -1654,9 +1666,9 @@ function ar(e, t) {
1654
1666
  }
1655
1667
  }), n.set(t, o), o;
1656
1668
  }
1657
- function or(e, t, n, r) {
1669
+ function lr(e, t, n, r) {
1658
1670
  let i = Gt(e, r);
1659
- return ar(e, t).map((e) => {
1671
+ return cr(e, t).map((e) => {
1660
1672
  if (i) return {
1661
1673
  ...e,
1662
1674
  domain: i,
@@ -1670,50 +1682,53 @@ function or(e, t, n, r) {
1670
1682
  } : e;
1671
1683
  });
1672
1684
  }
1673
- function sr(e, t = !0, n, r, i = 10) {
1674
- let a = typeof i == "number" && Number.isFinite(i) ? Math.max(2, Math.floor(i)) : 10, o = U(e, [1, 0]);
1675
- t && o.nice(a);
1676
- let [s, c] = o.domain(), l = n ?? o.ticks(a), u = Math.max(...l);
1677
- return { tickTextWidth: Math.max(1, ...l.map((e) => Et(e, {
1678
- axisMin: s,
1679
- axisMax: c,
1680
- topTickValue: u,
1681
- unit: r
1682
- }).length)) * Zn };
1683
- }
1684
- function cr(e, t, n, r, i, a = !0) {
1685
- let o = /* @__PURE__ */ new Map();
1685
+ function ur(e, t, n, r, i) {
1686
+ let a = i?.[e.id];
1687
+ return lr(e, t, n, r).map((e) => !e.fixed && a ? {
1688
+ ...e,
1689
+ domain: a
1690
+ } : e);
1691
+ }
1692
+ function dr(e, t = !0, n, r, i = 5, a = !1) {
1693
+ let o = n ? {
1694
+ domain: e,
1695
+ values: n
1696
+ } : ir(e, i, t), s = [o.values];
1697
+ return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => ar(t, o.domain, e, r).length))) * Qn };
1698
+ }
1699
+ function fr(e, t, n, r, i, a = !0, o = !1, s) {
1700
+ let c = /* @__PURE__ */ new Map();
1686
1701
  e.forEach((e) => {
1687
- let s = {
1702
+ let l = {
1688
1703
  left: 0,
1689
1704
  right: 0
1690
1705
  };
1691
- or(e, t, n, r).forEach((e) => {
1692
- let t = s[e.side]++, n = `${e.side}:${t}`, r = sr(e.domain, a, void 0, e.seriesList[0]?.unit, i).tickTextWidth;
1693
- o.set(n, Math.max(o.get(n) ?? Zn, r));
1706
+ ur(e, t, n, r, s).forEach((e) => {
1707
+ let t = l[e.side]++, n = `${e.side}:${t}`, r = dr(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
1708
+ c.set(n, Math.max(c.get(n) ?? Qn, r));
1694
1709
  });
1695
1710
  });
1696
- let s = [], c = {
1711
+ let l = [], u = {
1697
1712
  left: 0,
1698
1713
  right: 0
1699
1714
  };
1700
1715
  return ["left", "right"].forEach((e) => {
1701
- Array.from(o.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
1702
- let n = o.get(`${e}:${t}`) ?? Zn, r = e === "left" && c.left > 0 ? -c.left : c[e], i = r + (n + Qn + er + tr / 2) * (e === "left" ? -1 : 1), a = n + Qn + er + tr + $n;
1703
- s.push({
1716
+ Array.from(c.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
1717
+ let n = c.get(`${e}:${t}`) ?? Qn, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + $n + tr + nr / 2) * (e === "left" ? -1 : 1), a = n + $n + tr + nr + er;
1718
+ l.push({
1704
1719
  side: e,
1705
1720
  sideIndex: t,
1706
1721
  axisOffset: r,
1707
1722
  labelOffset: i,
1708
1723
  clearance: a
1709
- }), c[e] += a;
1724
+ }), u[e] += a;
1710
1725
  });
1711
1726
  }), {
1712
- slots: s,
1713
- clearance: c
1727
+ slots: l,
1728
+ clearance: u
1714
1729
  };
1715
1730
  }
1716
- function lr(e, t, n) {
1731
+ function pr(e, t, n) {
1717
1732
  let r = (e) => {
1718
1733
  let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
1719
1734
  return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
@@ -1732,12 +1747,12 @@ function lr(e, t, n) {
1732
1747
  }
1733
1748
  //#endregion
1734
1749
  //#region src/components/annotation/useWaveformChartAnnotations.ts
1735
- var ur = 0;
1736
- function dr() {
1737
- return ur += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${ur}`;
1750
+ var mr = 0;
1751
+ function hr() {
1752
+ return mr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${mr}`;
1738
1753
  }
1739
- function fr(e) {
1740
- let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, x = b("");
1754
+ function gr(e) {
1755
+ let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, b = x("");
1741
1756
  function S(e) {
1742
1757
  if (!i.value.some((t) => t.id === e)) return;
1743
1758
  let r = new Set(a.value), s = r.has(e);
@@ -1755,7 +1770,7 @@ function fr(e) {
1755
1770
  x: f.value / 2,
1756
1771
  y: p.value / 2
1757
1772
  };
1758
- let [r, i] = H(e, n), a = t === void 0 ? void 0 : l.value[t];
1773
+ let [r, i] = U(e, n), a = t === void 0 ? void 0 : l.value[t];
1759
1774
  return {
1760
1775
  x: h.value + (a ? a.left + r : r),
1761
1776
  y: g.value + _.value + (a ? a.top + i : i)
@@ -1769,7 +1784,7 @@ function fr(e) {
1769
1784
  };
1770
1785
  }
1771
1786
  function T(e, t, n) {
1772
- x.value = "", s.openCreate(e, dr, t), c.value = n;
1787
+ b.value = "", s.openCreate(e, hr, t), c.value = n;
1773
1788
  let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
1774
1789
  r?.mode === "add" && (r.annotation.style = {
1775
1790
  borderColor: i?.color || "#1677ff",
@@ -1781,14 +1796,14 @@ function fr(e) {
1781
1796
  if (y.value) return;
1782
1797
  let t = s.editorDraft.value, n = c.value.find((t) => t.seriesId === e), r = l.value.find((t) => t.seriesList.some((t) => t.id === e)), i = r?.seriesList.find((t) => t.id === e)?.source, a = i?.pointAt(0), o = i?.pointAt((i?.length ?? 0) - 1), u = t ? i?.nearestPoint(t.annotation.x) : void 0;
1783
1798
  if (!t || !n || !r || !a || !o || !u) {
1784
- x.value = "当前波形没有有效数据";
1799
+ b.value = "当前波形没有有效数据";
1785
1800
  return;
1786
1801
  }
1787
1802
  if (t.annotation.x < a.x || t.annotation.x > o.x) {
1788
- x.value = "时间超出当前波形范围";
1803
+ b.value = "时间超出当前波形范围";
1789
1804
  return;
1790
1805
  }
1791
- x.value = "", t.annotation = {
1806
+ b.value = "", t.annotation = {
1792
1807
  ...t.annotation,
1793
1808
  seriesId: e,
1794
1809
  y: u.y,
@@ -1802,39 +1817,39 @@ function fr(e) {
1802
1817
  if (y.value) return;
1803
1818
  let n = s.editorDraft.value, r = Number(e);
1804
1819
  if (!n || !Number.isFinite(r)) {
1805
- x.value = "请输入有效的时间";
1820
+ b.value = "请输入有效的时间";
1806
1821
  return;
1807
1822
  }
1808
1823
  let i = t.timeUnit === "ms" ? r / 1e3 : r, a = l.value.find((e) => e.seriesList.some((e) => e.id === n.annotation.seriesId))?.seriesList.find((e) => e.id === n.annotation.seriesId)?.source, o = a?.pointAt(0), c = a?.pointAt((a?.length ?? 0) - 1);
1809
1824
  if (!a || !o || !c) {
1810
- x.value = "当前波形没有有效数据";
1825
+ b.value = "当前波形没有有效数据";
1811
1826
  return;
1812
1827
  }
1813
1828
  if (i < o.x || i > c.x) {
1814
- x.value = "时间超出当前波形范围";
1829
+ b.value = "时间超出当前波形范围";
1815
1830
  return;
1816
1831
  }
1817
1832
  let u = a.nearestPoint(i);
1818
- x.value = "", n.annotation = {
1833
+ b.value = "", n.annotation = {
1819
1834
  ...n.annotation,
1820
1835
  x: u.x,
1821
1836
  y: u.y
1822
1837
  };
1823
1838
  }
1824
1839
  function O() {
1825
- x.value = "", s.closeEditor(), c.value = [];
1840
+ b.value = "", s.closeEditor(), c.value = [];
1826
1841
  }
1827
1842
  function k(e, t, n) {
1828
1843
  if (n !== void 0) {
1829
1844
  let e = l.value[n];
1830
1845
  return e?.hasVisibleSeries ? e : void 0;
1831
1846
  }
1832
- return lr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1847
+ return pr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1833
1848
  }
1834
1849
  function A(e, t) {
1835
1850
  let n = e.currentTarget;
1836
1851
  if (!n || !l.value.length) return null;
1837
- let [r, i] = H(e, n), a = t === void 0 ? i : i + (l.value[t]?.top ?? 0), o = k(r, a, t);
1852
+ let [r, i] = U(e, n), a = t === void 0 ? i : i + (l.value[t]?.top ?? 0), o = k(r, a, t);
1838
1853
  if (!o) return null;
1839
1854
  let s = Math.max(0, Math.min(m.value, r)), c = Math.max(0, Math.min(o.width, s - o.left)), d = o.xScale.invert(c);
1840
1855
  return {
@@ -1885,7 +1900,7 @@ function fr(e) {
1885
1900
  }
1886
1901
  function L() {
1887
1902
  if (y.value) return;
1888
- x.value = "";
1903
+ b.value = "";
1889
1904
  let e = s.contextMenu.value, n = t.annotations.find((t) => t.id === e?.annotationId);
1890
1905
  if (!n) return;
1891
1906
  let r = l.value.find((e) => e.seriesList.some((e) => e.id === n.seriesId));
@@ -1899,13 +1914,13 @@ function fr(e) {
1899
1914
  function z(e) {
1900
1915
  if (y.value) return;
1901
1916
  let r = s.editorDraft.value;
1902
- !r || x.value || (r.mode === "add" ? (n("update:annotations", [...t.annotations, e]), n("annotation-create", e)) : (n("update:annotations", t.annotations.map((t) => t.id === e.id ? e : t)), n("annotation-update", e, r.previous)), O());
1917
+ !r || b.value || (r.mode === "add" ? (n("update:annotations", [...t.annotations, e]), n("annotation-create", e)) : (n("update:annotations", t.annotations.map((t) => t.id === e.id ? e : t)), n("annotation-update", e, r.previous)), O());
1903
1918
  }
1904
1919
  return {
1905
1920
  toggleSeriesVisibility: S,
1906
1921
  changeDraftSeries: E,
1907
1922
  changeDraftTime: D,
1908
- timeError: x,
1923
+ timeError: b,
1909
1924
  cancelAnnotation: O,
1910
1925
  resolveTrackAtPointer: k,
1911
1926
  handleAnnotationClick: M,
@@ -1920,7 +1935,7 @@ function fr(e) {
1920
1935
  }
1921
1936
  //#endregion
1922
1937
  //#region src/components/interaction/useWaveformHover.ts
1923
- function pr(e) {
1938
+ function _r(e) {
1924
1939
  let { emit: t, hoverState: n, suppressHoverUntilMove: r, hoverThrottle: i, selection: a, trackLayouts: o, innerWidth: s, resolvedChartLeftMargin: c, titleAreaHeight: l, chartTopMargin: u, sharedOverlayElement: d, isPresentationMode: f, updateViewportDrag: p, resolveTrackAtPointer: m } = e, h = () => i.cancel(), g = (e) => i.schedule(e), _ = (e) => n.points.length === e.length && e.every((e, t) => {
1925
1940
  let r = n.points[t];
1926
1941
  return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
@@ -1943,12 +1958,12 @@ function pr(e) {
1943
1958
  }, C = (e = !1) => {
1944
1959
  r.value = !e, y();
1945
1960
  }, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => {
1946
- let n = e.source ?? X(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
1961
+ let n = e.source ?? Z(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
1947
1962
  if (!(!r || !i)) return t <= r.x ? r : t >= i.x ? i : n.nearestPoint(t);
1948
1963
  }, E = (e, t) => {
1949
1964
  let n, r = -Infinity;
1950
1965
  if (e.seriesList.forEach((e) => {
1951
- let t = e.source ?? X(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
1966
+ let t = e.source ?? Z(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
1952
1967
  if (!i || !a) return;
1953
1968
  let o = a.x - i.x;
1954
1969
  o > r && (r = o, n = [i.x, a.x]);
@@ -1969,7 +1984,7 @@ function pr(e) {
1969
1984
  if (w()) return;
1970
1985
  let n = e.currentTarget;
1971
1986
  if (!n) return;
1972
- let [r, i] = H(e, n), d = o.value[t];
1987
+ let [r, i] = U(e, n), d = o.value[t];
1973
1988
  !d || !d.hasVisibleSeries || g(() => {
1974
1989
  let e = o.value[t];
1975
1990
  if (!e || !e.hasVisibleSeries || e !== d) return;
@@ -1987,7 +2002,7 @@ function pr(e) {
1987
2002
  return;
1988
2003
  }
1989
2004
  if (w() || !d.value || !o.value.length) return;
1990
- let [t, n] = H(e, d.value);
2005
+ let [t, n] = U(e, d.value);
1991
2006
  g(() => {
1992
2007
  let e = m(t, n), r = (e?.hasVisibleSeries ? e : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
1993
2008
  if (!r) return;
@@ -2005,14 +2020,14 @@ function pr(e) {
2005
2020
  }
2006
2021
  //#endregion
2007
2022
  //#region src/components/interaction/pointerCapture.ts
2008
- function mr(e, t) {
2023
+ function vr(e, t) {
2009
2024
  try {
2010
2025
  e?.releasePointerCapture?.(t);
2011
2026
  } catch {}
2012
2027
  }
2013
2028
  //#endregion
2014
2029
  //#region src/components/interaction/viewportInteractionState.ts
2015
- function hr(e) {
2030
+ function yr(e) {
2016
2031
  return {
2017
2032
  ...e,
2018
2033
  currentX: e.startX,
@@ -2021,37 +2036,37 @@ function hr(e) {
2021
2036
  yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
2022
2037
  };
2023
2038
  }
2024
- function gr(e, t) {
2039
+ function br(e, t) {
2025
2040
  return {
2026
2041
  ...e,
2027
2042
  ...t
2028
2043
  };
2029
2044
  }
2030
- function _r(e) {
2045
+ function xr(e) {
2031
2046
  return {
2032
2047
  state: e,
2033
2048
  accepted: !1,
2034
2049
  completed: null
2035
2050
  };
2036
2051
  }
2037
- function vr(e, t) {
2052
+ function Sr(e, t) {
2038
2053
  switch (t.type) {
2039
- case "begin": return e ? _r(e) : {
2040
- state: hr(t.gesture),
2054
+ case "begin": return e ? xr(e) : {
2055
+ state: yr(t.gesture),
2041
2056
  accepted: !0,
2042
2057
  completed: null
2043
2058
  };
2044
- case "move": return !e || e.pointerId !== t.pointerId ? _r(e) : {
2045
- state: gr(e, t.position),
2059
+ case "move": return !e || e.pointerId !== t.pointerId ? xr(e) : {
2060
+ state: br(e, t.position),
2046
2061
  accepted: !0,
2047
2062
  completed: null
2048
2063
  };
2049
- case "finish": return !e || e.pointerId !== t.pointerId ? _r(e) : {
2064
+ case "finish": return !e || e.pointerId !== t.pointerId ? xr(e) : {
2050
2065
  state: null,
2051
2066
  accepted: !0,
2052
- completed: gr(e, t.position)
2067
+ completed: br(e, t.position)
2053
2068
  };
2054
- case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? _r(e) : {
2069
+ case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? xr(e) : {
2055
2070
  state: null,
2056
2071
  accepted: !0,
2057
2072
  completed: null
@@ -2065,32 +2080,32 @@ function vr(e, t) {
2065
2080
  }
2066
2081
  //#endregion
2067
2082
  //#region src/components/interaction/zoomConstraints.ts
2068
- var yr = /* @__PURE__ */ new WeakMap();
2069
- function br(e) {
2083
+ var Cr = /* @__PURE__ */ new WeakMap();
2084
+ function wr(e) {
2070
2085
  return e[0] <= e[1] ? [...e] : [e[1], e[0]];
2071
2086
  }
2072
- function xr(e) {
2087
+ function Tr(e) {
2073
2088
  return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
2074
2089
  }
2075
- function Sr(e, t) {
2076
- let n = `${t[0]}\u0000${t[1]}`, r = yr.get(e)?.get(n);
2090
+ function Er(e, t) {
2091
+ let n = `${t[0]}\u0000${t[1]}`, r = Cr.get(e)?.get(n);
2077
2092
  if (r) return r;
2078
2093
  let i = /* @__PURE__ */ new Set();
2079
2094
  for (let n of e) {
2080
- let e = n.source ?? X(n.points);
2095
+ let e = n.source ?? Z(n.points);
2081
2096
  for (let n = 0; n < e.length; n += 1) {
2082
2097
  let r = e.pointAt(n);
2083
2098
  r.x >= t[0] && r.x <= t[1] && i.add(r.x);
2084
2099
  }
2085
2100
  }
2086
- let a = Array.from(i).sort((e, t) => e - t), o = yr.get(e) ?? /* @__PURE__ */ new Map();
2087
- return o.set(n, a), yr.set(e, o), a;
2101
+ let a = Array.from(i).sort((e, t) => e - t), o = Cr.get(e) ?? /* @__PURE__ */ new Map();
2102
+ return o.set(n, a), Cr.set(e, o), a;
2088
2103
  }
2089
- function Cr(e, t, n) {
2104
+ function Dr(e, t, n) {
2090
2105
  if (n <= 1) return 0;
2091
2106
  let r = 0;
2092
2107
  for (let i of e) {
2093
- let e = Sr(i, t);
2108
+ let e = Er(i, t);
2094
2109
  if (e.length < n) return t[1] - t[0];
2095
2110
  let a = Infinity;
2096
2111
  for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
@@ -2099,17 +2114,17 @@ function Cr(e, t, n) {
2099
2114
  }
2100
2115
  return r;
2101
2116
  }
2102
- function wr(e, t, n) {
2103
- let r = br(e), i = r[1] - r[0];
2117
+ function Or(e, t, n) {
2118
+ let r = wr(e), i = r[1] - r[0];
2104
2119
  if (!Number.isFinite(i) || i <= 0) return 0;
2105
- let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = xr(n.minVisiblePoints), s = Cr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
2120
+ let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Tr(n.minVisiblePoints), s = Dr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
2106
2121
  return Math.max(a, s, l);
2107
2122
  }
2108
- function Tr(e, t, n, r) {
2123
+ function kr(e, t, n, r) {
2109
2124
  if (r <= 0) return e;
2110
2125
  let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
2111
2126
  for (let e of n) {
2112
- let n = Sr(e, t);
2127
+ let n = Er(e, t);
2113
2128
  if (n.length < r) return [...t];
2114
2129
  if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
2115
2130
  let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
@@ -2121,21 +2136,21 @@ function Tr(e, t, n, r) {
2121
2136
  }
2122
2137
  return a;
2123
2138
  }
2124
- function Er(e, t, n, r) {
2125
- let i = br(t), a = i[1] - i[0];
2139
+ function Ar(e, t, n, r) {
2140
+ let i = wr(t), a = i[1] - i[0];
2126
2141
  if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
2127
- let o = Tr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, xr(r.minVisiblePoints)), s = wr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2142
+ let o = kr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Tr(r.minVisiblePoints)), s = Or(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2128
2143
  return [u, u + c];
2129
2144
  }
2130
- function Dr(e, t, n) {
2145
+ function jr(e, t, n) {
2131
2146
  let r = t[1] - t[0], i = e[1] - e[0];
2132
- if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return q;
2133
- let a = r / i, o = U(t, [0, n]);
2134
- return q.translate(-a * o(e[0]), 0).scale(a);
2147
+ if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return J;
2148
+ let a = r / i, o = W(t, [0, n]);
2149
+ return J.translate(-a * o(e[0]), 0).scale(a);
2135
2150
  }
2136
2151
  //#endregion
2137
2152
  //#region src/components/interaction/viewportDomain.ts
2138
- function Or(e) {
2153
+ function Mr(e) {
2139
2154
  return (t, n) => {
2140
2155
  if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
2141
2156
  if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
@@ -2143,12 +2158,12 @@ function Or(e) {
2143
2158
  r.forEach((n) => {
2144
2159
  let r = e.trackLayouts.value.find((e) => e.index === n);
2145
2160
  if (!r) return;
2146
- let a = e.resolveInitialTrackDomain(r), o = Er(t, a, [r.seriesList], e.props);
2147
- i[n] = Dr(o, a, r.width);
2161
+ let a = e.resolveInitialTrackDomain(r), o = Ar(t, a, [r.seriesList], e.props);
2162
+ i[n] = jr(o, a, r.width);
2148
2163
  }), e.independentTransforms.value = i;
2149
2164
  } else {
2150
- let n = e.initialXDomain.value, r = Er(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2151
- e.sharedTransform.value = Dr(r, n, e.innerWidth.value);
2165
+ let n = e.initialXDomain.value, r = Ar(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2166
+ e.sharedTransform.value = jr(r, n, e.innerWidth.value);
2152
2167
  }
2153
2168
  e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
2154
2169
  }
@@ -2156,14 +2171,14 @@ function Or(e) {
2156
2171
  }
2157
2172
  //#endregion
2158
2173
  //#region src/components/interaction/zoomEventPayload.ts
2159
- function kr(e) {
2174
+ function Nr(e) {
2160
2175
  return [...e].sort().join("\0");
2161
2176
  }
2162
- function Ar(e, t) {
2163
- let n = kr(t);
2164
- return e.find((e) => kr(e.seriesList.map((e) => e.id)) === n);
2177
+ function Pr(e, t) {
2178
+ let n = Nr(t);
2179
+ return e.find((e) => Nr(e.seriesList.map((e) => e.id)) === n);
2165
2180
  }
2166
- function jr(e, t, n, r) {
2181
+ function Fr(e, t, n, r) {
2167
2182
  e("zoom-intent", r ? {
2168
2183
  start: t[0],
2169
2184
  end: t[1],
@@ -2176,9 +2191,9 @@ function jr(e, t, n, r) {
2176
2191
  gesture: "box"
2177
2192
  });
2178
2193
  }
2179
- function Mr(e, t, n) {
2194
+ function Ir(e, t, n) {
2180
2195
  for (let r of n) {
2181
- let n = Ar(t, r);
2196
+ let n = Pr(t, r);
2182
2197
  if (!n) continue;
2183
2198
  let i = n.xScale.domain(), a = n.yScale.domain();
2184
2199
  e("zoom-end", {
@@ -2192,7 +2207,7 @@ function Mr(e, t, n) {
2192
2207
  });
2193
2208
  }
2194
2209
  }
2195
- function Nr(e, t, n) {
2210
+ function Lr(e, t, n) {
2196
2211
  let r = n.filter((e) => e.hasVisibleSeries);
2197
2212
  if (r.length === 1) {
2198
2213
  let n = r[0]?.yScale.domain();
@@ -2214,13 +2229,13 @@ function Nr(e, t, n) {
2214
2229
  }
2215
2230
  //#endregion
2216
2231
  //#region src/components/interaction/useWaveformViewport.ts
2217
- function Pr(e) {
2218
- let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = C(), k = (e, t) => {
2232
+ function Rr(e) {
2233
+ let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: C, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = w(), k = (e, t) => {
2219
2234
  let n = O.value, r = t?.currentTarget;
2220
- mr(n, e), r && r !== n && mr(r, e);
2235
+ vr(n, e), r && r !== n && vr(r, e);
2221
2236
  }, A = (e, t) => {
2222
2237
  let n = i.value;
2223
- !n || n.pointerId !== e || (k(e, t), i.value = vr(i.value, {
2238
+ !n || n.pointerId !== e || (k(e, t), i.value = Sr(i.value, {
2224
2239
  type: "cancel",
2225
2240
  pointerId: e
2226
2241
  }).state, O.value = void 0);
@@ -2243,7 +2258,7 @@ function Pr(e) {
2243
2258
  if (!n.zoomable && !s || !_.value || e.button !== 0) return;
2244
2259
  let c = e.currentTarget, d = o.value.find((e) => e.index === t);
2245
2260
  if (!d) return;
2246
- let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = vr(i.value, {
2261
+ let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = Sr(i.value, {
2247
2262
  type: "begin",
2248
2263
  gesture: {
2249
2264
  trackIndex: t,
@@ -2259,14 +2274,14 @@ function Pr(e) {
2259
2274
  g.accepted && (i.value = g.state, O.value = c, c.setPointerCapture?.(e.pointerId), E(), e.preventDefault());
2260
2275
  }, F = (e) => {
2261
2276
  if (!d.value) return;
2262
- let [t, n] = H(e, d.value), r = D(t, n), i = (r?.hasVisibleSeries ? r : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
2277
+ let [t, n] = U(e, d.value), r = D(t, n), i = (r?.hasVisibleSeries ? r : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
2263
2278
  i && P(e, i.index, !1);
2264
2279
  }, I = (e, t) => {
2265
2280
  let i = t.width || 1, a = t.height || 1, u = e.currentX - e.startX, d = e.currentY - e.startY, f = e.xDomain[1] - e.xDomain[0], _ = e.independent ? b(t) : c.value, v = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
2266
2281
  if (e.independent) {
2267
2282
  let e = [...m.value];
2268
- e[t.index] = Dr(v, _, i), m.value = e;
2269
- } else p.value = Dr(v, _, l.value);
2283
+ e[t.index] = jr(v, _, i), m.value = e;
2284
+ } else p.value = jr(v, _, l.value);
2270
2285
  let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
2271
2286
  y.forEach((t) => {
2272
2287
  let r = s.value.find((e) => e.id === t.id);
@@ -2280,7 +2295,7 @@ function Pr(e) {
2280
2295
  if (!t || !n || e.pointerId !== t.pointerId) return;
2281
2296
  let r = o.value.find((e) => e.index === t.trackIndex);
2282
2297
  if (!r) return;
2283
- let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = vr(i.value, {
2298
+ let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = Sr(i.value, {
2284
2299
  type: "move",
2285
2300
  pointerId: e.pointerId,
2286
2301
  position: {
@@ -2299,12 +2314,12 @@ function Pr(e) {
2299
2314
  if (!t || (e.independent ? !x(t) : !S())) return;
2300
2315
  let i = e.independent ? 0 : t.left, a = Math.max(0, Math.min(t.width, Math.min(e.startX, e.currentX) - i)), s = Math.max(0, Math.min(t.width, Math.max(e.startX, e.currentX) - i));
2301
2316
  if (s - a < 6) return;
2302
- let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Er([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2317
+ let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Ar([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2303
2318
  if (e.independent) {
2304
2319
  let e = [...m.value];
2305
- e[t.index] = Dr(h, u, t.width), m.value = e;
2306
- } else p.value = Dr(h, u, l.value);
2307
- jr(r, h, t, e.independent);
2320
+ e[t.index] = jr(h, u, t.width), m.value = e;
2321
+ } else p.value = jr(h, u, l.value);
2322
+ Fr(r, h, t, e.independent);
2308
2323
  let g = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), _ = Object.fromEntries(g.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()]));
2309
2324
  if (r("zoom-change", h), e.independent) {
2310
2325
  let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
@@ -2332,7 +2347,7 @@ function Pr(e) {
2332
2347
  yRanges: _,
2333
2348
  gesture: "box"
2334
2349
  });
2335
- f(w);
2350
+ f(C);
2336
2351
  }, B = (e) => {
2337
2352
  if (v.value) {
2338
2353
  R();
@@ -2345,7 +2360,7 @@ function Pr(e) {
2345
2360
  A(t.pointerId, e);
2346
2361
  return;
2347
2362
  }
2348
- let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = vr(i.value, {
2363
+ let [a, s] = U(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = Sr(i.value, {
2349
2364
  type: "finish",
2350
2365
  pointerId: e.pointerId,
2351
2366
  position: {
@@ -2355,7 +2370,7 @@ function Pr(e) {
2355
2370
  }).completed;
2356
2371
  if (p) {
2357
2372
  if (i.value = null, k(p.pointerId, e), O.value = void 0, e.preventDefault(), p.kind === "pan") {
2358
- I(p, n), f(w);
2373
+ I(p, n), f(C);
2359
2374
  return;
2360
2375
  }
2361
2376
  Math.abs(p.currentX - p.startX) >= 6 && z(p);
@@ -2363,11 +2378,11 @@ function Pr(e) {
2363
2378
  }, V = (e) => {
2364
2379
  if (T(), R(), n.displayMode === "independent" && e !== void 0) {
2365
2380
  let t = [...m.value];
2366
- t[e] = q, m.value = t;
2381
+ t[e] = J, m.value = t;
2367
2382
  let n = { ...g.value };
2368
2383
  delete n[e], g.value = n;
2369
- } else p.value = q, m.value = s.value.map(() => q), h.value = {}, g.value = {};
2370
- E(), y.value = [], f(w);
2384
+ } else p.value = J, m.value = s.value.map(() => J), h.value = {}, g.value = {};
2385
+ E(), y.value = [], f(C);
2371
2386
  };
2372
2387
  return {
2373
2388
  selectionBox: j,
@@ -2377,7 +2392,7 @@ function Pr(e) {
2377
2392
  finishViewportDrag: B,
2378
2393
  cancelViewportDrag: R,
2379
2394
  resetViewport: V,
2380
- setViewportDomain: Or({
2395
+ setViewportDomain: Mr({
2381
2396
  props: n,
2382
2397
  trackLayouts: o,
2383
2398
  initialXDomain: c,
@@ -2389,7 +2404,7 @@ function Pr(e) {
2389
2404
  cancelViewportDrag: R,
2390
2405
  clearHover: E,
2391
2406
  editorSeriesOptions: y,
2392
- configureZoom: w
2407
+ configureZoom: C
2393
2408
  }),
2394
2409
  requestViewportReset: (e) => {
2395
2410
  if (!(v.value || !n.zoomable || !_.value)) {
@@ -2409,7 +2424,7 @@ function Pr(e) {
2409
2424
  }
2410
2425
  //#endregion
2411
2426
  //#region src/components/utils/useAnimationFrameThrottle.ts
2412
- function Fr() {
2427
+ function zr() {
2413
2428
  let e = null, t = null;
2414
2429
  function n(n) {
2415
2430
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -2438,11 +2453,11 @@ function Fr() {
2438
2453
  }
2439
2454
  //#endregion
2440
2455
  //#region src/components/interaction/useWaveformZoom.ts
2441
- function Ir(e) {
2442
- let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = Fr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
2456
+ function Br(e) {
2457
+ let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = zr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
2443
2458
  if (y || m.value) return;
2444
2459
  g(), b = e.transform, x = "wheel", I();
2445
- let t = e.transform.rescaleX(U(c.value, [0, u.value])).domain();
2460
+ let t = e.transform.rescaleX(W(c.value, [0, u.value])).domain();
2446
2461
  n("zoom-intent", {
2447
2462
  start: t[0],
2448
2463
  end: t[1],
@@ -2453,7 +2468,7 @@ function Ir(e) {
2453
2468
  g(), C.set(t, e.transform), w.set(t, "wheel"), I();
2454
2469
  let r = s.value.find((e) => e.index === t);
2455
2470
  if (r) {
2456
- let i = e.transform.rescaleX(U(h(r), [0, r.width])).domain();
2471
+ let i = e.transform.rescaleX(W(h(r), [0, r.width])).domain();
2457
2472
  n("zoom-intent", {
2458
2473
  start: i[0],
2459
2474
  end: i[1],
@@ -2472,7 +2487,7 @@ function Ir(e) {
2472
2487
  if (b) {
2473
2488
  let e = b;
2474
2489
  b = null, S = x, x = null, a.value = e;
2475
- let t = e.rescaleX(U(c.value, [0, u.value])).domain();
2490
+ let t = e.rescaleX(W(c.value, [0, u.value])).domain();
2476
2491
  n("zoom-change", [t[0], t[1]]);
2477
2492
  }
2478
2493
  if (!C.size) return;
@@ -2486,7 +2501,7 @@ function Ir(e) {
2486
2501
  if (!t) return;
2487
2502
  if (r.get(e) === "wheel") {
2488
2503
  let e = t.seriesList.map((e) => e.id);
2489
- T.set(kr(e), e);
2504
+ T.set(Nr(e), e);
2490
2505
  }
2491
2506
  let a = t.xScale.domain();
2492
2507
  n("zoom-change", [a[0], a[1]]);
@@ -2494,14 +2509,14 @@ function Ir(e) {
2494
2509
  }
2495
2510
  let N = () => {
2496
2511
  if (t.displayMode === "independent") {
2497
- Mr(n, s.value, T.values()), T.clear();
2512
+ Ir(n, s.value, T.values()), T.clear();
2498
2513
  return;
2499
2514
  }
2500
2515
  if (S !== "wheel") {
2501
2516
  S = null;
2502
2517
  return;
2503
2518
  }
2504
- Nr(n, l.value, s.value), S = null;
2519
+ Lr(n, l.value, s.value), S = null;
2505
2520
  }, P = () => {
2506
2521
  v.flush(), M(), !(S === "wheel" || T.size) && N();
2507
2522
  }, F = (e) => {
@@ -2517,28 +2532,28 @@ function Ir(e) {
2517
2532
  }, R = () => {
2518
2533
  b = null, x = null, S = null, C.clear(), w.clear(), T.clear(), v.cancel(), D = !1, E !== void 0 && (clearTimeout(E), E = void 0);
2519
2534
  }, z = (e = !1) => {
2520
- O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => W(e).on(".zoom", null)), _.clear();
2535
+ O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => G(e).on(".zoom", null)), _.clear();
2521
2536
  }, B = (e, n) => {
2522
2537
  let r = Math.abs(e[1] - e[0]);
2523
2538
  if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
2524
- let i = wr(e, n, t);
2539
+ let i = Or(e, n, t);
2525
2540
  return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
2526
- }, V = (e, n, r, i) => Dr(Er(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2541
+ }, V = (e, n, r, i) => jr(Ar(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2527
2542
  let n = Number(t.minVisiblePoints);
2528
- return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2529
- }, G = () => {
2543
+ return An(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2544
+ }, U = () => {
2530
2545
  let e = s.value.filter((e) => e.hasVisibleSeries);
2531
2546
  return e.length > 0 && e.every(H);
2532
2547
  }, ee = (e, t) => {
2533
2548
  if (e.type !== "wheel") return !1;
2534
2549
  let n = e.deltaY;
2535
- return n < 0 ? t : n > 0 && J(e.currentTarget).k > Rt.MIN_SCALE;
2550
+ return n < 0 ? t : n > 0 && ie(e.currentTarget).k > Rt.MIN_SCALE;
2536
2551
  };
2537
2552
  return {
2538
2553
  cancelPendingZoom: R,
2539
2554
  clearZoomBindings: z,
2540
2555
  canZoomTrack: H,
2541
- canZoomSharedTracks: G,
2556
+ canZoomSharedTracks: U,
2542
2557
  configureZoom: () => {
2543
2558
  z(D);
2544
2559
  let e = O;
@@ -2547,13 +2562,13 @@ function Ir(e) {
2547
2562
  s.value.forEach((t) => {
2548
2563
  let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
2549
2564
  if (!n) return;
2550
- let i = h(t), a = [t.seriesList], c = K().filter((e) => {
2565
+ let i = h(t), a = [t.seriesList], c = q().filter((e) => {
2551
2566
  let n = s.value.find((e) => e.index === t.index) ?? t;
2552
2567
  return ee(e, H(n));
2553
2568
  }).scaleExtent([1, B(i, a)]).constrain((e) => V(e, i, t.width, a)).extent([[0, 0], [t.width, t.height]]).translateExtent([[0, 0], [t.width, t.height]]).on("zoom", (e) => j(e, t.index)).on("end", () => F(e));
2554
2569
  _.set(t.index, c), y = !0;
2555
2570
  try {
2556
- W(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ?? q);
2571
+ G(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ?? J);
2557
2572
  } finally {
2558
2573
  y = !1;
2559
2574
  }
@@ -2562,10 +2577,10 @@ function Ir(e) {
2562
2577
  }
2563
2578
  let n = i.value;
2564
2579
  if (!n) return;
2565
- let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = K().filter((e) => ee(e, G())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
2580
+ let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = q().filter((e) => ee(e, U())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
2566
2581
  _.set("shared", g), y = !0;
2567
2582
  try {
2568
- W(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
2583
+ G(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
2569
2584
  } finally {
2570
2585
  y = !1;
2571
2586
  }
@@ -2575,56 +2590,56 @@ function Ir(e) {
2575
2590
  }
2576
2591
  //#endregion
2577
2592
  //#region src/components/core/useWaveformChartLifecycle.ts
2578
- function Lr(e) {
2593
+ function Vr(e) {
2579
2594
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2580
2595
  }
2581
- function Rr(e) {
2582
- let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
2596
+ function Hr(e) {
2597
+ let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: O, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
2583
2598
  function te(e) {
2584
- z.value || e.code !== "Space" || !t.pannable || !_.value || Lr(e.target) || (m.value = !0, e.preventDefault());
2599
+ z.value || e.code !== "Space" || !t.pannable || !_.value || Vr(e.target) || (m.value = !0, e.preventDefault());
2585
2600
  }
2586
2601
  function ne(e) {
2587
2602
  e.code === "Space" && (m.value = !1);
2588
2603
  }
2589
2604
  function re(e) {
2590
2605
  let r = Math.min(y.value, Math.max(1, Math.floor(e)));
2591
- r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() => q), F.value = {}), f(H), n("page-change", r, y.value));
2606
+ r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() => J), F.value = {}), f(H), n("page-change", r, y.value));
2592
2607
  }
2593
- let K, J;
2608
+ let K, q;
2594
2609
  function ie() {
2595
2610
  if (t.displayMode === "independent") {
2596
- K = void 0, J = new Map(w.value.flatMap((e) => {
2611
+ K = void 0, q = new Map(w.value.flatMap((e) => {
2597
2612
  let t = e.xScale.domain(), n = I(e);
2598
- return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[kr(e.seriesList.map((e) => e.id)), t]] : [];
2613
+ return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Nr(e.seriesList.map((e) => e.id)), t]] : [];
2599
2614
  }));
2600
2615
  return;
2601
2616
  }
2602
- J = void 0;
2603
- let e = D.value, n = k.value;
2617
+ q = void 0;
2618
+ let e = D.value, n = O.value;
2604
2619
  K = e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
2605
2620
  }
2606
2621
  function ae() {
2607
2622
  if (t.displayMode === "independent") {
2608
2623
  let e = P.value;
2609
- P.value = C.value.map((t, n) => e[n] ?? q);
2624
+ P.value = C.value.map((t, n) => e[n] ?? J);
2610
2625
  }
2611
2626
  B(), R.value = [], f(() => {
2612
- if (t.displayMode === "independent" && J) {
2613
- let e = C.value.map(() => q);
2627
+ if (t.displayMode === "independent" && q) {
2628
+ let e = C.value.map(() => J);
2614
2629
  w.value.forEach((n) => {
2615
- let r = J?.get(kr(n.seriesList.map((e) => e.id)));
2630
+ let r = q?.get(Nr(n.seriesList.map((e) => e.id)));
2616
2631
  if (!r) return;
2617
- let i = I(n), a = Er(r, i, [n.seriesList], t);
2618
- e[n.index] = Dr(a, i, n.width);
2619
- }), P.value = e, J = void 0;
2632
+ let i = I(n), a = Ar(r, i, [n.seriesList], t);
2633
+ e[n.index] = jr(a, i, n.width);
2634
+ }), P.value = e, q = void 0;
2620
2635
  } else if (t.displayMode !== "independent" && K) {
2621
- let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Er(K, e, n, t);
2622
- A.value = Dr(r, e, T.value), K = void 0;
2636
+ let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Ar(K, e, n, t);
2637
+ A.value = jr(r, e, T.value), K = void 0;
2623
2638
  }
2624
2639
  H();
2625
2640
  });
2626
2641
  }
2627
- O([
2642
+ k([
2628
2643
  T,
2629
2644
  E,
2630
2645
  () => t.zoomable,
@@ -2644,10 +2659,10 @@ function Rr(e) {
2644
2659
  j
2645
2660
  ], async () => {
2646
2661
  await f(), H();
2647
- }, { immediate: !0 }), O(() => t.displayMode, () => {
2662
+ }, { immediate: !0 }), k(() => t.displayMode, () => {
2648
2663
  let e = v.value;
2649
2664
  v.value = 1, U(), e !== 1 && n("page-change", 1, y.value);
2650
- }), O([
2665
+ }), k([
2651
2666
  y,
2652
2667
  () => t.grid?.rowCount,
2653
2668
  () => t.grid?.columnCount,
@@ -2655,23 +2670,23 @@ function Rr(e) {
2655
2670
  ], () => {
2656
2671
  let e = v.value;
2657
2672
  v.value = v.value > y.value ? y.value : v.value === 1 ? v.value : 1, e !== v.value && n("page-change", v.value, y.value), B(), f(H);
2658
- }), O(j, () => {
2673
+ }), k(j, () => {
2659
2674
  R.value = [];
2660
- }), O(z, (e) => {
2675
+ }), k(z, (e) => {
2661
2676
  m.value = !1, e && (W(), ee(), B(), L.closeContextMenu(), V());
2662
- }), O(() => S.value.map((e) => e.id).join("\0"), () => {
2677
+ }), k(() => S.value.map((e) => e.id).join("\0"), () => {
2663
2678
  if (t.hiddenSeriesIds !== void 0) return;
2664
2679
  let e = new Set(S.value.map((e) => e.id)), n = new Set(Array.from(N.value).filter((t) => e.has(t)));
2665
2680
  (n.size !== N.value.size || Array.from(N.value).some((e) => !n.has(e))) && (N.value = n);
2666
- }, { immediate: !0 }), O(() => C.value.flatMap((e) => e.visibleSeries.map((e) => e.id)).join("\0"), () => {
2681
+ }, { immediate: !0 }), k(() => C.value.flatMap((e) => e.visibleSeries.map((e) => e.id)).join("\0"), () => {
2667
2682
  B(), R.value = [];
2668
2683
  let e = L.editorDraft.value?.annotation.seriesId;
2669
2684
  e && (!S.value.some((t) => t.id === e) || M.value.has(e)) && L.closeEditor();
2670
2685
  let n = L.contextMenu.value?.annotationId, r = t.annotations.find((e) => e.id === n);
2671
2686
  r && M.value.has(r.seriesId) && L.closeContextMenu(), f(H);
2672
- }), O(() => t.annotationsVisible, (e) => {
2687
+ }), k(() => t.annotationsVisible, (e) => {
2673
2688
  e || (L.closeContextMenu(), V());
2674
- }), O(() => t.annotations, (e) => {
2689
+ }), k(() => t.annotations, (e) => {
2675
2690
  let t = L.contextMenu.value?.annotationId;
2676
2691
  t && !e.some((e) => e.id === t) && L.closeContextMenu();
2677
2692
  let n = L.editorDraft.value;
@@ -2685,7 +2700,7 @@ function Rr(e) {
2685
2700
  let e = i.value.getBoundingClientRect();
2686
2701
  c.value = i.value.scrollWidth || e.width, l.value = i.value.scrollHeight || e.height;
2687
2702
  }
2688
- return O([
2703
+ return k([
2689
2704
  u,
2690
2705
  d,
2691
2706
  p
@@ -2705,7 +2720,7 @@ function Rr(e) {
2705
2720
  }
2706
2721
  //#endregion
2707
2722
  //#region src/components/core/useWaveformData.ts
2708
- function zr(e) {
2723
+ function Ur(e) {
2709
2724
  return ln(e).map(({ source: e, ...t }) => {
2710
2725
  let n = e.metrics(t.errorBar.visible);
2711
2726
  return {
@@ -2718,45 +2733,45 @@ function zr(e) {
2718
2733
  };
2719
2734
  });
2720
2735
  }
2721
- function Br(e, t, n) {
2722
- let r = C(zr(e()));
2723
- return O(e, (e) => {
2724
- t(), r.value = zr(e), n();
2736
+ function Wr(e, t, n) {
2737
+ let r = w(Ur(e()));
2738
+ return k(e, (e) => {
2739
+ t(), r.value = Ur(e), n();
2725
2740
  }), r;
2726
2741
  }
2727
2742
  //#endregion
2728
2743
  //#region wasm/pkg/waveform_sampling_wasm.js
2729
- function Vr(e, t) {
2730
- let n = ti(e, $.__wbindgen_malloc), r = si, i = ti(t, $.__wbindgen_malloc), a = si, o = $.calculate_range(n, r, i, a);
2731
- if (o[3]) throw ni(o[2]);
2732
- var s = Kr(o[0], o[1]).slice();
2744
+ function Gr(e, t) {
2745
+ let n = ai(e, $.__wbindgen_malloc), r = di, i = ai(t, $.__wbindgen_malloc), a = di, o = $.calculate_range(n, r, i, a);
2746
+ if (o[3]) throw oi(o[2]);
2747
+ var s = Xr(o[0], o[1]).slice();
2733
2748
  return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
2734
2749
  }
2735
- function Hr(e, t, n, r) {
2736
- let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.find_visible_range(i, a, o, s, n, r);
2737
- if (c[3]) throw ni(c[2]);
2738
- var l = qr(c[0], c[1]).slice();
2750
+ function Kr(e, t, n, r) {
2751
+ let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.find_visible_range(i, a, o, s, n, r);
2752
+ if (c[3]) throw oi(c[2]);
2753
+ var l = Zr(c[0], c[1]).slice();
2739
2754
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2740
2755
  }
2741
- function Ur(e, t, n, r) {
2742
- let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.sample_aggregates(i, a, o, s, n, r);
2743
- if (c[3]) throw ni(c[2]);
2744
- var l = Kr(c[0], c[1]).slice();
2756
+ function qr(e, t, n, r) {
2757
+ let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.sample_aggregates(i, a, o, s, n, r);
2758
+ if (c[3]) throw oi(c[2]);
2759
+ var l = Xr(c[0], c[1]).slice();
2745
2760
  return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2746
2761
  }
2747
- function Wr(e, t, n, r) {
2748
- let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.sample_indexes(i, a, o, s, n, r);
2749
- if (c[3]) throw ni(c[2]);
2750
- var l = qr(c[0], c[1]).slice();
2762
+ function Jr(e, t, n, r) {
2763
+ let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.sample_indexes(i, a, o, s, n, r);
2764
+ if (c[3]) throw oi(c[2]);
2765
+ var l = Zr(c[0], c[1]).slice();
2751
2766
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2752
2767
  }
2753
- function Gr() {
2768
+ function Yr() {
2754
2769
  return {
2755
2770
  __proto__: null,
2756
2771
  "./waveform_sampling_wasm_bg.js": {
2757
2772
  __proto__: null,
2758
2773
  __wbindgen_cast_0000000000000001: function(e, t) {
2759
- return Xr(e, t);
2774
+ return ei(e, t);
2760
2775
  },
2761
2776
  __wbindgen_init_externref_table: function() {
2762
2777
  let e = $.__wbindgen_externrefs, t = e.grow(4);
@@ -2765,52 +2780,52 @@ function Gr() {
2765
2780
  }
2766
2781
  };
2767
2782
  }
2768
- function Kr(e, t) {
2769
- return e >>>= 0, Yr().subarray(e / 8, e / 8 + t);
2783
+ function Xr(e, t) {
2784
+ return e >>>= 0, $r().subarray(e / 8, e / 8 + t);
2770
2785
  }
2771
- function qr(e, t) {
2772
- return e >>>= 0, Qr().subarray(e / 4, e / 4 + t);
2786
+ function Zr(e, t) {
2787
+ return e >>>= 0, ni().subarray(e / 4, e / 4 + t);
2773
2788
  }
2774
- var Jr = null;
2775
- function Yr() {
2776
- return (Jr === null || Jr.byteLength === 0) && (Jr = new Float64Array($.memory.buffer)), Jr;
2789
+ var Qr = null;
2790
+ function $r() {
2791
+ return (Qr === null || Qr.byteLength === 0) && (Qr = new Float64Array($.memory.buffer)), Qr;
2777
2792
  }
2778
- function Xr(e, t) {
2779
- return e >>>= 0, oi(e, t);
2793
+ function ei(e, t) {
2794
+ return e >>>= 0, ui(e, t);
2780
2795
  }
2781
- var Zr = null;
2782
- function Qr() {
2783
- return (Zr === null || Zr.byteLength === 0) && (Zr = new Uint32Array($.memory.buffer)), Zr;
2796
+ var ti = null;
2797
+ function ni() {
2798
+ return (ti === null || ti.byteLength === 0) && (ti = new Uint32Array($.memory.buffer)), ti;
2784
2799
  }
2785
- var $r = null;
2786
- function ei() {
2787
- return ($r === null || $r.byteLength === 0) && ($r = new Uint8Array($.memory.buffer)), $r;
2800
+ var ri = null;
2801
+ function ii() {
2802
+ return (ri === null || ri.byteLength === 0) && (ri = new Uint8Array($.memory.buffer)), ri;
2788
2803
  }
2789
- function ti(e, t) {
2804
+ function ai(e, t) {
2790
2805
  let n = t(e.length * 8, 8) >>> 0;
2791
- return Yr().set(e, n / 8), si = e.length, n;
2806
+ return $r().set(e, n / 8), di = e.length, n;
2792
2807
  }
2793
- function ni(e) {
2808
+ function oi(e) {
2794
2809
  let t = $.__wbindgen_externrefs.get(e);
2795
2810
  return $.__externref_table_dealloc(e), t;
2796
2811
  }
2797
- var ri = new TextDecoder("utf-8", {
2812
+ var si = new TextDecoder("utf-8", {
2798
2813
  ignoreBOM: !0,
2799
2814
  fatal: !0
2800
2815
  });
2801
- ri.decode();
2802
- var ii = 2146435072, ai = 0;
2803
- function oi(e, t) {
2804
- return ai += t, ai >= ii && (ri = new TextDecoder("utf-8", {
2816
+ si.decode();
2817
+ var ci = 2146435072, li = 0;
2818
+ function ui(e, t) {
2819
+ return li += t, li >= ci && (si = new TextDecoder("utf-8", {
2805
2820
  ignoreBOM: !0,
2806
2821
  fatal: !0
2807
- }), ri.decode(), ai = t), ri.decode(ei().subarray(e, e + t));
2822
+ }), si.decode(), li = t), si.decode(ii().subarray(e, e + t));
2808
2823
  }
2809
- var si = 0, $;
2810
- function ci(e, t) {
2811
- return $ = e.exports, Jr = null, Zr = null, $r = null, $.__wbindgen_start(), $;
2824
+ var di = 0, $;
2825
+ function fi(e, t) {
2826
+ return $ = e.exports, Qr = null, ti = null, ri = null, $.__wbindgen_start(), $;
2812
2827
  }
2813
- async function li(e, t) {
2828
+ async function pi(e, t) {
2814
2829
  if (typeof Response == "function" && e instanceof Response) {
2815
2830
  if (typeof WebAssembly.instantiateStreaming == "function") try {
2816
2831
  return await WebAssembly.instantiateStreaming(e, t);
@@ -2836,17 +2851,17 @@ async function li(e, t) {
2836
2851
  return !1;
2837
2852
  }
2838
2853
  }
2839
- async function ui(e) {
2854
+ async function mi(e) {
2840
2855
  if ($ !== void 0) return $;
2841
2856
  e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,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kkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYC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ZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
2842
- let t = Gr();
2857
+ let t = Yr();
2843
2858
  (typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
2844
- let { instance: n, module: r } = await li(await e, t);
2845
- return ci(n, r);
2859
+ let { instance: n, module: r } = await pi(await e, t);
2860
+ return fi(n, r);
2846
2861
  }
2847
2862
  //#endregion
2848
2863
  //#region src/core/wasmSampling.ts
2849
- var di = {
2864
+ var hi = {
2850
2865
  none: 0,
2851
2866
  peak: 1,
2852
2867
  lttb: 2,
@@ -2855,24 +2870,24 @@ var di = {
2855
2870
  max: 5,
2856
2871
  minmax: 6,
2857
2872
  sum: 7
2858
- }, fi;
2859
- function pi(e, t) {
2873
+ }, gi;
2874
+ function _i(e, t) {
2860
2875
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
2861
2876
  }
2862
- function mi(e) {
2877
+ function vi(e) {
2863
2878
  if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
2864
2879
  }
2865
- function hi(e) {
2866
- return fi ??= Promise.resolve(ui(e)).then(() => void 0), fi;
2880
+ function yi(e) {
2881
+ return gi ??= Promise.resolve(mi(e)).then(() => void 0), gi;
2867
2882
  }
2868
- async function gi(e) {
2869
- mi(e), await hi();
2870
- let t = pi(e.targetPointCount, e.x.length), n = di[e.strategy];
2883
+ async function bi(e) {
2884
+ vi(e), await yi();
2885
+ let t = _i(e.targetPointCount, e.x.length), n = hi[e.strategy];
2871
2886
  if (e.strategy !== "average" && e.strategy !== "sum") return {
2872
2887
  kind: "source-indexes",
2873
- sourceIndexes: Wr(e.x, e.y, n, t)
2888
+ sourceIndexes: Jr(e.x, e.y, n, t)
2874
2889
  };
2875
- let r = Ur(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2890
+ let r = qr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2876
2891
  for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
2877
2892
  return {
2878
2893
  kind: "aggregates",
@@ -2880,38 +2895,54 @@ async function gi(e) {
2880
2895
  y: a
2881
2896
  };
2882
2897
  }
2883
- async function _i(e, t) {
2898
+ async function xi(e, t) {
2884
2899
  if (e.length !== t.length) throw Error("x and y must have the same length");
2885
- await hi();
2886
- let n = Vr(e, t);
2900
+ await yi();
2901
+ let n = Gr(e, t);
2887
2902
  return n.length === 4 ? {
2888
2903
  x: [n[0], n[1]],
2889
2904
  y: [n[2], n[3]]
2890
2905
  } : void 0;
2891
2906
  }
2892
- async function vi(e, t, n) {
2907
+ async function Si(e, t, n) {
2893
2908
  if (e.length !== t.length) throw Error("x and y must have the same length");
2894
- await hi();
2895
- let r = Hr(e, t, n[0], n[1]);
2909
+ await yi();
2910
+ let r = Kr(e, t, n[0], n[1]);
2896
2911
  return [r[0], r[1]];
2897
2912
  }
2898
2913
  //#endregion
2899
2914
  //#region src/components/core/trackPagination.ts
2900
- var yi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, bi = (e, t, n, r, i) => {
2915
+ var Ci = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, wi = (e, t, n, r, i) => {
2901
2916
  let a = t?.[i];
2902
2917
  if (a !== void 0) return a;
2903
2918
  if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
2904
- }, xi = (e, t, n) => (r) => {
2919
+ }, Ti = (e, t, n) => (r) => {
2905
2920
  let i = n(), a = i.findIndex((e) => e.id === r);
2906
- return bi(e(), t(), i.length, a >= 0 ? a : 0, r);
2921
+ return wi(e(), t(), i.length, a >= 0 ? a : 0, r);
2907
2922
  };
2908
2923
  //#endregion
2924
+ //#region src/components/core/yAxisLayoutMetrics.ts
2925
+ function Ei(e, t, n, r) {
2926
+ return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
2927
+ let n = r[t];
2928
+ return n ? [[e.id, n]] : [];
2929
+ })) : n;
2930
+ }
2931
+ function Di(e, t, n, r, i, a, o, s) {
2932
+ let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => ur(e, t, n, r, i)).map((e) => dr(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 12 / 2);
2933
+ return {
2934
+ tickClearance: u,
2935
+ fullClearance: l + 7 + 0 + 12 + 4,
2936
+ labelCenterX: d
2937
+ };
2938
+ }
2939
+ //#endregion
2909
2940
  //#region src/components/core/useWaveformLayout.ts
2910
- function Si(e) {
2941
+ function Oi(e) {
2911
2942
  let { props: n, preparedSeries: r, currentPage: i, hiddenSeriesIdSet: a, chartWidth: o, innerHeight: s, isCleanView: c, sharedTransform: l, independentTransforms: u, sharedYDomains: d, independentYDomains: f, annotationInteraction: p, linePointOverrides: m } = e, h = t(() => r.value.map((e, t) => ({
2912
2943
  ...e,
2913
2944
  color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
2914
- }))), g = t(() => zn(n.grid)), _ = t(() => {
2945
+ }))), g = t(() => Bn(n.grid)), _ = t(() => {
2915
2946
  let e = /* @__PURE__ */ new Map();
2916
2947
  h.value.forEach((t) => {
2917
2948
  let n = t.trackId || t.id, r = e.get(n);
@@ -2930,67 +2961,57 @@ function Si(e) {
2930
2961
  yDomain: o.length ? ht(o) : [0, 1]
2931
2962
  };
2932
2963
  });
2933
- }), v = t(() => Tn(n.rendering)), y = t(() => yi(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
2964
+ }), v = t(() => En(n.rendering)), y = t(() => Ci(_.value, g.value.hideEmptyTracks)), b = t(() => Hn(y.value.length, g.value)), x = t(() => Un(y.value, i.value, g.value)), S = t(() => {
2934
2965
  let e = x.value.filter((e) => e.series.length > 0);
2935
2966
  return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
2936
- }), C = t(() => {
2937
- let e = _.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => or(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => sr(e.domain, n.axes?.y?.nice !== !1, void 0, e.seriesList[0]?.unit, n.axes?.y?.splitNumber).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 0 + 12 / 2);
2938
- return {
2939
- tickClearance: r,
2940
- fullClearance: t + 7 + 0 + 12 + 4,
2941
- labelCenterX: i
2942
- };
2943
- }), w = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), T = t(() => _.value.some((e) => e.visibleSeries.length > 0)), E = t(() => Math.max(Lt.left, w.value ? C.value.fullClearance : T.value ? C.value.tickClearance : 0)), D = t(() => cr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber, n.axes?.y?.nice !== !1)), O = t(() => n.overlayMode === "multi-axis" ? Math.max(E.value, D.value.clearance.left) : E.value), k = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, D.value.clearance.right) : Lt.right), A = t(() => Math.max(0, o.value - O.value - k.value)), j = t(() => {
2944
- let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, C.value.fullClearance), a = Math.max(e, C.value.tickClearance), o = (A.value - i * Math.max(0, t - 1)) / t >= 120;
2967
+ }), C = t(() => rr(s.value, n.axes?.y?.splitNumber)), w = t(() => Ei(n.displayMode, _.value, d.value, f.value)), T = t(() => Di(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(Lt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => fr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, k.value.clearance.right) : Lt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
2968
+ let e = Wn(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, T.value.fullClearance), a = Math.max(e, T.value.tickClearance), o = (M.value - i * Math.max(0, t - 1)) / t >= 120;
2945
2969
  return {
2946
- horizontalGap: n.overlayMode === "multi-axis" && r && T.value ? Math.max(e, D.value.clearance.left + D.value.clearance.right) : r && T.value ? w.value && o ? i : a : e,
2947
- hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && w.value && !o
2970
+ horizontalGap: n.overlayMode === "multi-axis" && r && D.value ? Math.max(e, k.value.clearance.left + k.value.clearance.right) : r && D.value ? E.value && o ? i : a : e,
2971
+ hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
2948
2972
  };
2949
- }), M = t(() => h.value.length > 0), N = t(() => A.value > 0 && s.value > 0), P = t(() => n.xLabel ?? `时间(${n.timeUnit})`), F = t(() => n.interactionMode), I = t(() => F.value !== "annotation"), L = t(() => {
2973
+ }), P = t(() => h.value.length > 0), F = t(() => M.value > 0 && s.value > 0), I = t(() => n.xLabel ?? `时间(${n.timeUnit})`), L = t(() => n.interactionMode), R = t(() => L.value !== "annotation"), z = t(() => {
2950
2974
  let e = [];
2951
2975
  return _.value.forEach((t) => {
2952
2976
  t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
2953
2977
  }), ht(e);
2954
- }), R = t(() => {
2978
+ }), B = t(() => {
2955
2979
  let e = n.initialXDomain;
2956
- return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Jn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Jn(L.value, n.xDomainStrategy);
2957
- }), z = (e) => {
2980
+ return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Yn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Yn(z.value, n.xDomainStrategy);
2981
+ }), V = (e) => {
2958
2982
  let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
2959
- return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Jn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Jn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2960
- }, B = t(() => l.value.rescaleX(U(R.value, [0, A.value])).domain()), V = t(() => Wn(A.value, s.value, g.value, n.displayMode, S.value.map(Boolean), j.value.horizontalGap).map((e, t) => ({
2983
+ return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Yn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Yn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2984
+ }, H = t(() => l.value.rescaleX(W(B.value, [0, M.value])).domain()), U = t(() => Gn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
2961
2985
  ...e,
2962
2986
  series: S.value[t]
2963
- }))), H = t(() => Xn({
2964
- cells: V.value,
2987
+ }))), G = t(() => Zn({
2988
+ cells: U.value,
2965
2989
  grid: g.value,
2966
2990
  displayMode: n.displayMode,
2967
2991
  overlayMode: n.overlayMode,
2968
2992
  independentTransforms: u.value,
2969
- sharedZoomDomain: B.value,
2970
- initialXDomain: n.initialXDomain ? R.value : void 0,
2993
+ sharedZoomDomain: H.value,
2994
+ initialXDomain: n.initialXDomain ? B.value : void 0,
2971
2995
  initialXDomains: n.initialXDomains,
2972
2996
  xDomainStrategy: n.xDomainStrategy,
2973
2997
  fixedYDomain: n.yDomain,
2974
2998
  fixedYDomains: n.yDomains,
2975
- yDomains: n.displayMode === "independent" ? Object.fromEntries(_.value.flatMap((e, t) => {
2976
- let n = f.value[t];
2977
- return n ? [[e.id, n]] : [];
2978
- })) : d.value,
2999
+ yDomains: w.value,
2979
3000
  timeUnit: n.timeUnit,
2980
3001
  xAxisLabelFormatter: n.axes?.x?.labelFormatter,
2981
3002
  yAxisSplitNumber: n.axes?.y?.splitNumber,
2982
3003
  yAxisNice: n.axes?.y?.nice,
2983
3004
  rendering: v.value,
2984
3005
  linePointOverrides: m?.value,
2985
- hideSecondaryLabels: c.value || j.value.hideSecondaryLabels,
2986
- yAxisLabelX: D.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? C.value.labelCenterX,
2987
- yAxisSlots: n.overlayMode === "multi-axis" ? D.value.slots : void 0,
2988
- showCompactEmptyTracks: n.displayMode === "compact" && M.value
2989
- })), W = (e) => e.seriesList.map((t) => ({
3006
+ hideSecondaryLabels: c.value || N.value.hideSecondaryLabels,
3007
+ yAxisLabelX: k.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? T.value.labelCenterX,
3008
+ yAxisSlots: n.overlayMode === "multi-axis" ? k.value.slots : void 0,
3009
+ showCompactEmptyTracks: n.displayMode === "compact" && P.value
3010
+ })), ee = (e) => e.seriesList.map((t) => ({
2990
3011
  ...e,
2991
3012
  series: t,
2992
3013
  yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
2993
- })), G = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, ee = t(() => H.value.flatMap(W));
3014
+ })), te = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, ne = t(() => G.value.flatMap(ee));
2994
3015
  return {
2995
3016
  chartSeries: h,
2996
3017
  chartTracks: _,
@@ -2999,23 +3020,23 @@ function Si(e) {
2999
3020
  gridOptions: g,
3000
3021
  pageCount: b,
3001
3022
  pagedTracks: x,
3002
- resolvedChartLeftMargin: O,
3003
- innerWidth: A,
3004
- hasVisibleWaveformData: T,
3005
- hasWaveformData: M,
3006
- hasChartArea: N,
3007
- resolvedXLabel: P,
3008
- activeInteractionMode: F,
3009
- isZoomMode: I,
3010
- initialXDomain: R,
3011
- sharedZoomDomain: B,
3012
- resolveInitialTrackDomain: z,
3013
- gridCells: V,
3014
- trackLayouts: H,
3015
- annotationLayoutsForTrack: W,
3016
- resolveSeriesYScale: G,
3017
- annotationTrackLayouts: ee,
3018
- renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ee.value, A.value, s.value) : []),
3023
+ resolvedChartLeftMargin: A,
3024
+ innerWidth: M,
3025
+ hasVisibleWaveformData: D,
3026
+ hasWaveformData: P,
3027
+ hasChartArea: F,
3028
+ resolvedXLabel: I,
3029
+ activeInteractionMode: L,
3030
+ isZoomMode: R,
3031
+ initialXDomain: B,
3032
+ sharedZoomDomain: H,
3033
+ resolveInitialTrackDomain: V,
3034
+ gridCells: U,
3035
+ trackLayouts: G,
3036
+ annotationLayoutsForTrack: ee,
3037
+ resolveSeriesYScale: te,
3038
+ annotationTrackLayouts: ne,
3039
+ renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ne.value, M.value, s.value) : []),
3019
3040
  editorSeries: t(() => {
3020
3041
  let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
3021
3042
  return t ? {
@@ -3025,16 +3046,16 @@ function Si(e) {
3025
3046
  unit: t.unit
3026
3047
  } : void 0;
3027
3048
  }),
3028
- resolveFrameNumber: xi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3049
+ resolveFrameNumber: Ti(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3029
3050
  };
3030
3051
  }
3031
- var Ci = 1e-6;
3032
- function wi(e) {
3052
+ var ki = 1e-6;
3053
+ function Ai(e) {
3033
3054
  return Number.isFinite(e) ? Math.max(1, e) : 1;
3034
3055
  }
3035
- function Ti({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3036
- let i = wi(e), a = wi(t), o = wi(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
3037
- if (!(d > Ci && Math.abs(d - 360) > Ci)) {
3056
+ function ji({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3057
+ let i = Ai(e), a = Ai(t), o = Ai(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
3058
+ if (!(d > ki && Math.abs(d - 360) > ki)) {
3038
3059
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
3039
3060
  return {
3040
3061
  textWidth: t,
@@ -3059,7 +3080,7 @@ function Ti({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
3059
3080
  }
3060
3081
  //#endregion
3061
3082
  //#region src/components/core/useWaveformPresentation.ts
3062
- function Ei(e) {
3083
+ function Mi(e) {
3063
3084
  let { props: n, observedWidth: r, observedHeight: i, measuredTitleWidth: a, measuredTitleHeight: o, internalHiddenSeriesIds: s, paginationBandHeight: c } = e, l = t(() => Number.isFinite(n.width) ? Math.max(0, n.width ?? 0) : void 0), u = t(() => Number.isFinite(n.height) ? Math.max(180, n.height ?? 0) : void 0), d = t(() => r.value > 0 ? r.value : l.value ?? 0), f = t(() => i.value > 0 ? i.value : u.value ?? 180), p = t(() => ({
3064
3085
  width: l.value === void 0 ? "100%" : `${l.value}px`,
3065
3086
  height: u.value === void 0 ? "100%" : `${u.value}px`
@@ -3104,7 +3125,7 @@ function Ei(e) {
3104
3125
  maxWidth: O.value ? "none" : `${j.value}px`,
3105
3126
  whiteSpace: O.value ? "nowrap" : "normal",
3106
3127
  overflowWrap: O.value ? "normal" : "anywhere"
3107
- })), N = t(() => Ti({
3128
+ })), N = t(() => ji({
3108
3129
  naturalWidth: a.value || A.value,
3109
3130
  naturalHeight: o.value || E.value * 1.2,
3110
3131
  availableWidth: j.value,
@@ -3160,66 +3181,66 @@ function Ei(e) {
3160
3181
  }
3161
3182
  //#endregion
3162
3183
  //#region src/core/samplingReferenceValues.ts
3163
- function Di(e, t) {
3184
+ function Ni(e, t) {
3164
3185
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3165
3186
  }
3166
- function Oi(e, t, n, r) {
3187
+ function Pi(e, t, n, r) {
3167
3188
  let i = r - n;
3168
3189
  return {
3169
3190
  start: n + Math.floor(e * i / t),
3170
3191
  end: n + Math.floor((e + 1) * i / t)
3171
3192
  };
3172
3193
  }
3173
- function ki(e, t) {
3194
+ function Fi(e, t) {
3174
3195
  e[e.length - 1] !== t && e.push(t);
3175
3196
  }
3176
- function Ai(e, t, n) {
3197
+ function Ii(e, t, n) {
3177
3198
  if (e <= t) return Array.from({ length: e }, (e, t) => t);
3178
3199
  if (t === 1) return [0];
3179
3200
  if (t === 2) return [0, e - 1];
3180
3201
  let r = [0];
3181
- return n().forEach((e) => ki(r, e)), ki(r, e - 1), r;
3202
+ return n().forEach((e) => Fi(r, e)), Fi(r, e - 1), r;
3182
3203
  }
3183
- function ji(e, t, n) {
3204
+ function Li(e, t, n) {
3184
3205
  let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
3185
- return Ai(e.length, t, () => {
3206
+ return Ii(e.length, t, () => {
3186
3207
  if (!r) return [];
3187
3208
  let t = [];
3188
3209
  for (let i = 0; i < r; i += 1) {
3189
- let a = Oi(i, r, 1, e.length - 1), o = a.start, s = a.start;
3210
+ let a = Pi(i, r, 1, e.length - 1), o = a.start, s = a.start;
3190
3211
  for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
3191
- n === "min" ? ki(t, o) : n === "max" ? ki(t, s) : o <= s ? (ki(t, o), ki(t, s)) : (ki(t, s), ki(t, o));
3212
+ n === "min" ? Fi(t, o) : n === "max" ? Fi(t, s) : o <= s ? (Fi(t, o), Fi(t, s)) : (Fi(t, s), Fi(t, o));
3192
3213
  }
3193
3214
  return t;
3194
3215
  });
3195
3216
  }
3196
- function Mi(e, t) {
3217
+ function Ri(e, t) {
3197
3218
  let n = Math.floor((t - 2) / 4);
3198
- return Ai(e.length, t, () => {
3219
+ return Ii(e.length, t, () => {
3199
3220
  if (!n) return [];
3200
3221
  let t = [];
3201
3222
  for (let r = 0; r < n; r += 1) {
3202
- let i = Oi(r, n, 1, e.length - 1), a = i.start, o = i.start;
3223
+ let i = Pi(r, n, 1, e.length - 1), a = i.start, o = i.start;
3203
3224
  for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
3204
3225
  [
3205
3226
  i.start,
3206
3227
  a,
3207
3228
  o,
3208
3229
  i.end - 1
3209
- ].sort((e, t) => e - t).forEach((e) => ki(t, e));
3230
+ ].sort((e, t) => e - t).forEach((e) => Fi(t, e));
3210
3231
  }
3211
3232
  return t;
3212
3233
  });
3213
3234
  }
3214
- function Ni(e, t, n) {
3215
- return Ai(e.length, n, () => {
3235
+ function zi(e, t, n) {
3236
+ return Ii(e.length, n, () => {
3216
3237
  let r = (e.length - 2) / (n - 2), i = [], a = 0;
3217
3238
  for (let o = 0; o < n - 2; o += 1) {
3218
3239
  let s = Math.min(e.length, Math.floor((o + 1) * r) + 1), c = Math.min(e.length, Math.floor((o + 2) * r) + 1), l = 0, u = 0;
3219
3240
  for (let n = s; n < c; n += 1) l += e[n], u += t[n];
3220
3241
  let d = c - s;
3221
3242
  d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
3222
- let f = Oi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3243
+ let f = Pi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3223
3244
  for (let n = f.start; n < f.end; n += 1) {
3224
3245
  let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
3225
3246
  r > m && (m = r, p = n);
@@ -3229,10 +3250,10 @@ function Ni(e, t, n) {
3229
3250
  return i;
3230
3251
  });
3231
3252
  }
3232
- function Pi(e, t, n, r) {
3233
- let i = Di(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3253
+ function Bi(e, t, n, r) {
3254
+ let i = Ni(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3234
3255
  for (let n = 0; n < i; n += 1) {
3235
- let s = Oi(n, i, 0, e.length);
3256
+ let s = Pi(n, i, 0, e.length);
3236
3257
  for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
3237
3258
  let c = s.end - s.start;
3238
3259
  a[n] /= c, r === "average" && (o[n] /= c);
@@ -3243,10 +3264,10 @@ function Pi(e, t, n, r) {
3243
3264
  y: o
3244
3265
  };
3245
3266
  }
3246
- function Fi(e, t, n, r) {
3267
+ function Vi(e, t, n, r) {
3247
3268
  if (e.length !== t.length) throw Error("x and y must have the same length");
3248
- if (n === "average" || n === "sum") return Pi(e, t, r, n);
3249
- let i = Di(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Mi(t, i) : n === "lttb" ? Ni(e, t, i) : ji(t, i, n);
3269
+ if (n === "average" || n === "sum") return Bi(e, t, r, n);
3270
+ let i = Ni(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Ri(t, i) : n === "lttb" ? zi(e, t, i) : Li(t, i, n);
3250
3271
  return {
3251
3272
  kind: "source-indexes",
3252
3273
  sourceIndexes: Uint32Array.from(a)
@@ -3254,41 +3275,41 @@ function Fi(e, t, n, r) {
3254
3275
  }
3255
3276
  //#endregion
3256
3277
  //#region src/core/workerSampling/javascriptBackend.ts
3257
- var Ii = {
3278
+ var Hi = {
3258
3279
  kind: "javascript",
3259
3280
  sample(e) {
3260
- return Fi(e.x, e.y, e.strategy, e.targetPointCount);
3281
+ return Vi(e.x, e.y, e.strategy, e.targetPointCount);
3261
3282
  }
3262
- }, Li = 8 * 1024 * 1024;
3263
- function Ri(e, t) {
3283
+ }, Ui = 8 * 1024 * 1024;
3284
+ function Wi(e, t) {
3264
3285
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3265
3286
  }
3266
- function zi(e, t, n, r) {
3287
+ function Gi(e, t, n, r) {
3267
3288
  let i = r - n;
3268
3289
  return {
3269
3290
  start: n + Math.floor(e * i / t),
3270
3291
  end: n + Math.floor((e + 1) * i / t)
3271
3292
  };
3272
3293
  }
3273
- function Bi(e, t) {
3294
+ function Ki(e, t) {
3274
3295
  e[e.length - 1] !== t && e.push(t);
3275
3296
  }
3276
- function Vi(e) {
3297
+ function qi(e) {
3277
3298
  return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
3278
3299
  }
3279
- function Hi(e, t) {
3300
+ function Ji(e, t) {
3280
3301
  let n = 1;
3281
3302
  for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
3282
3303
  return n;
3283
3304
  }
3284
- var Ui = class {
3305
+ var Yi = class {
3285
3306
  points;
3286
3307
  extremaLayers = [];
3287
3308
  sumLayers = [];
3288
3309
  indexBytes = 0;
3289
3310
  maxBytes;
3290
3311
  constructor(e, t = {}) {
3291
- this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Li;
3312
+ this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ui;
3292
3313
  }
3293
3314
  get byteLength() {
3294
3315
  return this.indexBytes;
@@ -3297,7 +3318,7 @@ var Ui = class {
3297
3318
  this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
3298
3319
  }
3299
3320
  sample(e, t, n, r) {
3300
- let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Ri(r, o);
3321
+ let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Wi(r, o);
3301
3322
  if (n !== "lttb") return n === "average" || n === "sum" ? this.aggregate(i, a, s, n) : n === "none" || o <= s ? this.allIndexes(i, a) : s === 1 ? this.indexes([i]) : s === 2 ? this.indexes([i, a - 1]) : this.extrema(i, a, s, n);
3302
3323
  }
3303
3324
  allIndexes(e, t) {
@@ -3317,24 +3338,24 @@ var Ui = class {
3317
3338
  if (i === 0) return this.indexes([e, t - 1]);
3318
3339
  let a = [e];
3319
3340
  for (let n = 0; n < i; n += 1) {
3320
- let o = zi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3341
+ let o = Gi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3321
3342
  if (!s) return;
3322
- if (r === "min") Bi(a, s.minimum);
3323
- else if (r === "max") Bi(a, s.maximum);
3324
- else if (r === "minmax") s.minimum <= s.maximum ? (Bi(a, s.minimum), Bi(a, s.maximum)) : (Bi(a, s.maximum), Bi(a, s.minimum));
3343
+ if (r === "min") Ki(a, s.minimum);
3344
+ else if (r === "max") Ki(a, s.maximum);
3345
+ else if (r === "minmax") s.minimum <= s.maximum ? (Ki(a, s.minimum), Ki(a, s.maximum)) : (Ki(a, s.maximum), Ki(a, s.minimum));
3325
3346
  else for (let e of [
3326
3347
  o.start,
3327
3348
  s.minimum,
3328
3349
  s.maximum,
3329
3350
  o.end - 1
3330
- ].sort((e, t) => e - t)) Bi(a, e);
3351
+ ].sort((e, t) => e - t)) Ki(a, e);
3331
3352
  }
3332
- return Bi(a, t - 1), this.indexes(a);
3353
+ return Ki(a, t - 1), this.indexes(a);
3333
3354
  }
3334
3355
  aggregate(e, t, n, r) {
3335
3356
  let i = new Float64Array(n), a = new Float64Array(n);
3336
3357
  for (let o = 0; o < n; o += 1) {
3337
- let s = zi(o, n, e, t), c = this.querySum(s.start, s.end);
3358
+ let s = Gi(o, n, e, t), c = this.querySum(s.start, s.end);
3338
3359
  if (!c || c.count === 0) return;
3339
3360
  i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
3340
3361
  }
@@ -3349,7 +3370,7 @@ var Ui = class {
3349
3370
  if (!this.ensureExtrema(n)) return;
3350
3371
  let r = e, i = e;
3351
3372
  for (let n = e; n < t;) {
3352
- let e = Hi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3373
+ let e = Ji(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3353
3374
  this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
3354
3375
  }
3355
3376
  return {
@@ -3362,7 +3383,7 @@ var Ui = class {
3362
3383
  if (!this.ensureSum(n)) return;
3363
3384
  let r = 0, i = 0, a = 0;
3364
3385
  for (let n = e; n < t;) {
3365
- let e = Hi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3386
+ let e = Ji(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3366
3387
  if (c) r += c.x[s], i += c.y[s], a += c.count[s];
3367
3388
  else {
3368
3389
  let e = this.points[n];
@@ -3383,7 +3404,7 @@ var Ui = class {
3383
3404
  minimumIndexes: new Uint32Array(e),
3384
3405
  maximumIndexes: new Uint32Array(e)
3385
3406
  };
3386
- if (!this.reserve(Vi(n))) return !1;
3407
+ if (!this.reserve(qi(n))) return !1;
3387
3408
  let r = this.extremaLayers[t - 1];
3388
3409
  for (let t = 0; t < e; t += 1) {
3389
3410
  let e = t * 2, i = e + 1, a = r ? r.minimumIndexes[e] : e, o = r ? r.maximumIndexes[e] : e, s = r ? i < r.minimumIndexes.length : i < this.points.length, c = r && s ? r.minimumIndexes[i] : i, l = r && s ? r.maximumIndexes[i] : i;
@@ -3401,7 +3422,7 @@ var Ui = class {
3401
3422
  y: new Float64Array(e),
3402
3423
  count: new Uint32Array(e)
3403
3424
  };
3404
- if (!this.reserve(Vi(n))) return !1;
3425
+ if (!this.reserve(qi(n))) return !1;
3405
3426
  let r = this.sumLayers[t - 1];
3406
3427
  for (let t = 0; t < e; t += 1) {
3407
3428
  let e = t * 2, i = e + 1;
@@ -3426,8 +3447,8 @@ var Ui = class {
3426
3447
  let n = this.points[e], r = this.points[t];
3427
3448
  return n.y > r.y || n.y === r.y && e < t;
3428
3449
  }
3429
- }, Wi = 1e3, Gi = I((e) => e.x);
3430
- function Ki(e) {
3450
+ }, Xi = 1e3, Zi = L((e) => e.x);
3451
+ function Qi(e) {
3431
3452
  let t = [], n = !0, r = -Infinity;
3432
3453
  for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
3433
3454
  x: i.x,
@@ -3438,7 +3459,7 @@ function Ki(e) {
3438
3459
  }));
3439
3460
  return n || t.sort((e, t) => e.x - t.x), t;
3440
3461
  }
3441
- function qi(e, t) {
3462
+ function $i(e, t) {
3442
3463
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
3443
3464
  for (let t of e) n = Math.min(n, t.x), r = Math.max(r, t.x), i = Math.min(i, t.y), a = Math.max(a, t.y);
3444
3465
  return {
@@ -3448,7 +3469,7 @@ function qi(e, t) {
3448
3469
  yDomain: e.length ? [i, a] : null
3449
3470
  };
3450
3471
  }
3451
- function Ji(e, t, n = e.length) {
3472
+ function ea(e, t, n = e.length) {
3452
3473
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
3453
3474
  for (let n = 0; n < e.length; n += 1) r = Math.min(r, e[n]), i = Math.max(i, e[n]), a = Math.min(a, t[n]), o = Math.max(o, t[n]);
3454
3475
  return {
@@ -3458,39 +3479,39 @@ function Ji(e, t, n = e.length) {
3458
3479
  yDomain: e.length ? [a, o] : null
3459
3480
  };
3460
3481
  }
3461
- function Yi(e, t) {
3482
+ function ta(e, t) {
3462
3483
  return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
3463
3484
  }
3464
- function Xi(e) {
3485
+ function na(e) {
3465
3486
  return e === "auto" ? "peak" : e;
3466
3487
  }
3467
- function Zi(e) {
3488
+ function ra(e) {
3468
3489
  if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
3469
3490
  let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
3470
3491
  return Math.max(1, Math.floor(t * n));
3471
3492
  }
3472
- function Qi(e, t) {
3493
+ function ia(e, t) {
3473
3494
  if (e.mode === "raw") return !0;
3474
3495
  if (e.mode !== "auto") return !1;
3475
- let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Wi;
3496
+ let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Xi;
3476
3497
  if (!e.previousSelectedMode) return t <= n;
3477
3498
  let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
3478
3499
  return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
3479
3500
  }
3480
- function $i(e, t) {
3501
+ function aa(e, t) {
3481
3502
  let n = e[0], r = e.at(-1);
3482
- return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Gi.center(e, t)] : void 0;
3503
+ return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Zi.center(e, t)] : void 0;
3483
3504
  }
3484
- function ea(e) {
3505
+ function oa(e) {
3485
3506
  return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
3486
3507
  }
3487
- function ta(e, t) {
3508
+ function sa(e, t) {
3488
3509
  return e.kind === "aggregates" ? e : {
3489
3510
  kind: "source-indexes",
3490
3511
  sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
3491
3512
  };
3492
3513
  }
3493
- function na(e, t, n, r, i) {
3514
+ function ca(e, t, n, r, i) {
3494
3515
  return [
3495
3516
  e.datasetId,
3496
3517
  e.revision,
@@ -3510,14 +3531,14 @@ function na(e, t, n, r, i) {
3510
3531
  e.errorBarMinSpacing ?? 0
3511
3532
  ].join("\0");
3512
3533
  }
3513
- function ra(e, t, n, r, i, a, o, s) {
3534
+ function la(e, t, n, r, i, a, o, s) {
3514
3535
  return {
3515
3536
  seriesId: e.seriesId,
3516
3537
  datasetId: e.datasetId,
3517
3538
  mode: e.mode,
3518
3539
  selectedMode: i,
3519
3540
  backend: r,
3520
- strategy: Xi(e.strategy),
3541
+ strategy: na(e.strategy),
3521
3542
  sourcePointCount: t,
3522
3543
  visiblePointCount: n,
3523
3544
  renderedPointCount: o,
@@ -3533,18 +3554,18 @@ function ra(e, t, n, r, i, a, o, s) {
3533
3554
  }
3534
3555
  //#endregion
3535
3556
  //#region src/core/workerSampling/repositoryDataset.ts
3536
- function ia(e) {
3557
+ function ua(e) {
3537
3558
  return e?.y.length ?? 0;
3538
3559
  }
3539
- function aa(e, t) {
3560
+ function da(e, t) {
3540
3561
  return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
3541
3562
  }
3542
- function oa(e, t) {
3563
+ function fa(e, t) {
3543
3564
  let n = (t, n) => {
3544
- let r = 0, i = ia(e);
3565
+ let r = 0, i = ua(e);
3545
3566
  for (; r < i;) {
3546
3567
  let a = r + Math.floor((i - r) / 2);
3547
- (n ? aa(e, a) <= t : aa(e, a) < t) ? r = a + 1 : i = a;
3568
+ (n ? da(e, a) <= t : da(e, a) < t) ? r = a + 1 : i = a;
3548
3569
  }
3549
3570
  return r;
3550
3571
  }, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
@@ -3553,13 +3574,13 @@ function oa(e, t) {
3553
3574
  end: n(i, !0)
3554
3575
  };
3555
3576
  }
3556
- function sa(e, t, n) {
3557
- return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => aa(e, t + r));
3577
+ function pa(e, t, n) {
3578
+ return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => da(e, t + r));
3558
3579
  }
3559
- function ca(e) {
3580
+ function ma(e) {
3560
3581
  return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
3561
3582
  }
3562
- function la(e, t) {
3583
+ function ha(e, t) {
3563
3584
  let n = [], r = Math.min(e.length, t.length);
3564
3585
  for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
3565
3586
  return n.sort((t, n) => e[t] - e[n] || t - n), {
@@ -3567,14 +3588,14 @@ function la(e, t) {
3567
3588
  y: Float64Array.from(n, (e) => t[e])
3568
3589
  };
3569
3590
  }
3570
- function ua(e, t, n, r) {
3591
+ function ga(e, t, n, r) {
3571
3592
  if (t?.kind === "typed") {
3572
- let e = la(t.x, t.y);
3593
+ let e = ha(t.x, t.y);
3573
3594
  return {
3574
3595
  x: e.x,
3575
3596
  y: e.y,
3576
3597
  revision: n,
3577
- metrics: Ji(e.x, e.y, Math.max(t.x.length, t.y.length))
3598
+ metrics: ea(e.x, e.y, Math.max(t.x.length, t.y.length))
3578
3599
  };
3579
3600
  }
3580
3601
  if (t?.kind === "samples") {
@@ -3608,35 +3629,35 @@ function ua(e, t, n, r) {
3608
3629
  }
3609
3630
  };
3610
3631
  }
3611
- let i = Ki(e ?? t?.points ?? []);
3632
+ let i = Qi(e ?? t?.points ?? []);
3612
3633
  return {
3613
3634
  x: Float64Array.from(i, (e) => e.x),
3614
3635
  y: Float64Array.from(i, (e) => e.y),
3615
3636
  points: i,
3616
3637
  revision: n,
3617
- metrics: qi(i, e?.length ?? t?.points.length ?? 0),
3618
- index: new Ui(i, { maxBytes: r })
3638
+ metrics: $i(i, e?.length ?? t?.points.length ?? 0),
3639
+ index: new Yi(i, { maxBytes: r })
3619
3640
  };
3620
3641
  }
3621
- function da(e, t, n) {
3622
- !ca(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3642
+ function _a(e, t, n) {
3643
+ !ma(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3623
3644
  }
3624
- function fa(e, t) {
3625
- t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ca(e) && e.disposeDataset(t.wasmDatasetHandle);
3645
+ function va(e, t) {
3646
+ t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ma(e) && e.disposeDataset(t.wasmDatasetHandle);
3626
3647
  }
3627
3648
  //#endregion
3628
3649
  //#region src/core/workerSampling/samplingCache.ts
3629
- var pa = 96, ma = 16 * 1024 * 1024;
3630
- function ha(e) {
3650
+ var ya = 96, ba = 16 * 1024 * 1024;
3651
+ function xa(e) {
3631
3652
  return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
3632
3653
  }
3633
- var ga = class {
3654
+ var Sa = class {
3634
3655
  entries = /* @__PURE__ */ new Map();
3635
3656
  bytes = 0;
3636
3657
  maxEntries;
3637
3658
  maxBytes;
3638
3659
  constructor(e = {}) {
3639
- this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : pa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ma;
3660
+ this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : ya, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ba;
3640
3661
  }
3641
3662
  get metrics() {
3642
3663
  return {
@@ -3651,7 +3672,7 @@ var ga = class {
3651
3672
  if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
3652
3673
  }
3653
3674
  set(e, t) {
3654
- let n = ha(t);
3675
+ let n = xa(t);
3655
3676
  if (n > this.maxBytes || this.maxEntries === 0) return;
3656
3677
  let r = this.entries.get(e);
3657
3678
  for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
@@ -3671,14 +3692,14 @@ var ga = class {
3671
3692
  clear() {
3672
3693
  this.entries.clear(), this.bytes = 0;
3673
3694
  }
3674
- }, _a = class {
3695
+ }, Ca = class {
3675
3696
  datasets = /* @__PURE__ */ new Map();
3676
3697
  javascriptBackend;
3677
3698
  cache;
3678
3699
  indexMaxBytes;
3679
3700
  wasmBackend;
3680
3701
  constructor(e = {}) {
3681
- this.javascriptBackend = e.javascriptBackend ?? Ii, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new ga({
3702
+ this.javascriptBackend = e.javascriptBackend ?? Hi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Sa({
3682
3703
  maxEntries: e.cacheMaxEntries,
3683
3704
  maxBytes: e.cacheMaxBytes
3684
3705
  });
@@ -3691,9 +3712,9 @@ var ga = class {
3691
3712
  };
3692
3713
  }
3693
3714
  setWasmBackend(e) {
3694
- this.wasmBackend && this.wasmBackend !== e && ca(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3715
+ this.wasmBackend && this.wasmBackend !== e && ma(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3695
3716
  e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
3696
- })), this.wasmBackend = e, ca(e) && this.datasets.forEach((t) => da(e, t, this.indexMaxBytes));
3717
+ })), this.wasmBackend = e, ma(e) && this.datasets.forEach((t) => _a(e, t, this.indexMaxBytes));
3697
3718
  }
3698
3719
  handle(e) {
3699
3720
  switch (e.type) {
@@ -3709,15 +3730,15 @@ var ga = class {
3709
3730
  register(e, t, n, r) {
3710
3731
  let i = this.datasets.get(e);
3711
3732
  if (i) return this.datasetResponse(t, e, i, "stale-revision");
3712
- let a = ua(n, r, 1, this.indexMaxBytes);
3713
- return da(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3733
+ let a = ga(n, r, 1, this.indexMaxBytes);
3734
+ return _a(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3714
3735
  }
3715
3736
  replace(e, t, n, r, i) {
3716
- let a = this.datasets.get(e), o = Yi(a, n);
3737
+ let a = this.datasets.get(e), o = ta(a, n);
3717
3738
  if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
3718
- fa(this.wasmBackend, a), this.cache.deleteDataset(e);
3719
- let s = ua(r, i, a.revision + 1, this.indexMaxBytes);
3720
- return da(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3739
+ va(this.wasmBackend, a), this.cache.deleteDataset(e);
3740
+ let s = ga(r, i, a.revision + 1, this.indexMaxBytes);
3741
+ return _a(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3721
3742
  }
3722
3743
  sample(e) {
3723
3744
  return {
@@ -3727,28 +3748,28 @@ var ga = class {
3727
3748
  };
3728
3749
  }
3729
3750
  sampleSeries(e, t) {
3730
- let n = performance.now(), r = this.datasets.get(t.datasetId), i = Yi(r, t.revision);
3751
+ let n = performance.now(), r = this.datasets.get(t.datasetId), i = ta(r, t.revision);
3731
3752
  if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
3732
- let a = oa(r, t.xDomain), o = a.end - a.start;
3733
- if (Qi(t, o)) return this.sampleResponse(e, t, "ok", {
3753
+ let a = fa(r, t.xDomain), o = a.end - a.start;
3754
+ if (ia(t, o)) return this.sampleResponse(e, t, "ok", {
3734
3755
  kind: "source-indexes",
3735
3756
  sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
3736
3757
  }, "raw", "raw", o, n, !1);
3737
3758
  let s = t.mode === "wasm" || t.mode === "auto" && this.wasmBackend ? this.wasmBackend : this.javascriptBackend, c = !s && t.wasmFailureFallback === "javascript", l = s ?? (c ? this.javascriptBackend : void 0);
3738
3759
  if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
3739
- let u = Xi(t.strategy), d = Zi(t), f = na(t, a, u, d, l.kind), p = this.cache.get(f);
3760
+ let u = na(t.strategy), d = ra(t), f = ca(t, a, u, d, l.kind), p = this.cache.get(f);
3740
3761
  if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
3741
- let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ca(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? ta(l.sample({
3742
- x: sa(r, a.start, a.end),
3762
+ let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ma(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? sa(l.sample({
3763
+ x: pa(r, a.start, a.end),
3743
3764
  y: r.y.subarray(a.start, a.end),
3744
3765
  points: r.points?.slice(a.start, a.end) ?? [],
3745
3766
  strategy: u,
3746
3767
  targetPointCount: d
3747
3768
  }), a.start);
3748
- return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ca(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3769
+ return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ma(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3749
3770
  }
3750
3771
  sampleResponse(e, t, n, r, i, a, o, s, c) {
3751
- let l = ra(t, ia(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, ea(r), c);
3772
+ let l = la(t, ua(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, oa(r), c);
3752
3773
  return l.requestId = e, {
3753
3774
  seriesId: t.seriesId,
3754
3775
  datasetId: t.datasetId,
@@ -3759,7 +3780,7 @@ var ga = class {
3759
3780
  };
3760
3781
  }
3761
3782
  findNearest(e, t, n, r) {
3762
- let i = this.datasets.get(e), a = Yi(i, n);
3783
+ let i = this.datasets.get(e), a = ta(i, n);
3763
3784
  return a !== "ok" || !i ? {
3764
3785
  type: "find-nearest-point-response",
3765
3786
  requestId: t,
@@ -3772,12 +3793,12 @@ var ga = class {
3772
3793
  datasetId: e,
3773
3794
  revision: n,
3774
3795
  status: a,
3775
- point: i.points ? $i(i.points, r) : (() => {
3776
- let e = oa(i, [r, r]);
3777
- if (!ia(i) || r < aa(i, 0) || r > aa(i, ia(i) - 1)) return;
3778
- let t = Math.min(ia(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - aa(i, n)) < Math.abs(aa(i, t) - r) ? n : t;
3779
- return Number.isFinite(r) && ia(i) ? {
3780
- x: aa(i, a),
3796
+ point: i.points ? aa(i.points, r) : (() => {
3797
+ let e = fa(i, [r, r]);
3798
+ if (!ua(i) || r < da(i, 0) || r > da(i, ua(i) - 1)) return;
3799
+ let t = Math.min(ua(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - da(i, n)) < Math.abs(da(i, t) - r) ? n : t;
3800
+ return Number.isFinite(r) && ua(i) ? {
3801
+ x: da(i, a),
3781
3802
  y: i.y[a]
3782
3803
  } : void 0;
3783
3804
  })()
@@ -3785,15 +3806,15 @@ var ga = class {
3785
3806
  }
3786
3807
  metrics(e, t, n) {
3787
3808
  let r = this.datasets.get(e);
3788
- return this.datasetResponse(t, e, r, Yi(r, n));
3809
+ return this.datasetResponse(t, e, r, ta(r, n));
3789
3810
  }
3790
3811
  dispose(e, t, n) {
3791
- let r = this.datasets.get(e), i = Yi(r, n);
3792
- return i === "ok" && r && (fa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3812
+ let r = this.datasets.get(e), i = ta(r, n);
3813
+ return i === "ok" && r && (va(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3793
3814
  }
3794
3815
  disposeAll(e) {
3795
3816
  let t = [...this.datasets.keys()];
3796
- return this.datasets.forEach((e) => fa(this.wasmBackend, e)), ca(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3817
+ return this.datasets.forEach((e) => va(this.wasmBackend, e)), ma(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3797
3818
  type: "dispose-all-response",
3798
3819
  requestId: e,
3799
3820
  disposedDatasetIds: t
@@ -3815,10 +3836,10 @@ var ga = class {
3815
3836
  };
3816
3837
  //#endregion
3817
3838
  //#region src/components/core/latestTaskScheduler.ts
3818
- function va(e, t, n, r) {
3839
+ function wa(e, t, n, r) {
3819
3840
  return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
3820
3841
  }
3821
- function ya() {
3842
+ function Ta() {
3822
3843
  let e = 0, t = !1, n, r = !1, i = {
3823
3844
  scheduled: 0,
3824
3845
  coalesced: 0,
@@ -3857,12 +3878,12 @@ function ya() {
3857
3878
  }
3858
3879
  //#endregion
3859
3880
  //#region src/components/core/workerSamplingClient.ts
3860
- function ba(e) {
3881
+ function Ea(e) {
3861
3882
  return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
3862
3883
  }
3863
- function xa() {
3884
+ function Da() {
3864
3885
  let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
3865
- t ??= new _a();
3886
+ t ??= new Ca();
3866
3887
  for (let [e, n] of i) {
3867
3888
  t.handle({
3868
3889
  type: "register-dataset",
@@ -3898,7 +3919,7 @@ function xa() {
3898
3919
  let t = a();
3899
3920
  e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
3900
3921
  }, c = (r) => {
3901
- t || (n = ba(r), e?.terminate(), e = void 0, s());
3922
+ t || (n = Ea(r), e?.terminate(), e = void 0, s());
3902
3923
  };
3903
3924
  try {
3904
3925
  typeof Worker > "u" ? c() : (e = new Worker(new URL(
@@ -3935,20 +3956,20 @@ function xa() {
3935
3956
  }
3936
3957
  };
3937
3958
  }
3938
- function Sa(e) {
3959
+ function Oa(e) {
3939
3960
  return e.type === "dataset-response";
3940
3961
  }
3941
3962
  //#endregion
3942
3963
  //#region src/components/core/useWaveformRenderSampling.ts
3943
- var Ca = 120;
3944
- function wa(e, t) {
3964
+ var ka = 120;
3965
+ function Aa(e, t) {
3945
3966
  let n = e.output;
3946
3967
  if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
3947
3968
  x: e,
3948
3969
  y: n.y[t]
3949
3970
  })) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
3950
3971
  }
3951
- function Ta(e, t) {
3972
+ function ja(e, t) {
3952
3973
  let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
3953
3974
  return {
3954
3975
  seriesId: n.seriesId,
@@ -3970,7 +3991,7 @@ function Ta(e, t) {
3970
3991
  maxPendingRequestCount: 0
3971
3992
  };
3972
3993
  }
3973
- function Ea(e) {
3994
+ function Ma(e) {
3974
3995
  let { source: t } = e, { start: n, end: r } = e.visibleRange, i = r - n, a = Number.isFinite(e.request.maxPointCount) && (e.request.maxPointCount ?? 0) >= 1 ? Math.floor(e.request.maxPointCount) : Math.max(1, Math.floor(e.request.plotWidth * e.request.maxPointsPerPixel));
3975
3996
  if (i <= a) return t.pointsInRange(n, r);
3976
3997
  if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
@@ -3981,7 +4002,7 @@ function Ea(e) {
3981
4002
  }
3982
4003
  return o;
3983
4004
  }
3984
- function Da(e, t, n, r) {
4005
+ function Na(e, t, n, r) {
3985
4006
  return {
3986
4007
  message: e,
3987
4008
  mode: t,
@@ -3989,14 +4010,14 @@ function Da(e, t, n, r) {
3989
4010
  seriesIds: r
3990
4011
  };
3991
4012
  }
3992
- function Oa(e) {
3993
- let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = ya(), d, f, p = !1, m = t(() => {
4013
+ function Pa(e) {
4014
+ let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = Ta(), d, f, p = !1, m = t(() => {
3994
4015
  let t = e.renderingOptions.value.sampling;
3995
4016
  return e.sourceTrackLayouts.value.flatMap((n) => {
3996
4017
  let r = n.xScale.domain();
3997
4018
  return n.seriesList.flatMap((i) => {
3998
4019
  if (i.lineType === "none" || n.width <= 0) return [];
3999
- let o = i.source ?? X(i.points), s = o.visibleRange(r), c = `${e.instanceId}:${i.id}`;
4020
+ let o = i.source ?? Z(i.points), s = o.visibleRange(r), c = `${e.instanceId}:${i.id}`;
4000
4021
  return [{
4001
4022
  series: i,
4002
4023
  source: o,
@@ -4055,13 +4076,13 @@ function Oa(e) {
4055
4076
  revision: 0,
4056
4077
  dataset: t.source.toWorkerDataset()
4057
4078
  });
4058
- !u.isCurrent(n) || !Sa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4079
+ !u.isCurrent(n) || !Oa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4059
4080
  }));
4060
4081
  }, x = async (t, n = !1) => {
4061
4082
  let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
4062
4083
  if (o.forEach((e) => {
4063
- let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && va(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4064
- e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(Ta(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Ea(e)), l.push({
4084
+ let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && wa(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4085
+ e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(ja(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Ma(e)), l.push({
4065
4086
  ...e,
4066
4087
  request: {
4067
4088
  ...e.request,
@@ -4073,7 +4094,7 @@ function Oa(e) {
4073
4094
  e.linePointOverrides.value = c, v(d);
4074
4095
  return;
4075
4096
  }
4076
- if (e.linePointOverrides.value = c, r ??= xa(), await b(r, l, t), !u.isCurrent(t)) return;
4097
+ if (e.linePointOverrides.value = c, r ??= Da(), await b(r, l, t), !u.isCurrent(t)) return;
4077
4098
  let f = l.map((e) => ({
4078
4099
  ...e.request,
4079
4100
  revision: a.get(e.request.datasetId) ?? 1
@@ -4088,23 +4109,23 @@ function Oa(e) {
4088
4109
  p = e;
4089
4110
  } catch (n) {
4090
4111
  if (!u.isCurrent(t)) return;
4091
- y(Da(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4112
+ y(Na(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4092
4113
  return;
4093
4114
  }
4094
4115
  if (!u.isCurrent(t)) return;
4095
4116
  let h = new Map(l.map((e) => [e.series.id, e.source]));
4096
4117
  p.results.forEach((e) => {
4097
- let t = h.get(e.seriesId), n = t ? wa(e, t) : void 0;
4098
- n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Da(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4099
- }), p.workerError && y(Da(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Da(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4118
+ let t = h.get(e.seriesId), n = t ? Aa(e, t) : void 0;
4119
+ n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Na(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4120
+ }), p.workerError && y(Na(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Na(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4100
4121
  };
4101
- return O(h, () => {
4122
+ return k(h, () => {
4102
4123
  f && clearTimeout(f);
4103
4124
  let t = p;
4104
4125
  p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
4105
4126
  f = void 0, u.schedule((e) => x(e, !1));
4106
- }, Ca));
4107
- }, { immediate: !0 }), O(e.preparedSeries, () => {
4127
+ }, ka));
4128
+ }, { immediate: !0 }), k(e.preparedSeries, () => {
4108
4129
  u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
4109
4130
  }, { flush: "sync" }), _(() => {
4110
4131
  d && clearTimeout(d), f && clearTimeout(f), u.dispose(), r?.dispose();
@@ -4112,11 +4133,11 @@ function Oa(e) {
4112
4133
  }
4113
4134
  //#endregion
4114
4135
  //#region src/components/core/useWaveformChartController.ts
4115
- function ka(e, t) {
4136
+ function Fa(e, t) {
4116
4137
  e.value = t instanceof Element ? t : void 0;
4117
4138
  }
4118
- function Aa(e, t) {
4119
- let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(q), p = C([]), m = b({}), h = b({}), g = S({
4139
+ function Ia(e, t) {
4140
+ let n = x(), r = x(), i = x(), a = x(), o = x(0), s = x(0), c = x(0), l = x(0), u = x(0), f = w(J), p = w([]), m = x({}), h = x({}), g = C({
4120
4141
  points: [],
4121
4142
  trackIndex: null,
4122
4143
  queryX: null,
@@ -4125,131 +4146,131 @@ function Aa(e, t) {
4125
4146
  x: 0,
4126
4147
  y: 0
4127
4148
  }
4128
- }), _ = b(!1), v = b(1), x = C(), w = ce("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Fr();
4129
- O([() => e.yDomain, () => e.yDomains], () => {
4149
+ }), _ = x(!1), v = x(1), y = w(), S = le("waveform-clip"), T = x(new Set(e.defaultHiddenSeriesIds)), D = mt(), O = w({}), j = x([]), M = zr();
4150
+ k([() => e.yDomain, () => e.yDomains], () => {
4130
4151
  m.value = {}, h.value = {};
4131
4152
  }, { deep: !0 });
4132
- let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Br(() => e.data, () => {
4153
+ let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Wr(() => e.data, () => {
4133
4154
  R(), I();
4134
- }, () => L()), B = Ei({
4155
+ }, () => L()), B = Mi({
4135
4156
  props: e,
4136
4157
  observedWidth: o,
4137
4158
  observedHeight: s,
4138
4159
  measuredTitleWidth: c,
4139
4160
  measuredTitleHeight: l,
4140
- internalHiddenSeriesIds: E,
4161
+ internalHiddenSeriesIds: T,
4141
4162
  paginationBandHeight: u
4142
- }), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: J } = B, ie = Si({
4163
+ }), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: q } = B, ie = Oi({
4143
4164
  props: e,
4144
4165
  preparedSeries: z,
4145
4166
  currentPage: v,
4146
4167
  hiddenSeriesIdSet: G,
4147
4168
  chartWidth: V,
4148
- innerHeight: J,
4169
+ innerHeight: q,
4149
4170
  isCleanView: U,
4150
4171
  sharedTransform: f,
4151
4172
  independentTransforms: p,
4152
4173
  sharedYDomains: m,
4153
4174
  independentYDomains: h,
4154
4175
  annotationInteraction: d(D),
4155
- linePointOverrides: A
4156
- }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: le, gridOptions: ue, pageCount: Y, pagedTracks: de, resolvedChartLeftMargin: fe, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
4157
- Oa({
4176
+ linePointOverrides: O
4177
+ }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: ue, pageCount: de, pagedTracks: Y, resolvedChartLeftMargin: fe, innerWidth: X, hasChartArea: pe, activeInteractionMode: me, isZoomMode: he, initialXDomain: ge, sharedZoomDomain: _e, resolveInitialTrackDomain: ve, annotationLayoutsForTrack: ye, resolveSeriesYScale: be } = ie;
4178
+ Pa({
4158
4179
  props: e,
4159
4180
  emit: t,
4160
- instanceId: w,
4181
+ instanceId: S,
4161
4182
  preparedSeries: z,
4162
- sourceTrackLayouts: le,
4183
+ sourceTrackLayouts: ce,
4163
4184
  renderingOptions: se,
4164
- linePointOverrides: A
4165
- }), k(() => {
4166
- u.value = ue.value.showPagination && Y.value > 1 && V.value <= 520 ? 40 : 0;
4185
+ linePointOverrides: O
4186
+ }), A(() => {
4187
+ u.value = ue.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
4167
4188
  });
4168
- let X = Ir({
4189
+ let xe = Br({
4169
4190
  props: e,
4170
4191
  emit: t,
4171
4192
  svgElement: r,
4172
4193
  sharedOverlayElement: a,
4173
4194
  sharedTransform: f,
4174
4195
  independentTransforms: p,
4175
- trackLayouts: le,
4176
- initialXDomain: _e,
4177
- sharedZoomDomain: ve,
4178
- innerWidth: pe,
4179
- innerHeight: J,
4180
- hasChartArea: me,
4181
- isZoomMode: ge,
4196
+ trackLayouts: ce,
4197
+ initialXDomain: ge,
4198
+ sharedZoomDomain: _e,
4199
+ innerWidth: X,
4200
+ innerHeight: q,
4201
+ hasChartArea: pe,
4202
+ isZoomMode: he,
4182
4203
  isPresentationMode: W,
4183
- resolveInitialTrackDomain: ye,
4184
- cancelPendingHover: () => we.cancelPendingHover()
4204
+ resolveInitialTrackDomain: ve,
4205
+ cancelPendingHover: () => Ce.cancelPendingHover()
4185
4206
  });
4186
- R = X.prepareForDataChange;
4187
- let Se = fr({
4207
+ R = xe.prepareForDataChange;
4208
+ let Z = gr({
4188
4209
  props: e,
4189
4210
  emit: t,
4190
4211
  container: n,
4191
4212
  chartSeries: ae,
4192
4213
  hiddenSeriesIdSet: G,
4193
- internalHiddenSeriesIds: E,
4214
+ internalHiddenSeriesIds: T,
4194
4215
  annotationInteraction: D,
4195
4216
  editorSeriesOptions: j,
4196
- trackLayouts: le,
4197
- annotationLayoutsForTrack: be,
4198
- resolveSeriesYScale: xe,
4217
+ trackLayouts: ce,
4218
+ annotationLayoutsForTrack: ye,
4219
+ resolveSeriesYScale: be,
4199
4220
  chartWidth: V,
4200
4221
  chartHeight: H,
4201
- innerWidth: pe,
4222
+ innerWidth: X,
4202
4223
  resolvedChartLeftMargin: fe,
4203
4224
  titleAreaHeight: re,
4204
4225
  chartTopMargin: K,
4205
- activeInteractionMode: he,
4226
+ activeInteractionMode: me,
4206
4227
  isPresentationMode: W
4207
- }), Ce = Pr({
4228
+ }), Se = Rr({
4208
4229
  props: e,
4209
4230
  emit: t,
4210
4231
  selection: N,
4211
4232
  spacePressed: P,
4212
- trackLayouts: le,
4233
+ trackLayouts: ce,
4213
4234
  chartTracks: oe,
4214
- initialXDomain: _e,
4215
- innerWidth: pe,
4216
- innerHeight: J,
4235
+ initialXDomain: ge,
4236
+ innerWidth: X,
4237
+ innerHeight: q,
4217
4238
  sharedOverlayElement: a,
4218
4239
  sharedTransform: f,
4219
4240
  independentTransforms: p,
4220
4241
  sharedYDomains: m,
4221
4242
  independentYDomains: h,
4222
- isZoomMode: ge,
4243
+ isZoomMode: he,
4223
4244
  isPresentationMode: W,
4224
4245
  editorSeriesOptions: j,
4225
- resolveInitialTrackDomain: ye,
4226
- canZoomTrack: X.canZoomTrack,
4227
- canZoomSharedTracks: X.canZoomSharedTracks,
4228
- configureZoom: X.configureZoom,
4229
- cancelPendingZoom: X.cancelPendingZoom,
4230
- clearHover: () => we.clearHover(),
4231
- resolveTrackAtPointer: Se.resolveTrackAtPointer
4232
- }), we = pr({
4246
+ resolveInitialTrackDomain: ve,
4247
+ canZoomTrack: xe.canZoomTrack,
4248
+ canZoomSharedTracks: xe.canZoomSharedTracks,
4249
+ configureZoom: xe.configureZoom,
4250
+ cancelPendingZoom: xe.cancelPendingZoom,
4251
+ clearHover: () => Ce.clearHover(),
4252
+ resolveTrackAtPointer: Z.resolveTrackAtPointer
4253
+ }), Ce = _r({
4233
4254
  emit: t,
4234
4255
  hoverState: g,
4235
4256
  suppressHoverUntilMove: _,
4236
4257
  hoverThrottle: M,
4237
4258
  selection: N,
4238
- trackLayouts: le,
4239
- innerWidth: pe,
4259
+ trackLayouts: ce,
4260
+ innerWidth: X,
4240
4261
  resolvedChartLeftMargin: fe,
4241
4262
  titleAreaHeight: re,
4242
4263
  chartTopMargin: K,
4243
4264
  sharedOverlayElement: a,
4244
4265
  isPresentationMode: W,
4245
- updateViewportDrag: Ce.updateViewportDrag,
4246
- resolveTrackAtPointer: Se.resolveTrackAtPointer
4247
- }), Te = Rr({
4266
+ updateViewportDrag: Se.updateViewportDrag,
4267
+ resolveTrackAtPointer: Z.resolveTrackAtPointer
4268
+ }), we = Hr({
4248
4269
  props: e,
4249
4270
  emit: t,
4250
4271
  container: n,
4251
4272
  titleMeasureElement: i,
4252
- resizeObserver: x,
4273
+ resizeObserver: y,
4253
4274
  observedWidth: o,
4254
4275
  observedHeight: s,
4255
4276
  measuredTitleWidth: c,
@@ -4260,43 +4281,43 @@ function Aa(e, t) {
4260
4281
  spacePressed: P,
4261
4282
  pointerInsideChart: F,
4262
4283
  currentPage: v,
4263
- pageCount: Y,
4264
- pagedTracks: de,
4284
+ pageCount: de,
4285
+ pagedTracks: Y,
4265
4286
  gridOptions: ue,
4266
4287
  chartSeries: ae,
4267
4288
  chartTracks: oe,
4268
- trackLayouts: le,
4269
- innerWidth: pe,
4270
- innerHeight: J,
4271
- sharedZoomDomain: ve,
4272
- initialXDomain: _e,
4289
+ trackLayouts: ce,
4290
+ innerWidth: X,
4291
+ innerHeight: q,
4292
+ sharedZoomDomain: _e,
4293
+ initialXDomain: ge,
4273
4294
  sharedTransform: f,
4274
- activeInteractionMode: he,
4295
+ activeInteractionMode: me,
4275
4296
  hiddenSeriesIdSet: G,
4276
- internalHiddenSeriesIds: E,
4297
+ internalHiddenSeriesIds: T,
4277
4298
  independentTransforms: p,
4278
4299
  independentYDomains: h,
4279
- resolveInitialTrackDomain: ye,
4300
+ resolveInitialTrackDomain: ve,
4280
4301
  annotationInteraction: D,
4281
4302
  editorSeriesOptions: j,
4282
4303
  isPresentationMode: W,
4283
- clearHover: we.clearHover,
4284
- cancelAnnotation: Se.cancelAnnotation,
4285
- configureZoom: X.configureZoom,
4286
- resetViewport: Ce.resetViewport,
4287
- cancelViewportDrag: Ce.cancelViewportDrag,
4288
- cancelPendingHover: we.cancelPendingHover,
4289
- clearZoomBindings: X.clearZoomBindings
4304
+ clearHover: Ce.clearHover,
4305
+ cancelAnnotation: Z.cancelAnnotation,
4306
+ configureZoom: xe.configureZoom,
4307
+ resetViewport: Se.resetViewport,
4308
+ cancelViewportDrag: Se.cancelViewportDrag,
4309
+ cancelPendingHover: Ce.cancelPendingHover,
4310
+ clearZoomBindings: xe.clearZoomBindings
4290
4311
  });
4291
- return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, y({
4292
- ...T(e),
4312
+ return I = we.handleBeforeDataReferenceChange, L = we.handleDataReferenceChange, b({
4313
+ ...E(e),
4293
4314
  ...B,
4294
4315
  ...ie,
4316
+ ...Z,
4295
4317
  ...Se,
4296
4318
  ...Ce,
4297
- ...we,
4298
4319
  margin: Lt,
4299
- getPageSize: Bn,
4320
+ getPageSize: Vn,
4300
4321
  currentPage: v,
4301
4322
  selection: N,
4302
4323
  pointerInsideChart: F,
@@ -4305,36 +4326,36 @@ function Aa(e, t) {
4305
4326
  editorDraft: D.editorDraft,
4306
4327
  contextMenu: D.contextMenu,
4307
4328
  editorSeriesOptions: j,
4308
- clipPathId: w,
4309
- goToPage: Te.goToPage,
4310
- setContainer: (e) => ka(n, e),
4311
- setSvgElement: (e) => ka(r, e),
4312
- setTitleMeasureElement: (e) => ka(i, e),
4313
- setSharedOverlayElement: (e) => ka(a, e)
4329
+ clipPathId: S,
4330
+ goToPage: we.goToPage,
4331
+ setContainer: (e) => Fa(n, e),
4332
+ setSvgElement: (e) => Fa(r, e),
4333
+ setTitleMeasureElement: (e) => Fa(i, e),
4334
+ setSharedOverlayElement: (e) => Fa(a, e)
4314
4335
  });
4315
4336
  }
4316
4337
  //#endregion
4317
4338
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
4318
- var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4339
+ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4319
4340
  class: "waveform-annotation-editor__coordinates",
4320
4341
  "aria-label": "标注坐标"
4321
- }, Pa = ["aria-invalid"], Fa = {
4342
+ }, Ba = ["aria-invalid"], Va = {
4322
4343
  class: "waveform-annotation-editor__coordinate-value",
4323
4344
  "aria-hidden": "true"
4324
- }, Ia = ["id"], La = {
4345
+ }, Ha = ["id"], Ua = {
4325
4346
  key: 0,
4326
4347
  class: "waveform-annotation-editor__series",
4327
4348
  "aria-label": "标注所属波形"
4328
- }, Ra = { class: "waveform-annotation-editor__series-label" }, za = ["value"], Ba = ["value"], Va = { key: 1 }, Ha = { class: "waveform-annotation-editor__field" }, Ua = { class: "waveform-annotation-editor__label-row" }, Wa = ["maxlength"], Ga = { class: "waveform-annotation-editor__colors" }, Ka = {
4349
+ }, Wa = { class: "waveform-annotation-editor__series-label" }, Ga = ["value"], Ka = ["value"], qa = { key: 1 }, Ja = { class: "waveform-annotation-editor__field" }, Ya = { class: "waveform-annotation-editor__label-row" }, Xa = ["maxlength"], Za = { class: "waveform-annotation-editor__colors" }, Qa = {
4329
4350
  class: "waveform-annotation-editor__color-field",
4330
4351
  title: "调整标注边框色和透明度"
4331
- }, qa = {
4352
+ }, $a = {
4332
4353
  class: "waveform-annotation-editor__color-field",
4333
4354
  title: "调整标注文字色和透明度"
4334
- }, Ja = {
4355
+ }, eo = {
4335
4356
  class: "waveform-annotation-editor__color-field",
4336
4357
  title: "调整标注背景色和透明度"
4337
- }, Ya = /*#__PURE__*/ et(/* @__PURE__ */ l({
4358
+ }, to = /*#__PURE__*/ et(/* @__PURE__ */ l({
4338
4359
  __name: "WaveformAnnotationEditor",
4339
4360
  props: {
4340
4361
  annotation: {},
@@ -4354,7 +4375,7 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4354
4375
  let u = c(async () => typeof window > "u" ? {
4355
4376
  name: "WaveformColorPickerSsrFallback",
4356
4377
  render: () => null
4357
- } : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g = ce("waveform-annotation-editor-title"), _ = b(""), y = b(""), S = b(!1), C = b(""), T = b(""), k = b(""), M = t(() => S.value && (!y.value.trim() || !Number.isFinite(Number(y.value))) ? "请输入有效的时间" : ""), N = t(() => S.value && (M.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && y.value.trim().length > 0 && Number.isFinite(Number(y.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
4378
+ } : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g = le("waveform-annotation-editor-title"), _ = x(""), v = x(""), b = x(!1), C = x(""), w = x(""), E = x(""), A = t(() => b.value && (!v.value.trim() || !Number.isFinite(Number(v.value))) ? "请输入有效的时间" : ""), N = t(() => b.value && (A.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && v.value.trim().length > 0 && Number.isFinite(Number(v.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
4358
4379
  let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
4359
4380
  return e ? {
4360
4381
  id: e.seriesId,
@@ -4365,14 +4386,14 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4365
4386
  });
4366
4387
  function L() {
4367
4388
  let e = Ue(d.annotation.style);
4368
- _.value = d.annotation.text, y.value = Pt(d.annotation.x, d.timeUnit), S.value = !1, C.value = e.borderColor, T.value = e.textColor, k.value = e.backgroundColor, f(() => h.value?.focus());
4389
+ _.value = d.annotation.text, v.value = Pt(d.annotation.x, d.timeUnit), b.value = !1, C.value = e.borderColor, w.value = e.textColor, E.value = e.backgroundColor, f(() => h.value?.focus());
4369
4390
  }
4370
- O(() => d.annotation.id, L, { immediate: !0 });
4391
+ k(() => d.annotation.id, L, { immediate: !0 });
4371
4392
  function R(e) {
4372
- y.value = e == null ? "" : String(e), S.value = !1;
4393
+ v.value = e == null ? "" : String(e), b.value = !1;
4373
4394
  }
4374
4395
  function z() {
4375
- S.value = !0, p("time-change", y.value);
4396
+ b.value = !0, p("time-change", v.value);
4376
4397
  }
4377
4398
  async function B() {
4378
4399
  z(), await f(), P.value && p("confirm", {
@@ -4380,8 +4401,8 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4380
4401
  text: _.value.trim(),
4381
4402
  style: {
4382
4403
  borderColor: C.value,
4383
- textColor: T.value,
4384
- backgroundColor: k.value.trim() || "rgba(255, 255, 255, 0.92)"
4404
+ textColor: w.value,
4405
+ backgroundColor: E.value.trim() || "rgba(255, 255, 255, 0.92)"
4385
4406
  }
4386
4407
  });
4387
4408
  }
@@ -4392,7 +4413,7 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4392
4413
  let t = e.target;
4393
4414
  t.value && p("series-change", t.value);
4394
4415
  }
4395
- return (t, o) => (v(), n(E(ae), {
4416
+ return (t, o) => (y(), n(D(oe), {
4396
4417
  visible: !0,
4397
4418
  width: 440,
4398
4419
  "mask-closable": !0,
@@ -4405,23 +4426,23 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4405
4426
  onCancel: o[4] ||= (e) => p("cancel"),
4406
4427
  onOk: B
4407
4428
  }, {
4408
- title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, ja)]),
4409
- default: A(() => [a("div", Ma, [
4410
- a("div", Na, [
4429
+ title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, La)]),
4430
+ default: j(() => [a("div", Ra, [
4431
+ a("div", za, [
4411
4432
  a("label", {
4412
4433
  class: "waveform-annotation-editor__coordinate-input",
4413
4434
  "aria-invalid": !!N.value
4414
4435
  }, [
4415
4436
  o[5] ||= a("b", null, "X", -1),
4416
- s(E(ie), {
4417
- value: y.value === "" ? void 0 : Number(y.value),
4437
+ s(D(ae), {
4438
+ value: v.value === "" ? void 0 : Number(v.value),
4418
4439
  controls: !0,
4419
4440
  step: .001,
4420
4441
  keyboard: !0,
4421
4442
  status: N.value ? "error" : void 0,
4422
4443
  "aria-label": "标注横轴时间",
4423
4444
  "aria-invalid": !!N.value,
4424
- "aria-describedby": N.value ? `${E(g)}-time-error` : void 0,
4445
+ "aria-describedby": N.value ? `${D(g)}-time-error` : void 0,
4425
4446
  onBlur: z,
4426
4447
  "onUpdate:value": R
4427
4448
  }, null, 8, [
@@ -4430,49 +4451,49 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4430
4451
  "aria-invalid",
4431
4452
  "aria-describedby"
4432
4453
  ]),
4433
- a("code", Fa, w(y.value), 1)
4434
- ], 8, Pa),
4435
- N.value ? (v(), i("p", {
4454
+ a("code", Va, T(v.value), 1)
4455
+ ], 8, Ba),
4456
+ N.value ? (y(), i("p", {
4436
4457
  key: 0,
4437
- id: `${E(g)}-time-error`,
4458
+ id: `${D(g)}-time-error`,
4438
4459
  class: "waveform-annotation-editor__coordinate-error",
4439
4460
  role: "alert"
4440
- }, w(N.value), 9, Ia)) : r("", !0),
4441
- a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
4461
+ }, T(N.value), 9, Ha)) : r("", !0),
4462
+ a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(Ot)(d.annotation.y)), 1)])
4442
4463
  ]),
4443
4464
  o[13] ||= a("p", {
4444
4465
  class: "waveform-annotation-editor__coordinate-hint",
4445
4466
  role: "note"
4446
4467
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
4447
- I.value ? (v(), i("label", La, [
4468
+ I.value ? (y(), i("label", Ua, [
4448
4469
  a("i", {
4449
4470
  style: m({ backgroundColor: I.value.color }),
4450
4471
  "aria-hidden": "true"
4451
4472
  }, null, 4),
4452
- a("span", Ra, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4453
- d.seriesOptions?.length ? (v(), i("select", {
4473
+ a("span", Wa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
4474
+ d.seriesOptions?.length ? (y(), i("select", {
4454
4475
  key: 0,
4455
4476
  value: d.annotation.seriesId,
4456
4477
  "aria-label": "选择标注波形",
4457
4478
  onChange: H
4458
- }, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
4479
+ }, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
4459
4480
  key: e.seriesId,
4460
4481
  value: e.seriesId
4461
- }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Ba))), 128))], 40, za)) : I.value.unit ? (v(), i("code", Va, w(I.value.unit), 1)) : r("", !0)
4482
+ }, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, Ka))), 128))], 40, Ga)) : I.value.unit ? (y(), i("code", qa, T(I.value.unit), 1)) : r("", !0)
4462
4483
  ])) : r("", !0),
4463
- a("label", Ha, [a("span", Ua, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4484
+ a("label", Ja, [a("span", Ya, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
4464
4485
  ref_key: "textarea",
4465
4486
  ref: h,
4466
4487
  "onUpdate:modelValue": o[0] ||= (e) => _.value = e,
4467
4488
  rows: "4",
4468
- maxlength: E(40),
4489
+ maxlength: D(40),
4469
4490
  "aria-label": "标注文本",
4470
4491
  placeholder: "输入这处波形的说明",
4471
4492
  onKeydown: V
4472
- }, null, 40, Wa), [[D, _.value]])]),
4473
- a("fieldset", Ga, [
4493
+ }, null, 40, Xa), [[O, _.value]])]),
4494
+ a("fieldset", Za, [
4474
4495
  o[12] ||= a("legend", null, "颜色与透明度", -1),
4475
- a("label", Ka, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4496
+ a("label", Qa, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
4476
4497
  "pure-color": C.value,
4477
4498
  "onUpdate:pureColor": o[1] ||= (e) => C.value = e,
4478
4499
  "aria-label": "标注边框色",
@@ -4482,9 +4503,9 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4482
4503
  "disable-alpha": !1,
4483
4504
  "blur-close": !0
4484
4505
  }, null, 8, ["pure-color"])]),
4485
- a("label", qa, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4486
- "pure-color": T.value,
4487
- "onUpdate:pureColor": o[2] ||= (e) => T.value = e,
4506
+ a("label", $a, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
4507
+ "pure-color": w.value,
4508
+ "onUpdate:pureColor": o[2] ||= (e) => w.value = e,
4488
4509
  "aria-label": "标注文字色",
4489
4510
  "use-type": "pure",
4490
4511
  "picker-type": "chrome",
@@ -4492,9 +4513,9 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4492
4513
  "disable-alpha": !1,
4493
4514
  "blur-close": !0
4494
4515
  }, null, 8, ["pure-color"])]),
4495
- a("label", Ja, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4496
- "pure-color": k.value,
4497
- "onUpdate:pureColor": o[3] ||= (e) => k.value = e,
4516
+ a("label", eo, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
4517
+ "pure-color": E.value,
4518
+ "onUpdate:pureColor": o[3] ||= (e) => E.value = e,
4498
4519
  "aria-label": "标注背景色",
4499
4520
  "use-type": "pure",
4500
4521
  "picker-type": "chrome",
@@ -4507,13 +4528,13 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4507
4528
  _: 1
4508
4529
  }, 8, ["ok-button-props"]));
4509
4530
  }
4510
- }), [["__scopeId", "data-v-01ecd3a4"]]), Xa = { class: "waveform-tooltip__series-content" }, Za = { class: "waveform-tooltip__series-label" }, Qa = {
4531
+ }), [["__scopeId", "data-v-01ecd3a4"]]), no = { class: "waveform-tooltip__series-content" }, ro = { class: "waveform-tooltip__series-label" }, io = {
4511
4532
  key: 0,
4512
4533
  class: "waveform-tooltip__value"
4513
- }, $a = {
4534
+ }, ao = {
4514
4535
  key: 1,
4515
4536
  class: "waveform-tooltip__value waveform-tooltip__value--missing"
4516
- }, eo = 12, to = 8, no = 238, ro = 560, io = 20, ao = 20, oo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4537
+ }, oo = 12, so = 8, co = 560, lo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4517
4538
  __name: "WaveformTooltip",
4518
4539
  props: {
4519
4540
  visible: { type: Boolean },
@@ -4525,45 +4546,44 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4525
4546
  containerHeight: {}
4526
4547
  },
4527
4548
  setup(n) {
4528
- let s = n;
4529
- function c(e, t) {
4530
- let n = Math.max(1, t - io - 14), r = Math.max(1, Math.floor(n / 7.2));
4531
- return Math.max(1, Math.ceil([...e].length / r));
4532
- }
4533
- function l(e) {
4534
- let t = e.point ? `(x:${Nt(e.point.x, s.timeUnit)} y:${Dt(e.point.y)})` : "无数据";
4535
- return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
4536
- }
4537
- function u(e) {
4538
- return 16 + ao * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4549
+ let s = n, c = x(null), l = x({
4550
+ width: 0,
4551
+ height: 0
4552
+ });
4553
+ function u() {
4554
+ let e = c.value?.getBoundingClientRect(), t = e?.width ?? 0, n = e?.height ?? 0;
4555
+ (t !== l.value.width || n !== l.value.height) && (l.value = {
4556
+ width: t,
4557
+ height: n
4558
+ });
4539
4559
  }
4560
+ k(c, (e, t, n) => {
4561
+ if (u(), !e) return;
4562
+ let r = new ResizeObserver(u);
4563
+ r.observe(e), n(() => r.disconnect());
4564
+ }, { flush: "post" }), v(u);
4540
4565
  let d = t(() => {
4541
4566
  if (!s.visible || !s.hoveredPoint) return { display: "none" };
4542
- let e = s.position.x + eo, t = s.position.x - eo - no, n = s.containerWidth - to - e, r = s.position.x - eo - to, i = Math.max(1, Math.min(ro, s.containerWidth - to * 2)), a = e + no <= s.containerWidth - to ? {
4543
- left: `${e}px`,
4544
- maxWidth: `${Math.min(ro, n)}px`
4545
- } : t >= to ? {
4546
- right: `${s.containerWidth - s.position.x + eo}px`,
4547
- maxWidth: `${Math.min(ro, r)}px`
4548
- } : {
4549
- left: `${to}px`,
4550
- maxWidth: `${i}px`
4551
- }, o = Number.parseFloat(a.maxWidth);
4567
+ let e = s.position.x + oo, t = s.position.x - oo - l.value.width, n = Math.max(1, Math.min(co, s.containerWidth - so * 2));
4552
4568
  return {
4553
- ...a,
4554
- top: `${Math.max(8, Math.min(s.position.y - 18, s.containerHeight - u(o) - 8))}px`
4569
+ ...e + l.value.width <= s.containerWidth - so ? { left: `${e}px` } : t >= so ? { right: `${s.containerWidth - s.position.x + oo}px` } : { left: `${so}px` },
4570
+ maxWidth: `${n}px`,
4571
+ visibility: l.value.width > 0 ? "visible" : "hidden",
4572
+ top: `${Math.max(so, Math.min(s.position.y - 18, s.containerHeight - l.value.height - so))}px`
4555
4573
  };
4556
4574
  });
4557
- return (t, s) => n.visible && n.hoveredPoint ? (v(), i("div", {
4575
+ return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
4558
4576
  key: 0,
4577
+ ref_key: "tooltipElement",
4578
+ ref: c,
4559
4579
  class: "waveform-tooltip waveform-chart__tooltip",
4560
4580
  style: m(d.value)
4561
- }, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
4581
+ }, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
4562
4582
  key: `${t.trackIndex}-${t.name}`,
4563
4583
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
4564
- }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Xa, [a("span", Za, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", Qa, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", $a, "无数据"))])]))), 128))], 4)) : r("", !0);
4584
+ }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", no, [a("span", ro, [o(T(t.shotNo?.trim() || "未配置炮号") + ": " + T(t.name), 1), t.unit ? (y(), i(e, { key: 0 }, [o("(" + T(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (y(), i("span", io, "(x:" + T(D(Nt)(t.point.x, n.timeUnit)) + " y:" + T(D(Dt)(t.point.y)) + ")", 1)) : (y(), i("span", ao, "无数据"))])]))), 128))], 4)) : r("", !0);
4565
4585
  }
4566
- }), [["__scopeId", "data-v-1ae3316b"]]), so = /* @__PURE__ */ l({
4586
+ }), [["__scopeId", "data-v-0d0d1d3c"]]), uo = /* @__PURE__ */ l({
4567
4587
  __name: "WaveformHoverHost",
4568
4588
  props: {
4569
4589
  state: {},
@@ -4574,7 +4594,7 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4574
4594
  },
4575
4595
  setup(e) {
4576
4596
  let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
4577
- return (t, r) => (v(), n(oo, {
4597
+ return (t, r) => (y(), n(lo, {
4578
4598
  visible: e.visible && i.value !== null,
4579
4599
  position: e.state.position,
4580
4600
  "time-unit": e.timeUnit,
@@ -4592,16 +4612,16 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4592
4612
  "container-height"
4593
4613
  ]));
4594
4614
  }
4595
- }), co = 13, lo = 2, uo = 14, fo = 8, po = 24, mo = {
4596
- circle: ee,
4597
- square: ne,
4598
- triangle: re,
4599
- diamond: te
4615
+ }), fo = 13, po = 2, mo = 14, ho = 8, go = 24, _o = {
4616
+ circle: te,
4617
+ square: re,
4618
+ triangle: K,
4619
+ diamond: ne
4600
4620
  };
4601
- function ho(e, t = 48) {
4602
- return e === "none" ? null : G().type(mo[e]).size(t)() ?? null;
4621
+ function vo(e, t = 48) {
4622
+ return e === "none" ? null : ee().type(_o[e]).size(t)() ?? null;
4603
4623
  }
4604
- function go(e, t, n = 48) {
4624
+ function yo(e, t, n = 48) {
4605
4625
  if (e === "none" || t.length === 0) return null;
4606
4626
  if (e === "circle") {
4607
4627
  let e = Math.sqrt(n / Math.PI);
@@ -4618,24 +4638,24 @@ function go(e, t, n = 48) {
4618
4638
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
4619
4639
  return t.map(({ x: e, y: t }) => `M${e},${t - r}L${e + i},${t}L${e},${t + r}L${e - i},${t}Z`).join("");
4620
4640
  }
4621
- function _o(e) {
4641
+ function bo(e) {
4622
4642
  return e === "none" ? null : "M1 8H25";
4623
4643
  }
4624
- function vo(e) {
4644
+ function xo(e) {
4625
4645
  if (e === "dashed") return "8 5";
4626
4646
  if (e === "dash-dot") return "8 5 1.5 5";
4627
4647
  }
4628
- function yo(e) {
4629
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, po) : fo) / 2, n = co - t, r = co + t;
4648
+ function So(e) {
4649
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, go) : ho) / 2, n = fo - t, r = fo + t;
4630
4650
  return [
4631
- `M${n} ${lo}H${r}`,
4632
- `M${co} ${lo}V${uo}`,
4633
- `M${n} ${uo}H${r}`
4651
+ `M${n} ${po}H${r}`,
4652
+ `M${fo} ${po}V${mo}`,
4653
+ `M${n} ${mo}H${r}`
4634
4654
  ].join("");
4635
4655
  }
4636
4656
  //#endregion
4637
4657
  //#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
4638
- var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4658
+ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4639
4659
  "data-series-id",
4640
4660
  "data-series-name",
4641
4661
  "data-y-axis-index",
@@ -4644,11 +4664,11 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4644
4664
  "d",
4645
4665
  "stroke",
4646
4666
  "stroke-dasharray"
4647
- ], Co = ["data-series-id"], wo = [
4667
+ ], Eo = ["data-series-id"], Do = [
4648
4668
  "d",
4649
4669
  "stroke",
4650
4670
  "stroke-width"
4651
- ], To = ["data-series-id", "data-point-type"], Eo = ["d", "fill"], Do = /*#__PURE__*/ et(/* @__PURE__ */ l({
4671
+ ], Oo = ["data-series-id", "data-point-type"], ko = ["d", "fill"], Ao = /*#__PURE__*/ et(/* @__PURE__ */ l({
4652
4672
  __name: "WaveformSeriesLayer",
4653
4673
  props: {
4654
4674
  track: {},
@@ -4656,7 +4676,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4656
4676
  },
4657
4677
  setup(n) {
4658
4678
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
4659
- let t = go(e.series.pointType, e.pointRenderPoints.map((t) => ({
4679
+ let t = yo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4660
4680
  x: a.track.xScale(t.x),
4661
4681
  y: e.yScale(t.y)
4662
4682
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
@@ -4673,17 +4693,17 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4673
4693
  errorBarPath: r || null
4674
4694
  };
4675
4695
  }));
4676
- return (t, a) => !n.track.isEmpty && n.track.hasVisibleSeries ? (v(), i("g", {
4696
+ return (t, a) => !n.track.isEmpty && n.track.hasVisibleSeries ? (y(), i("g", {
4677
4697
  key: 0,
4678
4698
  class: "waveform-track__series",
4679
4699
  "clip-path": `url(#${n.clipPathId}-${n.track.index})`
4680
- }, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
4700
+ }, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
4681
4701
  key: e.series.id,
4682
4702
  class: "waveform-track__series-item waveform-chart__series",
4683
4703
  "data-series-id": e.series.id,
4684
4704
  "data-series-name": e.series.name || void 0
4685
4705
  }, [
4686
- e.path ? (v(), i("path", {
4706
+ e.path ? (y(), i("path", {
4687
4707
  key: 0,
4688
4708
  class: "waveform-track__line waveform-chart__line",
4689
4709
  "data-series-id": e.series.id,
@@ -4693,51 +4713,51 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4693
4713
  "data-line-style": e.series.lineStyle,
4694
4714
  d: e.path,
4695
4715
  stroke: e.series.color,
4696
- "stroke-dasharray": E(vo)(e.series.lineStyle)
4697
- }, null, 8, So)) : r("", !0),
4698
- e.series.errorBar.visible ? (v(), i("g", {
4716
+ "stroke-dasharray": D(xo)(e.series.lineStyle)
4717
+ }, null, 8, To)) : r("", !0),
4718
+ e.series.errorBar.visible ? (y(), i("g", {
4699
4719
  key: 1,
4700
4720
  class: "waveform-track__error-bars waveform-chart__error-bars",
4701
4721
  "data-series-id": e.series.id
4702
- }, [e.errorBarPath ? (v(), i("path", {
4722
+ }, [e.errorBarPath ? (y(), i("path", {
4703
4723
  key: 0,
4704
4724
  class: "waveform-track__error-bar waveform-chart__error-bar",
4705
4725
  d: e.errorBarPath,
4706
4726
  stroke: e.series.errorBar.color || e.series.color,
4707
4727
  "stroke-width": e.series.errorBar.width
4708
- }, null, 8, wo)) : r("", !0)], 8, Co)) : r("", !0),
4709
- e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
4728
+ }, null, 8, Do)) : r("", !0)], 8, Eo)) : r("", !0),
4729
+ e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
4710
4730
  key: 2,
4711
4731
  class: "waveform-track__points waveform-chart__points",
4712
4732
  "data-series-id": e.series.id,
4713
4733
  "data-point-type": e.series.pointType
4714
- }, [e.pointPath ? (v(), i("path", {
4734
+ }, [e.pointPath ? (y(), i("path", {
4715
4735
  key: 0,
4716
4736
  class: "waveform-track__point waveform-chart__point",
4717
4737
  d: e.pointPath,
4718
4738
  fill: e.series.color
4719
- }, null, 8, Eo)) : r("", !0)], 8, To))
4720
- ], 8, xo))), 128))], 8, bo)) : r("", !0);
4739
+ }, null, 8, ko)) : r("", !0)], 8, Oo))
4740
+ ], 8, wo))), 128))], 8, Co)) : r("", !0);
4721
4741
  }
4722
- }), [["__scopeId", "data-v-42a3fd47"]]), Oo = ["transform"], ko = ["transform"], Ao = {
4742
+ }), [["__scopeId", "data-v-42a3fd47"]]), jo = ["transform"], Mo = ["transform"], No = {
4723
4743
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
4724
4744
  x: "0",
4725
4745
  y: "7",
4726
4746
  dy: "0.71em",
4727
4747
  "text-anchor": "start"
4728
- }, jo = ["x"], Mo = [
4748
+ }, Po = ["x"], Fo = [
4729
4749
  "data-y-axis-index",
4730
4750
  "data-y-axis-side",
4731
4751
  "transform"
4732
- ], No = { key: 2 }, Po = [
4752
+ ], Io = { key: 2 }, Lo = [
4733
4753
  "x",
4734
4754
  "y",
4735
4755
  "width"
4736
- ], Fo = ["fill", "transform"], Io = ["data-y-axis-title-index"], Lo = [
4756
+ ], Ro = ["fill", "transform"], zo = ["data-y-axis-title-index"], Bo = [
4737
4757
  "x",
4738
4758
  "y",
4739
4759
  "width"
4740
- ], Ro = ["fill", "transform"], zo = /* @__PURE__ */ l({
4760
+ ], Vo = ["fill", "transform"], Ho = /* @__PURE__ */ l({
4741
4761
  __name: "WaveformTrackAxes",
4742
4762
  props: {
4743
4763
  track: {},
@@ -4748,7 +4768,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4748
4768
  yLabel: {}
4749
4769
  },
4750
4770
  setup(t) {
4751
- let n = t, o = b(), s = b([]);
4771
+ let n = t, o = x(), s = x([]);
4752
4772
  function c(e) {
4753
4773
  return e.name.trim() || n.yLabel || "";
4754
4774
  }
@@ -4766,20 +4786,15 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4766
4786
  if (n.track.yAxes.forEach((e, t) => {
4767
4787
  let r = s.value[t];
4768
4788
  if (!r) return;
4769
- let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = e.seriesList[0]?.unit, l = (e.side === "left" ? P(e.scale) : F(e.scale)).tickFormat((e) => Et(Number(e), {
4770
- axisMin: i,
4771
- axisMax: a,
4772
- topTickValue: o,
4773
- unit: c
4774
- })).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), u = W(r);
4775
- u.call(l), u.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
4789
+ let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => ar(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
4790
+ o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
4776
4791
  }), !o.value) return;
4777
- let e = W(o.value);
4778
- e.call(N(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => At(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
4792
+ let e = G(o.value);
4793
+ e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => At(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
4779
4794
  }
4780
4795
  return g(async () => {
4781
4796
  await f(), m();
4782
- }), O([
4797
+ }), k([
4783
4798
  () => n.track.xScale,
4784
4799
  () => n.track.yAxes,
4785
4800
  () => n.track.xAxisTickValues,
@@ -4790,29 +4805,29 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4790
4805
  () => n.axes?.y?.lineVisible
4791
4806
  ], async () => {
4792
4807
  await f(), m();
4793
- }, { flush: "post" }), (n, s) => (v(), i(e, null, [
4794
- t.track.showXAxis ? (v(), i("g", {
4808
+ }, { flush: "post" }), (n, s) => (y(), i(e, null, [
4809
+ t.track.showXAxis ? (y(), i("g", {
4795
4810
  key: 0,
4796
4811
  ref_key: "xAxisElement",
4797
4812
  ref: o,
4798
4813
  class: p(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
4799
4814
  transform: `translate(0, ${t.track.height})`
4800
- }, null, 10, Oo)) : r("", !0),
4801
- t.track.showXAxis ? (v(), i("g", {
4815
+ }, null, 10, jo)) : r("", !0),
4816
+ t.track.showXAxis ? (y(), i("g", {
4802
4817
  key: 1,
4803
4818
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
4804
4819
  transform: `translate(0, ${t.track.height})`,
4805
4820
  "font-family": "sans-serif",
4806
4821
  "font-size": "10",
4807
4822
  "aria-hidden": "true"
4808
- }, [a("text", Ao, w(t.track.endpointLabels.start), 1), a("text", {
4823
+ }, [a("text", No, T(t.track.endpointLabels.start), 1), a("text", {
4809
4824
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
4810
4825
  x: t.track.width ?? t.innerWidth,
4811
4826
  y: "7",
4812
4827
  dy: "0.71em",
4813
4828
  "text-anchor": "end"
4814
- }, w(t.track.endpointLabels.end), 9, jo)], 8, ko)) : r("", !0),
4815
- (v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
4829
+ }, T(t.track.endpointLabels.end), 9, Po)], 8, Mo)) : r("", !0),
4830
+ (y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
4816
4831
  key: `y-axis-${t.track.index}-${e.index}`,
4817
4832
  ref_for: !0,
4818
4833
  ref: (t) => u(t, e.index),
@@ -4820,66 +4835,66 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4820
4835
  "data-y-axis-index": e.index,
4821
4836
  "data-y-axis-side": e.side,
4822
4837
  transform: `translate(${e.x}, 0)`
4823
- }, null, 10, Mo))), 128)),
4824
- !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", No, [a("rect", {
4838
+ }, null, 10, Fo))), 128)),
4839
+ !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g", Io, [a("rect", {
4825
4840
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4826
- x: t.track.yAxisLabelX - E(12) / 2,
4841
+ x: t.track.yAxisLabelX - D(12) / 2,
4827
4842
  y: t.track.height / 2 - 40,
4828
- width: E(12),
4843
+ width: D(12),
4829
4844
  height: "80",
4830
4845
  rx: "2"
4831
- }, null, 8, Po), a("text", {
4846
+ }, null, 8, Lo), a("text", {
4832
4847
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4833
4848
  fill: t.track.series?.color,
4834
4849
  transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
4835
4850
  "text-anchor": "middle",
4836
4851
  "dominant-baseline": "central"
4837
- }, w(t.track.series ? c(t.track.series) : ""), 9, Fo)])) : r("", !0),
4838
- (v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
4852
+ }, T(t.track.series ? c(t.track.series) : ""), 9, Ro)])) : r("", !0),
4853
+ (y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
4839
4854
  key: `y-axis-title-${t.track.index}-${e.index}`,
4840
4855
  class: "waveform-track__multi-axis-title",
4841
4856
  "data-y-axis-title-index": e.index
4842
4857
  }, [a("rect", {
4843
4858
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4844
- x: e.labelX - E(12) / 2,
4859
+ x: e.labelX - D(12) / 2,
4845
4860
  y: t.track.height / 2 - 40,
4846
- width: E(12),
4861
+ width: D(12),
4847
4862
  height: "80",
4848
4863
  rx: "2"
4849
- }, null, 8, Lo), a("text", {
4864
+ }, null, 8, Bo), a("text", {
4850
4865
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4851
4866
  fill: e.seriesList[0].color,
4852
4867
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
4853
4868
  "text-anchor": "middle",
4854
4869
  "dominant-baseline": "central"
4855
- }, w(c(e.seriesList[0])), 9, Ro)], 8, Io))), 128))
4870
+ }, T(c(e.seriesList[0])), 9, Vo)], 8, zo))), 128))
4856
4871
  ], 64));
4857
4872
  }
4858
- }), Bo = [
4873
+ }), Uo = [
4859
4874
  "width",
4860
4875
  "height",
4861
4876
  "fill"
4862
- ], Vo = ["clip-path"], Ho = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Uo = [
4877
+ ], Wo = ["clip-path"], Go = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Ko = [
4863
4878
  "stroke",
4864
4879
  "x1",
4865
4880
  "x2",
4866
4881
  "y2"
4867
- ], Wo = [
4882
+ ], qo = [
4868
4883
  "stroke",
4869
4884
  "x2",
4870
4885
  "y1",
4871
4886
  "y2"
4872
- ], Go = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Ko = [
4887
+ ], Jo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Yo = [
4873
4888
  "stroke",
4874
4889
  "x1",
4875
4890
  "x2",
4876
4891
  "y2"
4877
- ], qo = [
4892
+ ], Xo = [
4878
4893
  "stroke",
4879
4894
  "x2",
4880
4895
  "y1",
4881
4896
  "y2"
4882
- ], Jo = ["clip-path"], Yo = [
4897
+ ], Zo = ["clip-path"], Qo = [
4883
4898
  "data-y-axis-index",
4884
4899
  "x2",
4885
4900
  "y1",
@@ -4887,7 +4902,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4887
4902
  "stroke",
4888
4903
  "stroke-width",
4889
4904
  "stroke-dasharray"
4890
- ], Xo = ["x", "y"], Zo = /* @__PURE__ */ l({
4905
+ ], $o = ["x", "y"], es = /* @__PURE__ */ l({
4891
4906
  __name: "WaveformTrackBackdrop",
4892
4907
  props: {
4893
4908
  track: {},
@@ -4904,20 +4919,20 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4904
4919
  let [t, r] = e.scale.domain();
4905
4920
  return !n.zeroLine.visible || t > 0 || r < 0 ? null : e.scale(0);
4906
4921
  }
4907
- return (n, s) => (v(), i(e, null, [
4908
- !t.track.isEmpty && !t.cleanView ? (v(), i("rect", {
4922
+ return (n, s) => (y(), i(e, null, [
4923
+ !t.track.isEmpty && !t.cleanView ? (y(), i("rect", {
4909
4924
  key: 0,
4910
4925
  class: "waveform-track__plot-background waveform-chart__plot-background",
4911
4926
  width: t.track.width ?? t.innerWidth,
4912
4927
  height: t.track.height,
4913
4928
  fill: t.frameStyle.backgroundColor,
4914
4929
  "aria-hidden": "true"
4915
- }, null, 8, Bo)) : r("", !0),
4916
- !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
4930
+ }, null, 8, Uo)) : r("", !0),
4931
+ !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
4917
4932
  key: 1,
4918
4933
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4919
4934
  "aria-hidden": "true"
4920
- }, [a("g", Ho, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4935
+ }, [a("g", Go, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
4921
4936
  key: `x-minor-${t.track.index}-${e}`,
4922
4937
  "data-grid-direction": "vertical",
4923
4938
  stroke: t.track.gridLines.verticalColor,
@@ -4925,7 +4940,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4925
4940
  x2: t.track.xScale(e),
4926
4941
  y1: "0",
4927
4942
  y2: t.track.height
4928
- }, null, 8, Uo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4943
+ }, null, 8, Ko))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
4929
4944
  key: `y-minor-${t.track.index}-${e}`,
4930
4945
  "data-grid-direction": "horizontal",
4931
4946
  stroke: t.track.gridLines.horizontalColor,
@@ -4933,7 +4948,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4933
4948
  x2: t.track.width ?? t.innerWidth,
4934
4949
  y1: t.track.yScale(e),
4935
4950
  y2: t.track.yScale(e)
4936
- }, null, 8, Wo))), 128)) : r("", !0)]), a("g", Go, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4951
+ }, null, 8, qo))), 128)) : r("", !0)]), a("g", Jo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
4937
4952
  key: `x-major-${t.track.index}-${e}`,
4938
4953
  "data-grid-direction": "vertical",
4939
4954
  stroke: t.track.gridLines.verticalColor,
@@ -4941,7 +4956,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4941
4956
  x2: t.track.xScale(e),
4942
4957
  y1: "0",
4943
4958
  y2: t.track.height
4944
- }, null, 8, Ko))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4959
+ }, null, 8, Yo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
4945
4960
  key: `y-major-${t.track.index}-${e}`,
4946
4961
  "data-grid-direction": "horizontal",
4947
4962
  stroke: t.track.gridLines.horizontalColor,
@@ -4949,13 +4964,13 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4949
4964
  x2: t.track.width ?? t.innerWidth,
4950
4965
  y1: t.track.yScale(e),
4951
4966
  y2: t.track.yScale(e)
4952
- }, null, 8, qo))), 128)) : r("", !0)])], 8, Vo)) : r("", !0),
4953
- !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
4967
+ }, null, 8, Xo))), 128)) : r("", !0)])], 8, Wo)) : r("", !0),
4968
+ !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
4954
4969
  key: 2,
4955
4970
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
4956
4971
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4957
4972
  "aria-hidden": "true"
4958
- }, [(v(!0), i(e, null, x(t.track.yAxes, (n) => (v(), i(e, { key: `zero-line-${t.track.index}-${n.index}` }, [o(n) === null ? r("", !0) : (v(), i("line", {
4973
+ }, [(y(!0), i(e, null, S(t.track.yAxes, (n) => (y(), i(e, { key: `zero-line-${t.track.index}-${n.index}` }, [o(n) === null ? r("", !0) : (y(), i("line", {
4959
4974
  key: 0,
4960
4975
  class: "waveform-track__zero-line waveform-chart__zero-line",
4961
4976
  "data-y-axis-index": n.index,
@@ -4966,8 +4981,8 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4966
4981
  stroke: t.zeroLine.color,
4967
4982
  "stroke-width": t.zeroLine.width,
4968
4983
  "stroke-dasharray": t.zeroLine.dash || void 0
4969
- }, null, 8, Yo))], 64))), 128))], 8, Jo)) : r("", !0),
4970
- !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
4984
+ }, null, 8, Qo))], 64))), 128))], 8, Zo)) : r("", !0),
4985
+ !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
4971
4986
  key: 3,
4972
4987
  class: "waveform-track__watermark waveform-chart__watermark",
4973
4988
  x: (t.track.width ?? t.innerWidth) / 2,
@@ -4976,10 +4991,10 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4976
4991
  "text-anchor": "middle",
4977
4992
  "dominant-baseline": "central",
4978
4993
  "aria-hidden": "true"
4979
- }, w(t.frameNumber), 13, Xo)) : r("", !0)
4994
+ }, T(t.frameNumber), 13, $o)) : r("", !0)
4980
4995
  ], 64));
4981
4996
  }
4982
- }), Qo = [
4997
+ }), ts = [
4983
4998
  "data-track-index",
4984
4999
  "data-track-id",
4985
5000
  "data-track-empty",
@@ -4989,19 +5004,19 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4989
5004
  "data-track-top",
4990
5005
  "data-track-height",
4991
5006
  "transform"
4992
- ], $o = [
5007
+ ], ns = [
4993
5008
  "width",
4994
5009
  "height",
4995
5010
  "stroke",
4996
5011
  "stroke-width",
4997
5012
  "stroke-dasharray",
4998
5013
  "stroke-linecap"
4999
- ], es = [
5014
+ ], rs = [
5000
5015
  "data-interactive",
5001
5016
  "data-independent-overlay-index",
5002
5017
  "width",
5003
5018
  "height"
5004
- ], ts = ["x", "y"], ns = /* @__PURE__ */ l({
5019
+ ], is = ["x", "y"], as = /* @__PURE__ */ l({
5005
5020
  __name: "WaveformTrack",
5006
5021
  props: {
5007
5022
  track: {},
@@ -5049,7 +5064,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5049
5064
  backgroundColor: a.frameStyle?.backgroundColor || "transparent"
5050
5065
  };
5051
5066
  });
5052
- return (t, n) => (v(), i("g", {
5067
+ return (t, n) => (y(), i("g", {
5053
5068
  class: p(["waveform-track waveform-chart__track", { "waveform-track--empty waveform-chart__track--empty": e.track.isEmpty }]),
5054
5069
  "data-track-index": e.track.index,
5055
5070
  "data-track-id": e.track.id,
@@ -5061,7 +5076,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5061
5076
  "data-track-height": e.track.height,
5062
5077
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
5063
5078
  }, [
5064
- s(Zo, {
5079
+ s(es, {
5065
5080
  track: e.track,
5066
5081
  "clip-path-id": e.clipPathId,
5067
5082
  "inner-width": e.innerWidth,
@@ -5078,7 +5093,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5078
5093
  "frame-style",
5079
5094
  "zero-line"
5080
5095
  ]),
5081
- s(zo, {
5096
+ s(Ho, {
5082
5097
  track: e.track,
5083
5098
  "inner-width": e.innerWidth,
5084
5099
  "clean-view": e.cleanView,
@@ -5093,7 +5108,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5093
5108
  "time-unit",
5094
5109
  "y-label"
5095
5110
  ]),
5096
- e.track.isEmpty ? r("", !0) : (v(), i("rect", {
5111
+ e.track.isEmpty ? r("", !0) : (y(), i("rect", {
5097
5112
  key: 0,
5098
5113
  class: "waveform-track__plot-frame waveform-chart__plot-frame",
5099
5114
  width: e.track.width ?? e.innerWidth,
@@ -5104,12 +5119,12 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5104
5119
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
5105
5120
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
5106
5121
  "aria-hidden": "true"
5107
- }, null, 8, $o)),
5108
- s(Do, {
5122
+ }, null, 8, ns)),
5123
+ s(Ao, {
5109
5124
  track: e.track,
5110
5125
  "clip-path-id": e.clipPathId
5111
5126
  }, null, 8, ["track", "clip-path-id"]),
5112
- !e.track.isEmpty && e.track.hasVisibleSeries && e.displayMode === "independent" ? (v(), i("rect", {
5127
+ !e.track.isEmpty && e.track.hasVisibleSeries && e.displayMode === "independent" ? (y(), i("rect", {
5113
5128
  key: 1,
5114
5129
  class: p(["waveform-track__overlay waveform-track__overlay--independent waveform-chart__overlay waveform-chart__overlay--independent", {
5115
5130
  "is-zoomable": e.interactive && e.zoomable && e.interactionMode === "zoom",
@@ -5127,41 +5142,41 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5127
5142
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
5128
5143
  onClick: n[5] ||= (e) => o("click", e),
5129
5144
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
5130
- }, null, 42, es)) : r("", !0),
5131
- !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
5145
+ }, null, 42, rs)) : r("", !0),
5146
+ !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
5132
5147
  key: 2,
5133
5148
  class: "waveform-track__no-visible-series",
5134
5149
  x: (e.track.width ?? e.innerWidth) / 2,
5135
5150
  y: e.track.height / 2,
5136
5151
  "text-anchor": "middle",
5137
5152
  "dominant-baseline": "central"
5138
- }, " 暂无可见曲线 ", 8, ts)) : r("", !0)
5139
- ], 10, Qo));
5153
+ }, " 暂无可见曲线 ", 8, is)) : r("", !0)
5154
+ ], 10, ts));
5140
5155
  }
5141
- }), rs = [
5156
+ }), os = [
5142
5157
  "width",
5143
5158
  "height",
5144
5159
  "data-position",
5145
5160
  "data-orientation"
5146
- ], is = [
5161
+ ], ss = [
5147
5162
  "disabled",
5148
5163
  "aria-pressed",
5149
5164
  "aria-label",
5150
5165
  "onClick"
5151
- ], as = [
5166
+ ], cs = [
5152
5167
  "data-line-type",
5153
5168
  "data-line-style",
5154
5169
  "data-point-type",
5155
5170
  "data-error-bar-visible"
5156
- ], os = [
5171
+ ], ls = [
5157
5172
  "d",
5158
5173
  "stroke",
5159
5174
  "stroke-dasharray"
5160
- ], ss = [
5175
+ ], us = [
5161
5176
  "d",
5162
5177
  "stroke",
5163
5178
  "stroke-width"
5164
- ], cs = ["d", "fill"], ls = ["title"], us = /*#__PURE__*/ et(/* @__PURE__ */ l({
5179
+ ], ds = ["d", "fill"], fs = ["title"], ps = /*#__PURE__*/ et(/* @__PURE__ */ l({
5165
5180
  __name: "WaveformLegend",
5166
5181
  props: {
5167
5182
  series: {},
@@ -5185,7 +5200,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5185
5200
  function d(e) {
5186
5201
  s.interactive && c("toggle", e);
5187
5202
  }
5188
- return (t, o) => (v(), i("foreignObject", {
5203
+ return (t, o) => (y(), i("foreignObject", {
5189
5204
  class: "waveform-legend waveform-chart__legend",
5190
5205
  x: "0",
5191
5206
  y: "0",
@@ -5201,7 +5216,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5201
5216
  class: p(["waveform-legend__panel", [`waveform-legend__panel--${n.orientation}`, { "waveform-legend__panel--interactive": n.interactive }]]),
5202
5217
  style: m({ backgroundColor: n.backgroundColor }),
5203
5218
  role: "list"
5204
- }, [(v(!0), i(e, null, x(n.series, (e) => (v(), i("button", {
5219
+ }, [(y(!0), i(e, null, S(n.series, (e) => (y(), i("button", {
5205
5220
  key: e.id,
5206
5221
  class: p(["waveform-legend__item waveform-chart__legend-item", { "is-hidden": u(e.id) }]),
5207
5222
  type: "button",
@@ -5209,8 +5224,8 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5209
5224
  disabled: !n.interactive,
5210
5225
  "aria-pressed": n.interactive ? !u(e.id) : void 0,
5211
5226
  "aria-label": n.interactive ? `${u(e.id) ? "显示" : "隐藏"}曲线 ${e.name}` : void 0,
5212
- onClick: M((t) => d(e.id), ["stop"])
5213
- }, [(v(), i("svg", {
5227
+ onClick: N((t) => d(e.id), ["stop"])
5228
+ }, [(y(), i("svg", {
5214
5229
  class: "waveform-legend__swatch",
5215
5230
  viewBox: "0 0 26 16",
5216
5231
  "aria-hidden": "true",
@@ -5219,45 +5234,45 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5219
5234
  "data-point-type": e.pointType,
5220
5235
  "data-error-bar-visible": e.errorBar.visible || void 0
5221
5236
  }, [
5222
- E(_o)(e.lineType) ? (v(), i("path", {
5237
+ D(bo)(e.lineType) ? (y(), i("path", {
5223
5238
  key: 0,
5224
5239
  class: "waveform-legend__line",
5225
- d: E(_o)(e.lineType) ?? void 0,
5240
+ d: D(bo)(e.lineType) ?? void 0,
5226
5241
  stroke: e.color,
5227
- "stroke-dasharray": E(vo)(e.lineStyle),
5242
+ "stroke-dasharray": D(xo)(e.lineStyle),
5228
5243
  "stroke-width": "1.5",
5229
5244
  fill: "none"
5230
- }, null, 8, os)) : r("", !0),
5231
- e.errorBar.visible ? (v(), i("path", {
5245
+ }, null, 8, ls)) : r("", !0),
5246
+ e.errorBar.visible ? (y(), i("path", {
5232
5247
  key: 1,
5233
5248
  class: "waveform-legend__error-bar",
5234
- d: E(yo)(e.errorBar.capWidth),
5249
+ d: D(So)(e.errorBar.capWidth),
5235
5250
  stroke: e.errorBar.color || e.color,
5236
5251
  "stroke-width": e.errorBar.width,
5237
5252
  "stroke-linecap": "butt",
5238
5253
  fill: "none"
5239
- }, null, 8, ss)) : r("", !0),
5240
- e.pointType === "none" ? r("", !0) : (v(), i("path", {
5254
+ }, null, 8, us)) : r("", !0),
5255
+ e.pointType === "none" ? r("", !0) : (y(), i("path", {
5241
5256
  key: 2,
5242
5257
  class: "waveform-legend__point",
5243
- d: E(ho)(e.pointType, 30) ?? void 0,
5258
+ d: D(vo)(e.pointType, 30) ?? void 0,
5244
5259
  fill: e.color,
5245
5260
  transform: "translate(13 8)"
5246
- }, null, 8, cs))
5247
- ], 8, as)), a("span", {
5261
+ }, null, 8, ds))
5262
+ ], 8, cs)), a("span", {
5248
5263
  class: "waveform-legend__label",
5249
5264
  title: e.name
5250
- }, w(e.name), 9, ls)], 10, is))), 128))], 6)], 2)], 8, rs));
5265
+ }, T(e.name), 9, fs)], 10, ss))), 128))], 6)], 2)], 8, os));
5251
5266
  }
5252
- }), [["__scopeId", "data-v-2ae12e71"]]), ds = {
5267
+ }), [["__scopeId", "data-v-2ae12e71"]]), ms = {
5253
5268
  class: "waveform-chart__hover-layer",
5254
5269
  "pointer-events": "none",
5255
5270
  "aria-hidden": "true"
5256
- }, fs = ["clip-path", "transform"], ps = [
5271
+ }, hs = ["clip-path", "transform"], gs = [
5257
5272
  "x1",
5258
5273
  "x2",
5259
5274
  "y2"
5260
- ], ms = /*#__PURE__*/ et(/* @__PURE__ */ l({
5275
+ ], _s = /*#__PURE__*/ et(/* @__PURE__ */ l({
5261
5276
  __name: "WaveformHoverLayer",
5262
5277
  props: {
5263
5278
  state: {},
@@ -5273,7 +5288,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5273
5288
  x: e.xScale(n)
5274
5289
  }] : [];
5275
5290
  }));
5276
- return (t, r) => (v(), i("g", ds, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5291
+ return (t, r) => (y(), i("g", ms, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
5277
5292
  key: e.track.index,
5278
5293
  class: "waveform-track__crosshair waveform-chart__crosshair",
5279
5294
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -5283,9 +5298,9 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5283
5298
  x2: e.x,
5284
5299
  y1: "0",
5285
5300
  y2: e.track.height
5286
- }, null, 8, ps)], 8, fs))), 128))]));
5301
+ }, null, 8, gs)], 8, hs))), 128))]));
5287
5302
  }
5288
- }), [["__scopeId", "data-v-54a5a37d"]]), hs = [
5303
+ }), [["__scopeId", "data-v-54a5a37d"]]), vs = [
5289
5304
  "data-display-mode",
5290
5305
  "data-interaction-mode",
5291
5306
  "data-presentation-mode",
@@ -5294,151 +5309,151 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5294
5309
  "data-plot-margin-top",
5295
5310
  "data-plot-margin-bottom",
5296
5311
  "data-title-area-height"
5297
- ], gs = [
5312
+ ], ys = [
5298
5313
  "role",
5299
5314
  "aria-level",
5300
5315
  "aria-hidden"
5301
- ], _s = ["data-title-scale", "data-title-wrapped"], vs = [
5316
+ ], bs = ["data-title-scale", "data-title-wrapped"], xs = [
5302
5317
  "width",
5303
5318
  "height",
5304
5319
  "aria-label"
5305
- ], ys = ["id"], bs = ["width", "height"], xs = ["transform"], Ss = {
5320
+ ], Ss = ["id"], Cs = ["width", "height"], ws = ["transform"], Ts = {
5306
5321
  key: 0,
5307
5322
  class: "waveform-chart__grid-slots",
5308
5323
  "aria-hidden": "true"
5309
- }, Cs = ["transform"], ws = ["width", "height"], Ts = ["width", "height"], Es = [
5324
+ }, Es = ["transform"], Ds = ["width", "height"], Os = ["width", "height"], ks = [
5310
5325
  "x",
5311
5326
  "y",
5312
5327
  "width",
5313
5328
  "height"
5314
- ], Ds = {
5329
+ ], As = {
5315
5330
  key: 4,
5316
5331
  class: "waveform-chart__legend-layer"
5317
- }, Os = [
5332
+ }, js = [
5318
5333
  "data-legend-track-index",
5319
5334
  "data-legend-track-id",
5320
5335
  "transform"
5321
- ], ks = ["x", "y"], As = ["x", "y"], js = /* @__PURE__ */ l({
5336
+ ], Ms = ["x", "y"], Ns = ["x", "y"], Ps = /* @__PURE__ */ l({
5322
5337
  __name: "WaveformChartView",
5323
5338
  props: { controller: {} },
5324
5339
  setup(t) {
5325
- let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: J, handleAnnotationContextMenu: ie, resolveFrameNumber: ae, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: Y, handleIndependentPointerMove: de, beginViewportDrag: fe, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Se, legendBackgroundColor: Ce, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = T(t.controller);
5326
- function $e() {
5340
+ let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: v, pointerInsideChart: b, handleNativeContextMenu: x, titleAreaReserved: C, titleAreaStyle: w, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: J, handleAnnotationContextMenu: ie, resolveFrameNumber: ae, frameStyle: oe, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: Y, beginViewportDrag: fe, hoverState: X, showTooltip: pe, selectionBox: me, renderedAnnotations: he, annotationsVisible: ge, handleExistingAnnotationContextMenu: _e, beginAnnotationDrag: ve, handleAnnotationMove: ye, endAnnotationDrag: be, resolveLegendPosition: xe, resolveLegendOrientation: Z, legendBackgroundColor: Se, legendInteractive: Ce, resolvedHiddenSeriesIds: we, toggleSeriesVisibility: Te, resolvedXLabel: Ee, xAxisTitleY: De, hasChartArea: Oe, gridOptions: ke, pageCount: Ae, currentPage: je, getPageSize: Me, pageableTracks: Ne, goToPage: Pe, annotationInteraction: Fe, editorDraft: Ie, contextMenu: Le, editorSeries: Re, editorSeriesOptions: ze, timeError: Be, confirmAnnotation: Ve, cancelAnnotation: He, changeDraftSeries: Ue, changeDraftTime: We, editContextAnnotation: Ge, deleteContextAnnotation: Ke, chartHeight: qe, setContainer: Je, setSvgElement: Ye, setTitleMeasureElement: Xe, setSharedOverlayElement: Ze } = E(t.controller);
5341
+ function Qe() {
5327
5342
  b.value = !1, q.value();
5328
5343
  }
5329
- return (t, T) => (v(), i("div", {
5330
- ref: E(Ye),
5344
+ return (t, E) => (y(), i("div", {
5345
+ ref: D(Je),
5331
5346
  class: p(["waveform-chart", [
5332
- `waveform-chart--${E(o)}`,
5333
- `waveform-chart--interaction-${E(c)}`,
5347
+ `waveform-chart--${D(o)}`,
5348
+ `waveform-chart--interaction-${D(c)}`,
5334
5349
  {
5335
- "waveform-chart--clean": E(l),
5336
- "waveform-chart--presentation": E(u),
5337
- "waveform-chart--panning": E(d)?.kind === "pan"
5350
+ "waveform-chart--clean": D(l),
5351
+ "waveform-chart--presentation": D(u),
5352
+ "waveform-chart--panning": D(d)?.kind === "pan"
5338
5353
  }
5339
5354
  ]]),
5340
- style: m(E(f)),
5341
- "data-display-mode": E(o),
5342
- "data-interaction-mode": E(c),
5343
- "data-presentation-mode": E(u),
5344
- "data-overlay-mode": E(h),
5345
- "data-chart-left-margin": E(g),
5346
- "data-plot-margin-top": E(y).top,
5347
- "data-plot-margin-bottom": E(y).bottom,
5348
- "data-title-area-height": E(_),
5349
- onPointerenter: T[8] ||= (e) => b.value = !0,
5350
- onPointerleave: $e,
5351
- onContextmenuCapture: T[9] ||= (...e) => E(S) && E(S)(...e)
5355
+ style: m(D(f)),
5356
+ "data-display-mode": D(o),
5357
+ "data-interaction-mode": D(c),
5358
+ "data-presentation-mode": D(u),
5359
+ "data-overlay-mode": D(h),
5360
+ "data-chart-left-margin": D(g),
5361
+ "data-plot-margin-top": D(v).top,
5362
+ "data-plot-margin-bottom": D(v).bottom,
5363
+ "data-title-area-height": D(_),
5364
+ onPointerenter: E[8] ||= (e) => b.value = !0,
5365
+ onPointerleave: Qe,
5366
+ onContextmenuCapture: E[9] ||= (...e) => D(x) && D(x)(...e)
5352
5367
  }, [
5353
- E(C) ? (v(), i("div", {
5368
+ D(C) ? (y(), i("div", {
5354
5369
  key: 0,
5355
5370
  class: "waveform-chart__title-area",
5356
- style: m(E(D)),
5357
- role: E(O) ? "heading" : void 0,
5358
- "aria-level": E(O) ? 2 : void 0,
5359
- "aria-hidden": E(l) || void 0
5371
+ style: m(D(w)),
5372
+ role: D(O) ? "heading" : void 0,
5373
+ "aria-level": D(O) ? 2 : void 0,
5374
+ "aria-hidden": D(l) || void 0
5360
5375
  }, [a("span", {
5361
- ref: E(Ze),
5376
+ ref: D(Xe),
5362
5377
  class: "waveform-chart__title-measure",
5363
- style: m(E(k)),
5378
+ style: m(D(k)),
5364
5379
  "aria-hidden": "true"
5365
- }, w(E(A)), 5), E(O) ? (v(), i("span", {
5380
+ }, T(D(A)), 5), D(O) ? (y(), i("span", {
5366
5381
  key: 0,
5367
5382
  class: "waveform-chart__title-visual",
5368
- style: m(E(j))
5383
+ style: m(D(j))
5369
5384
  }, [a("span", {
5370
5385
  class: "waveform-chart__title-text",
5371
- style: m(E(M)),
5372
- "data-title-scale": E(N).scale,
5373
- "data-title-wrapped": E(N).wrapped || void 0
5374
- }, w(E(A)), 13, _s)], 4)) : r("", !0)], 12, gs)) : r("", !0),
5375
- (v(), i("svg", {
5376
- ref: E(Xe),
5386
+ style: m(D(M)),
5387
+ "data-title-scale": D(N).scale,
5388
+ "data-title-wrapped": D(N).wrapped || void 0
5389
+ }, T(D(A)), 13, bs)], 4)) : r("", !0)], 12, ys)) : r("", !0),
5390
+ (y(), i("svg", {
5391
+ ref: D(Ye),
5377
5392
  class: "waveform-chart__svg",
5378
- width: E(P),
5379
- height: E(F),
5393
+ width: D(P),
5394
+ height: D(F),
5380
5395
  role: "img",
5381
- "aria-label": E(I) ? "波形折线图" : "暂无波形数据",
5382
- onDblclick: T[7] ||= (...e) => E(L) && E(L)(...e)
5396
+ "aria-label": D(I) ? "波形折线图" : "暂无波形数据",
5397
+ onDblclick: E[7] ||= (...e) => D(L) && D(L)(...e)
5383
5398
  }, [
5384
- a("defs", null, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("clipPath", {
5385
- id: `${E(z)}-${e.index}`,
5386
- key: `${E(z)}-${e.index}`,
5399
+ a("defs", null, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("clipPath", {
5400
+ id: `${D(z)}-${e.index}`,
5401
+ key: `${D(z)}-${e.index}`,
5387
5402
  clipPathUnits: "userSpaceOnUse"
5388
5403
  }, [a("rect", {
5389
5404
  width: e.width,
5390
5405
  height: e.height
5391
- }, null, 8, bs)], 8, ys))), 128))]),
5392
- a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
5393
- E(o) !== "compact" && !E(l) ? (v(), i("g", Ss, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5406
+ }, null, 8, Cs)], 8, Ss))), 128))]),
5407
+ a("g", { transform: `translate(${D(g)}, ${D(B)})` }, [
5408
+ D(o) !== "compact" && !D(l) ? (y(), i("g", Ts, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
5394
5409
  key: `grid-slot-${e.slotIndex}`,
5395
5410
  transform: `translate(${e.left}, ${e.top})`
5396
- }, [e.series ? r("", !0) : (v(), i("rect", {
5411
+ }, [e.series ? r("", !0) : (y(), i("rect", {
5397
5412
  key: 0,
5398
5413
  class: "waveform-chart__grid-slot-placeholder",
5399
5414
  width: e.width,
5400
5415
  height: e.cellHeight
5401
- }, null, 8, ws))], 8, Cs))), 128))])) : r("", !0),
5402
- E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
5416
+ }, null, 8, Ds))], 8, Es))), 128))])) : r("", !0),
5417
+ D(o) !== "independent" && D(R).length && D(H) ? (y(), i("rect", {
5403
5418
  key: 1,
5404
- ref: E(Qe),
5419
+ ref: D(Ze),
5405
5420
  class: p(["waveform-chart__overlay waveform-chart__overlay--shared", {
5406
- "is-zoomable": !E(u) && E(U) && E(W),
5407
- "is-annotating": !E(u) && E(c) === "annotation"
5421
+ "is-zoomable": !D(u) && D(U) && D(W),
5422
+ "is-annotating": !D(u) && D(c) === "annotation"
5408
5423
  }]),
5409
- width: E(G),
5410
- height: E(ee),
5411
- onPointermove: T[0] ||= (...e) => E(te) && E(te)(...e),
5412
- onPointerdown: T[1] ||= (...e) => E(ne) && E(ne)(...e),
5413
- onPointerup: T[2] ||= (...e) => E(re) && E(re)(...e),
5414
- onPointercancel: T[3] ||= (...e) => E(K) && E(K)(...e),
5415
- onPointerleave: T[4] ||= (...e) => E(q) && E(q)(...e),
5416
- onClick: T[5] ||= (...e) => E(J) && E(J)(...e),
5417
- onContextmenu: T[6] ||= (...e) => E(ie) && E(ie)(...e)
5418
- }, null, 42, Ts)) : r("", !0),
5419
- (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(ns), {
5424
+ width: D(G),
5425
+ height: D(ee),
5426
+ onPointermove: E[0] ||= (...e) => D(te) && D(te)(...e),
5427
+ onPointerdown: E[1] ||= (...e) => D(ne) && D(ne)(...e),
5428
+ onPointerup: E[2] ||= (...e) => D(re) && D(re)(...e),
5429
+ onPointercancel: E[3] ||= (...e) => D(K) && D(K)(...e),
5430
+ onPointerleave: E[4] ||= (...e) => D(q) && D(q)(...e),
5431
+ onClick: E[5] ||= (...e) => D(J) && D(J)(...e),
5432
+ onContextmenu: E[6] ||= (...e) => D(ie) && D(ie)(...e)
5433
+ }, null, 42, Os)) : r("", !0),
5434
+ (y(!0), i(e, null, S(D(R), (e) => (y(), n(D(as), {
5420
5435
  key: `${e.index}-${e.id}`,
5421
5436
  track: e,
5422
- "clip-path-id": E(z),
5423
- "inner-width": E(G),
5424
- zoomable: E(U),
5425
- interactive: !E(u),
5426
- "display-mode": E(o),
5427
- "interaction-mode": E(c),
5428
- "frame-number": E(ae)(e.id),
5429
- "frame-style": E(se),
5430
- axes: E(ce),
5431
- "clean-view": E(l),
5432
- "zero-line": E(le),
5433
- "time-unit": E(ue),
5434
- "y-label": E(Y),
5435
- onPointerMove: (t) => E(de)(t, e.index),
5436
- onPointerDown: (t) => E(fe)(t, e.index, !0),
5437
- onPointerUp: E(re),
5438
- onPointerCancel: E(K),
5439
- onPointerLeave: E(q),
5440
- onClick: (t) => E(J)(t, e.index),
5441
- onContextmenu: (t) => E(ie)(t, e.index)
5437
+ "clip-path-id": D(z),
5438
+ "inner-width": D(G),
5439
+ zoomable: D(U),
5440
+ interactive: !D(u),
5441
+ "display-mode": D(o),
5442
+ "interaction-mode": D(c),
5443
+ "frame-number": D(ae)(e.id),
5444
+ "frame-style": D(oe),
5445
+ axes: D(ce),
5446
+ "clean-view": D(l),
5447
+ "zero-line": D(le),
5448
+ "time-unit": D(ue),
5449
+ "y-label": D(de),
5450
+ onPointerMove: (t) => D(Y)(t, e.index),
5451
+ onPointerDown: (t) => D(fe)(t, e.index, !0),
5452
+ onPointerUp: D(re),
5453
+ onPointerCancel: D(K),
5454
+ onPointerLeave: D(q),
5455
+ onClick: (t) => D(J)(t, e.index),
5456
+ onContextmenu: (t) => D(ie)(t, e.index)
5442
5457
  }, null, 8, [
5443
5458
  "track",
5444
5459
  "clip-path-id",
@@ -5462,35 +5477,35 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5462
5477
  "onClick",
5463
5478
  "onContextmenu"
5464
5479
  ]))), 128)),
5465
- s(E(ms), {
5466
- state: E(pe),
5467
- tracks: E(R),
5468
- "clip-path-id": E(z),
5469
- visible: E(me) && !E(u)
5480
+ s(D(_s), {
5481
+ state: D(X),
5482
+ tracks: D(R),
5483
+ "clip-path-id": D(z),
5484
+ visible: D(pe) && !D(u)
5470
5485
  }, null, 8, [
5471
5486
  "state",
5472
5487
  "tracks",
5473
5488
  "clip-path-id",
5474
5489
  "visible"
5475
5490
  ]),
5476
- E(he) && E(d)?.kind === "box" ? (v(), i("rect", {
5491
+ D(me) && D(d)?.kind === "box" ? (y(), i("rect", {
5477
5492
  key: 2,
5478
5493
  class: "waveform-chart__zoom-selection",
5479
- x: E(he).x,
5480
- y: E(he).y,
5481
- width: E(he).width,
5482
- height: E(he).height,
5494
+ x: D(me).x,
5495
+ y: D(me).y,
5496
+ width: D(me).width,
5497
+ height: D(me).height,
5483
5498
  "aria-hidden": "true"
5484
- }, null, 8, Es)) : r("", !0),
5485
- E(l) ? r("", !0) : (v(), n(E(tt), {
5499
+ }, null, 8, ks)) : r("", !0),
5500
+ D(l) ? r("", !0) : (y(), n(D(tt), {
5486
5501
  key: 3,
5487
- annotations: E(ge),
5488
- visible: E(_e),
5489
- interactive: !E(u),
5490
- onContextmenu: E(ve),
5491
- onDragStart: E(ye),
5492
- onMove: E(be),
5493
- onDragEnd: E(xe)
5502
+ annotations: D(he),
5503
+ visible: D(ge),
5504
+ interactive: !D(u),
5505
+ onContextmenu: D(_e),
5506
+ onDragStart: D(ve),
5507
+ onMove: D(ye),
5508
+ onDragEnd: D(be)
5494
5509
  }, null, 8, [
5495
5510
  "annotations",
5496
5511
  "visible",
@@ -5500,23 +5515,23 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5500
5515
  "onMove",
5501
5516
  "onDragEnd"
5502
5517
  ])),
5503
- E(l) ? r("", !0) : (v(), i("g", Ds, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5518
+ D(l) ? r("", !0) : (y(), i("g", As, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
5504
5519
  key: `legend-${e.index}-${e.id}`,
5505
5520
  class: "waveform-chart__legend-track",
5506
5521
  "data-legend-track-index": e.index,
5507
5522
  "data-legend-track-id": e.id,
5508
5523
  transform: `translate(${e.left}, ${e.top})`
5509
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(us), {
5524
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(ps), {
5510
5525
  key: 0,
5511
5526
  series: e.legendSeries,
5512
- position: E(X)(e.id),
5513
- orientation: E(Se)(E(X)(e.id)),
5514
- "background-color": E(Ce),
5515
- interactive: E(we),
5516
- "hidden-series-ids": E(Te),
5517
- width: e.width ?? E(G),
5527
+ position: D(xe)(e.id),
5528
+ orientation: D(Z)(D(xe)(e.id)),
5529
+ "background-color": D(Se),
5530
+ interactive: D(Ce),
5531
+ "hidden-series-ids": D(we),
5532
+ width: e.width ?? D(G),
5518
5533
  height: e.height,
5519
- onToggle: E(Ee)
5534
+ onToggle: D(Te)
5520
5535
  }, null, 8, [
5521
5536
  "series",
5522
5537
  "position",
@@ -5527,51 +5542,51 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5527
5542
  "width",
5528
5543
  "height",
5529
5544
  "onToggle"
5530
- ])) : r("", !0)], 8, Os))), 128))]))
5531
- ], 8, xs),
5532
- E(De) && !E(l) ? (v(), i("text", {
5545
+ ])) : r("", !0)], 8, js))), 128))]))
5546
+ ], 8, ws),
5547
+ D(Ee) && !D(l) ? (y(), i("text", {
5533
5548
  key: 0,
5534
5549
  class: "waveform-chart__label waveform-chart__x-label",
5535
- x: E(g) + E(G) / 2,
5536
- y: E(Oe),
5550
+ x: D(g) + D(G) / 2,
5551
+ y: D(De),
5537
5552
  "text-anchor": "middle"
5538
- }, w(E(De)), 9, ks)) : r("", !0),
5539
- E(ke) && !E(I) ? (v(), i("text", {
5553
+ }, T(D(Ee)), 9, Ms)) : r("", !0),
5554
+ D(Oe) && !D(I) ? (y(), i("text", {
5540
5555
  key: 1,
5541
5556
  class: "waveform-chart__empty",
5542
- x: E(P) / 2,
5543
- y: E(F) / 2,
5557
+ x: D(P) / 2,
5558
+ y: D(F) / 2,
5544
5559
  "text-anchor": "middle"
5545
- }, " 暂无有效波形数据 ", 8, As)) : r("", !0)
5546
- ], 40, vs)),
5547
- E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(oe), {
5560
+ }, " 暂无有效波形数据 ", 8, Ns)) : r("", !0)
5561
+ ], 40, xs)),
5562
+ D(ke).showPagination && D(Ae) > 1 && !D(l) ? (y(), n(D(se), {
5548
5563
  key: 1,
5549
5564
  class: "waveform-chart__pagination",
5550
5565
  "aria-label": "波形分页",
5551
- current: E(Me),
5552
- "page-size": E(Ne)(E(Ae)),
5553
- total: E(Pe).length,
5566
+ current: D(je),
5567
+ "page-size": D(Me)(D(ke)),
5568
+ total: D(Ne).length,
5554
5569
  "show-size-changer": !1,
5555
5570
  "show-quick-jumper": !1,
5556
- onChange: E(Fe)
5571
+ onChange: D(Pe)
5557
5572
  }, null, 8, [
5558
5573
  "current",
5559
5574
  "page-size",
5560
5575
  "total",
5561
5576
  "onChange"
5562
5577
  ])) : r("", !0),
5563
- E(Le) && !E(l) && !E(u) ? (v(), n(Ya, {
5578
+ D(Ie) && !D(l) && !D(u) ? (y(), n(to, {
5564
5579
  key: 2,
5565
- annotation: E(Le).annotation,
5566
- mode: E(Le).mode,
5567
- series: E(ze),
5568
- "series-options": E(Be),
5569
- "time-unit": E(ue),
5570
- "time-error": E(Ve),
5571
- onConfirm: E(He),
5572
- onCancel: E(Ue),
5573
- onSeriesChange: E(We),
5574
- onTimeChange: E(Ge)
5580
+ annotation: D(Ie).annotation,
5581
+ mode: D(Ie).mode,
5582
+ series: D(Re),
5583
+ "series-options": D(ze),
5584
+ "time-unit": D(ue),
5585
+ "time-error": D(Be),
5586
+ onConfirm: D(Ve),
5587
+ onCancel: D(He),
5588
+ onSeriesChange: D(Ue),
5589
+ onTimeChange: D(We)
5575
5590
  }, null, 8, [
5576
5591
  "annotation",
5577
5592
  "mode",
@@ -5584,15 +5599,15 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5584
5599
  "onSeriesChange",
5585
5600
  "onTimeChange"
5586
5601
  ])) : r("", !0),
5587
- !E(l) && !E(u) ? (v(), n(E(nt), {
5602
+ !D(l) && !D(u) ? (y(), n(D(nt), {
5588
5603
  key: 3,
5589
- visible: E(Re) !== null,
5590
- x: E(Re)?.x || 0,
5591
- y: E(Re)?.y || 0,
5592
- "can-edit": !!E(Re)?.annotationId,
5593
- onEdit: E(Ke),
5594
- onDelete: E(qe),
5595
- onClose: E(Ie).closeContextMenu
5604
+ visible: D(Le) !== null,
5605
+ x: D(Le)?.x || 0,
5606
+ y: D(Le)?.y || 0,
5607
+ "can-edit": !!D(Le)?.annotationId,
5608
+ onEdit: D(Ge),
5609
+ onDelete: D(Ke),
5610
+ onClose: D(Fe).closeContextMenu
5596
5611
  }, null, 8, [
5597
5612
  "visible",
5598
5613
  "x",
@@ -5602,12 +5617,12 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5602
5617
  "onDelete",
5603
5618
  "onClose"
5604
5619
  ])) : r("", !0),
5605
- s(E(so), {
5606
- state: E(pe),
5607
- visible: E(me) && !E(u),
5608
- "time-unit": E(ue),
5609
- "container-width": E(P),
5610
- "container-height": E(Je)
5620
+ s(D(uo), {
5621
+ state: D(X),
5622
+ visible: D(pe) && !D(u),
5623
+ "time-unit": D(ue),
5624
+ "container-width": D(P),
5625
+ "container-height": D(qe)
5611
5626
  }, null, 8, [
5612
5627
  "state",
5613
5628
  "visible",
@@ -5615,9 +5630,9 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5615
5630
  "container-width",
5616
5631
  "container-height"
5617
5632
  ])
5618
- ], 46, hs));
5633
+ ], 46, vs));
5619
5634
  }
5620
- }), Ms = /* @__PURE__ */ l({
5635
+ }), Fs = /* @__PURE__ */ l({
5621
5636
  __name: "WaveformChart",
5622
5637
  props: {
5623
5638
  data: {},
@@ -5701,12 +5716,12 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
5701
5716
  "sampling-error"
5702
5717
  ],
5703
5718
  setup(e, { expose: t, emit: r }) {
5704
- let i = Aa(e, r);
5719
+ let i = Ia(e, r);
5705
5720
  return t({
5706
5721
  resetViewport: i.resetViewport,
5707
5722
  setViewportDomain: i.setViewportDomain
5708
- }), (e, t) => (v(), n(js, { controller: E(i) }, null, 8, ["controller"]));
5723
+ }), (e, t) => (y(), n(Ps, { controller: D(i) }, null, 8, ["controller"]));
5709
5724
  }
5710
5725
  });
5711
5726
  //#endregion
5712
- export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ms as WaveformChart, gt as buildMinorTicks, _i as calculateWasmRange, It as clamp, kt as displayTime, vi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, hi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, gi as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };
5727
+ export { gn as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Fs as WaveformChart, gt as buildMinorTicks, xi as calculateWasmRange, It as clamp, kt as displayTime, Si as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, yi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, En as resolveWaveformRenderingOptions, bi as sampleWaveformWasm, Pn as selectRenderablePoints, ft as serializeWaveformAnnotations };