waveform-analysis 0.1.27 → 0.1.28

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 +1 -1
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +274 -318
  4. package/dist/types/components/core/layout.d.ts +2 -4
  5. package/dist/types/components/core/types.d.ts +0 -3
  6. package/dist/types/utils/formatters.d.ts +9 -10
  7. package/dist/types/utils/index.d.ts +1 -1
  8. package/package.json +1 -1
  9. package/src/components/core/layout.test.ts +7 -8
  10. package/src/components/core/layout.ts +10 -20
  11. package/src/components/core/trackLayoutBuilder.ts +3 -23
  12. package/src/components/core/types.ts +0 -3
  13. package/src/components/core/useWaveformLayout.ts +5 -27
  14. package/src/components/interaction/WaveformTooltip.test.ts +16 -0
  15. package/src/components/rendering/WaveformTrackAxes.vue +4 -26
  16. package/src/components/waveformChartCases/compactAndSharedHover.test.ts +7 -7
  17. package/src/components/waveformChartCases/dataAndHoverPerformance.test.ts +2 -2
  18. package/src/components/waveformChartCases/dataLifecycle.test.ts +4 -4
  19. package/src/components/waveformChartCases/frameGridAndFormatting.test.ts +29 -22
  20. package/src/components/waveformChartCases/interactionAndAnnotationCreation.test.ts +1 -1
  21. package/src/components/waveformChartCases/layoutAndDomains.test.ts +15 -15
  22. package/src/components/waveformChartCases/multiAxisAndPagination.test.ts +8 -8
  23. package/src/components/waveformChartCases/presentationAndAxes.test.ts +6 -4
  24. package/src/components/waveformChartCases/viewportConstraintsAndReset.test.ts +8 -8
  25. package/src/components/waveformChartCases/wheelZoomOut.test.ts +3 -3
  26. package/src/utils/formatters.test.ts +40 -31
  27. package/src/utils/formatters.ts +45 -45
  28. package/src/utils/index.ts +0 -1
package/dist/index.js CHANGED
@@ -625,73 +625,67 @@ function Ke(e, t = 5, n) {
625
625
  }
626
626
  //#endregion
627
627
  //#region src/utils/formatters.ts
628
- var qe = 2, Je = .01, Ye = 100, Xe = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 });
629
- function Ze(e, t) {
628
+ var qe = .001, Je = 1e3, Ye = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), Xe = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), Ze = new Intl.NumberFormat("zh-CN", {
629
+ maximumFractionDigits: 0,
630
+ useGrouping: !1
631
+ });
632
+ function Qe(e, t) {
630
633
  let n = e.toFixed(Math.max(0, t));
631
634
  return /^-0(?:\.0+)?$/.test(n) ? n.slice(1) : n;
632
635
  }
