waveform-analysis 0.1.40 → 0.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +19 -3
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +478 -477
  4. package/dist/style.css +1 -1
  5. package/dist/types/components/core/grid.d.ts +3 -0
  6. package/dist/types/components/core/layout.d.ts +4 -3
  7. package/dist/types/components/core/trackLayoutBuilder.d.ts +1 -0
  8. package/dist/types/components/core/useWaveformChartController.d.ts +1 -0
  9. package/dist/types/components/core/useWaveformChartLifecycle.d.ts +2 -4
  10. package/dist/types/components/core/useWaveformLayout.d.ts +1 -0
  11. package/dist/types/types/chart.d.ts +2 -0
  12. package/package.json +1 -1
  13. package/src/components/annotation/WaveformAnnotationEditor.css +30 -0
  14. package/src/components/annotation/WaveformAnnotationEditor.vue +1 -0
  15. package/src/components/annotation/components.test.ts +14 -1
  16. package/src/components/core/fixedYDomainLayout.test.ts +94 -6
  17. package/src/components/core/grid.test.ts +48 -0
  18. package/src/components/core/grid.ts +20 -7
  19. package/src/components/core/layout.test.ts +31 -5
  20. package/src/components/core/layout.ts +21 -8
  21. package/src/components/core/trackLayoutBuilder.ts +14 -9
  22. package/src/components/core/useWaveformChartLifecycle.ts +25 -15
  23. package/src/components/core/useWaveformLayout.ts +9 -2
  24. package/src/components/waveformChartCases/compactAndSharedHover.test.ts +2 -2
  25. package/src/components/waveformChartCases/dataLifecycle.test.ts +2 -2
  26. package/src/components/waveformChartCases/gridFill.test.ts +95 -0
  27. package/src/components/waveformChartCases/layoutAndDomains.test.ts +23 -3
  28. package/src/types/chart.ts +2 -0
package/dist/index.js CHANGED
@@ -621,14 +621,14 @@ function Ye() {
621
621
  }
622
622
  //#endregion
623
623
  //#region src/utils/domain.ts
624
- function $(e) {
624
+ function Xe(e) {
625
625
  if (e.length === 0) return [0, 1];
626
626
  let [t = 0, n = 1] = R(e);
627
627
  if (t !== n) return [t, n];
628
628
  let r = Math.abs(t) * .05 || .5;
629
629
  return [t - r, n + r];
630
630
  }
631
- function Xe(e, t = 5, n) {
631
+ function Ze(e, t = 5, n) {
632
632
  let r = e;
633
633
  if (n && e.length >= 2) {
634
634
  let t = e[0], n = e[1], i = e[e.length - 1], a = e[e.length - 2];
@@ -650,71 +650,71 @@ function Xe(e, t = 5, n) {
650
650
  }
651
651
  //#endregion
652
652
  //#region src/utils/formatters.ts
653
- var Ze = .001, Qe = 1e3, $e = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), et = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 });
654
- function tt(e, t) {
653
+ var Qe = .001, $e = 1e3, et = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), tt = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 });
654
+ function nt(e, t) {
655
655
  let n = e.toFixed(Math.max(0, t));
656
656
  return /^-0(?:\.0+)?$/.test(n) ? n.slice(1) : n;
657
657
  }