633
- function Qe(e) {
634
- return Number.isFinite(e) && (e >= Ye || e > 0 && e < Je);
636
+ function $e(e) {
637
+ return Number.isFinite(e) && (e >= Je || e > 0 && e < qe);
635
638
  }
636
- function $e(e, t) {
639
+ function et(e, t) {
637
640
  if (typeof e != "number" || typeof t != "number") return null;
638
- let n = Math.max(Math.abs(e), Math.abs(t));
639
- return Qe(n) ? Math.floor(Math.log10(n)) : null;
641
+ let n = Math.abs(Math.max(e, t));
642
+ return $e(n) ? Math.floor(Math.log10(n)) : null;
640
643
  }
641
- function et(e) {
644
+ function tt(e) {
642
645
  return `E${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
643
646
  }
644
- function tt(e, t = {}) {
645
- if (!Number.isFinite(e)) return String(e);
646
- let n = t.precision ?? qe, r = $e(t.axisMin, t.axisMax);
647
- return Ze(r === null ? e : e / 10 ** r, n);
647
+ function nt(e) {
648
+ if (Object.is(e, -0)) return "0";
649
+ let t = e === 0 ? 0 : Number(e.toPrecision(5)), n = Ye.format(t);
650
+ return n === "-0" ? "0" : n;
648
651
  }
649
- function nt(e, t) {
650
- let n = $e(e, t);
651
- return n === null ? null : et(n);
652
+ function rt(e, t = {}) {
653
+ if (!Number.isFinite(e)) return String(e);
654
+ let n = et(t.axisMin, t.axisMax), r = nt(n === null ? e : e / 10 ** n), i = t.topTickValue ?? t.axisMax;
655
+ return n !== null && e === i ? `${tt(n)} ${r}` : r;
652
656
  }
653
- function rt(e) {
657
+ function it(e) {
654
658
  return Number.isFinite(e) ? Object.is(e, -0) ? "0" : Xe.format(e) : String(e);
655
659
  }
656
- function it(e) {
660
+ function at(e) {
661
+ if (!Number.isFinite(e)) return String(e);
662
+ let t = Ze.format(e);
663
+ return t === "-0" ? "0" : t;
664
+ }
665
+ function ot(e) {
657
666
  if (!Number.isFinite(e)) return String(e);
658
667
  if (Object.is(e, -0)) return "0";
659
668
  let [t, n] = e.toExponential().split("e"), r = Number(n), i = t.startsWith("-"), a = t.replace("-", "").replace(".", ""), o = r + 1, s;
660
669
  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}`;
661
670
  }
662
- function at(e, t) {
671
+ function st(e, t) {
663
672
  return t === "ms" ? e * 1e3 : e;
664
673
  }
665
- function ot(e, t, n) {
666
- let [r, i] = t.map((e) => at(e, n));
667
- return tt(at(e, n), {
668
- axisMin: r,
669
- axisMax: i
670
- });
671
- }
672
- function st(e, t, n) {
673
- let r = at(e, t), i = n?.map((e) => at(e, t));
674
- return tt(r, {
675
- axisMin: i?.[0],
676
- axisMax: i?.[1]
677
- });
674
+ function ct(e, t, n) {
675
+ return at(st(e, n));
678
676
  }
679
- function ct(e, t) {
680
- let [n, r] = e.map((e) => at(e, t));
681
- return nt(n, r);
682
- }
683
- function lt(e, t) {
684
- return at(e, t).toLocaleString("zh-CN", {
685
- minimumFractionDigits: 4,
686
- maximumFractionDigits: 4
687
- });
677
+ function lt(e, t, n) {
678
+ return at(st(e, t));
688
679
  }
689
680
  function ut(e, t) {
690
- return Number.isFinite(e) ? Ze(at(e, t), 3) : String(e);
681
+ return it(st(e, t));
682
+ }
683
+ function dt(e, t) {
684
+ return Number.isFinite(e) ? Qe(st(e, t), 3) : String(e);
691
685
  }
692
686
  //#endregion
693
687
  //#region src/utils/geometry.ts
694
- function dt(e, t, n) {
688
+ function ft(e, t, n) {
695
689
  if (e <= 0) return {
696
690
  gap: 0,
697
691
  axisBand: 0,
@@ -704,20 +698,20 @@ function dt(e, t, n) {
704
698
  height: Math.max(1, (n - (e - 1) * (c + l)) / e)
705
699
  };
706
700
  }
707
- function ft(e, t, n) {
701
+ function pt(e, t, n) {
708
702
  return Math.min(Math.max(e, t), n);
709
703
  }
710
704
  //#endregion
711
705
  //#region src/components/core/constants.ts
712
- var pt = {
706
+ var mt = {
713
707
  top: 18,
714
708
  right: 24,
715
709
  bottom: 52,
716
710
  left: 64
717
- }, mt = {
711
+ }, ht = {
718
712
  DEFAULT_MAX_SCALE: 40,
719
713
  MIN_SCALE: 1
720
- }, ht = .62, gt = 1.2, _t = [
714
+ }, gt = .62, _t = 1.2, vt = [
721
715
  "#0960bd",
722
716
  "#ff7f0e",
723
717
  "#389e0d",
@@ -728,42 +722,42 @@ var pt = {
728
722
  "#434343",
729
723
  "#7cb305",
730
724
  "#1d39c4"
731
- ], vt = {
725
+ ], yt = {
732
726
  WIDTH: 1.5,
733
727
  CAP_WIDTH: 8
734
- }, yt = {
728
+ }, bt = {
735
729
  COLOR: "#98a2b3",
736
730
  WIDTH: 1,
737
731
  DASH: "6 4"
738
732
  };
739
733
  //#endregion
740
734
  //#region src/components/core/yDomain.ts
741
- function bt(e) {
735
+ function xt(e) {
742
736
  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]];
743
737
  }
744
- function xt(e, t) {
745
- return bt(t?.[e.id]);
746
- }
747
- function St(e, t, n) {
748
- return bt(n?.[e.id]) ?? bt(t);
738
+ function St(e, t) {
739
+ return xt(t?.[e.id]);
749
740
  }
750
741
  function Ct(e, t, n) {
751
- return !!(xt(e, n) || e.visibleSeries.some((e) => St(e, t, n)));
742
+ return xt(n?.[e.id]) ?? xt(t);
743
+ }
744
+ function wt(e, t, n) {
745
+ return !!(St(e, n) || e.visibleSeries.some((e) => Ct(e, t, n)));
752
746
  }
753
- function wt(e) {
747
+ function Tt(e) {
754
748
  return [Math.min(...e.map((e) => e[0])), Math.max(...e.map((e) => e[1]))];
755
749
  }
756
750
  //#endregion
757
751
  //#region src/core/data.ts
758
- var Tt = vt.WIDTH, Et = vt.CAP_WIDTH;
759
- function Dt(e) {
752
+ var Et = yt.WIDTH, Dt = yt.CAP_WIDTH;
753
+ function Ot(e) {
760
754
  return e === "dashed" || e === "dash-dot" ? e : "solid";
761
755
  }
762
- function Ot(e) {
756
+ function kt(e) {
763
757
  return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
764
758
  }
765
- function kt(e) {
766
- let t = Ot(e.error), n = Ot(e.lowerError), r = Ot(e.upperError);
759
+ function At(e) {
760
+ let t = kt(e.error), n = kt(e.lowerError), r = kt(e.upperError);
767
761
  return {
768
762
  x: e.x,
769
763
  y: e.y,
@@ -772,14 +766,14 @@ function kt(e) {
772
766
  ...r === void 0 ? {} : { upperError: r }
773
767
  };
774
768
  }
775
- function At(e) {
776
- let t = Ot(e.error) ?? 0;
769
+ function jt(e) {
770
+ let t = kt(e.error) ?? 0;
777
771
  return {
778
- lower: Ot(e.lowerError) ?? t,
779
- upper: Ot(e.upperError) ?? t
772
+ lower: kt(e.lowerError) ?? t,
773
+ upper: kt(e.upperError) ?? t
780
774
  };
781
775
  }
782
- function jt(e) {
776
+ function Mt(e) {
783
777
  if (e.kind === "samples") {
784
778
  if (!Number.isFinite(e.sampleRate) || e.sampleRate <= 0) return [];
785
779
  let t = Number.isFinite(e.startTime) ? e.startTime ?? 0 : 0, n = [];
@@ -795,14 +789,14 @@ function jt(e) {
795
789
  let t = [], n = -Infinity, r = !0;
796
790
  for (let i of e.points) {
797
791
  if (!Number.isFinite(i.x) || !Number.isFinite(i.y)) continue;
798
- let e = kt(i);
792
+ let e = At(i);
799
793
  e.x < n && (r = !1), n = e.x, t.push(e);
800
794
  }
801
795
  return r || t.sort((e, t) => e.x - t.x), t;
802
796
  }
803
- function Mt(e) {
797
+ function Nt(e) {
804
798
  if (e.kind !== "series") {
805
- let t = jt(e);
799
+ let t = Mt(e);
806
800
  return t.length > 0 ? [{
807
801
  id: "series-0",
808
802
  name: "",
@@ -811,8 +805,8 @@ function Mt(e) {
811
805
  pointType: "none",
812
806
  errorBar: {
813
807
  visible: !1,
814
- width: Tt,
815
- capWidth: Et
808
+ width: Et,
809
+ capWidth: Dt
816
810
  },
817
811
  points: t
818
812
  }] : [];
@@ -822,7 +816,7 @@ function Mt(e) {
822
816
  let r = e.id?.trim() || `series-${n}`, i = r, a = 1;
823
817
  for (; t.has(i);) i = `${r}-${a}`, a++;
824
818
  t.add(i);
825
- let o = e.lineType ?? "linear", s = Dt(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);
819
+ let o = e.lineType ?? "linear", s = Ot(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);
826
820
  return {
827
821
  id: i,
828
822
  trackId: e.trackId?.trim() || void 0,
@@ -835,55 +829,55 @@ function Mt(e) {
835
829
  errorBar: {
836
830
  visible: l,
837
831
  color: e.errorBar?.color,
838
- width: Number.isFinite(d) && d > 0 ? d : Tt,
839
- capWidth: Number.isFinite(f) && f > 0 ? f : Et
832
+ width: Number.isFinite(d) && d > 0 ? d : Et,
833
+ capWidth: Number.isFinite(f) && f > 0 ? f : Dt
840
834
  },
841
- points: jt(e.data)
835
+ points: Mt(e.data)
842
836
  };
843
837
  }).filter((e) => e.points.length > 0);
844
838
  }
845
839
  //#endregion
846
840
  //#region src/core/renderingOptions.ts
847
- var Nt = {
841
+ var Pt = {
848
842
  downsample: !0,
849
843
  downsampleThreshold: 2e3,
850
844
  maxPointsPerPixel: 4,
851
845
  pointMinSpacing: 10,
852
846
  errorBarMinSpacing: 12
853
847
  };
854
- function Pt(e) {
848
+ function Ft(e) {
855
849
  let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing);
856
850
  return {
857
- downsample: e?.downsample ?? Nt.downsample,
858
- downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Nt.downsampleThreshold,
859
- maxPointsPerPixel: Number.isFinite(n) && n > 0 ? n : Nt.maxPointsPerPixel,
860
- pointMinSpacing: Number.isFinite(r) && r >= 0 ? r : Nt.pointMinSpacing,
861
- errorBarMinSpacing: Number.isFinite(i) && i >= 0 ? i : Nt.errorBarMinSpacing
851
+ downsample: e?.downsample ?? Pt.downsample,
852
+ downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Pt.downsampleThreshold,
853
+ maxPointsPerPixel: Number.isFinite(n) && n > 0 ? n : Pt.maxPointsPerPixel,
854
+ pointMinSpacing: Number.isFinite(r) && r >= 0 ? r : Pt.pointMinSpacing,
855
+ errorBarMinSpacing: Number.isFinite(i) && i >= 0 ? i : Pt.errorBarMinSpacing
862
856
  };
863
857
  }
864
858
  //#endregion
865
859
  //#region src/core/rendering.ts
866
- var Ft = N((e) => e.x), It = () => !0;
867
- function Lt(e, t) {
860
+ var It = N((e) => e.x), Lt = () => !0;
861
+ function Rt(e, t) {
868
862
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
869
863
  return {
870
- start: Ft.left(e, n),
871
- end: Ft.right(e, r)
864
+ start: It.left(e, n),
865
+ end: It.right(e, r)
872
866
  };
873
867
  }
874
- function Rt(e, t, n) {
868
+ function zt(e, t, n) {
875
869
  if (!Number.isFinite(n) || n <= 0) return !0;
876
870
  let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
877
871
  for (let n of e) {
878
- let e = Lt(n.points, t);
872
+ let e = Rt(n.points, t);
879
873
  for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
880
874
  }
881
875
  return !1;
882
876
  }
883
- function zt(e, t) {
877
+ function Bt(e, t) {
884
878
  t && e[e.length - 1] !== t && e.push(t);
885
879
  }
886
- function Bt(e, t, n, r, i) {
880
+ function Vt(e, t, n, r, i) {
887
881
  let a = Math.min(n[0], n[1]), o = Math.max(n[0], n[1]), s = Math.max(0, t.start - 1), c = Math.min(e.length, t.end + 1), l = c - s;
888
882
  if (l <= 0) return [];
889
883
  if (!i.downsample || l <= i.downsampleThreshold) return e.slice(s, c);
@@ -902,9 +896,9 @@ function Bt(e, t, n, r, i) {
902
896
  for (; n >= 0 && m[n] > t;) m[n + 1] = m[n], --n;
903
897
  m[n + 1] = t;
904
898
  }
905
- for (let n = 0; n < t; n += 1) zt(f, e[m[n]]);
899
+ for (let n = 0; n < t; n += 1) Bt(f, e[m[n]]);
906
900
  };
907
- zt(f, e[s]);
901
+ Bt(f, e[s]);
908
902
  for (let n = t.start; n < t.end; n += 1) {
909
903
  let t = e[n], r = Math.min(d - 1, Math.max(0, Math.floor((t.x - a) / p * d)));
910
904
  if (r !== h) {
@@ -913,14 +907,14 @@ function Bt(e, t, n, r, i) {
913
907
  }
914
908
  _ = n, t.y < e[v].y && (v = n), t.y > e[y].y && (y = n);
915
909
  }
916
- return x(), zt(f, e[c - 1]), f;
910
+ return x(), Bt(f, e[c - 1]), f;
917
911
  }
918
- function Vt(e, t, n, r) {
919
- return !e.length || n <= 0 ? [] : Bt(e, Lt(e, t), t, n, r);
912
+ function Ht(e, t, n, r) {
913
+ return !e.length || n <= 0 ? [] : Vt(e, Rt(e, t), t, n, r);
920
914
  }
921
- function Ht(e, t, n, r, i, a, o, s) {
915
+ function Ut(e, t, n, r, i, a, o, s) {
922
916
  if (!a || i === 0) {
923
- if (o === It) return e.slice(t.start, t.end);
917
+ if (o === Lt) return e.slice(t.start, t.end);
924
918
  let n = [];
925
919
  for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
926
920
  return n;
@@ -953,36 +947,36 @@ function Ht(e, t, n, r, i, a, o, s) {
953
947
  let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
954
948
  return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
955
949
  }
956
- function Ut(e) {
957
- let { lower: t, upper: n } = At(e);
950
+ function Wt(e) {
951
+ let { lower: t, upper: n } = jt(e);
958
952
  return t !== 0 || n !== 0;
959
953
  }
960
- function Wt(e, t, n, r, i) {
954
+ function Gt(e, t, n, r, i) {
961
955
  if (!e.length || n <= 0) return {
962
956
  linePoints: [],
963
957
  pointRenderPoints: [],
964
958
  errorBarRenderPoints: []
965
959
  };
966
- let a = Lt(e, t), o = i.lineVisible ? Bt(e, a, t, n, r) : [], s = i.errorBarVisible && i.hasErrorPoints;
960
+ let a = Rt(e, t), o = i.lineVisible ? Vt(e, a, t, n, r) : [], s = i.errorBarVisible && i.hasErrorPoints;
967
961
  if (i.pointVisible && s) {
968
- let i = Ht(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, It, Ut);
962
+ let i = Ut(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, Lt, Wt);
969
963
  return {
970
964
  linePoints: o,
971
965
  pointRenderPoints: i,
972
- errorBarRenderPoints: i.filter(Ut)
966
+ errorBarRenderPoints: i.filter(Wt)
973
967
  };
974
968
  }
975
969
  return {
976
970
  linePoints: o,
977
- pointRenderPoints: i.pointVisible ? Ht(e, a, t, n, r.pointMinSpacing, r.downsample, It) : [],
978
- errorBarRenderPoints: s ? Ht(e, a, t, n, r.errorBarMinSpacing, r.downsample, Ut) : []
971
+ pointRenderPoints: i.pointVisible ? Ut(e, a, t, n, r.pointMinSpacing, r.downsample, Lt) : [],
972
+ errorBarRenderPoints: s ? Ut(e, a, t, n, r.errorBarMinSpacing, r.downsample, Wt) : []
979
973
  };
980
974
  }
981
- var Gt = (e, t) => {
975
+ var Kt = (e, t) => {
982
976
  let n = typeof e == "number" ? e : Number(e);
983
977
  return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
984
978
  };
985
- function Kt(e) {
979
+ function qt(e) {
986
980
  let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
987
981
  horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
988
982
  vertical: typeof t?.vertical != "boolean" || t.vertical,
@@ -990,37 +984,37 @@ function Kt(e) {
990
984
  verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
991
985
  }]));
992
986
  return {
993
- rowCount: Gt(e?.rowCount, 2),
994
- columnCount: Gt(e?.columnCount, 1),
987
+ rowCount: Kt(e?.rowCount, 2),
988
+ columnCount: Kt(e?.columnCount, 1),
995
989
  showPagination: e?.showPagination ?? !0,
996
990
  trackLines: t
997
991
  };
998
992
  }
999
- function qt(e) {
993
+ function Jt(e) {
1000
994
  return e.rowCount * e.columnCount;
1001
995
  }
1002
- function Jt(e, t) {
1003
- return Math.max(1, Math.ceil(Math.max(0, e) / qt(t)));
996
+ function Yt(e, t) {
997
+ return Math.max(1, Math.ceil(Math.max(0, e) / Jt(t)));
1004
998
  }
1005
- function Yt(e, t, n) {
1006
- let r = Jt(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * qt(n);
1007
- return e.slice(i, i + qt(n));
999
+ function Xt(e, t, n) {
1000
+ let r = Yt(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * Jt(n);
1001
+ return e.slice(i, i + Jt(n));
1008
1002
  }
1009
- function Xt(e) {
1003
+ function Zt(e) {
1010
1004
  return e === "compact" ? 0 : e === "separated" ? 16 : 14;
1011
1005
  }
1012
- function Zt(e, t, n, r, i = [], a, o = !0) {
1013
- let s = Xt(r), c = Number.isFinite(a) ? Math.max(0, a) : s, l = Math.max(0, n.columnCount - 1) * c, u = /* @__PURE__ */ new Set();
1006
+ function Qt(e, t, n, r, i = [], a, o = !0) {
1007
+ let s = Zt(r), c = Number.isFinite(a) ? Math.max(0, a) : s, l = Math.max(0, n.columnCount - 1) * c, u = /* @__PURE__ */ new Set();
1014
1008
  if (o) {
1015
1009
  if (r === "independent") for (let e = 0; e < n.rowCount; e += 1) u.add(e);
1016
1010
  else if (r === "compact") u.add(n.rowCount - 1);
1017
- else for (let e = 0; e < n.columnCount; e += 1) for (let t = qt(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1011
+ else for (let e = 0; e < n.columnCount; e += 1) for (let t = Jt(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1018
1012
  u.add(Math.floor(t / n.columnCount));
1019
1013
  break;
1020
1014
  }
1021
1015
  }
1022
1016
  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);
1023
- return Array.from({ length: qt(n) }, (e, t) => {
1017
+ return Array.from({ length: Jt(n) }, (e, t) => {
1024
1018
  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) => {
1025
1019
  let n = u.has(t) ? 30 : 0;
1026
1020
  return m + n + s;
@@ -1039,7 +1033,7 @@ function Zt(e, t, n, r, i = [], a, o = !0) {
1039
1033
  };
1040
1034
  });
1041
1035
  }
1042
- function Qt(e, t) {
1036
+ function $t(e, t) {
1043
1037
  let n = /* @__PURE__ */ new Set();
1044
1038
  for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
1045
1039
  let i = e[t];
@@ -1052,11 +1046,11 @@ function Qt(e, t) {
1052
1046
  }
1053
1047
  //#endregion
1054
1048
  //#region src/components/core/trackLayoutBuilder.ts
1055
- function $t(e) {
1049
+ function en(e) {
1056
1050
  let t = e.cells.map((e) => ({
1057
1051
  ...e,
1058
1052
  hasSeries: !!e.series
1059
- })), n = Qt(t, e.grid.columnCount);
1053
+ })), n = $t(t, e.grid.columnCount);
1060
1054
  return t.flatMap((t, r) => {
1061
1055
  let i = !t.series;
1062
1056
  if (i && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
@@ -1082,7 +1076,7 @@ function $t(e) {
1082
1076
  visibleSeries: [a],
1083
1077
  xDomain: a.xDomain,
1084
1078
  yDomain: a.yDomain
1085
- }, s = !i && o.visibleSeries.length > 0, c = o.visibleSeries[0] ?? o.series[0] ?? a, l = e.displayMode === "independent" ? B(e.initialXDomains?.[o.id] ?? e.initialXDomains?.[c.id] ?? e.initialXDomain ?? o.xDomain, [0, t.width]) : B(e.sharedZoomDomain, [0, t.width]), u = (e.displayMode === "independent" ? e.independentTransforms[r] ?? U : U).rescaleX(l), d = e.yDomains?.[o.id], f = ln(o, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && d ? {
1079
+ }, s = !i && o.visibleSeries.length > 0, c = o.visibleSeries[0] ?? o.series[0] ?? a, l = e.displayMode === "independent" ? B(e.initialXDomains?.[o.id] ?? e.initialXDomains?.[c.id] ?? e.initialXDomain ?? o.xDomain, [0, t.width]) : B(e.sharedZoomDomain, [0, t.width]), u = (e.displayMode === "independent" ? e.independentTransforms[r] ?? U : U).rescaleX(l), d = e.yDomains?.[o.id], f = un(o, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && d ? {
1086
1080
  ...e,
1087
1081
  domain: d
1088
1082
  } : e), p = {
@@ -1095,14 +1089,12 @@ function $t(e) {
1095
1089
  a,
1096
1090
  ...c,
1097
1091
  ...s ? [o] : []
1098
- ])), { exponentLabel: u, exponentWidth: d, tickTextWidth: f } = un(n.domain, !n.fixed), m = u ? d + 8 : 0, h = f + 7 + m + 6 + 24 + 4, g = n.side === "left" ? -p.left : t.width + p.right, _ = g + (n.side === "left" ? -(7 + f + 8) : 7 + f + 8), v = f + 7 + m + d + 6 + 24 / 2, y = g + (n.side === "left" ? -v : v);
1099
- return p[n.side] += h, {
1092
+ ])), { tickTextWidth: u } = dn(n.domain, !n.fixed, l), 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);
1093
+ return p[n.side] += d, {
1100
1094
  index: n.index,
1101
1095
  side: n.side,
1102
- x: g,
1103
- labelX: y,
1104
- exponentX: _,
1105
- exponentLabel: u,
1096
+ x: f,
1097
+ labelX: h,
1106
1098
  scale: r,
1107
1099
  majorTicks: i,
1108
1100
  minorTicks: Ke(i),
@@ -1110,13 +1102,13 @@ function $t(e) {
1110
1102
  seriesList: n.seriesList
1111
1103
  };
1112
1104
  }), h = m[0]?.scale ?? B(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 = {
1113
- start: ot(y[0], y, e.timeUnit),
1114
- end: ot(y[1], y, e.timeUnit)
1115
- }, x = ct(y, e.timeUnit), S = b.start.length * 7 + 10, C = b.end.length * 7 + 10, w = g.filter((e) => {
1105
+ start: ct(y[0], y, e.timeUnit),
1106
+ end: ct(y[1], y, e.timeUnit)
1107
+ }, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
1116
1108
  let n = u(e);
1117
- return n > S && n < t.width - C;
1118
- }), T = o.visibleSeries.map((n) => {
1119
- let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Wt(n.points, y, t.width, e.rendering, {
1109
+ return n > x && n < t.width - S;
1110
+ }), w = o.visibleSeries.map((n) => {
1111
+ let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Gt(n.points, y, t.width, e.rendering, {
1120
1112
  lineVisible: !i && n.lineType !== "none",
1121
1113
  pointVisible: n.pointType !== "none",
1122
1114
  errorBarVisible: n.errorBar.visible,
@@ -1154,11 +1146,10 @@ function $t(e) {
1154
1146
  yMajorTicks: _,
1155
1147
  yMinorTicks: m[0]?.minorTicks ?? [],
1156
1148
  yAxisTickValues: v,
1157
- xAxisTickValues: w,
1149
+ xAxisTickValues: C,
1158
1150
  endpointLabels: b,
1159
- xAxisExponent: x,
1160
- path: T[0]?.path ?? null,
1161
- seriesPaths: T,
1151
+ path: w[0]?.path ?? null,
1152
+ seriesPaths: w,
1162
1153
  gridLines: e.grid.trackLines[o.id] ?? {
1163
1154
  horizontal: !0,
1164
1155
  vertical: !0
@@ -1169,8 +1160,8 @@ function $t(e) {
1169
1160
  }
1170
1161
  //#endregion
1171
1162
  //#region src/components/core/layout.ts
1172
- var en = 7, tn = 7, nn = 4, rn = 6, an = 24;
1173
- function on(e) {
1163
+ var tn = 7, nn = 7, rn = 4, an = 6, on = 24;
1164
+ function sn(e) {
1174
1165
  return e >= 4 ? [
1175
1166
  "left",
1176
1167
  "left",
@@ -1182,13 +1173,13 @@ function on(e) {
1182
1173
  "right"
1183
1174
  ] : e === 2 ? ["left", "right"] : ["left"];
1184
1175
  }
1185
- var sn = /* @__PURE__ */ new WeakMap();
1186
- function cn(e, t) {
1187
- let n = sn.get(e);
1188
- n || (n = /* @__PURE__ */ new Map(), sn.set(e, n));
1176
+ var cn = /* @__PURE__ */ new WeakMap();
1177
+ function ln(e, t) {
1178
+ let n = cn.get(e);
1179
+ n || (n = /* @__PURE__ */ new Map(), cn.set(e, n));
1189
1180
  let r = n.get(t);
1190
1181
  if (r) return r;
1191
- let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = on(i), o = Array.from({ length: i }, (e, t) => ({
1182
+ let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = sn(i), o = Array.from({ length: i }, (e, t) => ({
1192
1183
  index: t,
1193
1184
  side: a[t],
1194
1185
  seriesList: [],
@@ -1205,47 +1196,44 @@ function cn(e, t) {
1205
1196
  }
1206
1197
  }), n.set(t, o), o;
1207
1198
  }
1208
- function ln(e, t, n, r) {
1209
- let i = xt(e, r);
1210
- return cn(e, t).map((e) => {
1199
+ function un(e, t, n, r) {
1200
+ let i = St(e, r);
1201
+ return ln(e, t).map((e) => {
1211
1202
  if (i) return {
1212
1203
  ...e,
1213
1204
  domain: i,
1214
1205
  fixed: !0
1215
1206
  };
1216
- let t = e.seriesList.map((e) => St(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => St(e, n, r));
1207
+ let t = e.seriesList.map((e) => Ct(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Ct(e, n, r));
1217
1208
  return a ? {
1218
1209
  ...e,
1219
- domain: wt(t),
1210
+ domain: Tt(t),
1220
1211
  fixed: a
1221
1212
  } : e;
1222
1213
  });
1223
1214
  }
1224
- function un(e, t = !0) {
1225
- let n = B(e, [1, 0]);
1226
- t && n.nice();
1227
- let [r, i] = n.domain(), a = n.ticks(10), o = Math.max(1, ...a.map((e) => tt(e, {
1228
- axisMin: r,
1229
- axisMax: i
1230
- }).length)), s = nt(r, i);
1231
- return {
1232
- exponentLabel: s,
1233
- exponentWidth: s ? s.length * en : 0,
1234
- tickTextWidth: o * en
1235
- };
1236
- }
1237
- function dn(e, t) {
1238
- let { exponentLabel: n, exponentWidth: r } = un(e, t);
1239
- return n ? r + 8 : 0;
1215
+ function dn(e, t = !0, n) {
1216
+ let r = B(e, [1, 0]);
1217
+ t && r.nice();
1218
+ let [i, a] = r.domain(), o = n ?? Array.from(/* @__PURE__ */ new Set([
1219
+ i,
1220
+ ...r.ticks(10),
1221
+ a
1222
+ ])), s = Math.max(...o);
1223
+ return { tickTextWidth: Math.max(1, ...o.map((e) => rt(e, {
1224
+ axisMin: i,
1225
+ axisMax: a,
1226
+ topTickValue: s
1227
+ }).length)) * tn };
1240
1228
  }
1241
1229
  function fn(e) {
1242
- return un(e.domain, !e.fixed).tickTextWidth + dn(e.domain, !e.fixed) + tn + rn + an + nn;
1230
+ return dn(e.domain, !e.fixed).tickTextWidth + nn + an + on + rn;
1243
1231
  }
1244
1232
  function pn(e) {
1245
- return un(e.domain, !e.fixed).tickTextWidth + dn(e.domain, !e.fixed) + tn + nn;
1233
+ return dn(e.domain, !e.fixed).tickTextWidth + nn + rn;
1246
1234
  }
1247
1235
  function mn(e, t, n, r) {
1248
- return ln(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? fn(r) : pn(r), n), {
1236
+ return un(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? fn(r) : pn(r), n), {
1249
1237
  left: 0,
1250
1238
  right: 0
1251
1239
  });
@@ -1562,7 +1550,7 @@ function xn(e) {
1562
1550
  let y = e.independent ? [t] : o.value, x = { ...g.value }, S = { ...h.value };
1563
1551
  y.forEach((t) => {
1564
1552
  let r = s.value.find((e) => e.id === t.id);
1565
- if (r && Ct(r, n.yDomain, n.yDomains)) return;
1553
+ if (r && wt(r, n.yDomain, n.yDomains)) return;
1566
1554
  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 = j([o[0] + d / a * l, o[1] + d / a * l], c);
1567
1555
  e.independent ? x[t.index] = u : S[i] = u;
1568
1556
  }), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
@@ -1769,16 +1757,16 @@ function Cn(e) {
1769
1757
  F(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => V(e).on(".zoom", null)), _.clear();
1770
1758
  }, L = (e) => {
1771
1759
  let n = t.minZoomSpan;
1772
- if (!Number.isFinite(n) || (n ?? 0) <= 0) return mt.DEFAULT_MAX_SCALE;
1760
+ if (!Number.isFinite(n) || (n ?? 0) <= 0) return ht.DEFAULT_MAX_SCALE;
1773
1761
  let r = Math.abs(e[1] - e[0]);
1774
- return !Number.isFinite(r) || r <= 0 ? mt.MIN_SCALE : Math.min(mt.DEFAULT_MAX_SCALE, Math.max(mt.MIN_SCALE, r / (n ?? r)));
1775
- }, R = (e) => Rt(e.seriesList, e.xScale.domain(), Number(t.minVisiblePoints)), z = () => {
1762
+ return !Number.isFinite(r) || r <= 0 ? ht.MIN_SCALE : Math.min(ht.DEFAULT_MAX_SCALE, Math.max(ht.MIN_SCALE, r / (n ?? r)));
1763
+ }, R = (e) => zt(e.seriesList, e.xScale.domain(), Number(t.minVisiblePoints)), z = () => {
1776
1764
  let e = s.value.filter((e) => e.hasVisibleSeries);
1777
1765
  return e.length > 0 && e.every(R);
1778
1766
  }, H = (e, t) => {
1779
1767
  if (e.type !== "wheel") return !1;
1780
1768
  let n = e.deltaY;
1781
- return n < 0 ? t : n > 0 && W(e.currentTarget).k > mt.MIN_SCALE;
1769
+ return n < 0 ? t : n > 0 && W(e.currentTarget).k > ht.MIN_SCALE;
1782
1770
  };
1783
1771
  return {
1784
1772
  cancelPendingZoom: F,
@@ -1915,7 +1903,7 @@ function Tn(e) {
1915
1903
  function En(e, t = !1) {
1916
1904
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity, o = !1;
1917
1905
  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) {
1918
- let e = At(s);
1906
+ let e = jt(s);
1919
1907
  (e.lower !== 0 || e.upper !== 0) && (o = !0), i = Math.min(i, s.y - e.lower), a = Math.max(a, s.y + e.upper);
1920
1908
  }
1921
1909
  return {
@@ -1925,7 +1913,7 @@ function En(e, t = !1) {
1925
1913
  };
1926
1914
  }
1927
1915
  function Dn(e) {
1928
- return Mt(e).map((e) => {
1916
+ return Nt(e).map((e) => {
1929
1917
  let t = En(e.points, e.errorBar.visible);
1930
1918
  return {
1931
1919
  ...e,
@@ -1944,7 +1932,7 @@ function On(e, t) {
1944
1932
  function kn(e) {
1945
1933
  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) => ({
1946
1934
  ...e,
1947
- color: e.color ?? (t === 0 ? n.lineColor : _t[t % _t.length])
1935
+ color: e.color ?? (t === 0 ? n.lineColor : vt[t % vt.length])
1948
1936
  }))), h = t(() => {
1949
1937
  let e = /* @__PURE__ */ new Map();
1950
1938
  return m.value.forEach((t) => {
@@ -1962,25 +1950,14 @@ function kn(e) {
1962
1950
  yDomain: $(i)
1963
1951
  };
1964
1952
  });
1965
- }), g = t(() => Kt(n.grid)), _ = t(() => Pt(n.rendering)), v = t(() => Jt(h.value.length, g.value)), y = t(() => Yt(h.value, i.value, g.value)), b = t(() => {
1966
- let e = h.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => ln(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => {
1967
- let t = B(e.domain, [1, 0]);
1968
- e.fixed || t.nice();
1969
- let [n, r] = t.domain();
1970
- return {
1971
- exponentLabel: nt(n, r),
1972
- tickLabels: t.ticks(10).map((e) => tt(e, {
1973
- axisMin: n,
1974
- axisMax: r
1975
- }))
1976
- };
1977
- }), t = Math.max(1, ...e.flatMap(({ tickLabels: e }) => e).map((e) => e.length)) * 7, r = Math.max(0, ...e.map(({ exponentLabel: e }) => (e?.length ?? 0) * 7)), i = r ? r + 8 : 0, a = t + 7 + i + 4, o = -(7 + t + i + 6 + 24 / 2);
1953
+ }), g = t(() => qt(n.grid)), _ = t(() => Ft(n.rendering)), v = t(() => Yt(h.value.length, g.value)), y = t(() => Xt(h.value, i.value, g.value)), b = t(() => {
1954
+ let e = h.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => un(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => dn(e.domain, !e.fixed).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 6 + 24 / 2);
1978
1955
  return {
1979
- tickClearance: a,
1980
- fullClearance: t + 7 + i + 6 + 24 + 4,
1981
- labelCenterX: o
1956
+ tickClearance: r,
1957
+ fullClearance: t + 7 + 6 + 24 + 4,
1958
+ labelCenterX: i
1982
1959
  };
1983
- }), 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(pt.left, x.value ? b.value.fullClearance : S.value ? b.value.tickClearance : 0)), w = t(() => h.value.reduce((e, t) => {
1960
+ }), 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(mt.left, x.value ? b.value.fullClearance : S.value ? b.value.tickClearance : 0)), w = t(() => h.value.reduce((e, t) => {
1984
1961
  let r = mn(t, n.overlayMode, n.yDomain, n.yDomains);
1985
1962
  return {
1986
1963
  left: Math.max(e.left, r.left),
@@ -1989,8 +1966,8 @@ function kn(e) {
1989
1966
  }, {
1990
1967
  left: 0,
1991
1968
  right: 0
1992
- })), T = t(() => n.overlayMode === "multi-axis" ? Math.max(C.value, w.value.left) : C.value), E = t(() => n.overlayMode === "multi-axis" ? Math.max(pt.right, w.value.right) : pt.right), D = t(() => Math.max(0, o.value - T.value - E.value)), O = t(() => {
1993
- let e = Xt(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;
1969
+ })), T = t(() => n.overlayMode === "multi-axis" ? Math.max(C.value, w.value.left) : C.value), E = t(() => n.overlayMode === "multi-axis" ? Math.max(mt.right, w.value.right) : mt.right), D = t(() => Math.max(0, o.value - T.value - E.value)), O = t(() => {
1970
+ let e = Zt(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;
1994
1971
  return {
1995
1972
  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,
1996
1973
  hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && x.value && !o
@@ -2006,10 +1983,10 @@ function kn(e) {
2006
1983
  }), I = (e) => {
2007
1984
  let t = n.initialXDomains?.[e.series.trackId ?? e.series.id] ?? n.initialXDomains?.[e.series.id] ?? n.initialXDomain;
2008
1985
  return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? t[0] < t[1] ? t : [t[1], t[0]] : $(e.seriesList.flatMap((e) => e.xDomain));
2009
- }, L = t(() => l.value.rescaleX(B(F.value, [0, D.value])).domain()), R = t(() => Zt(D.value, s.value, g.value, n.displayMode, y.value.map(Boolean), O.value.horizontalGap).map((e, t) => ({
1986
+ }, L = t(() => l.value.rescaleX(B(F.value, [0, D.value])).domain()), R = t(() => Qt(D.value, s.value, g.value, n.displayMode, y.value.map(Boolean), O.value.horizontalGap).map((e, t) => ({
2010
1987
  ...e,
2011
1988
  series: y.value[t]
2012
- }))), z = t(() => $t({
1989
+ }))), z = t(() => en({
2013
1990
  cells: R.value,
2014
1991
  grid: g.value,
2015
1992
  displayMode: n.displayMode,
@@ -2111,9 +2088,9 @@ function Nn(e) {
2111
2088
  let e = n.zeroLine.width;
2112
2089
  return {
2113
2090
  visible: n.zeroLine.visible === !0,
2114
- color: n.zeroLine.color || yt.COLOR,
2115
- width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : yt.WIDTH,
2116
- dash: n.zeroLine.dash ?? yt.DASH
2091
+ color: n.zeroLine.color || bt.COLOR,
2092
+ width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : bt.WIDTH,
2093
+ dash: n.zeroLine.dash ?? bt.DASH
2117
2094
  };
2118
2095
  }), _ = 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) => {
2119
2096
  let t = n.legend.orientation ?? "auto";
@@ -2135,10 +2112,10 @@ function Nn(e) {
2135
2112
  fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
2136
2113
  textDecoration: n.title?.textStyle?.textDecoration ?? "none",
2137
2114
  letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
2138
- lineHeight: String(gt)
2115
+ lineHeight: String(_t)
2139
2116
  })), A = t(() => {
2140
2117
  let e = Number.parseFloat(n.title?.textStyle?.letterSpacing ?? ""), t = Number.isFinite(e) ? Math.max(0, C.value.length - 1) * e : 0;
2141
- return Math.max(1, C.value.length * E.value * ht + t);
2118
+ return Math.max(1, C.value.length * E.value * gt + t);
2142
2119
  }), j = t(() => {
2143
2120
  let e = d.value - 48;
2144
2121
  return e > 0 ? e : A.value;
@@ -2153,7 +2130,7 @@ function Nn(e) {
2153
2130
  naturalHeight: o.value || E.value * 1.2,
2154
2131
  availableWidth: j.value,
2155
2132
  rotation: D.value
2156
- })), P = t(() => w.value ? N.value.areaHeight : 0), F = t(() => pt.top), I = t(() => Math.max(0, f.value - P.value - c.value));
2133
+ })), P = t(() => w.value ? N.value.areaHeight : 0), F = t(() => mt.top), I = t(() => Math.max(0, f.value - P.value - c.value));
2157
2134
  return {
2158
2135
  fixedWidth: l,
2159
2136
  fixedHeight: u,
@@ -2177,7 +2154,7 @@ function Nn(e) {
2177
2154
  titleAreaHeight: P,
2178
2155
  chartTopMargin: F,
2179
2156
  drawingHeight: I,
2180
- innerHeight: t(() => Math.max(0, I.value - pt.top - pt.bottom)),
2157
+ innerHeight: t(() => Math.max(0, I.value - mt.top - mt.bottom)),
2181
2158
  titleAreaStyle: t(() => ({
2182
2159
  height: `${P.value}px`,
2183
2160
  justifyContent: n.title?.align === "left" ? "flex-start" : n.title?.align === "right" ? "flex-end" : "center"
@@ -2362,8 +2339,8 @@ function Fn(e, t) {
2362
2339
  ...Y,
2363
2340
  ...be,
2364
2341
  ...X,
2365
- margin: pt,
2366
- getPageSize: qt,
2342
+ margin: mt,
2343
+ getPageSize: Jt,
2367
2344
  currentPage: S,
2368
2345
  selection: M,
2369
2346
  pointerInsideChart: P,
@@ -2459,7 +2436,7 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
2459
2436
  title: "关闭",
2460
2437
  onClick: n[0] ||= (e) => l("cancel")
2461
2438
  }, " × ")]),
2462
- a("div", Bn, [a("span", null, [a("b", null, "X (" + S(c.timeUnit) + ")", 1), a("code", null, S(w(ut)(c.annotation.x, c.timeUnit)), 1)]), a("span", null, [n[7] ||= a("b", null, "Y", -1), a("code", null, S(w(it)(c.annotation.y)), 1)])]),
2439
+ a("div", Bn, [a("span", null, [a("b", null, "X (" + S(c.timeUnit) + ")", 1), a("code", null, S(w(dt)(c.annotation.x, c.timeUnit)), 1)]), a("span", null, [n[7] ||= a("b", null, "Y", -1), a("code", null, S(w(ot)(c.annotation.y)), 1)])]),
2463
2440
  D.value ? (g(), i("label", Vn, [
2464
2441
  a("i", {
2465
2442
  style: p({ backgroundColor: D.value.color }),
@@ -2551,20 +2528,20 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
2551
2528
  };
2552
2529
  });
2553
2530
  function l(e) {
2554
- let { lower: t, upper: n } = At(e);
2555
- return t === 0 && n === 0 ? null : `(+${rt(n)} / -${rt(t)})`;
2531
+ let { lower: t, upper: n } = jt(e);
2532
+ return t === 0 && n === 0 ? null : `(+${it(n)} / -${it(t)})`;
2556
2533
  }
2557
2534
  return (t, s) => n.visible && n.hoveredPoint ? (g(), i("div", {
2558
2535
  key: 0,
2559
2536
  class: "waveform-tooltip waveform-chart__tooltip",
2560
2537
  style: p(c.value)
2561
- }, [a("span", nr, S(n.timeUnit) + ": " + S(w(lt)(n.hoveredPoint.x, n.timeUnit)), 1), (g(!0), i(e, null, y(n.seriesPoints, (e) => (g(), i("span", {
2538
+ }, [a("span", nr, S(n.timeUnit) + ": " + S(w(ut)(n.hoveredPoint.x, n.timeUnit)), 1), (g(!0), i(e, null, y(n.seriesPoints, (e) => (g(), i("span", {
2562
2539
  key: `${e.trackIndex}-${e.name}`,
2563
2540
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
2564
2541
  }, [
2565
2542
  a("i", { style: p({ backgroundColor: e.color }) }, null, 4),
2566
2543
  e.name ? (g(), i("strong", rr, S(e.name) + ":", 1)) : r("", !0),
2567
- a("span", ir, [o(S(w(rt)(e.point.y)) + S(e.unit ? ` ${e.unit}` : "") + " ", 1), l(e.point) ? (g(), i("small", ar, S(l(e.point)), 1)) : r("", !0)])
2544
+ a("span", ir, [o(S(w(it)(e.point.y)) + S(e.unit ? ` ${e.unit}` : "") + " ", 1), l(e.point) ? (g(), i("small", ar, S(l(e.point)), 1)) : r("", !0)])
2568
2545
  ]))), 128))], 4)) : r("", !0);
2569
2546
  }
2570
2547
  }), [["__scopeId", "data-v-b8b5592a"]]), ur = /* @__PURE__ */ c({
@@ -2664,7 +2641,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2664
2641
  x: a.track.xScale(t.x),
2665
2642
  y: e.yScale(t.y)
2666
2643
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
2667
- let { lower: r, upper: i } = At(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
2644
+ let { lower: r, upper: i } = jt(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
2668
2645
  return [
2669
2646
  `M${o - n},${s}H${o + n}`,
2670
2647
  `M${o},${s}V${c}`,
@@ -2729,15 +2706,11 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2729
2706
  y: "7",
2730
2707
  dy: "0.71em",
2731
2708
  "text-anchor": "start"
2732
- }, Nr = ["x"], Pr = ["x", "y"], Fr = [
2709
+ }, Nr = ["x"], Pr = [
2733
2710
  "data-y-axis-index",
2734
2711
  "data-y-axis-side",
2735
2712
  "transform"
2736
- ], Ir = [
2737
- "data-y-axis-index",
2738
- "x",
2739
- "text-anchor"
2740
- ], Lr = { key: 3 }, Rr = ["x", "y"], zr = ["fill", "transform"], Br = ["data-y-axis-title-index"], Vr = ["x", "y"], Hr = ["fill", "transform"], Ur = /* @__PURE__ */ c({
2713
+ ], Fr = { key: 2 }, Ir = ["x", "y"], Lr = ["fill", "transform"], Rr = ["data-y-axis-title-index"], zr = ["x", "y"], Br = ["fill", "transform"], Vr = /* @__PURE__ */ c({
2741
2714
  __name: "WaveformTrackAxes",
2742
2715
  props: {
2743
2716
  track: {},
@@ -2766,14 +2739,15 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2766
2739
  if (n.track.yAxes.forEach((e, t) => {
2767
2740
  let r = s.value[t];
2768
2741
  if (!r) return;
2769
- let [i, a] = e.scale.domain(), o = (e.side === "left" ? j(e.scale) : M(e.scale)).tickFormat((e) => tt(Number(e), {
2742
+ let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = (e.side === "left" ? j(e.scale) : M(e.scale)).tickFormat((e) => rt(Number(e), {
2770
2743
  axisMin: i,
2771
- axisMax: a
2772
- })).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), c = V(r);
2773
- c.call(o), c.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
2744
+ axisMax: a,
2745
+ topTickValue: o
2746
+ })).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), l = V(r);
2747
+ l.call(c), l.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
2774
2748
  }), !o.value) return;
2775
2749
  let e = V(o.value);
2776
- e.call(A(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => st(Number(e), n.timeUnit, n.track.xScale.domain())).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
2750
+ e.call(A(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => lt(Number(e), n.timeUnit, n.track.xScale.domain())).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
2777
2751
  }
2778
2752
  return h(async () => {
2779
2753
  await d(), m();
@@ -2809,14 +2783,6 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2809
2783
  dy: "0.71em",
2810
2784
  "text-anchor": "end"
2811
2785
  }, S(t.track.endpointLabels.end), 9, Nr)], 8, jr)) : r("", !0),
2812
- t.track.showXAxis && t.track.xAxisExponent ? (g(), i("text", {
2813
- key: 2,
2814
- class: "waveform-track__axis-exponent waveform-track__axis-exponent--x waveform-chart__axis-exponent waveform-chart__axis-exponent--x",
2815
- x: t.track.width ?? t.innerWidth,
2816
- y: t.track.height + 27,
2817
- "text-anchor": "end",
2818
- "aria-hidden": "true"
2819
- }, S(t.track.xAxisExponent), 9, Pr)) : r("", !0),
2820
2786
  (g(!0), i(e, null, y(t.track.isEmpty ? [] : t.track.yAxes, (e) => (g(), i("g", {
2821
2787
  key: `y-axis-${t.track.index}-${e.index}`,
2822
2788
  ref_for: !0,
@@ -2825,31 +2791,21 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2825
2791
  "data-y-axis-index": e.index,
2826
2792
  "data-y-axis-side": e.side,
2827
2793
  transform: `translate(${e.x}, 0)`
2828
- }, null, 10, Fr))), 128)),
2829
- (g(!0), i(e, null, y(t.track.isEmpty ? [] : t.track.yAxes.filter((e) => e.exponentLabel), (e) => (g(), i("text", {
2830
- key: `y-axis-exponent-${t.track.index}-${e.index}`,
2831
- class: "waveform-track__axis-exponent waveform-track__axis-exponent--y waveform-chart__axis-exponent waveform-chart__axis-exponent--y",
2832
- "data-y-axis-index": e.index,
2833
- x: e.exponentX,
2834
- y: "0",
2835
- dy: "0.32em",
2836
- "text-anchor": e.side === "left" ? "end" : "start",
2837
- "aria-hidden": "true"
2838
- }, S(e.exponentLabel), 9, Ir))), 128)),
2839
- !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", Lr, [a("rect", {
2794
+ }, null, 10, Pr))), 128)),
2795
+ !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", Fr, [a("rect", {
2840
2796
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
2841
2797
  x: t.track.yAxisLabelX - 12,
2842
2798
  y: t.track.height / 2 - 40,
2843
2799
  width: "24",
2844
2800
  height: "80",
2845
2801
  rx: "2"
2846
- }, null, 8, Rr), a("text", {
2802
+ }, null, 8, Ir), a("text", {
2847
2803
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
2848
2804
  fill: t.track.series.color,
2849
2805
  transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
2850
2806
  "text-anchor": "middle",
2851
2807
  "dominant-baseline": "central"
2852
- }, S(c(t.track.series)), 9, zr)])) : r("", !0),
2808
+ }, S(c(t.track.series)), 9, Lr)])) : r("", !0),
2853
2809
  (g(!0), i(e, null, y(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (g(), i("g", {
2854
2810
  key: `y-axis-title-${t.track.index}-${e.index}`,
2855
2811
  class: "waveform-track__multi-axis-title",
@@ -2861,40 +2817,40 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2861
2817
  width: "24",
2862
2818
  height: "80",
2863
2819
  rx: "2"
2864
- }, null, 8, Vr), a("text", {
2820
+ }, null, 8, zr), a("text", {
2865
2821
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
2866
2822
  fill: e.seriesList[0].color,
2867
2823
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
2868
2824
  "text-anchor": "middle",
2869
2825
  "dominant-baseline": "central"
2870
- }, S(c(e.seriesList[0])), 9, Hr)], 8, Br))), 128))
2826
+ }, S(c(e.seriesList[0])), 9, Br)], 8, Rr))), 128))
2871
2827
  ], 64));
2872
2828
  }
2873
- }), Wr = [
2829
+ }), Hr = [
2874
2830
  "width",
2875
2831
  "height",
2876
2832
  "fill"
2877
- ], Gr = ["clip-path"], Kr = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, qr = [
2833
+ ], Ur = ["clip-path"], Wr = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Gr = [
2878
2834
  "stroke",
2879
2835
  "x1",
2880
2836
  "x2",
2881
2837
  "y2"
2882
- ], Jr = [
2838
+ ], Kr = [
2883
2839
  "stroke",
2884
2840
  "x2",
2885
2841
  "y1",
2886
2842
  "y2"
2887
- ], Yr = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Xr = [
2843
+ ], qr = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Jr = [
2888
2844
  "stroke",
2889
2845
  "x1",
2890
2846
  "x2",
2891
2847
  "y2"
2892
- ], Zr = [
2848
+ ], Yr = [
2893
2849
  "stroke",
2894
2850
  "x2",
2895
2851
  "y1",
2896
2852
  "y2"
2897
- ], Qr = ["clip-path"], $r = [
2853
+ ], Xr = ["clip-path"], Zr = [
2898
2854
  "data-y-axis-index",
2899
2855
  "x2",
2900
2856
  "y1",
@@ -2902,7 +2858,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2902
2858
  "stroke",
2903
2859
  "stroke-width",
2904
2860
  "stroke-dasharray"
2905
- ], ei = ["x", "y"], ti = /* @__PURE__ */ c({
2861
+ ], Qr = ["x", "y"], $r = /* @__PURE__ */ c({
2906
2862
  __name: "WaveformTrackBackdrop",
2907
2863
  props: {
2908
2864
  track: {},
@@ -2927,12 +2883,12 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2927
2883
  height: t.track.height,
2928
2884
  fill: t.frameStyle.backgroundColor,
2929
2885
  "aria-hidden": "true"
2930
- }, null, 8, Wr)) : r("", !0),
2886
+ }, null, 8, Hr)) : r("", !0),
2931
2887
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (g(), i("g", {
2932
2888
  key: 1,
2933
2889
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
2934
2890
  "aria-hidden": "true"
2935
- }, [a("g", Kr, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMinorTicks, (e) => (g(), i("line", {
2891
+ }, [a("g", Wr, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMinorTicks, (e) => (g(), i("line", {
2936
2892
  key: `x-minor-${t.track.index}-${e}`,
2937
2893
  "data-grid-direction": "vertical",
2938
2894
  stroke: t.track.gridLines.verticalColor,
@@ -2940,7 +2896,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2940
2896
  x2: t.track.xScale(e),
2941
2897
  y1: "0",
2942
2898
  y2: t.track.height
2943
- }, null, 8, qr))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMinorTicks, (e) => (g(), i("line", {
2899
+ }, null, 8, Gr))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMinorTicks, (e) => (g(), i("line", {
2944
2900
  key: `y-minor-${t.track.index}-${e}`,
2945
2901
  "data-grid-direction": "horizontal",
2946
2902
  stroke: t.track.gridLines.horizontalColor,
@@ -2948,7 +2904,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2948
2904
  x2: t.track.width ?? t.innerWidth,
2949
2905
  y1: t.track.yScale(e),
2950
2906
  y2: t.track.yScale(e)
2951
- }, null, 8, Jr))), 128)) : r("", !0)]), a("g", Yr, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMajorTicks, (e) => (g(), i("line", {
2907
+ }, null, 8, Kr))), 128)) : r("", !0)]), a("g", qr, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMajorTicks, (e) => (g(), i("line", {
2952
2908
  key: `x-major-${t.track.index}-${e}`,
2953
2909
  "data-grid-direction": "vertical",
2954
2910
  stroke: t.track.gridLines.verticalColor,
@@ -2956,7 +2912,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2956
2912
  x2: t.track.xScale(e),
2957
2913
  y1: "0",
2958
2914
  y2: t.track.height
2959
- }, null, 8, Xr))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMajorTicks, (e) => (g(), i("line", {
2915
+ }, null, 8, Jr))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMajorTicks, (e) => (g(), i("line", {
2960
2916
  key: `y-major-${t.track.index}-${e}`,
2961
2917
  "data-grid-direction": "horizontal",
2962
2918
  stroke: t.track.gridLines.horizontalColor,
@@ -2964,7 +2920,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2964
2920
  x2: t.track.width ?? t.innerWidth,
2965
2921
  y1: t.track.yScale(e),
2966
2922
  y2: t.track.yScale(e)
2967
- }, null, 8, Zr))), 128)) : r("", !0)])], 8, Gr)) : r("", !0),
2923
+ }, null, 8, Yr))), 128)) : r("", !0)])], 8, Ur)) : r("", !0),
2968
2924
  !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (g(), i("g", {
2969
2925
  key: 2,
2970
2926
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
@@ -2981,7 +2937,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2981
2937
  stroke: t.zeroLine.color,
2982
2938
  "stroke-width": t.zeroLine.width,
2983
2939
  "stroke-dasharray": t.zeroLine.dash || void 0
2984
- }, null, 8, $r))], 64))), 128))], 8, Qr)) : r("", !0),
2940
+ }, null, 8, Zr))], 64))), 128))], 8, Xr)) : r("", !0),
2985
2941
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (g(), i("text", {
2986
2942
  key: 3,
2987
2943
  class: "waveform-track__watermark waveform-chart__watermark",
@@ -2991,10 +2947,10 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
2991
2947
  "text-anchor": "middle",
2992
2948
  "dominant-baseline": "central",
2993
2949
  "aria-hidden": "true"
2994
- }, S(t.frameNumber), 13, ei)) : r("", !0)
2950
+ }, S(t.frameNumber), 13, Qr)) : r("", !0)
2995
2951
  ], 64));
2996
2952
  }
2997
- }), ni = [
2953
+ }), ei = [
2998
2954
  "data-track-index",
2999
2955
  "data-track-empty",
3000
2956
  "data-track-left",
@@ -3003,19 +2959,19 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3003
2959
  "data-track-top",
3004
2960
  "data-track-height",
3005
2961
  "transform"
3006
- ], ri = [
2962
+ ], ti = [
3007
2963
  "width",
3008
2964
  "height",
3009
2965
  "stroke",
3010
2966
  "stroke-width",
3011
2967
  "stroke-dasharray",
3012
2968
  "stroke-linecap"
3013
- ], ii = [
2969
+ ], ni = [
3014
2970
  "data-interactive",
3015
2971
  "data-independent-overlay-index",
3016
2972
  "width",
3017
2973
  "height"
3018
- ], ai = ["x", "y"], oi = /* @__PURE__ */ c({
2974
+ ], ri = ["x", "y"], ii = /* @__PURE__ */ c({
3019
2975
  __name: "WaveformTrack",
3020
2976
  props: {
3021
2977
  track: {},
@@ -3074,7 +3030,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3074
3030
  "data-track-height": e.track.height,
3075
3031
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
3076
3032
  }, [
3077
- s(ti, {
3033
+ s($r, {
3078
3034
  track: e.track,
3079
3035
  "clip-path-id": e.clipPathId,
3080
3036
  "inner-width": e.innerWidth,
@@ -3091,7 +3047,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3091
3047
  "frame-style",
3092
3048
  "zero-line"
3093
3049
  ]),
3094
- s(Ur, {
3050
+ s(Vr, {
3095
3051
  track: e.track,
3096
3052
  "inner-width": e.innerWidth,
3097
3053
  "clean-view": e.cleanView,
@@ -3117,7 +3073,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3117
3073
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
3118
3074
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
3119
3075
  "aria-hidden": "true"
3120
- }, null, 8, ri)),
3076
+ }, null, 8, ti)),
3121
3077
  s(kr, {
3122
3078
  track: e.track,
3123
3079
  "clip-path-id": e.clipPathId
@@ -3140,7 +3096,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3140
3096
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
3141
3097
  onClick: n[5] ||= (e) => o("click", e),
3142
3098
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
3143
- }, null, 42, ii)) : r("", !0),
3099
+ }, null, 42, ni)) : r("", !0),
3144
3100
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (g(), i("text", {
3145
3101
  key: 2,
3146
3102
  class: "waveform-track__no-visible-series",
@@ -3148,33 +3104,33 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3148
3104
  y: e.track.height / 2,
3149
3105
  "text-anchor": "middle",
3150
3106
  "dominant-baseline": "central"
3151
- }, " 暂无可见曲线 ", 8, ai)) : r("", !0)
3152
- ], 10, ni));
3107
+ }, " 暂无可见曲线 ", 8, ri)) : r("", !0)
3108
+ ], 10, ei));
3153
3109
  }
3154
- }), si = [
3110
+ }), ai = [
3155
3111
  "width",
3156
3112
  "height",
3157
3113
  "data-position",
3158
3114
  "data-orientation"
3159
- ], ci = [
3115
+ ], oi = [
3160
3116
  "disabled",
3161
3117
  "aria-pressed",
3162
3118
  "aria-label",
3163
3119
  "onClick"
3164
- ], li = [
3120
+ ], si = [
3165
3121
  "data-line-type",
3166
3122
  "data-line-style",
3167
3123
  "data-point-type",
3168
3124
  "data-error-bar-visible"
3169
- ], ui = [
3125
+ ], ci = [
3170
3126
  "d",
3171
3127
  "stroke",
3172
3128
  "stroke-dasharray"
3173
- ], di = [
3129
+ ], li = [
3174
3130
  "d",
3175
3131
  "stroke",
3176
3132
  "stroke-width"
3177
- ], fi = ["d", "fill"], pi = ["title"], mi = /*#__PURE__*/ Z(/* @__PURE__ */ c({
3133
+ ], ui = ["d", "fill"], di = ["title"], fi = /*#__PURE__*/ Z(/* @__PURE__ */ c({
3178
3134
  __name: "WaveformLegend",
3179
3135
  props: {
3180
3136
  series: {},
@@ -3240,7 +3196,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3240
3196
  "stroke-dasharray": w(br)(e.lineStyle),
3241
3197
  "stroke-width": "1.5",
3242
3198
  fill: "none"
3243
- }, null, 8, ui)) : r("", !0),
3199
+ }, null, 8, ci)) : r("", !0),
3244
3200
  e.errorBar.visible ? (g(), i("path", {
3245
3201
  key: 1,
3246
3202
  class: "waveform-legend__error-bar",
@@ -3249,28 +3205,28 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3249
3205
  "stroke-width": e.errorBar.width,
3250
3206
  "stroke-linecap": "butt",
3251
3207
  fill: "none"
3252
- }, null, 8, di)) : r("", !0),
3208
+ }, null, 8, li)) : r("", !0),
3253
3209
  e.pointType === "none" ? r("", !0) : (g(), i("path", {
3254
3210
  key: 2,
3255
3211
  class: "waveform-legend__point",
3256
3212
  d: w(_r)(e.pointType, 30) ?? void 0,
3257
3213
  fill: e.color,
3258
3214
  transform: "translate(13 8)"
3259
- }, null, 8, fi))
3260
- ], 8, li)), a("span", {
3215
+ }, null, 8, ui))
3216
+ ], 8, si)), a("span", {
3261
3217
  class: "waveform-legend__label",
3262
3218
  title: e.name
3263
- }, S(e.name), 9, pi)], 10, ci))), 128))], 6)], 2)], 8, si));
3219
+ }, S(e.name), 9, di)], 10, oi))), 128))], 6)], 2)], 8, ai));
3264
3220
  }