658
- function nt(e) {
659
- return Number.isFinite(e) && (e >= Qe || e > 0 && e < Ze);
658
+ function rt(e) {
659
+ return Number.isFinite(e) && (e >= $e || e > 0 && e < Qe);
660
660
  }
661
- function rt(e, t) {
661
+ function it(e, t) {
662
662
  if (typeof e != "number" || typeof t != "number") return null;
663
663
  let n = Math.max(Math.abs(e), Math.abs(t));
664
- return nt(n) ? Math.floor(Math.log10(n)) : null;
664
+ return rt(n) ? Math.floor(Math.log10(n)) : null;
665
665
  }
666
- function it(e) {
666
+ function at(e) {
667
667
  return `E${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
668
668
  }
669
- function at(e) {
669
+ function ot(e) {
670
670
  if (Object.is(e, -0)) return "0";
671
- let t = e === 0 ? 0 : Number(e.toPrecision(5)), n = $e.format(t);
671
+ let t = e === 0 ? 0 : Number(e.toPrecision(5)), n = et.format(t);
672
672
  return n === "-0" ? "0" : n;
673
673
  }
674
- function ot(e, t = {}) {
674
+ function st(e, t = {}) {
675
675
  if (!Number.isFinite(e)) return String(e);
676
- let n = rt(t.axisMin, t.axisMax), r = at(n === null ? e : e / 10 ** n);
676
+ let n = it(t.axisMin, t.axisMax), r = ot(n === null ? e : e / 10 ** n);
677
677
  if (e !== (t.topTickValue ?? t.axisMax)) return r;
678
678
  let i = t.unit?.trim(), a = i ? `(${i}) ` : "";
679
- return `${n === null ? "" : `${it(n)} `}${a}${r}`;
680
- }
681
- function st(e) {
682
- return Number.isFinite(e) ? Object.is(e, -0) ? "0" : et.format(e) : String(e);
679
+ return `${n === null ? "" : `${at(n)} `}${a}${r}`;
683
680
  }
684
681
  function ct(e) {
682
+ return Number.isFinite(e) ? Object.is(e, -0) ? "0" : tt.format(e) : String(e);
683
+ }
684
+ function lt(e) {
685
685
  if (!Number.isFinite(e)) return String(e);
686
686
  if (Object.is(e, -0)) return "0";
687
687
  let [t, n] = e.toExponential().split("e"), r = Number(n), i = t.startsWith("-"), a = t.replace("-", "").replace(".", ""), o = r + 1, s;
688
688
  return s = o <= 0 ? `0.${"0".repeat(Math.abs(o))}${a}` : o >= a.length ? `${a}${"0".repeat(o - a.length)}` : `${a.slice(0, o)}.${a.slice(o)}`, `${i ? "-" : ""}${s}`;
689
689
  }
690
- function lt(e, t) {
690
+ function ut(e, t) {
691
691
  return t === "ms" ? e * 1e3 : e;
692
692
  }
693
- function ut(e, t, n, r, i) {
694
- let a = lt(e, n);
693
+ function dt(e, t, n, r, i) {
694
+ let a = ut(e, n);
695
695
  return i ? i(a, {
696
696
  kind: r,
697
697
  rawValue: e,
698
698
  timeUnit: n,
699
699
  domain: [t[0], t[1]],
700
- displayDomain: [lt(t[0], n), lt(t[1], n)]
701
- }) : ct(a);
702
- }
703
- function dt(e, t, n) {
704
- return ut(e, t, n, "end");
700
+ displayDomain: [ut(t[0], n), ut(t[1], n)]
701
+ }) : lt(a);
705
702
  }
706
703
  function ft(e, t, n) {
707
- return ut(e, n ?? [e, e], t, "tick");
704
+ return dt(e, t, n, "end");
708
705
  }
709
- function pt(e, t) {
710
- return st(lt(e, t));
706
+ function pt(e, t, n) {
707
+ return dt(e, n ?? [e, e], t, "tick");
711
708
  }
712
709
  function mt(e, t) {
713
- return Number.isFinite(e) ? tt(lt(e, t), 3) : String(e);
710
+ return ct(ut(e, t));
711
+ }
712
+ function ht(e, t) {
713
+ return Number.isFinite(e) ? nt(ut(e, t), 3) : String(e);
714
714
  }
715
715
  //#endregion
716
716
  //#region src/utils/geometry.ts
717
- function ht(e, t, n) {
717
+ function gt(e, t, n) {
718
718
  if (e <= 0) return {
719
719
  gap: 0,
720
720
  axisBand: 0,
@@ -727,55 +727,55 @@ function ht(e, t, n) {
727
727
  height: Math.max(1, (n - (e - 1) * (c + l)) / e)
728
728
  };
729
729
  }
730
- function gt(e, t, n) {
730
+ function _t(e, t, n) {
731
731
  return Math.min(Math.max(e, t), n);
732
732
  }
733
733
  //#endregion
734
734
  //#region src/components/core/constants.ts
735
- var _t = {
735
+ var vt = {
736
736
  top: 18,
737
737
  right: 24,
738
738
  bottom: 52,
739
739
  left: 64
740
- }, vt = {
740
+ }, yt = {
741
741
  DEFAULT_MAX_SCALE: 40,
742
742
  MIN_SCALE: 1
743
- }, yt = .62, bt = 1.2, xt = /* @__PURE__ */ "#0960bd.#ff7f0e.#2ca02c.#d62728.#9467bd.#8c564b.#e377c2.#7f7f7f.#bcbd22.#17becf.#005f73.#0a9396.#ae2012.#bb3e03.#ca6702.#ee9b00.#9b2226.#3a0ca3.#4361ee.#4895ef.#560bad.#7209b7.#b5179e.#f72585.#006d77.#2f3e46.#354f52.#52796f.#800f2f.#31572c".split("."), St = {
743
+ }, bt = .62, xt = 1.2, St = /* @__PURE__ */ "#0960bd.#ff7f0e.#2ca02c.#d62728.#9467bd.#8c564b.#e377c2.#7f7f7f.#bcbd22.#17becf.#005f73.#0a9396.#ae2012.#bb3e03.#ca6702.#ee9b00.#9b2226.#3a0ca3.#4361ee.#4895ef.#560bad.#7209b7.#b5179e.#f72585.#006d77.#2f3e46.#354f52.#52796f.#800f2f.#31572c".split("."), Ct = {
744
744
  WIDTH: 1.5,
745
745
  CAP_WIDTH: 8
746
- }, Ct = {
746
+ }, wt = {
747
747
  COLOR: "#98a2b3",
748
748
  WIDTH: 1,
749
749
  DASH: "6 4"
750
750
  };
751
751
  //#endregion
752
752
  //#region src/components/core/yDomain.ts
753
- function wt(e) {
753
+ function Tt(e) {
754
754
  if (!(!e || !Number.isFinite(e[0]) || !Number.isFinite(e[1]) || e[0] === e[1])) return e[0] < e[1] ? [e[0], e[1]] : [e[1], e[0]];
755
755
  }
756
- function Tt(e, t) {
757
- return wt(t?.[e.id]);
758
- }
759
- function Et(e, t, n) {
760
- return wt(n?.[e.id]) ?? wt(t);
756
+ function Et(e, t) {
757
+ return Tt(t?.[e.id]);
761
758
  }
762
759
  function Dt(e, t, n) {
763
- return !!(Tt(e, n) || e.visibleSeries.some((e) => Et(e, t, n)));
760
+ return Tt(n?.[e.id]) ?? Tt(t);
761
+ }
762
+ function Ot(e, t, n) {
763
+ return !!(Et(e, n) || e.visibleSeries.some((e) => Dt(e, t, n)));
764
764
  }
765
- function Ot(e) {
765
+ function kt(e) {
766
766
  return [Math.min(...e.map((e) => e[0])), Math.max(...e.map((e) => e[1]))];
767
767
  }
768
768
  //#endregion
769
769
  //#region src/core/data.ts
770
- var kt = St.WIDTH, At = St.CAP_WIDTH;
771
- function jt(e) {
770
+ var At = Ct.WIDTH, jt = Ct.CAP_WIDTH;
771
+ function Mt(e) {
772
772
  return e === "dashed" || e === "dash-dot" ? e : "solid";
773
773
  }
774
- function Mt(e) {
774
+ function Nt(e) {
775
775
  return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
776
776
  }
777
- function Nt(e) {
778
- let t = Mt(e.error), n = Mt(e.lowerError), r = Mt(e.upperError);
777
+ function Pt(e) {
778
+ let t = Nt(e.error), n = Nt(e.lowerError), r = Nt(e.upperError);
779
779
  return {
780
780
  x: e.x,
781
781
  y: e.y,
@@ -784,14 +784,14 @@ function Nt(e) {
784
784
  ...r === void 0 ? {} : { upperError: r }
785
785
  };
786
786
  }
787
- function Pt(e) {
788
- let t = Mt(e.error) ?? 0;
787
+ function Ft(e) {
788
+ let t = Nt(e.error) ?? 0;
789
789
  return {
790
- lower: Mt(e.lowerError) ?? t,
791
- upper: Mt(e.upperError) ?? t
790
+ lower: Nt(e.lowerError) ?? t,
791
+ upper: Nt(e.upperError) ?? t
792
792
  };
793
793
  }
794
- function Ft(e) {
794
+ function It(e) {
795
795
  if (e.kind === "samples") {
796
796
  if (!Number.isFinite(e.sampleRate) || e.sampleRate <= 0) return [];
797
797
  let t = Number.isFinite(e.startTime) ? e.startTime ?? 0 : 0, n = [];
@@ -807,14 +807,14 @@ function Ft(e) {
807
807
  let t = [], n = -Infinity, r = !0;
808
808
  for (let i of e.points) {
809
809
  if (!Number.isFinite(i.x) || !Number.isFinite(i.y)) continue;
810
- let e = Nt(i);
810
+ let e = Pt(i);
811
811
  e.x < n && (r = !1), n = e.x, t.push(e);
812
812
  }
813
813
  return r || t.sort((e, t) => e.x - t.x), t;
814
814
  }
815
- function It(e) {
815
+ function Lt(e) {
816
816
  if (e.kind !== "series") {
817
- let t = Ft(e);
817
+ let t = It(e);
818
818
  return t.length > 0 ? [{
819
819
  id: "series-0",
820
820
  name: "",
@@ -823,8 +823,8 @@ function It(e) {
823
823
  pointType: "none",
824
824
  errorBar: {
825
825
  visible: !1,
826
- width: kt,
827
- capWidth: At
826
+ width: At,
827
+ capWidth: jt
828
828
  },
829
829
  points: t
830
830
  }] : [];
@@ -834,7 +834,7 @@ function It(e) {
834
834
  let r = e.id?.trim() || `series-${n}`, i = r, a = 1;
835
835
  for (; t.has(i);) i = `${r}-${a}`, a++;
836
836
  t.add(i);
837
- let o = e.lineType ?? "linear", s = jt(e.lineStyle), c = e.pointType ?? "none", l = e.errorBar?.visible === !0, u = o === "none" && c === "none" && !l ? "linear" : o, d = Number(e.errorBar?.width), f = Number(e.errorBar?.capWidth);
837
+ let o = e.lineType ?? "linear", s = Mt(e.lineStyle), c = e.pointType ?? "none", l = e.errorBar?.visible === !0, u = o === "none" && c === "none" && !l ? "linear" : o, d = Number(e.errorBar?.width), f = Number(e.errorBar?.capWidth);
838
838
  return {
839
839
  id: i,
840
840
  shotNo: e.shotNo?.trim() || void 0,
@@ -848,29 +848,29 @@ function It(e) {
848
848
  errorBar: {
849
849
  visible: l,
850
850
  color: e.errorBar?.color,
851
- width: Number.isFinite(d) && d > 0 ? d : kt,
852
- capWidth: Number.isFinite(f) && f > 0 ? f : At
851
+ width: Number.isFinite(d) && d > 0 ? d : At,
852
+ capWidth: Number.isFinite(f) && f > 0 ? f : jt
853
853
  },
854
- points: Ft(e.data)
854
+ points: It(e.data)
855
855
  };
856
856
  }).filter((e) => e.points.length > 0);
857
857
  }
858
858
  //#endregion
859
859
  //#region src/core/renderingStrategies.ts
860
- function Lt(e, t) {
860
+ function Rt(e, t) {
861
861
  return {
862
862
  start: Math.max(0, e.start - 1),
863
863
  end: Math.min(t, e.end + 1)
864
864
  };
865
865
  }
866
- function Rt(e, t) {
866
+ function zt(e, t) {
867
867
  t && e[e.length - 1] !== t && e.push(t);
868
868
  }
869
- var zt = (e) => {
870
- let { start: t, end: n } = Lt(e.range, e.points.length);
869
+ var Bt = (e) => {
870
+ let { start: t, end: n } = Rt(e.range, e.points.length);
871
871
  return e.points.slice(t, n);
872
- }, Bt = (e) => {
873
- let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } = Lt(n, t.length);
872
+ }, Vt = (e) => {
873
+ let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } = Rt(n, t.length);
874
874
  if (s - o <= 0) return [];
875
875
  let c = Math.min(r[0], r[1]), l = Math.max(r[0], r[1]), u = Math.max(4, Math.floor(i * a.maxPointsPerPixel)), d = Math.max(1, Math.floor(u / 4)), f = [], p = l - c || 1, m = Array.from({ length: 4 }, () => -1), h = -1, g = -1, _ = -1, v = -1, y = -1, b = (e, t) => {
876
876
  if (e < 0) return t;
@@ -885,9 +885,9 @@ var zt = (e) => {
885
885
  for (; n >= 0 && m[n] > e;) m[n + 1] = m[n], --n;
886
886
  m[n + 1] = e;
887
887
  }
888
- for (let n = 0; n < e; n += 1) Rt(f, t[m[n]]);
888
+ for (let n = 0; n < e; n += 1) zt(f, t[m[n]]);
889
889
  };
890
- Rt(f, t[o]);
890
+ zt(f, t[o]);
891
891
  for (let e = n.start; e < n.end; e += 1) {
892
892
  let n = t[e], r = Math.min(d - 1, Math.max(0, Math.floor((n.x - c) / p * d)));
893
893
  if (r !== h) {
@@ -896,53 +896,53 @@ var zt = (e) => {
896
896
  }
897
897
  _ = e, n.y < t[v].y && (v = e), n.y > t[y].y && (y = e);
898
898
  }
899
- return x(), Rt(f, t[s - 1]), f;
899
+ return x(), zt(f, t[s - 1]), f;
900
900
  };
901
- function Vt(e) {
901
+ function Ht(e) {
902
902
  let t = Math.max(4, Math.floor(e.width * e.options.maxPointsPerPixel));
903
- return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ? zt : Bt;
903
+ return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ? Bt : Vt;
904
904
  }
905
905
  //#endregion
906
906
  //#region src/core/renderingOptions.ts
907
- var Ht = {
907
+ var Ut = {
908
908
  downsample: !0,
909
909
  downsampleThreshold: 2e3,
910
910
  maxPointsPerPixel: 4,
911
911
  pointMinSpacing: 10,
912
912
  errorBarMinSpacing: 12
913
913
  };
914
- function Ut(e) {
914
+ function Wt(e) {
915
915
  let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing);
916
916
  return {
917
- downsample: e?.downsample ?? Ht.downsample,
918
- downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Ht.downsampleThreshold,
919
- maxPointsPerPixel: Number.isFinite(n) && n > 0 ? n : Ht.maxPointsPerPixel,
920
- pointMinSpacing: Number.isFinite(r) && r >= 0 ? r : Ht.pointMinSpacing,
921
- errorBarMinSpacing: Number.isFinite(i) && i >= 0 ? i : Ht.errorBarMinSpacing
917
+ downsample: e?.downsample ?? Ut.downsample,
918
+ downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Ut.downsampleThreshold,
919
+ maxPointsPerPixel: Number.isFinite(n) && n > 0 ? n : Ut.maxPointsPerPixel,
920
+ pointMinSpacing: Number.isFinite(r) && r >= 0 ? r : Ut.pointMinSpacing,
921
+ errorBarMinSpacing: Number.isFinite(i) && i >= 0 ? i : Ut.errorBarMinSpacing
922
922
  };
923
923
  }
924
924
  //#endregion
925
925
  //#region src/core/rendering.ts
926
- var Wt = P((e) => e.x), Gt = () => !0;
927
- function Kt(e, t) {
926
+ var Gt = P((e) => e.x), Kt = () => !0;
927
+ function qt(e, t) {
928
928
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
929
929
  return {
930
- start: Wt.left(e, n),
931
- end: Wt.right(e, r)
930
+ start: Gt.left(e, n),
931
+ end: Gt.right(e, r)
932
932
  };
933
933
  }
934
- function qt(e, t, n) {
934
+ function Jt(e, t, n) {
935
935
  if (!Number.isFinite(n) || n <= 0) return !0;
936
936
  let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
937
937
  for (let n of e) {
938
- let e = Kt(n.points, t);
938
+ let e = qt(n.points, t);
939
939
  for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
940
940
  }
941
941
  return !1;
942
942
  }
943
- function Jt(e, t, n, r, i) {
943
+ function Yt(e, t, n, r, i) {
944
944
  let a = Math.max(0, t.start - 1), o = Math.min(e.length, t.end + 1) - a;
945
- return o <= 0 ? [] : Vt({
945
+ return o <= 0 ? [] : Ht({
946
946
  visibleCount: o,
947
947
  width: r,
948
948
  options: i
@@ -954,12 +954,12 @@ function Jt(e, t, n, r, i) {
954
954
  options: i
955
955
  });
956
956
  }
957
- function Yt(e, t, n, r) {
958
- return !e.length || n <= 0 ? [] : Jt(e, Kt(e, t), t, n, r);
957
+ function Xt(e, t, n, r) {
958
+ return !e.length || n <= 0 ? [] : Yt(e, qt(e, t), t, n, r);
959
959
  }
960
- function Xt(e, t, n, r, i, a, o, s) {
960
+ function Zt(e, t, n, r, i, a, o, s) {
961
961
  if (!a || i === 0) {
962
- if (o === Gt) return e.slice(t.start, t.end);
962
+ if (o === Kt) return e.slice(t.start, t.end);
963
963
  let n = [];
964
964
  for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
965
965
  return n;
@@ -992,36 +992,36 @@ function Xt(e, t, n, r, i, a, o, s) {
992
992
  let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
993
993
  return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
994
994
  }
995
- function Zt(e) {
996
- let { lower: t, upper: n } = Pt(e);
995
+ function Qt(e) {
996
+ let { lower: t, upper: n } = Ft(e);
997
997
  return t !== 0 || n !== 0;
998
998
  }
999
- function Qt(e, t, n, r, i) {
999
+ function $t(e, t, n, r, i) {
1000
1000
  if (!e.length || n <= 0) return {
1001
1001
  linePoints: [],
1002
1002
  pointRenderPoints: [],
1003
1003
  errorBarRenderPoints: []
1004
1004
  };
1005
- let a = Kt(e, t), o = i.lineVisible ? Jt(e, a, t, n, r) : [], s = i.errorBarVisible && i.hasErrorPoints;
1005
+ let a = qt(e, t), o = i.lineVisible ? Yt(e, a, t, n, r) : [], s = i.errorBarVisible && i.hasErrorPoints;
1006
1006
  if (i.pointVisible && s) {
1007
- let i = Xt(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, Gt, Zt);
1007
+ let i = Zt(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, Kt, Qt);
1008
1008
  return {
1009
1009
  linePoints: o,
1010
1010
  pointRenderPoints: i,
1011
- errorBarRenderPoints: i.filter(Zt)
1011
+ errorBarRenderPoints: i.filter(Qt)
1012
1012
  };
1013
1013
  }
1014
1014
  return {
1015
1015
  linePoints: o,
1016
- pointRenderPoints: i.pointVisible ? Xt(e, a, t, n, r.pointMinSpacing, r.downsample, Gt) : [],
1017
- errorBarRenderPoints: s ? Xt(e, a, t, n, r.errorBarMinSpacing, r.downsample, Zt) : []
1016
+ pointRenderPoints: i.pointVisible ? Zt(e, a, t, n, r.pointMinSpacing, r.downsample, Kt) : [],
1017
+ errorBarRenderPoints: s ? Zt(e, a, t, n, r.errorBarMinSpacing, r.downsample, Qt) : []
1018
1018
  };
1019
1019
  }
1020
- var $t = (e, t) => {
1020
+ var en = (e, t) => {
1021
1021
  let n = typeof e == "number" ? e : Number(e);
1022
1022
  return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
1023
1023
  };
1024
- function en(e) {
1024
+ function tn(e) {
1025
1025
  let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
1026
1026
  horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
1027
1027
  vertical: typeof t?.vertical != "boolean" || t.vertical,
@@ -1029,56 +1029,58 @@ function en(e) {
1029
1029
  verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
1030
1030
  }]));
1031
1031
  return {
1032
- rowCount: $t(e?.rowCount, 2),
1033
- columnCount: $t(e?.columnCount, 1),
1032
+ rowCount: en(e?.rowCount, 2),
1033
+ columnCount: en(e?.columnCount, 1),
1034
1034
  showPagination: e?.showPagination ?? !0,
1035
+ fillIncompleteLastRow: e?.fillIncompleteLastRow ?? !1,
1035
1036
  trackLines: t
1036
1037
  };
1037
1038
  }
1038
- function tn(e) {
1039
+ function nn(e) {
1039
1040
  return e.rowCount * e.columnCount;
1040
1041
  }
1041
- function nn(e, t) {
1042
- return Math.max(1, Math.ceil(Math.max(0, e) / tn(t)));
1042
+ function rn(e, t) {
1043
+ return Math.max(1, Math.ceil(Math.max(0, e) / nn(t)));
1043
1044
  }
1044
- function rn(e, t, n) {
1045
- let r = nn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * tn(n);
1046
- return e.slice(i, i + tn(n));
1045
+ function an(e, t, n) {
1046
+ let r = rn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * nn(n);
1047
+ return e.slice(i, i + nn(n));
1047
1048
  }
1048
- function an(e) {
1049
+ function on(e) {
1049
1050
  return e === "compact" ? 0 : e === "separated" ? 16 : 14;
1050
1051
  }
1051
- function on(e, t, n, r, i = [], a, o = !0) {
1052
- let s = an(r), c = Number.isFinite(a) ? Math.max(0, a) : s, l = Math.max(0, n.columnCount - 1) * c, u = /* @__PURE__ */ new Set();
1052
+ function sn(e, t, n, r, i = [], a, o = !0) {
1053
+ let s = nn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = on(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
1053
1054
  if (o) {
1054
- if (r === "independent") for (let e = 0; e < n.rowCount; e += 1) u.add(e);
1055
- else if (r === "compact") u.add(n.rowCount - 1);
1056
- else for (let e = 0; e < n.columnCount; e += 1) for (let t = tn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1057
- u.add(Math.floor(t / n.columnCount));
1055
+ if (r === "independent") for (let e = 0; e < u; e += 1) p.add(e);
1056
+ else if (r === "compact") p.add(u - 1);
1057
+ else for (let e = 0; e < n.columnCount; e += 1) for (let t = nn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1058
+ p.add(Math.floor(t / n.columnCount));
1058
1059
  break;
1059
1060
  }
1060
1061
  }
1061
- let d = Math.max(0, n.rowCount - 1) * s, f = u.size * 30, p = Math.max(1, (e - l) / n.columnCount), m = Math.max(1, (t - d - f) / n.rowCount);
1062
- return Array.from({ length: tn(n) }, (e, t) => {
1063
- let r = Math.floor(t / n.columnCount), i = t % n.columnCount, a = u.has(r) ? 30 : 0, o = m + a, l = Array.from({ length: r }, (e, t) => {
1064
- let n = u.has(t) ? 30 : 0;
1065
- return m + n + s;
1062
+ let m = Math.max(0, u - 1) * d, h = p.size * 30, g = Math.max(1, (t - m - h) / u);
1063
+ return Array.from({ length: l ? c : s }, (t, r) => {
1064
+ let i = Math.floor(r / n.columnCount), a = r % n.columnCount, o = l && i === u - 1 ? c - i * n.columnCount : n.columnCount, s = Math.max(0, o - 1) * f, m = Math.max(1, (e - s) / o), h = p.has(i) ? 30 : 0, _ = g + h, v = Array.from({ length: i }, (e, t) => {
1065
+ let n = p.has(t) ? 30 : 0;
1066
+ return g + n + d;
1066
1067
  }).reduce((e, t) => e + t, 0);
1067
1068
  return {
1068
- slotIndex: t,
1069
- row: r,
1070
- column: i,
1071
- left: i * (p + c),
1072
- top: l,
1073
- width: p,
1074
- height: m,
1075
- plotHeight: m,
1076
- cellHeight: o,
1077
- xAxisBand: a
1069
+ slotIndex: r,
1070
+ row: i,
1071
+ column: a,
1072
+ left: a * (m + f),
1073
+ top: v,
1074
+ width: m,
1075
+ height: g,
1076
+ plotHeight: g,
1077
+ cellHeight: _,
1078
+ xAxisBand: h,
1079
+ isLastRow: i === u - 1
1078
1080
  };
1079
1081
  });
1080
1082
  }
1081
- function sn(e, t) {
1083
+ function cn(e, t) {
1082
1084
  let n = /* @__PURE__ */ new Set();
1083
1085
  for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
1084
1086
  let i = e[t];
@@ -1091,26 +1093,26 @@ function sn(e, t) {
1091
1093
  }
1092
1094
  //#endregion
1093
1095
  //#region src/components/core/xDomain.ts
1094
- var cn = 10;
1095
- function ln(e) {
1096
- return !Number.isFinite(e) || (e ?? 0) < 1 ? cn : Math.max(1, Math.trunc(e));
1096
+ var ln = 10;
1097
+ function un(e) {
1098
+ return !Number.isFinite(e) || (e ?? 0) < 1 ? ln : Math.max(1, Math.trunc(e));
1097
1099
  }
1098
- function un(e, t, n = !1) {
1100
+ function dn(e, t, n = !1) {
1099
1101
  if (t.type !== "nice" || n && !t.includeExplicit) return [...e];
1100
- let r = V().domain(e).nice(ln(t.tickCount)).domain();
1102
+ let r = V().domain(e).nice(un(t.tickCount)).domain();
1101
1103
  return t.bounds === "end" ? [e[0], r[1]] : r;
1102
1104
  }
1103
1105
  //#endregion
1104
1106
  //#region src/components/core/trackLayoutBuilder.ts
1105
- function dn(e, t, n) {
1107
+ function fn(e, t, n) {
1106
1108
  let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
1107
- return i ? un(i, r, !0) : un(e.xDomain, r);
1109
+ return i ? dn(i, r, !0) : dn(e.xDomain, r);
1108
1110
  }
1109
- function fn(e) {
1111
+ function pn(e) {
1110
1112
  let t = e.cells.map((e) => ({
1111
1113
  ...e,
1112
1114
  hasSeries: !!e.series
1113
- })), n = sn(t, e.grid.columnCount);
1115
+ })), n = cn(t, e.grid.columnCount);
1114
1116
  return t.flatMap((t, r) => {
1115
1117
  let i = !t.series;
1116
1118
  if (i && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
@@ -1136,39 +1138,35 @@ function fn(e) {
1136
1138
  visibleSeries: [a],
1137
1139
  xDomain: a.xDomain,
1138
1140
  yDomain: a.yDomain
1139
- }, s = !i && o.visibleSeries.length > 0, c = o.visibleSeries[0] ?? o.series[0] ?? a, l = e.displayMode === "independent" ? V(dn(o, c.id, e), [0, t.width]) : V(e.sharedZoomDomain, [0, t.width]), u = (e.displayMode === "independent" ? e.independentTransforms[r] ?? W : W).rescaleX(l), d = e.yDomains?.[o.id], f = xn(o, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && d ? {
1141
+ }, s = !i && o.visibleSeries.length > 0, c = o.visibleSeries[0] ?? o.series[0] ?? a, l = e.displayMode === "independent" ? V(fn(o, c.id, e), [0, t.width]) : V(e.sharedZoomDomain, [0, t.width]), u = (e.displayMode === "independent" ? e.independentTransforms[r] ?? W : W).rescaleX(l), d = e.yDomains?.[o.id], f = Cn(o, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && d ? {
1140
1142
  ...e,
1141
1143
  domain: d
1142
1144
  } : e), p = {
1143
1145
  left: 0,
1144
1146
  right: 0
1145
1147
  }, m = f.map((n) => {
1146
- let r = V(n.domain, [t.plotHeight, 0]);
1147
- n.fixed || r.nice();
1148
- let i = r.ticks(Math.max(2, Math.floor(t.plotHeight / 55))), [a, o] = r.domain(), s = e.displayMode !== "compact" || t.row === 0, c = s ? i : i.filter((e) => e !== o), l = Array.from(/* @__PURE__ */ new Set([
1149
- a,
1150
- ...c,
1151
- ...s ? [o] : []
1152
- ])), { tickTextWidth: u } = Sn(n.domain, !n.fixed, l, n.seriesList[0]?.unit), d = u + 7 + 6 + 24 + 4, f = n.side === "left" ? -p.left : t.width + p.right, m = u + 7 + 6 + 24 / 2, h = f + (n.side === "left" ? -m : m);
1148
+ let r = yn(t.plotHeight, e.yAxisSplitNumber), i = Math.max(1, r - 1), a = V(n.domain, [t.plotHeight, 0]);
1149
+ a.nice(i);
1150
+ let [o, s] = a.domain(), c = Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1)), l = e.displayMode !== "compact" || t.row === 0 ? c : c.filter((e) => e !== s), { tickTextWidth: u } = wn(a.domain(), !1, l, n.seriesList[0]?.unit, r), d = u + 7 + 6 + 24 + 4, f = n.side === "left" ? -p.left : t.width + p.right, m = u + 7 + 6 + 24 / 2, h = f + (n.side === "left" ? -m : m);
1153
1151
  return p[n.side] += d, {
1154
1152
  index: n.index,
1155
1153
  side: n.side,
1156
1154
  x: f,
1157
1155
  labelX: h,
1158
- scale: r,
1159
- majorTicks: i,
1160
- minorTicks: Xe(i),
1156
+ scale: a,
1157
+ majorTicks: c,
1158
+ minorTicks: Ze(c),
1161
1159
  tickValues: l,
1162
1160
  seriesList: n.seriesList
1163
1161
  };
1164
1162
  }), h = m[0]?.scale ?? V(o.yDomain, [t.plotHeight, 0]).nice(), g = u.ticks(Math.max(2, Math.floor(t.width / 100))), _ = m[0]?.majorTicks ?? [], v = m[0]?.tickValues ?? [], y = u.domain(), b = {
1165
- start: ut(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1166
- end: ut(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1163
+ start: dt(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1164
+ end: dt(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1167
1165
  }, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
1168
1166
  let n = u(e);
1169
1167
  return n > x && n < t.width - S;
1170
1168
  }), w = o.visibleSeries.map((n) => {
1171
- let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Qt(n.points, y, t.width, e.rendering, {
1169
+ let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = $t(n.points, y, t.width, e.rendering, {
1172
1170
  lineVisible: !i && n.lineType !== "none",
1173
1171
  pointVisible: n.pointType !== "none",
1174
1172
  errorBarVisible: n.errorBar.visible,
@@ -1202,7 +1200,7 @@ function fn(e) {
1202
1200
  yScale: h,
1203
1201
  yAxes: m,
1204
1202
  xMajorTicks: g,
1205
- xMinorTicks: Xe(g, 5, y),
1203
+ xMinorTicks: Ze(g, 5, y),
1206
1204
  yMajorTicks: _,
1207
1205
  yMinorTicks: m[0]?.minorTicks ?? [],
1208
1206
  yAxisTickValues: v,
@@ -1214,14 +1212,17 @@ function fn(e) {
1214
1212
  horizontal: !0,
1215
1213
  vertical: !0
1216
1214
  },
1217
- showXAxis: (i || s) && (e.displayMode === "independent" || (e.displayMode === "compact" ? t.row === e.grid.rowCount - 1 : n.has(t.slotIndex)))
1215
+ showXAxis: (i || s) && (e.displayMode === "independent" || (e.displayMode === "compact" ? t.isLastRow ?? t.row === e.grid.rowCount - 1 : n.has(t.slotIndex)))
1218
1216
  };
1219
1217
  });
1220
1218
  }
1221
1219
  //#endregion
1222
1220
  //#region src/components/core/layout.ts
1223
- var pn = 7, mn = 7, hn = 4, gn = 6, _n = 24;
1224
- function vn(e) {
1221
+ var mn = 7, hn = 7, gn = 4, _n = 6, vn = 24;
1222
+ function yn(e, t) {
1223
+ return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
1224
+ }
1225
+ function bn(e) {
1225
1226
  return e >= 4 ? [
1226
1227
  "left",
1227
1228
  "left",
@@ -1233,13 +1234,13 @@ function vn(e) {
1233
1234
  "right"
1234
1235
  ] : e === 2 ? ["left", "right"] : ["left"];
1235
1236
  }
1236
- var yn = /* @__PURE__ */ new WeakMap();
1237
- function bn(e, t) {
1238
- let n = yn.get(e);
1239
- n || (n = /* @__PURE__ */ new Map(), yn.set(e, n));
1237
+ var xn = /* @__PURE__ */ new WeakMap();
1238
+ function Sn(e, t) {
1239
+ let n = xn.get(e);
1240
+ n || (n = /* @__PURE__ */ new Map(), xn.set(e, n));
1240
1241
  let r = n.get(t);
1241
1242
  if (r) return r;
1242
- let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = vn(i), o = Array.from({ length: i }, (e, t) => ({
1243
+ let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = bn(i), o = Array.from({ length: i }, (e, t) => ({
1243
1244
  index: t,
1244
1245
  side: a[t],
1245
1246
  seriesList: [],
@@ -1252,54 +1253,50 @@ function bn(e, t) {
1252
1253
  if (t === "single-axis") n.domain = e.yDomain;
1253
1254
  else {
1254
1255
  let t = n.seriesList.flatMap((e) => e.yDomain);
1255
- n.domain = t.length > 0 ? $(t) : e.yDomain;
1256
+ n.domain = t.length > 0 ? Xe(t) : e.yDomain;
1256
1257
  }
1257
1258
  }), n.set(t, o), o;
1258
1259
  }
1259
- function xn(e, t, n, r) {
1260
- let i = Tt(e, r);
1261
- return bn(e, t).map((e) => {
1260
+ function Cn(e, t, n, r) {
1261
+ let i = Et(e, r);
1262
+ return Sn(e, t).map((e) => {
1262
1263
  if (i) return {
1263
1264
  ...e,
1264
1265
  domain: i,
1265
1266
  fixed: !0
1266
1267
  };
1267
- let t = e.seriesList.map((e) => Et(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Et(e, n, r));
1268
+ let t = e.seriesList.map((e) => Dt(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Dt(e, n, r));
1268
1269
  return a ? {
1269
1270
  ...e,
1270
- domain: Ot(t),
1271
+ domain: kt(t),
1271
1272
  fixed: a
1272
1273
  } : e;
1273
1274
  });
1274
1275
  }
1275
- function Sn(e, t = !0, n, r) {
1276
- let i = V(e, [1, 0]);
1277
- t && i.nice();
1278
- let [a, o] = i.domain(), s = n ?? Array.from(/* @__PURE__ */ new Set([
1279
- a,
1280
- ...i.ticks(10),
1281
- o
1282
- ])), c = Math.max(...s);
1283
- return { tickTextWidth: Math.max(1, ...s.map((e) => ot(e, {
1284
- axisMin: a,
1285
- axisMax: o,
1286
- topTickValue: c,
1276
+ function wn(e, t = !0, n, r, i = 10) {
1277
+ let a = typeof i == "number" && Number.isFinite(i) ? Math.max(2, Math.floor(i)) : 10, o = V(e, [1, 0]);
1278
+ t && o.nice(a);
1279
+ let [s, c] = o.domain(), l = n ?? o.ticks(a), u = Math.max(...l);
1280
+ return { tickTextWidth: Math.max(1, ...l.map((e) => st(e, {
1281
+ axisMin: s,
1282
+ axisMax: c,
1283
+ topTickValue: u,
1287
1284
  unit: r
1288
- }).length)) * pn };
1285
+ }).length)) * mn };
1289
1286
  }
1290
- function Cn(e) {
1291
- return Sn(e.domain, !e.fixed, void 0, e.seriesList[0]?.unit).tickTextWidth + mn + gn + _n + hn;
1287
+ function Tn(e, t) {
1288
+ return wn(e.domain, !0, void 0, e.seriesList[0]?.unit, t).tickTextWidth + hn + _n + vn + gn;
1292
1289
  }
1293
- function wn(e) {
1294
- return Sn(e.domain, !e.fixed, void 0, e.seriesList[0]?.unit).tickTextWidth + mn + hn;
1290
+ function En(e, t) {
1291
+ return wn(e.domain, !0, void 0, e.seriesList[0]?.unit, t).tickTextWidth + hn + gn;
1295
1292
  }
1296
- function Tn(e, t, n, r) {
1297
- return xn(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? Cn(r) : wn(r), n), {
1293
+ function Dn(e, t, n, r, i) {
1294
+ return Cn(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? Tn(r, i) : En(r, i), n), {
1298
1295
  left: 0,
1299
1296
  right: 0
1300
1297
  });
1301
1298
  }
1302
- function En(e, t, n) {
1299
+ function On(e, t, n) {
1303
1300
  let r = (e) => {
1304
1301
  let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
1305
1302
  return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
@@ -1318,11 +1315,11 @@ function En(e, t, n) {
1318
1315
  }
1319
1316
  //#endregion
1320
1317
  //#region src/components/annotation/useWaveformChartAnnotations.ts
1321
- var Dn = 0;
1322
- function On() {
1323
- return Dn += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${Dn}`;
1318
+ var kn = 0;
1319
+ function An() {
1320
+ return kn += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${kn}`;
1324
1321
  }
1325
- function kn(e) {
1322
+ function jn(e) {
1326
1323
  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: y, isPresentationMode: b } = e, x = v("");
1327
1324
  function S(e) {
1328
1325
  if (!i.value.some((t) => t.id === e)) return;
@@ -1355,7 +1352,7 @@ function kn(e) {
1355
1352
  };
1356
1353
  }
1357
1354
  function T(e, t, n) {
1358
- x.value = "", s.openCreate(e, On, t), c.value = n;
1355
+ x.value = "", s.openCreate(e, An, t), c.value = n;
1359
1356
  let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
1360
1357
  r?.mode === "add" && (r.annotation.style = {
1361
1358
  borderColor: i?.color || "#1677ff",
@@ -1416,7 +1413,7 @@ function kn(e) {
1416
1413
  let e = l.value[n];
1417
1414
  return e?.hasVisibleSeries ? e : void 0;
1418
1415
  }
1419
- return En(l.value.filter((e) => e.hasVisibleSeries), e, t);
1416
+ return On(l.value.filter((e) => e.hasVisibleSeries), e, t);
1420
1417
  }
1421
1418
  function A(e, t) {
1422
1419
  let n = e.currentTarget;
@@ -1507,8 +1504,8 @@ function kn(e) {
1507
1504
  }
1508
1505
  //#endregion
1509
1506
  //#region src/components/interaction/useWaveformHover.ts
1510
- var An = P((e) => e.x);
1511
- function jn(e) {
1507
+ var Mn = P((e) => e.x);
1508
+ function Nn(e) {
1512
1509
  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) => {
1513
1510
  let r = n.points[t];
1514
1511
  return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
@@ -1530,7 +1527,7 @@ function jn(e) {
1530
1527
  r.value = !0, y();
1531
1528
  }, C = (e = !1) => {
1532
1529
  r.value = !e, y();
1533
- }, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => e.points[An.center(e.points, t)];
1530
+ }, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => e.points[Mn.center(e.points, t)];
1534
1531
  return {
1535
1532
  cancelPendingHover: h,
1536
1533
  clearHover: y,
@@ -1585,14 +1582,14 @@ function jn(e) {
1585
1582
  }
1586
1583
  //#endregion
1587
1584
  //#region src/components/interaction/pointerCapture.ts
1588
- function Mn(e, t) {
1585
+ function Pn(e, t) {
1589
1586
  try {
1590
1587
  e?.releasePointerCapture?.(t);
1591
1588
  } catch {}
1592
1589
  }
1593
1590
  //#endregion
1594
1591
  //#region src/components/interaction/viewportInteractionState.ts
1595
- function Nn(e) {
1592
+ function Fn(e) {
1596
1593
  return {
1597
1594
  ...e,
1598
1595
  currentX: e.startX,
@@ -1601,37 +1598,37 @@ function Nn(e) {
1601
1598
  yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
1602
1599
  };
1603
1600
  }
1604
- function Pn(e, t) {
1601
+ function In(e, t) {
1605
1602
  return {
1606
1603
  ...e,
1607
1604
  ...t
1608
1605
  };
1609
1606
  }
1610
- function Fn(e) {
1607
+ function Ln(e) {
1611
1608
  return {
1612
1609
  state: e,
1613
1610
  accepted: !1,
1614
1611
  completed: null
1615
1612
  };
1616
1613
  }
1617
- function In(e, t) {
1614
+ function Rn(e, t) {
1618
1615
  switch (t.type) {
1619
- case "begin": return e ? Fn(e) : {
1620
- state: Nn(t.gesture),
1616
+ case "begin": return e ? Ln(e) : {
1617
+ state: Fn(t.gesture),
1621
1618
  accepted: !0,
1622
1619
  completed: null
1623
1620
  };
1624
- case "move": return !e || e.pointerId !== t.pointerId ? Fn(e) : {
1625
- state: Pn(e, t.position),
1621
+ case "move": return !e || e.pointerId !== t.pointerId ? Ln(e) : {
1622
+ state: In(e, t.position),
1626
1623
  accepted: !0,
1627
1624
  completed: null
1628
1625
  };
1629
- case "finish": return !e || e.pointerId !== t.pointerId ? Fn(e) : {
1626
+ case "finish": return !e || e.pointerId !== t.pointerId ? Ln(e) : {
1630
1627
  state: null,
1631
1628
  accepted: !0,
1632
- completed: Pn(e, t.position)
1629
+ completed: In(e, t.position)
1633
1630
  };
1634
- case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? Fn(e) : {
1631
+ case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? Ln(e) : {
1635
1632
  state: null,
1636
1633
  accepted: !0,
1637
1634
  completed: null
@@ -1645,26 +1642,26 @@ function In(e, t) {
1645
1642
  }
1646
1643
  //#endregion
1647
1644
  //#region src/components/interaction/zoomConstraints.ts
1648
- var Ln = /* @__PURE__ */ new WeakMap();
1649
- function Rn(e) {
1645
+ var zn = /* @__PURE__ */ new WeakMap();
1646
+ function Bn(e) {
1650
1647
  return e[0] <= e[1] ? [...e] : [e[1], e[0]];
1651
1648
  }
1652
- function zn(e) {
1649
+ function Vn(e) {
1653
1650
  return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
1654
1651
  }
1655
- function Bn(e, t) {
1656
- let n = `${t[0]}\u0000${t[1]}`, r = Ln.get(e)?.get(n);
1652
+ function Hn(e, t) {
1653
+ let n = `${t[0]}\u0000${t[1]}`, r = zn.get(e)?.get(n);
1657
1654
  if (r) return r;
1658
1655
  let i = /* @__PURE__ */ new Set();
1659
1656
  for (let n of e) for (let e of n.points) e.x >= t[0] && e.x <= t[1] && i.add(e.x);
1660
- let a = Array.from(i).sort((e, t) => e - t), o = Ln.get(e) ?? /* @__PURE__ */ new Map();
1661
- return o.set(n, a), Ln.set(e, o), a;
1657
+ let a = Array.from(i).sort((e, t) => e - t), o = zn.get(e) ?? /* @__PURE__ */ new Map();
1658
+ return o.set(n, a), zn.set(e, o), a;
1662
1659
  }
1663
- function Vn(e, t, n) {
1660
+ function Un(e, t, n) {
1664
1661
  if (n <= 1) return 0;
1665
1662
  let r = 0;
1666
1663
  for (let i of e) {
1667
- let e = Bn(i, t);
1664
+ let e = Hn(i, t);
1668
1665
  if (e.length < n) return t[1] - t[0];
1669
1666
  let a = Infinity;
1670
1667
  for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
@@ -1673,17 +1670,17 @@ function Vn(e, t, n) {
1673
1670
  }
1674
1671
  return r;
1675
1672
  }
1676
- function Hn(e, t, n) {
1677
- let r = Rn(e), i = r[1] - r[0];
1673
+ function Wn(e, t, n) {
1674
+ let r = Bn(e), i = r[1] - r[0];
1678
1675
  if (!Number.isFinite(i) || i <= 0) return 0;
1679
- let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = zn(n.minVisiblePoints), s = Vn(t, r, o);
1680
- return a > 0 || o > 0 ? Math.max(a, s) : i / vt.DEFAULT_MAX_SCALE;
1676
+ let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Vn(n.minVisiblePoints), s = Un(t, r, o);
1677
+ return a > 0 || o > 0 ? Math.max(a, s) : i / yt.DEFAULT_MAX_SCALE;
1681
1678
  }
1682
- function Un(e, t, n, r) {
1679
+ function Gn(e, t, n, r) {
1683
1680
  if (r <= 0) return e;
1684
1681
  let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
1685
1682
  for (let e of n) {
1686
- let n = Bn(e, t);
1683
+ let n = Hn(e, t);
1687
1684
  if (n.length < r) return [...t];
1688
1685
  if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
1689
1686
  let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
@@ -1695,13 +1692,13 @@ function Un(e, t, n, r) {
1695
1692
  }
1696
1693
  return a;
1697
1694
  }
1698
- function Wn(e, t, n, r) {
1699
- let i = Rn(t), a = i[1] - i[0];
1695
+ function Kn(e, t, n, r) {
1696
+ let i = Bn(t), a = i[1] - i[0];
1700
1697
  if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
1701
- let o = Un([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, zn(r.minVisiblePoints)), s = Hn(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));
1698
+ let o = Gn([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Vn(r.minVisiblePoints)), s = Wn(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));
1702
1699
  return [u, u + c];
1703
1700
  }
1704
- function Gn(e, t, n) {
1701
+ function $(e, t, n) {
1705
1702
  let r = t[1] - t[0], i = e[1] - e[0];
1706
1703
  if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return W;
1707
1704
  let a = r / i, o = V(t, [0, n]);
@@ -1709,7 +1706,7 @@ function Gn(e, t, n) {
1709
1706
  }
1710
1707
  //#endregion
1711
1708
  //#region src/components/interaction/viewportDomain.ts
1712
- function Kn(e) {
1709
+ function qn(e) {
1713
1710
  return (t, n) => {
1714
1711
  if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
1715
1712
  if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
@@ -1717,12 +1714,12 @@ function Kn(e) {
1717
1714
  r.forEach((n) => {
1718
1715
  let r = e.trackLayouts.value.find((e) => e.index === n);
1719
1716
  if (!r) return;
1720
- let a = e.resolveInitialTrackDomain(r), o = Wn(t, a, [r.seriesList], e.props);
1721
- i[n] = Gn(o, a, r.width);
1717
+ let a = e.resolveInitialTrackDomain(r), o = Kn(t, a, [r.seriesList], e.props);
1718
+ i[n] = $(o, a, r.width);
1722
1719
  }), e.independentTransforms.value = i;
1723
1720
  } else {
1724
- let n = e.initialXDomain.value, r = Wn(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
1725
- e.sharedTransform.value = Gn(r, n, e.innerWidth.value);
1721
+ let n = e.initialXDomain.value, r = Kn(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
1722
+ e.sharedTransform.value = $(r, n, e.innerWidth.value);
1726
1723
  }
1727
1724
  e.clearHover(), e.editorSeriesOptions.value = [], d(e.configureZoom);
1728
1725
  }
@@ -1730,13 +1727,13 @@ function Kn(e) {
1730
1727
  }
1731
1728
  //#endregion
1732
1729
  //#region src/components/interaction/useWaveformViewport.ts
1733
- function qn(e) {
1730
+ function Jn(e) {
1734
1731
  let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: f, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: S, canZoomSharedTracks: C, configureZoom: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = x(), k = (e, t) => {
1735
1732
  let n = O.value, r = t?.currentTarget;
1736
- Mn(n, e), r && r !== n && Mn(r, e);
1733
+ Pn(n, e), r && r !== n && Pn(r, e);
1737
1734
  }, A = (e, t) => {
1738
1735
  let n = i.value;
1739
- !n || n.pointerId !== e || (k(e, t), i.value = In(i.value, {
1736
+ !n || n.pointerId !== e || (k(e, t), i.value = Rn(i.value, {
1740
1737
  type: "cancel",
1741
1738
  pointerId: e
1742
1739
  }).state, O.value = void 0);
@@ -1759,7 +1756,7 @@ function qn(e) {
1759
1756
  if (!n.zoomable && !s || !_.value || e.button !== 0) return;
1760
1757
  let c = e.currentTarget, d = o.value.find((e) => e.index === t);
1761
1758
  if (!d) return;
1762
- let [f, p] = B(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 = In(i.value, {
1759
+ let [f, p] = B(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 = Rn(i.value, {
1763
1760
  type: "begin",
1764
1761
  gesture: {
1765
1762
  trackIndex: t,
@@ -1781,12 +1778,12 @@ function qn(e) {
1781
1778
  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], _);
1782
1779
  if (e.independent) {
1783
1780
  let e = [...m.value];
1784
- e[t.index] = Gn(v, _, i), m.value = e;
1785
- } else p.value = Gn(v, _, l.value);
1781
+ e[t.index] = $(v, _, i), m.value = e;
1782
+ } else p.value = $(v, _, l.value);
1786
1783
  let y = e.independent ? [t] : o.value, x = { ...g.value }, S = { ...h.value };
1787
1784
  y.forEach((t) => {
1788
1785
  let r = s.value.find((e) => e.id === t.id);
1789
- if (r && Dt(r, n.yDomain, n.yDomains)) return;
1786
+ if (r && Ot(r, n.yDomain, n.yDomains)) return;
1790
1787
  let i = t.series.trackId ?? t.series.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = M([o[0] + d / a * l, o[1] + d / a * l], c);
1791
1788
  e.independent ? x[t.index] = u : S[i] = u;
1792
1789
  }), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
@@ -1796,7 +1793,7 @@ function qn(e) {
1796
1793
  if (!t || !n || e.pointerId !== t.pointerId) return;
1797
1794
  let r = o.value.find((e) => e.index === t.trackIndex);
1798
1795
  if (!r) return;
1799
- let [a, s] = B(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 = In(i.value, {
1796
+ let [a, s] = B(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 = Rn(i.value, {
1800
1797
  type: "move",
1801
1798
  pointerId: e.pointerId,
1802
1799
  position: {
@@ -1815,11 +1812,11 @@ function qn(e) {
1815
1812
  if (!t || (e.independent ? !S(t) : !C())) return;
1816
1813
  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));
1817
1814
  if (s - a < 6) return;
1818
- let u = e.independent ? b(t) : c.value, f = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Wn([t.xScale.invert(a), t.xScale.invert(s)], u, f, n);
1815
+ let u = e.independent ? b(t) : c.value, f = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Kn([t.xScale.invert(a), t.xScale.invert(s)], u, f, n);
1819
1816
  if (e.independent) {
1820
1817
  let e = [...m.value];
1821
- e[t.index] = Gn(h, u, t.width), m.value = e;
1822
- } else p.value = Gn(h, u, l.value);
1818
+ e[t.index] = $(h, u, t.width), m.value = e;
1819
+ } else p.value = $(h, u, l.value);
1823
1820
  let g = e.independent ? [t] : o.value, _ = Object.fromEntries(g.map((e) => [e.series.trackId ?? e.series.id, e.yScale.domain()]));
1824
1821
  if (r("zoom-change", h), e.independent) {
1825
1822
  let e = _[t.series.trackId ?? t.series.id];
@@ -1860,7 +1857,7 @@ function qn(e) {
1860
1857
  A(t.pointerId, e);
1861
1858
  return;
1862
1859
  }
1863
- let [a, s] = B(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), f = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = In(i.value, {
1860
+ let [a, s] = B(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), f = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = Rn(i.value, {
1864
1861
  type: "finish",
1865
1862
  pointerId: e.pointerId,
1866
1863
  position: {
@@ -1892,7 +1889,7 @@ function qn(e) {
1892
1889
  finishViewportDrag: V,
1893
1890
  cancelViewportDrag: R,
1894
1891
  resetViewport: H,
1895
- setViewportDomain: Kn({
1892
+ setViewportDomain: qn({
1896
1893
  props: n,
1897
1894
  trackLayouts: o,
1898
1895
  initialXDomain: c,
@@ -1924,7 +1921,7 @@ function qn(e) {
1924
1921
  }
1925
1922
  //#endregion
1926
1923
  //#region src/components/utils/useAnimationFrameThrottle.ts
1927
- function Jn() {
1924
+ function Yn() {
1928
1925
  let e = null, t = null;
1929
1926
  function n(n) {
1930
1927
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -1953,8 +1950,8 @@ function Jn() {
1953
1950
  }
1954
1951
  //#endregion
1955
1952
  //#region src/components/interaction/useWaveformZoom.ts
1956
- function Yn(e) {
1957
- 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 = Jn(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
1953
+ function Xn(e) {
1954
+ 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 = Yn(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
1958
1955
  y || m.value || (g(), b = e.transform, x = "wheel", O(), P());
1959
1956
  }, A = (e, t) => {
1960
1957
  y || m.value || (g(), C.set(t, e.transform), w.set(t, "wheel"), O(), P());
@@ -2041,19 +2038,19 @@ function Yn(e) {
2041
2038
  F(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => H(e).on(".zoom", null)), _.clear();
2042
2039
  }, L = (e, n) => {
2043
2040
  let r = Math.abs(e[1] - e[0]);
2044
- if (!Number.isFinite(r) || r <= 0) return vt.MIN_SCALE;
2045
- let i = Hn(e, n, t);
2046
- return Math.max(vt.MIN_SCALE, i > 0 ? r / i : vt.DEFAULT_MAX_SCALE);
2047
- }, R = (e, n, r, i) => Gn(Wn(e.rescaleX(V(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
2041
+ if (!Number.isFinite(r) || r <= 0) return yt.MIN_SCALE;
2042
+ let i = Wn(e, n, t);
2043
+ return Math.max(yt.MIN_SCALE, i > 0 ? r / i : yt.DEFAULT_MAX_SCALE);
2044
+ }, R = (e, n, r, i) => $(Kn(e.rescaleX(V(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
2048
2045
  let n = Number(t.minVisiblePoints);
2049
- return qt(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2046
+ return Jt(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2050
2047
  }, B = () => {
2051
2048
  let e = s.value.filter((e) => e.hasVisibleSeries);
2052
2049
  return e.length > 0 && e.every(z);
2053
2050
  }, U = (e, t) => {
2054
2051
  if (e.type !== "wheel") return !1;
2055
2052
  let n = e.deltaY;
2056
- return n < 0 ? t : n > 0 && G(e.currentTarget).k > vt.MIN_SCALE;
2053
+ return n < 0 ? t : n > 0 && G(e.currentTarget).k > yt.MIN_SCALE;
2057
2054
  };
2058
2055
  return {
2059
2056
  cancelPendingZoom: F,
@@ -2093,13 +2090,13 @@ function Yn(e) {
2093
2090
  }
2094
2091
  //#endregion
2095
2092
  //#region src/components/core/useWaveformChartLifecycle.ts
2096
- function Xn(e) {
2093
+ function Zn(e) {
2097
2094
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2098
2095
  }
2099
- function Zn(e) {
2096
+ function Qn(e) {
2100
2097
  let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: f, titleMeasureStyle: p, spacePressed: g, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: D, sharedZoomDomain: O, 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: ee, cancelPendingHover: te, clearZoomBindings: ne } = e;
2101
2098
  function re(e) {
2102
- z.value || e.code !== "Space" || !t.pannable || !_.value || Xn(e.target) || (g.value = !0, e.preventDefault());
2099
+ z.value || e.code !== "Space" || !t.pannable || !_.value || Zn(e.target) || (g.value = !0, e.preventDefault());
2103
2100
  }
2104
2101
  function ie(e) {
2105
2102
  e.code === "Space" && (g.value = !1);
@@ -2132,12 +2129,12 @@ function Zn(e) {
2132
2129
  w.value.forEach((n) => {
2133
2130
  let r = q?.[n.index];
2134
2131
  if (!r) return;
2135
- let i = I(n), a = Wn(r, i, [n.seriesList], t);
2136
- e[n.index] = Gn(a, i, n.width);
2132
+ let i = I(n), a = Kn(r, i, [n.seriesList], t);
2133
+ e[n.index] = $(a, i, n.width);
2137
2134
  }), P.value = e, q = void 0;
2138
2135
  } else if (t.displayMode !== "independent" && K) {
2139
- let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Wn(K, e, n, t);
2140
- A.value = Gn(r, e, T.value), K = void 0;
2136
+ let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Kn(K, e, n, t);
2137
+ A.value = $(r, e, T.value), K = void 0;
2141
2138
  }
2142
2139
  H();
2143
2140
  });
@@ -2157,6 +2154,7 @@ function Zn(e) {
2157
2154
  v,
2158
2155
  () => x.value.rowCount,
2159
2156
  () => x.value.columnCount,
2157
+ () => x.value.fillIncompleteLastRow,
2160
2158
  j
2161
2159
  ], async () => {
2162
2160
  await d(), H();
@@ -2166,7 +2164,8 @@ function Zn(e) {
2166
2164
  }), E([
2167
2165
  y,
2168
2166
  () => t.grid?.rowCount,
2169
- () => t.grid?.columnCount
2167
+ () => t.grid?.columnCount,
2168
+ () => t.grid?.fillIncompleteLastRow
2170
2169
  ], () => {
2171
2170
  let e = v.value;
2172
2171
  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(), d(H);
@@ -2220,39 +2219,39 @@ function Zn(e) {
2220
2219
  }
2221
2220
  //#endregion
2222
2221
  //#region src/components/core/useWaveformData.ts
2223
- function Qn(e, t = !1) {
2222
+ function $n(e, t = !1) {
2224
2223
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity, o = !1;
2225
2224
  for (let s of e) if (s.x < n && (n = s.x), s.x > r && (r = s.x), s.y < i && (i = s.y), s.y > a && (a = s.y), t) {
2226
- let e = Pt(s);
2225
+ let e = Ft(s);
2227
2226
  (e.lower !== 0 || e.upper !== 0) && (o = !0), i = Math.min(i, s.y - e.lower), a = Math.max(a, s.y + e.upper);
2228
2227
  }
2229
2228
  return {
2230
- xDomain: $(Number.isFinite(n) ? [n, r] : []),
2231
- yDomain: $(Number.isFinite(i) ? [i, a] : []),
2229
+ xDomain: Xe(Number.isFinite(n) ? [n, r] : []),
2230
+ yDomain: Xe(Number.isFinite(i) ? [i, a] : []),
2232
2231
  hasErrorPoints: o
2233
2232
  };
2234
2233
  }
2235
- function $n(e) {
2236
- return It(e).map((e) => {
2237
- let t = Qn(e.points, e.errorBar.visible);
2234
+ function er(e) {
2235
+ return Lt(e).map((e) => {
2236
+ let t = $n(e.points, e.errorBar.visible);
2238
2237
  return {
2239
2238
  ...e,
2240
2239
  ...t
2241
2240
  };
2242
2241
  });
2243
2242
  }
2244
- function er(e, t, n) {
2245
- let r = x($n(e()));
2243
+ function tr(e, t, n) {
2244
+ let r = x(er(e()));
2246
2245
  return E(e, (e) => {
2247
- t(), r.value = $n(e), n();
2246
+ t(), r.value = er(e), n();
2248
2247
  }), r;
2249
2248
  }
2250
2249
  //#endregion
2251
2250
  //#region src/components/core/useWaveformLayout.ts
2252
- function tr(e) {
2251
+ function nr(e) {
2253
2252
  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 } = e, m = t(() => r.value.map((e, t) => ({
2254
2253
  ...e,
2255
- color: e.color ?? (t === 0 ? n.lineColor : xt[t % xt.length])
2254
+ color: e.color ?? (t === 0 ? n.lineColor : St[t % St.length])
2256
2255
  }))), h = t(() => {
2257
2256
  let e = /* @__PURE__ */ new Map();
2258
2257
  return m.value.forEach((t) => {
@@ -2266,19 +2265,19 @@ function tr(e) {
2266
2265
  id: e,
2267
2266
  series: t,
2268
2267
  visibleSeries: n,
2269
- xDomain: $(r),
2270
- yDomain: $(i)
2268
+ xDomain: Xe(r),
2269
+ yDomain: Xe(i)
2271
2270
  };
2272
2271
  });
2273
- }), g = t(() => en(n.grid)), _ = t(() => Ut(n.rendering)), v = t(() => nn(h.value.length, g.value)), y = t(() => rn(h.value, i.value, g.value)), b = t(() => {
2274
- let e = h.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => xn(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => Sn(e.domain, !e.fixed, void 0, e.seriesList[0]?.unit).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 6 + 24 / 2);
2272
+ }), g = t(() => tn(n.grid)), _ = t(() => Wt(n.rendering)), v = t(() => rn(h.value.length, g.value)), y = t(() => an(h.value, i.value, g.value)), b = t(() => {
2273
+ let e = h.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => Cn(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => wn(e.domain, !0, void 0, e.seriesList[0]?.unit, n.axes?.y?.splitNumber).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 6 + 24 / 2);
2275
2274
  return {
2276
2275
  tickClearance: r,
2277
2276
  fullClearance: t + 7 + 6 + 24 + 4,
2278
2277
  labelCenterX: i
2279
2278
  };
2280
- }), x = t(() => h.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), S = t(() => h.value.some((e) => e.visibleSeries.length > 0)), C = t(() => Math.max(_t.left, x.value ? b.value.fullClearance : S.value ? b.value.tickClearance : 0)), w = t(() => h.value.reduce((e, t) => {
2281
- let r = Tn(t, n.overlayMode, n.yDomain, n.yDomains);
2279
+ }), x = t(() => h.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), S = t(() => h.value.some((e) => e.visibleSeries.length > 0)), C = t(() => Math.max(vt.left, x.value ? b.value.fullClearance : S.value ? b.value.tickClearance : 0)), w = t(() => h.value.reduce((e, t) => {
2280
+ let r = Dn(t, n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber);
2282
2281
  return {
2283
2282
  left: Math.max(e.left, r.left),
2284
2283
  right: Math.max(e.right, r.right)
@@ -2286,8 +2285,8 @@ function tr(e) {
2286
2285
  }, {
2287
2286
  left: 0,
2288
2287
  right: 0
2289
- })), T = t(() => n.overlayMode === "multi-axis" ? Math.max(C.value, w.value.left) : C.value), E = t(() => n.overlayMode === "multi-axis" ? Math.max(_t.right, w.value.right) : _t.right), D = t(() => Math.max(0, o.value - T.value - E.value)), O = t(() => {
2290
- let e = an(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, b.value.fullClearance), a = Math.max(e, b.value.tickClearance), o = (D.value - i * Math.max(0, t - 1)) / t >= 120;
2288
+ })), T = t(() => n.overlayMode === "multi-axis" ? Math.max(C.value, w.value.left) : C.value), E = t(() => n.overlayMode === "multi-axis" ? Math.max(vt.right, w.value.right) : vt.right), D = t(() => Math.max(0, o.value - T.value - E.value)), O = t(() => {
2289
+ let e = on(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, b.value.fullClearance), a = Math.max(e, b.value.tickClearance), o = (D.value - i * Math.max(0, t - 1)) / t >= 120;
2291
2290
  return {
2292
2291
  horizontalGap: n.overlayMode === "multi-axis" && r && S.value ? Math.max(e, w.value.left + w.value.right) : r && S.value ? x.value && o ? i : a : e,
2293
2292
  hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && x.value && !o
@@ -2296,17 +2295,17 @@ function tr(e) {
2296
2295
  let e = [];
2297
2296
  return h.value.forEach((t) => {
2298
2297
  t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
2299
- }), $(e);
2298
+ }), Xe(e);
2300
2299
  }), F = t(() => {
2301
2300
  let e = n.initialXDomain;
2302
- return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? un(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : un(P.value, n.xDomainStrategy);
2301
+ return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? dn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : dn(P.value, n.xDomainStrategy);
2303
2302
  }), I = (e) => {
2304
2303
  let t = n.initialXDomains?.[e.series.trackId ?? e.series.id] ?? n.initialXDomains?.[e.series.id] ?? n.initialXDomain;
2305
- return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? un(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : un($(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2306
- }, L = t(() => l.value.rescaleX(V(F.value, [0, D.value])).domain()), R = t(() => on(D.value, s.value, g.value, n.displayMode, y.value.map(Boolean), O.value.horizontalGap).map((e, t) => ({
2304
+ return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? dn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : dn(Xe(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2305
+ }, L = t(() => l.value.rescaleX(V(F.value, [0, D.value])).domain()), R = t(() => sn(D.value, s.value, g.value, n.displayMode, y.value.map(Boolean), O.value.horizontalGap).map((e, t) => ({
2307
2306
  ...e,
2308
2307
  series: y.value[t]
2309
- }))), z = t(() => fn({
2308
+ }))), z = t(() => pn({
2310
2309
  cells: R.value,
2311
2310
  grid: g.value,
2312
2311
  displayMode: n.displayMode,
@@ -2324,6 +2323,7 @@ function tr(e) {
2324
2323
  })) : d.value,
2325
2324
  timeUnit: n.timeUnit,
2326
2325
  xAxisLabelFormatter: n.axes?.x?.labelFormatter,
2326
+ yAxisSplitNumber: n.axes?.y?.splitNumber,
2327
2327
  rendering: _.value,
2328
2328
  hideSecondaryLabels: c.value || O.value.hideSecondaryLabels,
2329
2329
  yAxisLabelX: b.value.labelCenterX,
@@ -2370,13 +2370,13 @@ function tr(e) {
2370
2370
  }
2371
2371
  };
2372
2372
  }
2373
- var nr = 1e-6;
2374
- function rr(e) {
2373
+ var rr = 1e-6;
2374
+ function ir(e) {
2375
2375
  return Number.isFinite(e) ? Math.max(1, e) : 1;
2376
2376
  }
2377
- function ir({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
2378
- let i = rr(e), a = rr(t), o = rr(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;
2379
- if (!(d > nr && Math.abs(d - 360) > nr)) {
2377
+ function ar({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
2378
+ let i = ir(e), a = ir(t), o = ir(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;
2379
+ if (!(d > rr && Math.abs(d - 360) > rr)) {
2380
2380
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
2381
2381
  return {
2382
2382
  textWidth: t,
@@ -2401,7 +2401,7 @@ function ir({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
2401
2401
  }
2402
2402
  //#endregion
2403
2403
  //#region src/components/core/useWaveformPresentation.ts
2404
- function ar(e) {
2404
+ function or(e) {
2405
2405
  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(() => ({
2406
2406
  width: l.value === void 0 ? "100%" : `${l.value}px`,
2407
2407
  height: u.value === void 0 ? "100%" : `${u.value}px`
@@ -2409,9 +2409,9 @@ function ar(e) {
2409
2409
  let e = n.zeroLine.width;
2410
2410
  return {
2411
2411
  visible: n.zeroLine.visible === !0,
2412
- color: n.zeroLine.color || Ct.COLOR,
2413
- width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Ct.WIDTH,
2414
- dash: n.zeroLine.dash ?? Ct.DASH
2412
+ color: n.zeroLine.color || wt.COLOR,
2413
+ width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : wt.WIDTH,
2414
+ dash: n.zeroLine.dash ?? wt.DASH
2415
2415
  };
2416
2416
  }), _ = t(() => n.legend.backgroundColor || "rgba(255, 255, 255, 0.7)"), v = t(() => n.legend.interactive === !0), y = t(() => n.hiddenSeriesIds === void 0 ? s.value : new Set(n.hiddenSeriesIds)), b = t(() => Array.from(y.value)), x = (e) => n.legend.trackPositions?.[e] ?? n.legend.position ?? "top-right", S = (e) => {
2417
2417
  let t = n.legend.orientation ?? "auto";
@@ -2433,10 +2433,10 @@ function ar(e) {
2433
2433
  fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
2434
2434
  textDecoration: n.title?.textStyle?.textDecoration ?? "none",
2435
2435
  letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
2436
- lineHeight: String(bt)
2436
+ lineHeight: String(xt)
2437
2437
  })), A = t(() => {
2438
2438
  let e = Number.parseFloat(n.title?.textStyle?.letterSpacing ?? ""), t = Number.isFinite(e) ? Math.max(0, C.value.length - 1) * e : 0;
2439
- return Math.max(1, C.value.length * E.value * yt + t);
2439
+ return Math.max(1, C.value.length * E.value * bt + t);
2440
2440
  }), j = t(() => {
2441
2441
  let e = d.value - 48;
2442
2442
  return e > 0 ? e : A.value;
@@ -2446,14 +2446,14 @@ function ar(e) {
2446
2446
  maxWidth: O.value ? "none" : `${j.value}px`,
2447
2447
  whiteSpace: O.value ? "nowrap" : "normal",
2448
2448
  overflowWrap: O.value ? "normal" : "anywhere"
2449
- })), N = t(() => ir({
2449
+ })), N = t(() => ar({
2450
2450
  naturalWidth: a.value || A.value,
2451
2451
  naturalHeight: o.value || E.value * 1.2,
2452
2452
  availableWidth: j.value,
2453
2453
  rotation: D.value
2454
2454
  })), P = t(() => w.value ? N.value.areaHeight : 0), F = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, I = t(() => ({
2455
- top: F(n.plotMargin.top, _t.top),
2456
- bottom: F(n.plotMargin.bottom, _t.bottom)
2455
+ top: F(n.plotMargin.top, vt.top),
2456
+ bottom: F(n.plotMargin.bottom, vt.bottom)
2457
2457
  })), L = t(() => I.value.top), R = t(() => Math.max(0, f.value - P.value - c.value));
2458
2458
  return {
2459
2459
  fixedWidth: l,
@@ -2502,10 +2502,10 @@ function ar(e) {
2502
2502
  }
2503
2503
  //#endregion
2504
2504
  //#region src/components/core/useWaveformChartController.ts
2505
- function or(e, t) {
2505
+ function sr(e, t) {
2506
2506
  e.value = t instanceof Element ? t : void 0;
2507
2507
  }
2508
- function sr(e, t) {
2508
+ function cr(e, t) {
2509
2509
  let n = v(), r = v(), i = v(), a = v(), o = v(0), s = v(0), c = v(0), l = v(0), d = v(0), f = x(W), p = x([]), m = v({}), h = v({}), g = b({
2510
2510
  points: [],
2511
2511
  trackIndex: null,
@@ -2513,11 +2513,11 @@ function sr(e, t) {
2513
2513
  x: 0,
2514
2514
  y: 0
2515
2515
  }
2516
- }), y = v(!1), S = v(1), w = x(), T = se("waveform-clip"), O = v(new Set(e.defaultHiddenSeriesIds)), k = Ye(), A = v([]), j = Jn();
2516
+ }), y = v(!1), S = v(1), w = x(), T = se("waveform-clip"), O = v(new Set(e.defaultHiddenSeriesIds)), k = Ye(), A = v([]), j = Yn();
2517
2517
  E([() => e.yDomain, () => e.yDomains], () => {
2518
2518
  m.value = {}, h.value = {};
2519
2519
  }, { deep: !0 });
2520
- let M = x(null), N = v(!1), P = v(!1), F = () => void 0, I = () => void 0, L = er(() => e.data, () => F(), () => I()), R = ar({
2520
+ let M = x(null), N = v(!1), P = v(!1), F = () => void 0, I = () => void 0, L = tr(() => e.data, () => F(), () => I()), R = or({
2521
2521
  props: e,
2522
2522
  observedWidth: o,
2523
2523
  observedHeight: s,
@@ -2525,7 +2525,7 @@ function sr(e, t) {
2525
2525
  measuredTitleHeight: l,
2526
2526
  internalHiddenSeriesIds: O,
2527
2527
  paginationBandHeight: d
2528
- }), { chartWidth: z, chartHeight: B, isCleanView: V, isPresentationMode: H, hiddenSeriesIdSet: U, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = R, K = tr({
2528
+ }), { chartWidth: z, chartHeight: B, isCleanView: V, isPresentationMode: H, hiddenSeriesIdSet: U, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = R, K = nr({
2529
2529
  props: e,
2530
2530
  preparedSeries: L,
2531
2531
  currentPage: S,
@@ -2542,7 +2542,7 @@ function sr(e, t) {
2542
2542
  D(() => {
2543
2543
  d.value = oe.value.showPagination && ce.value > 1 && z.value <= 520 ? 40 : 0;
2544
2544
  });
2545
- let ye = Yn({
2545
+ let ye = Xn({
2546
2546
  props: e,
2547
2547
  emit: t,
2548
2548
  svgElement: r,
@@ -2559,7 +2559,7 @@ function sr(e, t) {
2559
2559
  isPresentationMode: H,
2560
2560
  resolveInitialTrackDomain: Y,
2561
2561
  cancelPendingHover: () => X.cancelPendingHover()
2562
- }), be = kn({
2562
+ }), be = jn({
2563
2563
  props: e,
2564
2564
  emit: t,
2565
2565
  container: n,
@@ -2579,7 +2579,7 @@ function sr(e, t) {
2579
2579
  chartTopMargin: ie,
2580
2580
  activeInteractionMode: pe,
2581
2581
  isPresentationMode: H
2582
- }), xe = qn({
2582
+ }), xe = Jn({
2583
2583
  props: e,
2584
2584
  emit: t,
2585
2585
  selection: M,
@@ -2604,7 +2604,7 @@ function sr(e, t) {
2604
2604
  cancelPendingZoom: ye.cancelPendingZoom,
2605
2605
  clearHover: () => X.clearHover(),
2606
2606
  resolveTrackAtPointer: be.resolveTrackAtPointer
2607
- }), X = jn({
2607
+ }), X = Nn({
2608
2608
  emit: t,
2609
2609
  hoverState: g,
2610
2610
  suppressHoverUntilMove: y,
@@ -2619,7 +2619,7 @@ function sr(e, t) {
2619
2619
  isPresentationMode: H,
2620
2620
  updateViewportDrag: xe.updateViewportDrag,
2621
2621
  resolveTrackAtPointer: be.resolveTrackAtPointer
2622
- }), Z = Zn({
2622
+ }), Z = Qn({
2623
2623
  props: e,
2624
2624
  emit: t,
2625
2625
  container: n,
@@ -2670,8 +2670,8 @@ function sr(e, t) {
2670
2670
  ...be,
2671
2671
  ...xe,
2672
2672
  ...X,
2673
- margin: _t,
2674
- getPageSize: tn,
2673
+ margin: vt,
2674
+ getPageSize: nn,
2675
2675
  currentPage: S,
2676
2676
  selection: M,
2677
2677
  pointerInsideChart: P,
@@ -2682,34 +2682,34 @@ function sr(e, t) {
2682
2682
  editorSeriesOptions: A,
2683
2683
  clipPathId: T,
2684
2684
  goToPage: Z.goToPage,
2685
- setContainer: (e) => or(n, e),
2686
- setSvgElement: (e) => or(r, e),
2687
- setTitleMeasureElement: (e) => or(i, e),
2688
- setSharedOverlayElement: (e) => or(a, e)
2685
+ setContainer: (e) => sr(n, e),
2686
+ setSvgElement: (e) => sr(r, e),
2687
+ setTitleMeasureElement: (e) => sr(i, e),
2688
+ setSharedOverlayElement: (e) => sr(a, e)
2689
2689
  });
2690
2690
  }
2691
2691
  //#endregion
2692
2692
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
2693
- var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2693
+ var lr = ["id"], ur = { class: "waveform-annotation-editor__content" }, dr = {
2694
2694
  class: "waveform-annotation-editor__coordinates",
2695
2695
  "aria-label": "标注坐标"
2696
- }, dr = ["aria-invalid"], fr = {
2696
+ }, fr = ["aria-invalid"], pr = {
2697
2697
  class: "waveform-annotation-editor__coordinate-value",
2698
2698
  "aria-hidden": "true"
2699
- }, pr = ["id"], mr = {
2699
+ }, mr = ["id"], hr = {
2700
2700
  key: 0,
2701
2701
  class: "waveform-annotation-editor__series",
2702
2702
  "aria-label": "标注所属波形"
2703
- }, hr = { class: "waveform-annotation-editor__series-label" }, gr = ["value"], _r = ["value"], vr = { key: 1 }, yr = { class: "waveform-annotation-editor__field" }, br = { class: "waveform-annotation-editor__label-row" }, xr = ["maxlength"], Sr = { class: "waveform-annotation-editor__colors" }, Cr = {
2703
+ }, gr = { class: "waveform-annotation-editor__series-label" }, _r = ["value"], vr = ["value"], yr = { key: 1 }, br = { class: "waveform-annotation-editor__field" }, xr = { class: "waveform-annotation-editor__label-row" }, Sr = ["maxlength"], Cr = { class: "waveform-annotation-editor__colors" }, wr = {
2704
2704
  class: "waveform-annotation-editor__color-field",
2705
2705
  title: "调整标注边框色和透明度"
2706
- }, wr = {
2706
+ }, Tr = {
2707
2707
  class: "waveform-annotation-editor__color-field",
2708
2708
  title: "调整标注文字色和透明度"
2709
- }, Tr = {
2709
+ }, Er = {
2710
2710
  class: "waveform-annotation-editor__color-field",
2711
2711
  title: "调整标注背景色和透明度"
2712
- }, Er = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
2712
+ }, Dr = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
2713
2713
  __name: "WaveformAnnotationEditor",
2714
2714
  props: {
2715
2715
  annotation: {},
@@ -2737,7 +2737,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2737
2737
  });
2738
2738
  function F() {
2739
2739
  let e = we(l.annotation.style);
2740
- h.value = l.annotation.text, _.value = mt(l.annotation.x, l.timeUnit), b.value = !1, x.value = e.borderColor, C.value = e.textColor, D.value = e.backgroundColor, d(() => f.value?.focus());
2740
+ h.value = l.annotation.text, _.value = ht(l.annotation.x, l.timeUnit), b.value = !1, x.value = e.borderColor, C.value = e.textColor, D.value = e.backgroundColor, d(() => f.value?.focus());
2741
2741
  }
2742
2742
  E(() => l.annotation.id, F, { immediate: !0 });
2743
2743
  function I(e) {
@@ -2772,13 +2772,14 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2772
2772
  "cancel-text": "取消",
2773
2773
  "ok-text": "保存标注",
2774
2774
  "ok-button-props": { disabled: !M.value },
2775
+ "root-class-name": "waveform-annotation-editor-root",
2775
2776
  "wrap-class-name": "waveform-annotation-editor",
2776
2777
  onCancel: o[4] ||= (e) => u("cancel"),
2777
2778
  onOk: R
2778
2779
  }, {
2779
- title: O(() => [a("span", { id: w(m) }, S(l.mode === "add" ? "添加标注" : "编辑标注"), 9, cr)]),
2780
- default: O(() => [a("div", lr, [
2781
- a("div", ur, [
2780
+ title: O(() => [a("span", { id: w(m) }, S(l.mode === "add" ? "添加标注" : "编辑标注"), 9, lr)]),
2781
+ default: O(() => [a("div", ur, [
2782
+ a("div", dr, [
2782
2783
  a("label", {
2783
2784
  class: "waveform-annotation-editor__coordinate-input",
2784
2785
  "aria-invalid": !!j.value
@@ -2801,26 +2802,26 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2801
2802
  "aria-invalid",
2802
2803
  "aria-describedby"
2803
2804
  ]),
2804
- a("code", fr, S(_.value), 1)
2805
- ], 8, dr),
2805
+ a("code", pr, S(_.value), 1)
2806
+ ], 8, fr),
2806
2807
  j.value ? (g(), i("p", {
2807
2808
  key: 0,
2808
2809
  id: `${w(m)}-time-error`,
2809
2810
  class: "waveform-annotation-editor__coordinate-error",
2810
2811
  role: "alert"
2811
- }, S(j.value), 9, pr)) : r("", !0),
2812
- a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, S(w(ct)(l.annotation.y)), 1)])
2812
+ }, S(j.value), 9, mr)) : r("", !0),
2813
+ a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, S(w(lt)(l.annotation.y)), 1)])
2813
2814
  ]),
2814
2815
  o[13] ||= a("p", {
2815
2816
  class: "waveform-annotation-editor__coordinate-hint",
2816
2817
  role: "note"
2817
2818
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
2818
- P.value ? (g(), i("label", mr, [
2819
+ P.value ? (g(), i("label", hr, [
2819
2820
  a("i", {
2820
2821
  style: p({ backgroundColor: P.value.color }),
2821
2822
  "aria-hidden": "true"
2822
2823
  }, null, 4),
2823
- a("span", hr, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, S(P.value.name), 1)]),
2824
+ a("span", gr, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, S(P.value.name), 1)]),
2824
2825
  l.seriesOptions?.length ? (g(), i("select", {
2825
2826
  key: 0,
2826
2827
  value: l.annotation.seriesId,
@@ -2829,9 +2830,9 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2829
2830
  }, [(g(!0), i(e, null, y(l.seriesOptions, (e) => (g(), i("option", {
2830
2831
  key: e.seriesId,
2831
2832
  value: e.seriesId
2832
- }, S(e.name) + S(e.unit ? ` (${e.unit})` : ""), 9, _r))), 128))], 40, gr)) : P.value.unit ? (g(), i("code", vr, S(P.value.unit), 1)) : r("", !0)
2833
+ }, S(e.name) + S(e.unit ? ` (${e.unit})` : ""), 9, vr))), 128))], 40, _r)) : P.value.unit ? (g(), i("code", yr, S(P.value.unit), 1)) : r("", !0)
2833
2834
  ])) : r("", !0),
2834
- a("label", yr, [a("span", br, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, S(N.value) + "/" + S(w(40)), 1)]), k(a("textarea", {
2835
+ a("label", br, [a("span", xr, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, S(N.value) + "/" + S(w(40)), 1)]), k(a("textarea", {
2835
2836
  ref_key: "textarea",
2836
2837
  ref: f,
2837
2838
  "onUpdate:modelValue": o[0] ||= (e) => h.value = e,
@@ -2840,10 +2841,10 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2840
2841
  "aria-label": "标注文本",
2841
2842
  placeholder: "输入这处波形的说明",
2842
2843
  onKeydown: z
2843
- }, null, 40, xr), [[T, h.value]])]),
2844
- a("fieldset", Sr, [
2844
+ }, null, 40, Sr), [[T, h.value]])]),
2845
+ a("fieldset", Cr, [
2845
2846
  o[12] ||= a("legend", null, "颜色与透明度", -1),
2846
- a("label", Cr, [o[9] ||= a("span", null, "边框色", -1), s(w(J), {
2847
+ a("label", wr, [o[9] ||= a("span", null, "边框色", -1), s(w(J), {
2847
2848
  "pure-color": x.value,
2848
2849
  "onUpdate:pureColor": o[1] ||= (e) => x.value = e,
2849
2850
  "aria-label": "标注边框色",
@@ -2853,7 +2854,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2853
2854
  "disable-alpha": !1,
2854
2855
  "blur-close": !0
2855
2856
  }, null, 8, ["pure-color"])]),
2856
- a("label", wr, [o[10] ||= a("span", null, "文字色", -1), s(w(J), {
2857
+ a("label", Tr, [o[10] ||= a("span", null, "文字色", -1), s(w(J), {
2857
2858
  "pure-color": C.value,
2858
2859
  "onUpdate:pureColor": o[2] ||= (e) => C.value = e,
2859
2860
  "aria-label": "标注文字色",
@@ -2863,7 +2864,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2863
2864
  "disable-alpha": !1,
2864
2865
  "blur-close": !0
2865
2866
  }, null, 8, ["pure-color"])]),
2866
- a("label", Tr, [o[11] ||= a("span", null, "背景色", -1), s(w(J), {
2867
+ a("label", Er, [o[11] ||= a("span", null, "背景色", -1), s(w(J), {
2867
2868
  "pure-color": D.value,
2868
2869
  "onUpdate:pureColor": o[3] ||= (e) => D.value = e,
2869
2870
  "aria-label": "标注背景色",
@@ -2878,7 +2879,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2878
2879
  _: 1
2879
2880
  }, 8, ["ok-button-props"]));
2880
2881
  }
2881
- }), [["__scopeId", "data-v-8ce79dc8"]]), Dr = { class: "waveform-tooltip__series-content" }, Or = { class: "waveform-tooltip__series-label" }, kr = { class: "waveform-tooltip__value" }, Ar = 12, jr = 8, Mr = 238, Nr = 560, Pr = 20, Fr = 20, Ir = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
2882
+ }), [["__scopeId", "data-v-42466cf9"]]), Or = { class: "waveform-tooltip__series-content" }, kr = { class: "waveform-tooltip__series-label" }, Ar = { class: "waveform-tooltip__value" }, jr = 12, Mr = 8, Nr = 238, Pr = 560, Fr = 20, Ir = 20, Lr = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
2882
2883
  __name: "WaveformTooltip",
2883
2884
  props: {
2884
2885
  visible: { type: Boolean },
@@ -2892,26 +2893,26 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2892
2893
  setup(n) {
2893
2894
  let s = n;
2894
2895
  function c(e, t) {
2895
- let n = Math.max(1, t - Pr - 14), r = Math.max(1, Math.floor(n / 7.2));
2896
+ let n = Math.max(1, t - Fr - 14), r = Math.max(1, Math.floor(n / 7.2));
2896
2897
  return Math.max(1, Math.ceil([...e].length / r));
2897
2898
  }
2898
2899
  function l(e) {
2899
- let t = pt(s.hoveredPoint?.x ?? e.point.x, s.timeUnit);
2900
- return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} (x:${t} y:${st(e.point.y)})`;
2900
+ let t = mt(s.hoveredPoint?.x ?? e.point.x, s.timeUnit);
2901
+ return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} (x:${t} y:${ct(e.point.y)})`;
2901
2902
  }
2902
2903
  function u(e) {
2903
- return 16 + Fr * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
2904
+ return 16 + Ir * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
2904
2905
  }
2905
2906
  let d = t(() => {
2906
2907
  if (!s.visible || !s.hoveredPoint) return { display: "none" };
2907
- let e = s.position.x + Ar, t = s.position.x - Ar - Mr, n = s.containerWidth - jr - e, r = s.position.x - Ar - jr, i = Math.max(1, Math.min(Nr, s.containerWidth - jr * 2)), a = e + Mr <= s.containerWidth - jr ? {
2908
+ let e = s.position.x + jr, t = s.position.x - jr - Nr, n = s.containerWidth - Mr - e, r = s.position.x - jr - Mr, i = Math.max(1, Math.min(Pr, s.containerWidth - Mr * 2)), a = e + Nr <= s.containerWidth - Mr ? {
2908
2909
  left: `${e}px`,
2909
- maxWidth: `${Math.min(Nr, n)}px`
2910
- } : t >= jr ? {
2911
- right: `${s.containerWidth - s.position.x + Ar}px`,
2912
- maxWidth: `${Math.min(Nr, r)}px`
2910
+ maxWidth: `${Math.min(Pr, n)}px`
2911
+ } : t >= Mr ? {
2912
+ right: `${s.containerWidth - s.position.x + jr}px`,
2913
+ maxWidth: `${Math.min(Pr, r)}px`
2913
2914
  } : {
2914
- left: `${jr}px`,
2915
+ left: `${Mr}px`,
2915
2916
  maxWidth: `${i}px`
2916
2917
  }, o = Number.parseFloat(a.maxWidth);
2917
2918
  return {
@@ -2926,9 +2927,9 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2926
2927
  }, [(g(!0), i(e, null, y(n.seriesPoints, (t) => (g(), i("span", {
2927
2928
  key: `${t.trackIndex}-${t.name}`,
2928
2929
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
2929
- }, [a("i", { style: p({ backgroundColor: t.color }) }, null, 4), a("span", Dr, [a("span", Or, [o(S(t.shotNo?.trim() || "未配置炮号") + ": " + S(t.name), 1), t.unit ? (g(), i(e, { key: 0 }, [o("(" + S(t.unit) + ")", 1)], 64)) : r("", !0)]), a("span", kr, "(x:" + S(w(pt)(n.hoveredPoint.x, n.timeUnit)) + " y:" + S(w(st)(t.point.y)) + ")", 1)])]))), 128))], 4)) : r("", !0);
2930
+ }, [a("i", { style: p({ backgroundColor: t.color }) }, null, 4), a("span", Or, [a("span", kr, [o(S(t.shotNo?.trim() || "未配置炮号") + ": " + S(t.name), 1), t.unit ? (g(), i(e, { key: 0 }, [o("(" + S(t.unit) + ")", 1)], 64)) : r("", !0)]), a("span", Ar, "(x:" + S(w(mt)(n.hoveredPoint.x, n.timeUnit)) + " y:" + S(w(ct)(t.point.y)) + ")", 1)])]))), 128))], 4)) : r("", !0);
2930
2931
  }
2931
- }), [["__scopeId", "data-v-1f55d6c8"]]), Lr = /* @__PURE__ */ c({
2932
+ }), [["__scopeId", "data-v-1f55d6c8"]]), Rr = /* @__PURE__ */ c({
2932
2933
  __name: "WaveformHoverHost",
2933
2934
  props: {
2934
2935
  state: {},
@@ -2939,7 +2940,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2939
2940
  },
2940
2941
  setup(e) {
2941
2942
  let r = e, i = t(() => r.state.points[0]?.point ?? null);
2942
- return (t, r) => (g(), n(Ir, {
2943
+ return (t, r) => (g(), n(Lr, {
2943
2944
  visible: e.visible && i.value !== null,
2944
2945
  position: e.state.position,
2945
2946
  "time-unit": e.timeUnit,
@@ -2957,16 +2958,16 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
2957
2958
  "container-height"
2958
2959
  ]));
2959
2960
  }
2960
- }), Rr = 13, zr = 2, Br = 14, Vr = 8, Hr = 24, Ur = {
2961
+ }), zr = 13, Br = 2, Vr = 14, Hr = 8, Ur = 24, Wr = {
2961
2962
  circle: ee,
2962
2963
  square: ne,
2963
2964
  triangle: re,
2964
2965
  diamond: te
2965
2966
  };
2966
- function Wr(e, t = 48) {
2967
- return e === "none" ? null : U().type(Ur[e]).size(t)() ?? null;
2967
+ function Gr(e, t = 48) {
2968
+ return e === "none" ? null : U().type(Wr[e]).size(t)() ?? null;
2968
2969
  }
2969
- function Gr(e, t, n = 48) {
2970
+ function Kr(e, t, n = 48) {
2970
2971
  if (e === "none" || t.length === 0) return null;
2971
2972
  if (e === "circle") {
2972
2973
  let e = Math.sqrt(n / Math.PI);
@@ -2983,24 +2984,24 @@ function Gr(e, t, n = 48) {
2983
2984
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
2984
2985
  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("");
2985
2986
  }
2986
- function Kr(e) {
2987
+ function qr(e) {
2987
2988
  return e === "none" ? null : "M1 8H25";
2988
2989
  }
2989
- function qr(e) {
2990
+ function Jr(e) {
2990
2991
  if (e === "dashed") return "8 5";
2991
2992
  if (e === "dash-dot") return "8 5 1.5 5";
2992
2993
  }
2993
- function Jr(e) {
2994
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, Hr) : Vr) / 2, n = Rr - t, r = Rr + t;
2994
+ function Yr(e) {
2995
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, Ur) : Hr) / 2, n = zr - t, r = zr + t;
2995
2996
  return [
2996
- `M${n} ${zr}H${r}`,
2997
- `M${Rr} ${zr}V${Br}`,
2998
- `M${n} ${Br}H${r}`
2997
+ `M${n} ${Br}H${r}`,
2998
+ `M${zr} ${Br}V${Vr}`,
2999
+ `M${n} ${Vr}H${r}`
2999
3000
  ].join("");
3000
3001
  }
3001
3002
  //#endregion
3002
3003
  //#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
3003
- var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3004
+ var Xr = ["clip-path"], Zr = ["data-series-id", "data-series-name"], Qr = [
3004
3005
  "data-series-id",
3005
3006
  "data-series-name",
3006
3007
  "data-y-axis-index",
@@ -3009,11 +3010,11 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3009
3010
  "d",
3010
3011
  "stroke",
3011
3012
  "stroke-dasharray"
3012
- ], Qr = ["data-series-id"], $r = [
3013
+ ], $r = ["data-series-id"], ei = [
3013
3014
  "d",
3014
3015
  "stroke",
3015
3016
  "stroke-width"
3016
- ], ei = ["data-series-id", "data-point-type"], ti = ["d", "fill"], ni = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
3017
+ ], ti = ["data-series-id", "data-point-type"], ni = ["d", "fill"], ri = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
3017
3018
  __name: "WaveformSeriesLayer",
3018
3019
  props: {
3019
3020
  track: {},
@@ -3021,11 +3022,11 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3021
3022
  },
3022
3023
  setup(n) {
3023
3024
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
3024
- let t = Gr(e.series.pointType, e.pointRenderPoints.map((t) => ({
3025
+ let t = Kr(e.series.pointType, e.pointRenderPoints.map((t) => ({
3025
3026
  x: a.track.xScale(t.x),
3026
3027
  y: e.yScale(t.y)
3027
3028
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
3028
- let { lower: r, upper: i } = Pt(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
3029
+ let { lower: r, upper: i } = Ft(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
3029
3030
  return [
3030
3031
  `M${o - n},${s}H${o + n}`,
3031
3032
  `M${o},${s}V${c}`,
@@ -3058,8 +3059,8 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3058
3059
  "data-line-style": e.series.lineStyle,
3059
3060
  d: e.path,
3060
3061
  stroke: e.series.color,
3061
- "stroke-dasharray": w(qr)(e.series.lineStyle)
3062
- }, null, 8, Zr)) : r("", !0),
3062
+ "stroke-dasharray": w(Jr)(e.series.lineStyle)
3063
+ }, null, 8, Qr)) : r("", !0),
3063
3064
  e.series.errorBar.visible ? (g(), i("g", {
3064
3065
  key: 1,
3065
3066
  class: "waveform-track__error-bars waveform-chart__error-bars",
@@ -3070,7 +3071,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3070
3071
  d: e.errorBarPath,
3071
3072
  stroke: e.series.errorBar.color || e.series.color,
3072
3073
  "stroke-width": e.series.errorBar.width
3073
- }, null, 8, $r)) : r("", !0)], 8, Qr)) : r("", !0),
3074
+ }, null, 8, ei)) : r("", !0)], 8, $r)) : r("", !0),
3074
3075
  e.series.pointType === "none" ? r("", !0) : (g(), i("g", {
3075
3076
  key: 2,
3076
3077
  class: "waveform-track__points waveform-chart__points",
@@ -3081,20 +3082,20 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3081
3082
  class: "waveform-track__point waveform-chart__point",
3082
3083
  d: e.pointPath,
3083
3084
  fill: e.series.color
3084
- }, null, 8, ti)) : r("", !0)], 8, ei))
3085
- ], 8, Xr))), 128))], 8, Yr)) : r("", !0);
3085
+ }, null, 8, ni)) : r("", !0)], 8, ti))
3086
+ ], 8, Zr))), 128))], 8, Xr)) : r("", !0);
3086
3087
  }
3087
- }), [["__scopeId", "data-v-42a3fd47"]]), ri = ["transform"], ii = ["transform"], ai = {
3088
+ }), [["__scopeId", "data-v-42a3fd47"]]), ii = ["transform"], ai = ["transform"], oi = {
3088
3089
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
3089
3090
  x: "0",
3090
3091
  y: "7",
3091
3092
  dy: "0.71em",
3092
3093
  "text-anchor": "start"
3093
- }, oi = ["x"], si = [
3094
+ }, si = ["x"], ci = [
3094
3095
  "data-y-axis-index",
3095
3096
  "data-y-axis-side",
3096
3097
  "transform"
3097
- ], ci = { key: 2 }, li = ["x", "y"], ui = ["fill", "transform"], di = ["data-y-axis-title-index"], fi = ["x", "y"], pi = ["fill", "transform"], mi = /* @__PURE__ */ c({
3098
+ ], li = { key: 2 }, ui = ["x", "y"], di = ["fill", "transform"], fi = ["data-y-axis-title-index"], pi = ["x", "y"], mi = ["fill", "transform"], hi = /* @__PURE__ */ c({
3098
3099
  __name: "WaveformTrackAxes",
3099
3100
  props: {
3100
3101
  track: {},
@@ -3123,7 +3124,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3123
3124
  if (n.track.yAxes.forEach((e, t) => {
3124
3125
  let r = s.value[t];
3125
3126
  if (!r) return;
3126
- let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = e.seriesList[0]?.unit, l = (e.side === "left" ? M(e.scale) : N(e.scale)).tickFormat((e) => ot(Number(e), {
3127
+ let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = e.seriesList[0]?.unit, l = (e.side === "left" ? M(e.scale) : N(e.scale)).tickFormat((e) => st(Number(e), {
3127
3128
  axisMin: i,
3128
3129
  axisMax: a,
3129
3130
  topTickValue: o,
@@ -3132,7 +3133,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3132
3133
  u.call(l), u.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
3133
3134
  }), !o.value) return;
3134
3135
  let e = H(o.value);
3135
- e.call(j(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => ut(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);
3136
+ e.call(j(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => dt(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);
3136
3137
  }
3137
3138
  return h(async () => {
3138
3139
  await d(), m();
@@ -3154,7 +3155,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3154
3155
  ref: o,
3155
3156
  class: f(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
3156
3157
  transform: `translate(0, ${t.track.height})`
3157
- }, null, 10, ri)) : r("", !0),
3158
+ }, null, 10, ii)) : r("", !0),
3158
3159
  t.track.showXAxis ? (g(), i("g", {
3159
3160
  key: 1,
3160
3161
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
@@ -3162,13 +3163,13 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3162
3163
  "font-family": "sans-serif",
3163
3164
  "font-size": "10",
3164
3165
  "aria-hidden": "true"
3165
- }, [a("text", ai, S(t.track.endpointLabels.start), 1), a("text", {
3166
+ }, [a("text", oi, S(t.track.endpointLabels.start), 1), a("text", {
3166
3167
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
3167
3168
  x: t.track.width ?? t.innerWidth,
3168
3169
  y: "7",
3169
3170
  dy: "0.71em",
3170
3171
  "text-anchor": "end"
3171
- }, S(t.track.endpointLabels.end), 9, oi)], 8, ii)) : r("", !0),
3172
+ }, S(t.track.endpointLabels.end), 9, si)], 8, ai)) : r("", !0),
3172
3173
  (g(!0), i(e, null, y(t.track.isEmpty ? [] : t.track.yAxes, (e) => (g(), i("g", {
3173
3174
  key: `y-axis-${t.track.index}-${e.index}`,
3174
3175
  ref_for: !0,
@@ -3177,21 +3178,21 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3177
3178
  "data-y-axis-index": e.index,
3178
3179
  "data-y-axis-side": e.side,
3179
3180
  transform: `translate(${e.x}, 0)`
3180
- }, null, 10, si))), 128)),
3181
- !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && c(t.track.series) && p(t.track.height, t.track.index) ? (g(), i("g", ci, [a("rect", {
3181
+ }, null, 10, ci))), 128)),
3182
+ !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && c(t.track.series) && p(t.track.height, t.track.index) ? (g(), i("g", li, [a("rect", {
3182
3183
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
3183
3184
  x: t.track.yAxisLabelX - 12,
3184
3185
  y: t.track.height / 2 - 40,
3185
3186
  width: "24",
3186
3187
  height: "80",
3187
3188
  rx: "2"
3188
- }, null, 8, li), a("text", {
3189
+ }, null, 8, ui), a("text", {
3189
3190
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
3190
3191
  fill: t.track.series.color,
3191
3192
  transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
3192
3193
  "text-anchor": "middle",
3193
3194
  "dominant-baseline": "central"
3194
- }, S(c(t.track.series)), 9, ui)])) : r("", !0),
3195
+ }, S(c(t.track.series)), 9, di)])) : r("", !0),
3195
3196
  (g(!0), i(e, null, y(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (g(), i("g", {
3196
3197
  key: `y-axis-title-${t.track.index}-${e.index}`,
3197
3198
  class: "waveform-track__multi-axis-title",
@@ -3203,40 +3204,40 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3203
3204
  width: "24",
3204
3205
  height: "80",
3205
3206
  rx: "2"
3206
- }, null, 8, fi), a("text", {
3207
+ }, null, 8, pi), a("text", {
3207
3208
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
3208
3209
  fill: e.seriesList[0].color,
3209
3210
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
3210
3211
  "text-anchor": "middle",
3211
3212
  "dominant-baseline": "central"
3212
- }, S(c(e.seriesList[0])), 9, pi)], 8, di))), 128))
3213
+ }, S(c(e.seriesList[0])), 9, mi)], 8, fi))), 128))
3213
3214
  ], 64));
3214
3215
  }
3215
- }), hi = [
3216
+ }), gi = [
3216
3217
  "width",
3217
3218
  "height",
3218
3219
  "fill"
3219
- ], gi = ["clip-path"], _i = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, vi = [
3220
+ ], _i = ["clip-path"], vi = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, yi = [
3220
3221
  "stroke",
3221
3222
  "x1",
3222
3223
  "x2",
3223
3224
  "y2"
3224
- ], yi = [
3225
+ ], bi = [
3225
3226
  "stroke",
3226
3227
  "x2",
3227
3228
  "y1",
3228
3229
  "y2"
3229
- ], bi = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, xi = [
3230
+ ], xi = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Si = [
3230
3231
  "stroke",
3231
3232
  "x1",
3232
3233
  "x2",
3233
3234
  "y2"
3234
- ], Si = [
3235
+ ], Ci = [
3235
3236
  "stroke",
3236
3237
  "x2",
3237
3238
  "y1",
3238
3239
  "y2"
3239
- ], Ci = ["clip-path"], wi = [
3240
+ ], wi = ["clip-path"], Ti = [
3240
3241
  "data-y-axis-index",
3241
3242
  "x2",
3242
3243
  "y1",
@@ -3244,7 +3245,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3244
3245
  "stroke",
3245
3246
  "stroke-width",
3246
3247
  "stroke-dasharray"
3247
- ], Ti = ["x", "y"], Ei = /* @__PURE__ */ c({
3248
+ ], Ei = ["x", "y"], Di = /* @__PURE__ */ c({
3248
3249
  __name: "WaveformTrackBackdrop",
3249
3250
  props: {
3250
3251
  track: {},
@@ -3269,12 +3270,12 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3269
3270
  height: t.track.height,
3270
3271
  fill: t.frameStyle.backgroundColor,
3271
3272
  "aria-hidden": "true"
3272
- }, null, 8, hi)) : r("", !0),
3273
+ }, null, 8, gi)) : r("", !0),
3273
3274
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (g(), i("g", {
3274
3275
  key: 1,
3275
3276
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
3276
3277
  "aria-hidden": "true"
3277
- }, [a("g", _i, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMinorTicks, (e) => (g(), i("line", {
3278
+ }, [a("g", vi, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMinorTicks, (e) => (g(), i("line", {
3278
3279
  key: `x-minor-${t.track.index}-${e}`,
3279
3280
  "data-grid-direction": "vertical",
3280
3281
  stroke: t.track.gridLines.verticalColor,
@@ -3282,7 +3283,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3282
3283
  x2: t.track.xScale(e),
3283
3284
  y1: "0",
3284
3285
  y2: t.track.height
3285
- }, null, 8, vi))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMinorTicks, (e) => (g(), i("line", {
3286
+ }, null, 8, yi))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMinorTicks, (e) => (g(), i("line", {
3286
3287
  key: `y-minor-${t.track.index}-${e}`,
3287
3288
  "data-grid-direction": "horizontal",
3288
3289
  stroke: t.track.gridLines.horizontalColor,
@@ -3290,7 +3291,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3290
3291
  x2: t.track.width ?? t.innerWidth,
3291
3292
  y1: t.track.yScale(e),
3292
3293
  y2: t.track.yScale(e)
3293
- }, null, 8, yi))), 128)) : r("", !0)]), a("g", bi, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMajorTicks, (e) => (g(), i("line", {
3294
+ }, null, 8, bi))), 128)) : r("", !0)]), a("g", xi, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMajorTicks, (e) => (g(), i("line", {
3294
3295
  key: `x-major-${t.track.index}-${e}`,
3295
3296
  "data-grid-direction": "vertical",
3296
3297
  stroke: t.track.gridLines.verticalColor,
@@ -3298,7 +3299,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3298
3299
  x2: t.track.xScale(e),
3299
3300
  y1: "0",
3300
3301
  y2: t.track.height
3301
- }, null, 8, xi))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMajorTicks, (e) => (g(), i("line", {
3302
+ }, null, 8, Si))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMajorTicks, (e) => (g(), i("line", {
3302
3303
  key: `y-major-${t.track.index}-${e}`,
3303
3304
  "data-grid-direction": "horizontal",
3304
3305
  stroke: t.track.gridLines.horizontalColor,
@@ -3306,7 +3307,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3306
3307
  x2: t.track.width ?? t.innerWidth,
3307
3308
  y1: t.track.yScale(e),
3308
3309
  y2: t.track.yScale(e)
3309
- }, null, 8, Si))), 128)) : r("", !0)])], 8, gi)) : r("", !0),
3310
+ }, null, 8, Ci))), 128)) : r("", !0)])], 8, _i)) : r("", !0),
3310
3311
  !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (g(), i("g", {
3311
3312
  key: 2,
3312
3313
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
@@ -3323,7 +3324,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3323
3324
  stroke: t.zeroLine.color,
3324
3325
  "stroke-width": t.zeroLine.width,
3325
3326
  "stroke-dasharray": t.zeroLine.dash || void 0
3326
- }, null, 8, wi))], 64))), 128))], 8, Ci)) : r("", !0),
3327
+ }, null, 8, Ti))], 64))), 128))], 8, wi)) : r("", !0),
3327
3328
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (g(), i("text", {
3328
3329
  key: 3,
3329
3330
  class: "waveform-track__watermark waveform-chart__watermark",
@@ -3333,10 +3334,10 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3333
3334
  "text-anchor": "middle",
3334
3335
  "dominant-baseline": "central",
3335
3336
  "aria-hidden": "true"
3336
- }, S(t.frameNumber), 13, Ti)) : r("", !0)
3337
+ }, S(t.frameNumber), 13, Ei)) : r("", !0)
3337
3338
  ], 64));
3338
3339
  }
3339
- }), Di = [
3340
+ }), Oi = [
3340
3341
  "data-track-index",
3341
3342
  "data-track-empty",
3342
3343
  "data-track-left",
@@ -3345,19 +3346,19 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3345
3346
  "data-track-top",
3346
3347
  "data-track-height",
3347
3348
  "transform"
3348
- ], Oi = [
3349
+ ], ki = [
3349
3350
  "width",
3350
3351
  "height",
3351
3352
  "stroke",
3352
3353
  "stroke-width",
3353
3354
  "stroke-dasharray",
3354
3355
  "stroke-linecap"
3355
- ], ki = [
3356
+ ], Ai = [
3356
3357
  "data-interactive",
3357
3358
  "data-independent-overlay-index",
3358
3359
  "width",
3359
3360
  "height"
3360
- ], Ai = ["x", "y"], ji = /* @__PURE__ */ c({
3361
+ ], ji = ["x", "y"], Mi = /* @__PURE__ */ c({
3361
3362
  __name: "WaveformTrack",
3362
3363
  props: {
3363
3364
  track: {},
@@ -3416,7 +3417,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3416
3417
  "data-track-height": e.track.height,
3417
3418
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
3418
3419
  }, [
3419
- s(Ei, {
3420
+ s(Di, {
3420
3421
  track: e.track,
3421
3422
  "clip-path-id": e.clipPathId,
3422
3423
  "inner-width": e.innerWidth,
@@ -3433,7 +3434,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3433
3434
  "frame-style",
3434
3435
  "zero-line"
3435
3436
  ]),
3436
- s(mi, {
3437
+ s(hi, {
3437
3438
  track: e.track,
3438
3439
  "inner-width": e.innerWidth,
3439
3440
  "clean-view": e.cleanView,
@@ -3459,8 +3460,8 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3459
3460
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
3460
3461
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
3461
3462
  "aria-hidden": "true"
3462
- }, null, 8, Oi)),
3463
- s(ni, {
3463
+ }, null, 8, ki)),
3464
+ s(ri, {
3464
3465
  track: e.track,
3465
3466
  "clip-path-id": e.clipPathId
3466
3467
  }, null, 8, ["track", "clip-path-id"]),
@@ -3482,7 +3483,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3482
3483
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
3483
3484
  onClick: n[5] ||= (e) => o("click", e),
3484
3485
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
3485
- }, null, 42, ki)) : r("", !0),
3486
+ }, null, 42, Ai)) : r("", !0),
3486
3487
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (g(), i("text", {
3487
3488
  key: 2,
3488
3489
  class: "waveform-track__no-visible-series",
@@ -3490,33 +3491,33 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3490
3491
  y: e.track.height / 2,
3491
3492
  "text-anchor": "middle",
3492
3493
  "dominant-baseline": "central"
3493
- }, " 暂无可见曲线 ", 8, Ai)) : r("", !0)
3494
- ], 10, Di));
3494
+ }, " 暂无可见曲线 ", 8, ji)) : r("", !0)
3495
+ ], 10, Oi));
3495
3496
  }
3496
- }), Mi = [
3497
+ }), Ni = [
3497
3498
  "width",
3498
3499
  "height",
3499
3500
  "data-position",
3500
3501
  "data-orientation"
3501
- ], Ni = [
3502
+ ], Pi = [
3502
3503
  "disabled",
3503
3504
  "aria-pressed",
3504
3505
  "aria-label",
3505
3506
  "onClick"
3506
- ], Pi = [
3507
+ ], Fi = [
3507
3508
  "data-line-type",
3508
3509
  "data-line-style",
3509
3510
  "data-point-type",
3510
3511
  "data-error-bar-visible"
3511
- ], Fi = [
3512
+ ], Ii = [
3512
3513
  "d",
3513
3514
  "stroke",
3514
3515
  "stroke-dasharray"
3515
- ], Ii = [
3516
+ ], Li = [
3516
3517
  "d",
3517
3518
  "stroke",
3518
3519
  "stroke-width"
3519
- ], Li = ["d", "fill"], Ri = ["title"], zi = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
3520
+ ], Ri = ["d", "fill"], zi = ["title"], Bi = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
3520
3521
  __name: "WaveformLegend",
3521
3522
  props: {
3522
3523
  series: {},
@@ -3574,45 +3575,45 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3574
3575
  "data-point-type": e.pointType,
3575
3576
  "data-error-bar-visible": e.errorBar.visible || void 0
3576
3577
  }, [
3577
- w(Kr)(e.lineType) ? (g(), i("path", {
3578
+ w(qr)(e.lineType) ? (g(), i("path", {
3578
3579
  key: 0,
3579
3580
  class: "waveform-legend__line",
3580
- d: w(Kr)(e.lineType) ?? void 0,
3581
+ d: w(qr)(e.lineType) ?? void 0,
3581
3582
  stroke: e.color,
3582
- "stroke-dasharray": w(qr)(e.lineStyle),
3583
+ "stroke-dasharray": w(Jr)(e.lineStyle),
3583
3584
  "stroke-width": "1.5",
3584
3585
  fill: "none"
3585
- }, null, 8, Fi)) : r("", !0),
3586
+ }, null, 8, Ii)) : r("", !0),
3586
3587
  e.errorBar.visible ? (g(), i("path", {
3587
3588
  key: 1,
3588
3589
  class: "waveform-legend__error-bar",
3589
- d: w(Jr)(e.errorBar.capWidth),
3590
+ d: w(Yr)(e.errorBar.capWidth),
3590
3591
  stroke: e.errorBar.color || e.color,
3591
3592
  "stroke-width": e.errorBar.width,
3592
3593
  "stroke-linecap": "butt",
3593
3594
  fill: "none"
3594
- }, null, 8, Ii)) : r("", !0),
3595
+ }, null, 8, Li)) : r("", !0),
3595
3596
  e.pointType === "none" ? r("", !0) : (g(), i("path", {
3596
3597
  key: 2,
3597
3598
  class: "waveform-legend__point",
3598
- d: w(Wr)(e.pointType, 30) ?? void 0,
3599
+ d: w(Gr)(e.pointType, 30) ?? void 0,
3599
3600
  fill: e.color,
3600
3601
  transform: "translate(13 8)"
3601
- }, null, 8, Li))
3602
- ], 8, Pi)), a("span", {
3602
+ }, null, 8, Ri))
3603
+ ], 8, Fi)), a("span", {
3603
3604
  class: "waveform-legend__label",
3604
3605
  title: e.name
3605
- }, S(e.name), 9, Ri)], 10, Ni))), 128))], 6)], 2)], 8, Mi));
3606
+ }, S(e.name), 9, zi)], 10, Pi))), 128))], 6)], 2)], 8, Ni));
3606
3607
  }
3607
- }), [["__scopeId", "data-v-2ae12e71"]]), Bi = {
3608
+ }), [["__scopeId", "data-v-2ae12e71"]]), Vi = {
3608
3609
  class: "waveform-chart__hover-layer",
3609
3610
  "pointer-events": "none",
3610
3611
  "aria-hidden": "true"
3611
- }, Vi = ["clip-path", "transform"], Hi = [
3612
+ }, Hi = ["clip-path", "transform"], Ui = [
3612
3613
  "x1",
3613
3614
  "x2",
3614
3615
  "y2"
3615
- ], Ui = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
3616
+ ], Wi = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
3616
3617
  __name: "WaveformHoverLayer",
3617
3618
  props: {
3618
3619
  state: {},
@@ -3635,7 +3636,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3635
3636
  }] : [];
3636
3637
  });
3637
3638
  });
3638
- return (t, r) => (g(), i("g", Bi, [(g(!0), i(e, null, y(o.value, (e) => (g(), i("g", {
3639
+ return (t, r) => (g(), i("g", Vi, [(g(!0), i(e, null, y(o.value, (e) => (g(), i("g", {
3639
3640
  key: e.track.index,
3640
3641
  class: "waveform-track__crosshair waveform-chart__crosshair",
3641
3642
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -3645,9 +3646,9 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3645
3646
  x2: e.x,
3646
3647
  y1: "0",
3647
3648
  y2: e.track.height
3648
- }, null, 8, Hi)], 8, Vi))), 128))]));
3649
+ }, null, 8, Ui)], 8, Hi))), 128))]));
3649
3650
  }
3650
- }), [["__scopeId", "data-v-a6f82099"]]), Wi = [
3651
+ }), [["__scopeId", "data-v-a6f82099"]]), Gi = [
3651
3652
  "data-display-mode",
3652
3653
  "data-interaction-mode",
3653
3654
  "data-presentation-mode",
@@ -3656,36 +3657,36 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3656
3657
  "data-plot-margin-top",
3657
3658
  "data-plot-margin-bottom",
3658
3659
  "data-title-area-height"
3659
- ], Gi = [
3660
+ ], Ki = [
3660
3661
  "role",
3661
3662
  "aria-level",
3662
3663
  "aria-hidden"
3663
- ], Ki = ["data-title-scale", "data-title-wrapped"], qi = [
3664
+ ], qi = ["data-title-scale", "data-title-wrapped"], Ji = [
3664
3665
  "width",
3665
3666
  "height",
3666
3667
  "aria-label"
3667
- ], Ji = ["id"], Yi = ["width", "height"], Xi = ["transform"], Zi = {
3668
+ ], Yi = ["id"], Xi = ["width", "height"], Zi = ["transform"], Qi = {
3668
3669
  key: 0,
3669
3670
  class: "waveform-chart__grid-slots",
3670
3671
  "aria-hidden": "true"
3671
- }, Qi = ["transform"], $i = ["width", "height"], ea = ["width", "height"], ta = [
3672
+ }, $i = ["transform"], ea = ["width", "height"], ta = ["width", "height"], na = [
3672
3673
  "x",
3673
3674
  "y",
3674
3675
  "width",
3675
3676
  "height"
3676
- ], na = {
3677
+ ], ra = {
3677
3678
  key: 4,
3678
3679
  class: "waveform-chart__legend-layer"
3679
- }, ra = [
3680
+ }, ia = [
3680
3681
  "data-legend-track-index",
3681
3682
  "data-legend-track-id",
3682
3683
  "transform"
3683
- ], ia = ["x", "y"], aa = ["x", "y"], oa = /* @__PURE__ */ c({
3684
+ ], aa = ["x", "y"], oa = ["x", "y"], sa = /* @__PURE__ */ c({
3684
3685
  __name: "WaveformChartView",
3685
3686
  props: { controller: {} },
3686
3687
  setup(t) {
3687
- let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: m, overlayMode: h, resolvedChartLeftMargin: _, titleAreaHeight: v, resolvedPlotMargin: b, pointerInsideChart: x, handleNativeContextMenu: T, titleAreaReserved: E, 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: ee, innerWidth: te, innerHeight: ne, handleSharedPointerMove: re, beginSharedViewportDrag: ie, finishViewportDrag: W, cancelViewportDrag: G, handlePointerLeave: K, handleAnnotationClick: q, handleAnnotationContextMenu: J, resolveFrameNumber: oe, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: fe, beginViewportDrag: pe, hoverState: me, showTooltip: he, selectionBox: ge, renderedAnnotations: Y, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Z, legendBackgroundColor: Se, legendInteractive: Ce, resolvedHiddenSeriesIds: we, toggleSeriesVisibility: Te, resolvedXLabel: Ee, xAxisTitleY: De, hasChartArea: Oe, gridOptions: ke, pageCount: Ae, currentPage: je, getPageSize: Me, chartTracks: Ne, goToPage: Pe, annotationInteraction: Fe, editorDraft: Re, contextMenu: Q, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: $, setTitleMeasureElement: Xe, setSharedOverlayElement: Ze } = C(t.controller);
3688
- function Qe() {
3688
+ let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: m, overlayMode: h, resolvedChartLeftMargin: _, titleAreaHeight: v, resolvedPlotMargin: b, pointerInsideChart: x, handleNativeContextMenu: T, titleAreaReserved: E, 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: ee, innerWidth: te, innerHeight: ne, handleSharedPointerMove: re, beginSharedViewportDrag: ie, finishViewportDrag: W, cancelViewportDrag: G, handlePointerLeave: K, handleAnnotationClick: q, handleAnnotationContextMenu: J, resolveFrameNumber: oe, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: fe, beginViewportDrag: pe, hoverState: me, showTooltip: he, selectionBox: ge, renderedAnnotations: Y, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Z, legendBackgroundColor: Se, legendInteractive: Ce, resolvedHiddenSeriesIds: we, toggleSeriesVisibility: Te, resolvedXLabel: Ee, xAxisTitleY: De, hasChartArea: Oe, gridOptions: ke, pageCount: Ae, currentPage: je, getPageSize: Me, chartTracks: Ne, goToPage: Pe, annotationInteraction: Fe, editorDraft: Re, contextMenu: Q, 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 } = C(t.controller);
3689
+ function $e() {
3689
3690
  x.value = !1, K.value();
3690
3691
  }
3691
3692
  return (t, C) => (g(), i("div", {
@@ -3709,7 +3710,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3709
3710
  "data-plot-margin-bottom": w(b).bottom,
3710
3711
  "data-title-area-height": w(v),
3711
3712
  onPointerenter: C[8] ||= (e) => x.value = !0,
3712
- onPointerleave: Qe,
3713
+ onPointerleave: $e,
3713
3714
  onContextmenuCapture: C[9] ||= (...e) => w(T) && w(T)(...e)
3714
3715
  }, [
3715
3716
  w(E) ? (g(), i("div", {
@@ -3720,7 +3721,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3720
3721
  "aria-level": w(O) ? 2 : void 0,
3721
3722
  "aria-hidden": w(l) || void 0
3722
3723
  }, [a("span", {
3723
- ref: w(Xe),
3724
+ ref: w(Ze),
3724
3725
  class: "waveform-chart__title-measure",
3725
3726
  style: p(w(k)),
3726
3727
  "aria-hidden": "true"
@@ -3733,9 +3734,9 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3733
3734
  style: p(w(M)),
3734
3735
  "data-title-scale": w(N).scale,
3735
3736
  "data-title-wrapped": w(N).wrapped || void 0
3736
- }, S(w(A)), 13, Ki)], 4)) : r("", !0)], 12, Gi)) : r("", !0),
3737
+ }, S(w(A)), 13, qi)], 4)) : r("", !0)], 12, Ki)) : r("", !0),
3737
3738
  (g(), i("svg", {
3738
- ref: w($),
3739
+ ref: w(Xe),
3739
3740
  class: "waveform-chart__svg",
3740
3741
  width: w(P),
3741
3742
  height: w(F),
@@ -3750,9 +3751,9 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3750
3751
  }, [a("rect", {
3751
3752
  width: e.width,
3752
3753
  height: e.height
3753
- }, null, 8, Yi)], 8, Ji))), 128))]),
3754
+ }, null, 8, Xi)], 8, Yi))), 128))]),
3754
3755
  a("g", { transform: `translate(${w(_)}, ${w(B)})` }, [
3755
- w(o) !== "compact" && !w(l) ? (g(), i("g", Zi, [(g(!0), i(e, null, y(w(V), (e) => (g(), i("g", {
3756
+ w(o) !== "compact" && !w(l) ? (g(), i("g", Qi, [(g(!0), i(e, null, y(w(V), (e) => (g(), i("g", {
3756
3757
  key: `grid-slot-${e.slotIndex}`,
3757
3758
  transform: `translate(${e.left}, ${e.top})`
3758
3759
  }, [e.series ? r("", !0) : (g(), i("rect", {
@@ -3760,10 +3761,10 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3760
3761
  class: "waveform-chart__grid-slot-placeholder",
3761
3762
  width: e.width,
3762
3763
  height: e.cellHeight
3763
- }, null, 8, $i))], 8, Qi))), 128))])) : r("", !0),
3764
+ }, null, 8, ea))], 8, $i))), 128))])) : r("", !0),
3764
3765
  w(o) !== "independent" && w(R).length && w(H) ? (g(), i("rect", {
3765
3766
  key: 1,
3766
- ref: w(Ze),
3767
+ ref: w(Qe),
3767
3768
  class: f(["waveform-chart__overlay waveform-chart__overlay--shared", {
3768
3769
  "is-zoomable": !w(u) && w(U) && w(ee),
3769
3770
  "is-annotating": !w(u) && w(c) === "annotation"
@@ -3777,8 +3778,8 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3777
3778
  onPointerleave: C[4] ||= (...e) => w(K) && w(K)(...e),
3778
3779
  onClick: C[5] ||= (...e) => w(q) && w(q)(...e),
3779
3780
  onContextmenu: C[6] ||= (...e) => w(J) && w(J)(...e)
3780
- }, null, 42, ea)) : r("", !0),
3781
- (g(!0), i(e, null, y(w(R), (e) => (g(), n(w(ji), {
3781
+ }, null, 42, ta)) : r("", !0),
3782
+ (g(!0), i(e, null, y(w(R), (e) => (g(), n(w(Mi), {
3782
3783
  key: `${e.index}-${e.series.name}`,
3783
3784
  track: e,
3784
3785
  "clip-path-id": w(z),
@@ -3824,7 +3825,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3824
3825
  "onClick",
3825
3826
  "onContextmenu"
3826
3827
  ]))), 128)),
3827
- s(w(Ui), {
3828
+ s(w(Wi), {
3828
3829
  state: w(me),
3829
3830
  tracks: w(R),
3830
3831
  "clip-path-id": w(z),
@@ -3843,7 +3844,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3843
3844
  width: w(ge).width,
3844
3845
  height: w(ge).height,
3845
3846
  "aria-hidden": "true"
3846
- }, null, 8, ta)) : r("", !0),
3847
+ }, null, 8, na)) : r("", !0),
3847
3848
  w(l) ? r("", !0) : (g(), n(w(Ie), {
3848
3849
  key: 3,
3849
3850
  annotations: w(Y),
@@ -3862,13 +3863,13 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3862
3863
  "onMove",
3863
3864
  "onDragEnd"
3864
3865
  ])),
3865
- w(l) ? r("", !0) : (g(), i("g", na, [(g(!0), i(e, null, y(w(R), (e) => (g(), i("g", {
3866
+ w(l) ? r("", !0) : (g(), i("g", ra, [(g(!0), i(e, null, y(w(R), (e) => (g(), i("g", {
3866
3867
  key: `legend-${e.index}-${e.series.name}`,
3867
3868
  class: "waveform-chart__legend-track",
3868
3869
  "data-legend-track-index": e.index,
3869
3870
  "data-legend-track-id": e.id,
3870
3871
  transform: `translate(${e.left}, ${e.top})`
3871
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (g(), n(w(zi), {
3872
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (g(), n(w(Bi), {
3872
3873
  key: 0,
3873
3874
  series: e.legendSeries,
3874
3875
  position: w(X)(e.id),
@@ -3889,23 +3890,23 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3889
3890
  "width",
3890
3891
  "height",
3891
3892
  "onToggle"
3892
- ])) : r("", !0)], 8, ra))), 128))]))
3893
- ], 8, Xi),
3893
+ ])) : r("", !0)], 8, ia))), 128))]))
3894
+ ], 8, Zi),
3894
3895
  w(Ee) && !w(l) ? (g(), i("text", {
3895
3896
  key: 0,
3896
3897
  class: "waveform-chart__label waveform-chart__x-label",
3897
3898
  x: w(_) + w(te) / 2,
3898
3899
  y: w(De),
3899
3900
  "text-anchor": "middle"
3900
- }, S(w(Ee)), 9, ia)) : r("", !0),
3901
+ }, S(w(Ee)), 9, aa)) : r("", !0),
3901
3902
  w(Oe) && !w(I) ? (g(), i("text", {
3902
3903
  key: 1,
3903
3904
  class: "waveform-chart__empty",
3904
3905
  x: w(P) / 2,
3905
3906
  y: w(F) / 2,
3906
3907
  "text-anchor": "middle"
3907
- }, " 暂无有效波形数据 ", 8, aa)) : r("", !0)
3908
- ], 40, qi)),
3908
+ }, " 暂无有效波形数据 ", 8, oa)) : r("", !0)
3909
+ ], 40, Ji)),
3909
3910
  w(ke).showPagination && w(Ae) > 1 && !w(l) ? (g(), n(w(ae), {
3910
3911
  key: 1,
3911
3912
  class: "waveform-chart__pagination",
@@ -3922,7 +3923,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3922
3923
  "total",
3923
3924
  "onChange"
3924
3925
  ])) : r("", !0),
3925
- w(Re) && !w(l) && !w(u) ? (g(), n(Er, {
3926
+ w(Re) && !w(l) && !w(u) ? (g(), n(Dr, {
3926
3927
  key: 2,
3927
3928
  annotation: w(Re).annotation,
3928
3929
  mode: w(Re).mode,
@@ -3964,7 +3965,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3964
3965
  "onDelete",
3965
3966
  "onClose"
3966
3967
  ])) : r("", !0),
3967
- s(w(Lr), {
3968
+ s(w(Rr), {
3968
3969
  state: w(me),
3969
3970
  visible: w(he) && !w(u),
3970
3971
  "time-unit": w(ue),
@@ -3977,9 +3978,9 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
3977
3978
  "container-width",
3978
3979
  "container-height"
3979
3980
  ])
3980
- ], 46, Wi));
3981
+ ], 46, Gi));
3981
3982
  }
3982
- }), sa = /* @__PURE__ */ c({
3983
+ }), ca = /* @__PURE__ */ c({
3983
3984
  __name: "WaveformChart",
3984
3985
  props: {
3985
3986
  data: {},
@@ -4057,12 +4058,12 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
4057
4058
  "page-change"
4058
4059
  ],
4059
4060
  setup(e, { expose: t, emit: r }) {
4060
- let i = sr(e, r);
4061
+ let i = cr(e, r);
4061
4062
  return t({
4062
4063
  resetViewport: i.resetViewport,
4063
4064
  setViewportDomain: i.setViewportDomain
4064
- }), (e, t) => (g(), n(oa, { controller: w(i) }, null, 8, ["controller"]));
4065
+ }), (e, t) => (g(), n(sa, { controller: w(i) }, null, 8, ["controller"]));
4065
4066
  }
4066
4067
  });
4067
4068
  //#endregion
4068
- export { Ht as DEFAULT_WAVEFORM_RENDERING_OPTIONS, sa as WaveformChart, Xe as buildMinorTicks, gt as clamp, lt as displayTime, ft as formatAxisTime, dt as formatEndpointTime, pt as formatTooltipTime, Ft as normalizeWaveformData, It as normalizeWaveformSeries, $ as paddedDomain, Je as parseWaveformAnnotations, ht as resolveTrackGeometry, Ut as resolveWaveformRenderingOptions, Yt as selectRenderablePoints, qe as serializeWaveformAnnotations };
4069
+ export { Ut as DEFAULT_WAVEFORM_RENDERING_OPTIONS, ca as WaveformChart, Ze as buildMinorTicks, _t as clamp, ut as displayTime, pt as formatAxisTime, ft as formatEndpointTime, mt as formatTooltipTime, It as normalizeWaveformData, Lt as normalizeWaveformSeries, Xe as paddedDomain, Je as parseWaveformAnnotations, gt as resolveTrackGeometry, Wt as resolveWaveformRenderingOptions, Xt as selectRenderablePoints, qe as serializeWaveformAnnotations };