3265
- }), [["__scopeId", "data-v-2ae12e71"]]), hi = {
3221
+ }), [["__scopeId", "data-v-2ae12e71"]]), pi = {
3266
3222
  class: "waveform-chart__hover-layer",
3267
3223
  "pointer-events": "none",
3268
3224
  "aria-hidden": "true"
3269
- }, gi = ["clip-path", "transform"], _i = [
3225
+ }, mi = ["clip-path", "transform"], hi = [
3270
3226
  "x1",
3271
3227
  "x2",
3272
3228
  "y2"
3273
- ], vi = /*#__PURE__*/ Z(/* @__PURE__ */ c({
3229
+ ], gi = /*#__PURE__*/ Z(/* @__PURE__ */ c({
3274
3230
  __name: "WaveformHoverLayer",
3275
3231
  props: {
3276
3232
  state: {},
@@ -3293,7 +3249,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3293
3249
  }] : [];
3294
3250
  });
3295
3251
  });
3296
- return (t, r) => (g(), i("g", hi, [(g(!0), i(e, null, y(o.value, (e) => (g(), i("g", {
3252
+ return (t, r) => (g(), i("g", pi, [(g(!0), i(e, null, y(o.value, (e) => (g(), i("g", {
3297
3253
  key: e.track.index,
3298
3254
  class: "waveform-track__crosshair waveform-chart__crosshair",
3299
3255
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -3303,40 +3259,40 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3303
3259
  x2: e.x,
3304
3260
  y1: "0",
3305
3261
  y2: e.track.height
3306
- }, null, 8, _i)], 8, gi))), 128))]));
3262
+ }, null, 8, hi)], 8, mi))), 128))]));
3307
3263
  }
3308
- }), [["__scopeId", "data-v-a6f82099"]]), yi = [
3264
+ }), [["__scopeId", "data-v-a6f82099"]]), _i = [
3309
3265
  "data-display-mode",
3310
3266
  "data-interaction-mode",
3311
3267
  "data-presentation-mode",
3312
3268
  "data-overlay-mode",
3313
3269
  "data-chart-left-margin",
3314
3270
  "data-title-area-height"
3315
- ], bi = [
3271
+ ], vi = [
3316
3272
  "role",
3317
3273
  "aria-level",
3318
3274
  "aria-hidden"
3319
- ], xi = ["data-title-scale", "data-title-wrapped"], Si = [
3275
+ ], yi = ["data-title-scale", "data-title-wrapped"], bi = [
3320
3276
  "width",
3321
3277
  "height",
3322
3278
  "aria-label"
3323
- ], Ci = ["id"], wi = ["width", "height"], Ti = ["transform"], Ei = {
3279
+ ], xi = ["id"], Si = ["width", "height"], Ci = ["transform"], wi = {
3324
3280
  key: 0,
3325
3281
  class: "waveform-chart__grid-slots",
3326
3282
  "aria-hidden": "true"
3327
- }, Di = ["transform"], Oi = ["width", "height"], ki = ["width", "height"], Ai = [
3283
+ }, Ti = ["transform"], Ei = ["width", "height"], Di = ["width", "height"], Oi = [
3328
3284
  "x",
3329
3285
  "y",
3330
3286
  "width",
3331
3287
  "height"
3332
- ], ji = {
3288
+ ], ki = {
3333
3289
  key: 4,
3334
3290
  class: "waveform-chart__legend-layer"
3335
- }, Mi = [
3291
+ }, Ai = [
3336
3292
  "data-legend-track-index",
3337
3293
  "data-legend-track-id",
3338
3294
  "transform"
3339
- ], Ni = ["x", "y"], Pi = ["x", "y"], Fi = /* @__PURE__ */ c({
3295
+ ], ji = ["x", "y"], Mi = ["x", "y"], Ni = /* @__PURE__ */ c({
3340
3296
  __name: "WaveformChartView",
3341
3297
  props: { controller: {} },
3342
3298
  setup(t) {
@@ -3384,7 +3340,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3384
3340
  style: p(w(j)),
3385
3341
  "data-title-scale": w(M).scale,
3386
3342
  "data-title-wrapped": w(M).wrapped || void 0
3387
- }, S(w(k)), 13, xi)], 4)) : r("", !0)], 12, bi)) : r("", !0),
3343
+ }, S(w(k)), 13, yi)], 4)) : r("", !0)], 12, vi)) : r("", !0),
3388
3344
  (g(), i("svg", {
3389
3345
  ref: w(Ke),
3390
3346
  class: "waveform-chart__svg",
@@ -3401,9 +3357,9 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3401
3357
  }, [a("rect", {
3402
3358
  width: e.width,
3403
3359
  height: e.height
3404
- }, null, 8, wi)], 8, Ci))), 128))]),
3360
+ }, null, 8, Si)], 8, xi))), 128))]),
3405
3361
  a("g", { transform: `translate(${w(_)}, ${w(z)})` }, [
3406
- w(o) !== "compact" && !w(l) ? (g(), i("g", Ei, [(g(!0), i(e, null, y(w(B), (e) => (g(), i("g", {
3362
+ w(o) !== "compact" && !w(l) ? (g(), i("g", wi, [(g(!0), i(e, null, y(w(B), (e) => (g(), i("g", {
3407
3363
  key: `grid-slot-${e.slotIndex}`,
3408
3364
  transform: `translate(${e.left}, ${e.top})`
3409
3365
  }, [e.series ? r("", !0) : (g(), i("rect", {
@@ -3411,7 +3367,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3411
3367
  class: "waveform-chart__grid-slot-placeholder",
3412
3368
  width: e.width,
3413
3369
  height: e.cellHeight
3414
- }, null, 8, Oi))], 8, Di))), 128))])) : r("", !0),
3370
+ }, null, 8, Ei))], 8, Ti))), 128))])) : r("", !0),
3415
3371
  w(o) !== "independent" && w(L).length && w(V) ? (g(), i("rect", {
3416
3372
  key: 1,
3417
3373
  ref: w(Je),
@@ -3428,8 +3384,8 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3428
3384
  onPointerleave: C[4] ||= (...e) => w(G) && w(G)(...e),
3429
3385
  onClick: C[5] ||= (...e) => w(oe) && w(oe)(...e),
3430
3386
  onContextmenu: C[6] ||= (...e) => w(se) && w(se)(...e)
3431
- }, null, 42, ki)) : r("", !0),
3432
- (g(!0), i(e, null, y(w(L), (e) => (g(), n(w(oi), {
3387
+ }, null, 42, Di)) : r("", !0),
3388
+ (g(!0), i(e, null, y(w(L), (e) => (g(), n(w(ii), {
3433
3389
  key: `${e.index}-${e.series.name}`,
3434
3390
  track: e,
3435
3391
  "clip-path-id": w(R),
@@ -3475,7 +3431,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3475
3431
  "onClick",
3476
3432
  "onContextmenu"
3477
3433
  ]))), 128)),
3478
- s(w(vi), {
3434
+ s(w(gi), {
3479
3435
  state: w(he),
3480
3436
  tracks: w(L),
3481
3437
  "clip-path-id": w(R),
@@ -3494,7 +3450,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3494
3450
  width: w(q).width,
3495
3451
  height: w(q).height,
3496
3452
  "aria-hidden": "true"
3497
- }, null, 8, Ai)) : r("", !0),
3453
+ }, null, 8, Oi)) : r("", !0),
3498
3454
  w(l) ? r("", !0) : (g(), n(w(Me), {
3499
3455
  key: 3,
3500
3456
  annotations: w(_e),
@@ -3513,13 +3469,13 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3513
3469
  "onMove",
3514
3470
  "onDragEnd"
3515
3471
  ])),
3516
- w(l) ? r("", !0) : (g(), i("g", ji, [(g(!0), i(e, null, y(w(L), (e) => (g(), i("g", {
3472
+ w(l) ? r("", !0) : (g(), i("g", ki, [(g(!0), i(e, null, y(w(L), (e) => (g(), i("g", {
3517
3473
  key: `legend-${e.index}-${e.series.name}`,
3518
3474
  class: "waveform-chart__legend-track",
3519
3475
  "data-legend-track-index": e.index,
3520
3476
  "data-legend-track-id": e.id,
3521
3477
  transform: `translate(${e.left}, ${e.top})`
3522
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (g(), n(w(mi), {
3478
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (g(), n(w(fi), {
3523
3479
  key: 0,
3524
3480
  series: e.legendSeries,
3525
3481
  position: w(X)(e.id),
@@ -3540,23 +3496,23 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3540
3496
  "width",
3541
3497
  "height",
3542
3498
  "onToggle"
3543
- ])) : r("", !0)], 8, Mi))), 128))])),
3499
+ ])) : r("", !0)], 8, Ai))), 128))])),
3544
3500
  w(Ee) && !w(l) ? (g(), i("text", {
3545
3501
  key: 5,
3546
3502
  class: "waveform-chart__label waveform-chart__x-label",
3547
3503
  x: w(te) / 2,
3548
3504
  y: w(De),
3549
3505
  "text-anchor": "middle"
3550
- }, S(w(Ee)), 9, Ni)) : r("", !0)
3551
- ], 8, Ti),
3506
+ }, S(w(Ee)), 9, ji)) : r("", !0)
3507
+ ], 8, Ci),
3552
3508
  w(Oe) && !w(F) ? (g(), i("text", {
3553
3509
  key: 0,
3554
3510
  class: "waveform-chart__empty",
3555
3511
  x: w(N) / 2,
3556
3512
  y: w(P) / 2,
3557
3513
  "text-anchor": "middle"
3558
- }, " 暂无有效波形数据 ", 8, Pi)) : r("", !0)
3559
- ], 40, Si)),
3514
+ }, " 暂无有效波形数据 ", 8, Mi)) : r("", !0)
3515
+ ], 40, bi)),
3560
3516
  w(ke).showPagination && w(Ae) > 1 && !w(l) ? (g(), n(w(ae), {
3561
3517
  key: 1,
3562
3518
  class: "waveform-chart__pagination",
@@ -3624,9 +3580,9 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3624
3580
  "container-width",
3625
3581
  "container-height"
3626
3582
  ])
3627
- ], 46, yi));
3583
+ ], 46, _i));
3628
3584
  }
3629
- }), Ii = /* @__PURE__ */ c({
3585
+ }), Pi = /* @__PURE__ */ c({
3630
3586
  __name: "WaveformChart",
3631
3587
  props: {
3632
3588
  data: {},
@@ -3703,8 +3659,8 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
3703
3659
  ],
3704
3660
  setup(e, { expose: t, emit: r }) {
3705
3661
  let i = Fn(e, r);
3706
- return t({ resetViewport: i.resetViewport }), (e, t) => (g(), n(Fi, { controller: w(i) }, null, 8, ["controller"]));
3662
+ return t({ resetViewport: i.resetViewport }), (e, t) => (g(), n(Ni, { controller: w(i) }, null, 8, ["controller"]));
3707
3663
  }
3708
3664
  });
3709
3665
  //#endregion
3710
- export { Nt as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ii as WaveformChart, Ke as buildMinorTicks, ft as clamp, at as displayTime, st as formatAxisTime, ot as formatEndpointTime, lt as formatTooltipTime, jt as normalizeWaveformData, Mt as normalizeWaveformSeries, $ as paddedDomain, We as parseWaveformAnnotations, dt as resolveTrackGeometry, Pt as resolveWaveformRenderingOptions, Vt as selectRenderablePoints, Ue as serializeWaveformAnnotations };
3666
+ export { Pt as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Pi as WaveformChart, Ke as buildMinorTicks, pt as clamp, st as displayTime, lt as formatAxisTime, ct as formatEndpointTime, ut as formatTooltipTime, Mt as normalizeWaveformData, Nt as normalizeWaveformSeries, $ as paddedDomain, We as parseWaveformAnnotations, ft as resolveTrackGeometry, Ft as resolveWaveformRenderingOptions, Ht as selectRenderablePoints, Ue as serializeWaveformAnnotations };