waveform-analysis 0.1.54 → 0.1.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1534,31 +1534,34 @@ function Xn(e) {
1534
1534
  } : e), f = {
1535
1535
  left: 0,
1536
1536
  right: 0
1537
- }, p = d.map((n) => {
1538
- let r = nr(t.plotHeight, e.yAxisSplitNumber), i = Math.max(1, r - 1), a = U(n.domain, [t.plotHeight, 0]);
1539
- e.yAxisNice !== !1 && a.nice(i);
1540
- 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.slice(0, -1), { tickTextWidth: u } = sr(a.domain(), !1, l, n.seriesList[0]?.unit, r), d = u + 7 + 0 + 12 + 4, p = n.side === "left" ? -f.left : t.width + f.right, m = u + 7 + 0 + 12 / 2, h = p + (n.side === "left" ? -m : m);
1541
- return f[n.side] += d, {
1537
+ }, p = {
1538
+ left: 0,
1539
+ right: 0
1540
+ }, m = d.map((n) => {
1541
+ let r = f[n.side]++, i = nr(t.plotHeight, e.yAxisSplitNumber), a = Math.max(1, i - 1), o = U(n.domain, [t.plotHeight, 0]);
1542
+ e.yAxisNice !== !1 && o.nice(a);
1543
+ let [s, c] = o.domain(), l = Array.from({ length: i }, (e, t) => s + (c - s) * t / (i - 1)), u = e.displayMode !== "compact" || t.row === 0 ? l : l.slice(0, -1), { tickTextWidth: d } = sr(o.domain(), !1, u, n.seriesList[0]?.unit, i), m = d + 7 + 0 + 12 + 4, h = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), g = h ? (n.side === "left" ? 0 : t.width) + h.axisOffset : n.side === "left" ? -p.left : t.width + p.right, _ = d + 7 + 0 + 12 / 2, v = (h ? (n.side === "left" ? 0 : t.width) + h.labelOffset : g + (n.side === "left" ? -_ : _)) - (n.side === "right" ? 10 : 0);
1544
+ return h || (p[n.side] += m), {
1542
1545
  index: n.index,
1543
1546
  side: n.side,
1544
- x: p,
1545
- labelX: h,
1546
- scale: a,
1547
- majorTicks: c,
1548
- minorTicks: gt(c, 2),
1549
- tickValues: l,
1547
+ x: g,
1548
+ labelX: v,
1549
+ scale: o,
1550
+ majorTicks: l,
1551
+ minorTicks: gt(l, 2),
1552
+ tickValues: u,
1550
1553
  seriesList: n.seriesList
1551
1554
  };
1552
- }), m = U(a.yDomain, [t.plotHeight, 0]);
1553
- e.yAxisNice !== !1 && m.nice();
1554
- let h = p[0]?.scale ?? m, g = l.ticks(Math.max(2, Math.floor(t.width / 100))), _ = p[0]?.majorTicks ?? [], v = p[0]?.tickValues ?? [], y = l.domain(), b = {
1555
- start: At(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1556
- end: At(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1557
- }, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
1555
+ }), h = U(a.yDomain, [t.plotHeight, 0]);
1556
+ e.yAxisNice !== !1 && h.nice();
1557
+ let g = m[0]?.scale ?? h, _ = l.ticks(Math.max(2, Math.floor(t.width / 100))), v = m[0]?.majorTicks ?? [], y = m[0]?.tickValues ?? [], b = l.domain(), x = {
1558
+ start: At(b[0], b, e.timeUnit, "start", e.xAxisLabelFormatter),
1559
+ end: At(b[1], b, e.timeUnit, "end", e.xAxisLabelFormatter)
1560
+ }, S = x.start.length * 7 + 10, C = x.end.length * 7 + 10, w = _.filter((e) => {
1558
1561
  let n = l(e);
1559
- return n > x && n < t.width - S;
1560
- }), w = a.visibleSeries.map((n) => {
1561
- let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = In(n.points, y, t.width, e.rendering, {
1562
+ return n > S && n < t.width - C;
1563
+ }), T = a.visibleSeries.map((n) => {
1564
+ let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? g, o = In(n.points, b, t.width, e.rendering, {
1562
1565
  lineVisible: !i && n.lineType !== "none",
1563
1566
  linePointOverride: e.linePointOverrides?.[n.id],
1564
1567
  pointVisible: n.pointType !== "none",
@@ -1590,17 +1593,17 @@ function Xn(e) {
1590
1593
  width: t.width,
1591
1594
  height: t.plotHeight,
1592
1595
  xScale: l,
1593
- yScale: h,
1594
- yAxes: p,
1595
- xMajorTicks: g,
1596
- xMinorTicks: gt(g, 3, y),
1597
- yMajorTicks: _,
1598
- yMinorTicks: p[0]?.minorTicks ?? [],
1599
- yAxisTickValues: v,
1600
- xAxisTickValues: C,
1601
- endpointLabels: b,
1602
- path: w[0]?.path ?? null,
1603
- seriesPaths: w,
1596
+ yScale: g,
1597
+ yAxes: m,
1598
+ xMajorTicks: _,
1599
+ xMinorTicks: gt(_, 3, b),
1600
+ yMajorTicks: v,
1601
+ yMinorTicks: m[0]?.minorTicks ?? [],
1602
+ yAxisTickValues: y,
1603
+ xAxisTickValues: w,
1604
+ endpointLabels: x,
1605
+ path: T[0]?.path ?? null,
1606
+ seriesPaths: T,
1604
1607
  gridLines: e.grid.trackLines[a.id] ?? {
1605
1608
  horizontal: !0,
1606
1609
  vertical: !0
@@ -1677,19 +1680,39 @@ function sr(e, t = !0, n, r, i = 10) {
1677
1680
  unit: r
1678
1681
  }).length)) * Zn };
1679
1682
  }
1680
- function cr(e, t, n = !0) {
1681
- return sr(e.domain, n, void 0, e.seriesList[0]?.unit, t).tickTextWidth + Qn + er + tr + $n;
1682
- }
1683
- function lr(e, t, n = !0) {
1684
- return sr(e.domain, n, void 0, e.seriesList[0]?.unit, t).tickTextWidth + Qn + $n;
1685
- }
1686
- function ur(e, t, n, r, i, a = !0) {
1687
- return or(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? cr(r, i, a) : lr(r, i, a), n), {
1683
+ function cr(e, t, n, r, i, a = !0) {
1684
+ let o = /* @__PURE__ */ new Map();
1685
+ e.forEach((e) => {
1686
+ let s = {
1687
+ left: 0,
1688
+ right: 0
1689
+ };
1690
+ or(e, t, n, r).forEach((e) => {
1691
+ let t = s[e.side]++, n = `${e.side}:${t}`, r = sr(e.domain, a, void 0, e.seriesList[0]?.unit, i).tickTextWidth;
1692
+ o.set(n, Math.max(o.get(n) ?? Zn, r));
1693
+ });
1694
+ });
1695
+ let s = [], c = {
1688
1696
  left: 0,
1689
1697
  right: 0
1690
- });
1698
+ };
1699
+ return ["left", "right"].forEach((e) => {
1700
+ Array.from(o.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
1701
+ let n = o.get(`${e}:${t}`) ?? Zn, r = e === "left" && c.left > 0 ? -c.left : c[e], i = r + (n + Qn + er + tr / 2) * (e === "left" ? -1 : 1), a = n + Qn + er + tr + $n;
1702
+ s.push({
1703
+ side: e,
1704
+ sideIndex: t,
1705
+ axisOffset: r,
1706
+ labelOffset: i,
1707
+ clearance: a
1708
+ }), c[e] += a;
1709
+ });
1710
+ }), {
1711
+ slots: s,
1712
+ clearance: c
1713
+ };
1691
1714
  }
1692
- function dr(e, t, n) {
1715
+ function lr(e, t, n) {
1693
1716
  let r = (e) => {
1694
1717
  let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
1695
1718
  return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
@@ -1708,11 +1731,11 @@ function dr(e, t, n) {
1708
1731
  }
1709
1732
  //#endregion
1710
1733
  //#region src/components/annotation/useWaveformChartAnnotations.ts
1711
- var fr = 0;
1712
- function pr() {
1713
- return fr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${fr}`;
1734
+ var ur = 0;
1735
+ function dr() {
1736
+ return ur += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${ur}`;
1714
1737
  }
1715
- function mr(e) {
1738
+ function fr(e) {
1716
1739
  let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, x = b("");
1717
1740
  function S(e) {
1718
1741
  if (!i.value.some((t) => t.id === e)) return;
@@ -1745,7 +1768,7 @@ function mr(e) {
1745
1768
  };
1746
1769
  }
1747
1770
  function T(e, t, n) {
1748
- x.value = "", s.openCreate(e, pr, t), c.value = n;
1771
+ x.value = "", s.openCreate(e, dr, t), c.value = n;
1749
1772
  let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
1750
1773
  r?.mode === "add" && (r.annotation.style = {
1751
1774
  borderColor: i?.color || "#1677ff",
@@ -1805,7 +1828,7 @@ function mr(e) {
1805
1828
  let e = l.value[n];
1806
1829
  return e?.hasVisibleSeries ? e : void 0;
1807
1830
  }
1808
- return dr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1831
+ return lr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1809
1832
  }
1810
1833
  function A(e, t) {
1811
1834
  let n = e.currentTarget;
@@ -1896,14 +1919,14 @@ function mr(e) {
1896
1919
  }
1897
1920
  //#endregion
1898
1921
  //#region src/components/interaction/useWaveformHover.ts
1899
- function hr(e) {
1922
+ function pr(e) {
1900
1923
  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) => {
1901
1924
  let r = n.points[t];
1902
1925
  return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
1903
- }), v = (e, r, i, a) => {
1904
- f.value || (_(e) || (n.points = e), n.trackIndex = r, n.queryX = i, n.position = a, t("point-hover", n.points.find((e) => e.point)?.point ?? null));
1926
+ }), v = (e, r, i, a, o) => {
1927
+ f.value || (_(e) || (n.points = e), n.trackIndex = r, n.queryX = i, n.crosshairXByTrack = a, n.position = o, t("point-hover", n.points.find((e) => e.point)?.point ?? null));
1905
1928
  }, y = () => {
1906
- h(), n.points = [], n.trackIndex = null, n.queryX = null, t("point-hover", null);
1929
+ h(), n.points = [], n.trackIndex = null, n.queryX = null, n.crosshairXByTrack = {}, t("point-hover", null);
1907
1930
  }, b = () => {
1908
1931
  f.value || y();
1909
1932
  }, x = (e, t, n) => ({
@@ -1920,7 +1943,15 @@ function hr(e) {
1920
1943
  r.value = !e, y();
1921
1944
  }, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => {
1922
1945
  let n = e.source ?? X(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
1923
- if (!(!r || !i || t < r.x || t > i.x)) return n.nearestPoint(t);
1946
+ if (!(!r || !i)) return t <= r.x ? r : t >= i.x ? i : n.nearestPoint(t);
1947
+ }, E = (e, t) => {
1948
+ let n, r = -Infinity;
1949
+ if (e.seriesList.forEach((e) => {
1950
+ let t = e.source ?? X(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
1951
+ if (!i || !a) return;
1952
+ let o = a.x - i.x;
1953
+ o > r && (r = o, n = [i.x, a.x]);
1954
+ }), n) return Math.max(n[0], Math.min(n[1], t));
1924
1955
  };
1925
1956
  return {
1926
1957
  cancelPendingHover: h,
@@ -1941,8 +1972,8 @@ function hr(e) {
1941
1972
  !d || !d.hasVisibleSeries || g(() => {
1942
1973
  let e = o.value[t];
1943
1974
  if (!e || !e.hasVisibleSeries || e !== d) return;
1944
- let n = d.xScale.invert(Math.max(0, Math.min(s.value, r))), a = d.seriesList.map((e) => x(e, t, T(e, n) ?? null));
1945
- v(a, t, n, {
1975
+ let n = d.xScale.invert(Math.max(0, Math.min(s.value, r))), a = d.seriesList.map((e) => x(e, t, T(e, n) ?? null)), f = E(d, n);
1976
+ v(a, t, n, f === void 0 ? {} : { [t]: f }, {
1946
1977
  x: c.value + d.left + r,
1947
1978
  y: l.value + u.value + d.top + i
1948
1979
  });
@@ -1959,8 +1990,11 @@ function hr(e) {
1959
1990
  g(() => {
1960
1991
  let e = m(t, n), r = (e?.hasVisibleSeries ? e : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
1961
1992
  if (!r) return;
1962
- let i = Math.max(0, Math.min(r.width, t - r.left)), a = r.xScale.invert(i), s = o.value.flatMap((e) => e.seriesList.map((t) => x(t, e.index, T(t, a) ?? null)));
1963
- v(s, null, a, {
1993
+ let i = Math.max(0, Math.min(r.width, t - r.left)), a = r.xScale.invert(i), s = o.value.flatMap((e) => e.seriesList.map((t) => x(t, e.index, T(t, a) ?? null))), d = Object.fromEntries(o.value.flatMap((e) => {
1994
+ let t = E(e, a);
1995
+ return t === void 0 ? [] : [[e.index, t]];
1996
+ }));
1997
+ v(s, null, a, d, {
1964
1998
  x: c.value + t,
1965
1999
  y: l.value + u.value + n
1966
2000
  });
@@ -1970,14 +2004,14 @@ function hr(e) {
1970
2004
  }
1971
2005
  //#endregion
1972
2006
  //#region src/components/interaction/pointerCapture.ts
1973
- function gr(e, t) {
2007
+ function mr(e, t) {
1974
2008
  try {
1975
2009
  e?.releasePointerCapture?.(t);
1976
2010
  } catch {}
1977
2011
  }
1978
2012
  //#endregion
1979
2013
  //#region src/components/interaction/viewportInteractionState.ts
1980
- function _r(e) {
2014
+ function hr(e) {
1981
2015
  return {
1982
2016
  ...e,
1983
2017
  currentX: e.startX,
@@ -1986,37 +2020,37 @@ function _r(e) {
1986
2020
  yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
1987
2021
  };
1988
2022
  }
1989
- function vr(e, t) {
2023
+ function gr(e, t) {
1990
2024
  return {
1991
2025
  ...e,
1992
2026
  ...t
1993
2027
  };
1994
2028
  }
1995
- function yr(e) {
2029
+ function _r(e) {
1996
2030
  return {
1997
2031
  state: e,
1998
2032
  accepted: !1,
1999
2033
  completed: null
2000
2034
  };
2001
2035
  }
2002
- function br(e, t) {
2036
+ function vr(e, t) {
2003
2037
  switch (t.type) {
2004
- case "begin": return e ? yr(e) : {
2005
- state: _r(t.gesture),
2038
+ case "begin": return e ? _r(e) : {
2039
+ state: hr(t.gesture),
2006
2040
  accepted: !0,
2007
2041
  completed: null
2008
2042
  };
2009
- case "move": return !e || e.pointerId !== t.pointerId ? yr(e) : {
2010
- state: vr(e, t.position),
2043
+ case "move": return !e || e.pointerId !== t.pointerId ? _r(e) : {
2044
+ state: gr(e, t.position),
2011
2045
  accepted: !0,
2012
2046
  completed: null
2013
2047
  };
2014
- case "finish": return !e || e.pointerId !== t.pointerId ? yr(e) : {
2048
+ case "finish": return !e || e.pointerId !== t.pointerId ? _r(e) : {
2015
2049
  state: null,
2016
2050
  accepted: !0,
2017
- completed: vr(e, t.position)
2051
+ completed: gr(e, t.position)
2018
2052
  };
2019
- case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? yr(e) : {
2053
+ case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? _r(e) : {
2020
2054
  state: null,
2021
2055
  accepted: !0,
2022
2056
  completed: null
@@ -2030,15 +2064,15 @@ function br(e, t) {
2030
2064
  }
2031
2065
  //#endregion
2032
2066
  //#region src/components/interaction/zoomConstraints.ts
2033
- var xr = /* @__PURE__ */ new WeakMap();
2034
- function Sr(e) {
2067
+ var yr = /* @__PURE__ */ new WeakMap();
2068
+ function br(e) {
2035
2069
  return e[0] <= e[1] ? [...e] : [e[1], e[0]];
2036
2070
  }
2037
- function Cr(e) {
2071
+ function xr(e) {
2038
2072
  return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
2039
2073
  }
2040
- function wr(e, t) {
2041
- let n = `${t[0]}\u0000${t[1]}`, r = xr.get(e)?.get(n);
2074
+ function Sr(e, t) {
2075
+ let n = `${t[0]}\u0000${t[1]}`, r = yr.get(e)?.get(n);
2042
2076
  if (r) return r;
2043
2077
  let i = /* @__PURE__ */ new Set();
2044
2078
  for (let n of e) {
@@ -2048,14 +2082,14 @@ function wr(e, t) {
2048
2082
  r.x >= t[0] && r.x <= t[1] && i.add(r.x);
2049
2083
  }
2050
2084
  }
2051
- let a = Array.from(i).sort((e, t) => e - t), o = xr.get(e) ?? /* @__PURE__ */ new Map();
2052
- return o.set(n, a), xr.set(e, o), a;
2085
+ let a = Array.from(i).sort((e, t) => e - t), o = yr.get(e) ?? /* @__PURE__ */ new Map();
2086
+ return o.set(n, a), yr.set(e, o), a;
2053
2087
  }
2054
- function Tr(e, t, n) {
2088
+ function Cr(e, t, n) {
2055
2089
  if (n <= 1) return 0;
2056
2090
  let r = 0;
2057
2091
  for (let i of e) {
2058
- let e = wr(i, t);
2092
+ let e = Sr(i, t);
2059
2093
  if (e.length < n) return t[1] - t[0];
2060
2094
  let a = Infinity;
2061
2095
  for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
@@ -2064,17 +2098,17 @@ function Tr(e, t, n) {
2064
2098
  }
2065
2099
  return r;
2066
2100
  }
2067
- function Er(e, t, n) {
2068
- let r = Sr(e), i = r[1] - r[0];
2101
+ function wr(e, t, n) {
2102
+ let r = br(e), i = r[1] - r[0];
2069
2103
  if (!Number.isFinite(i) || i <= 0) return 0;
2070
- let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Cr(n.minVisiblePoints), s = Tr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
2104
+ let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = xr(n.minVisiblePoints), s = Cr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
2071
2105
  return Math.max(a, s, l);
2072
2106
  }
2073
- function Dr(e, t, n, r) {
2107
+ function Tr(e, t, n, r) {
2074
2108
  if (r <= 0) return e;
2075
2109
  let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
2076
2110
  for (let e of n) {
2077
- let n = wr(e, t);
2111
+ let n = Sr(e, t);
2078
2112
  if (n.length < r) return [...t];
2079
2113
  if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
2080
2114
  let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
@@ -2086,13 +2120,13 @@ function Dr(e, t, n, r) {
2086
2120
  }
2087
2121
  return a;
2088
2122
  }
2089
- function Or(e, t, n, r) {
2090
- let i = Sr(t), a = i[1] - i[0];
2123
+ function Er(e, t, n, r) {
2124
+ let i = br(t), a = i[1] - i[0];
2091
2125
  if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
2092
- let o = Dr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Cr(r.minVisiblePoints)), s = Er(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));
2126
+ let o = Tr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, xr(r.minVisiblePoints)), s = wr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2093
2127
  return [u, u + c];
2094
2128
  }
2095
- function kr(e, t, n) {
2129
+ function Dr(e, t, n) {
2096
2130
  let r = t[1] - t[0], i = e[1] - e[0];
2097
2131
  if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return K;
2098
2132
  let a = r / i, o = U(t, [0, n]);
@@ -2100,7 +2134,7 @@ function kr(e, t, n) {
2100
2134
  }
2101
2135
  //#endregion
2102
2136
  //#region src/components/interaction/viewportDomain.ts
2103
- function Ar(e) {
2137
+ function Or(e) {
2104
2138
  return (t, n) => {
2105
2139
  if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
2106
2140
  if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
@@ -2108,12 +2142,12 @@ function Ar(e) {
2108
2142
  r.forEach((n) => {
2109
2143
  let r = e.trackLayouts.value.find((e) => e.index === n);
2110
2144
  if (!r) return;
2111
- let a = e.resolveInitialTrackDomain(r), o = Or(t, a, [r.seriesList], e.props);
2112
- i[n] = kr(o, a, r.width);
2145
+ let a = e.resolveInitialTrackDomain(r), o = Er(t, a, [r.seriesList], e.props);
2146
+ i[n] = Dr(o, a, r.width);
2113
2147
  }), e.independentTransforms.value = i;
2114
2148
  } else {
2115
- let n = e.initialXDomain.value, r = Or(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2116
- e.sharedTransform.value = kr(r, n, e.innerWidth.value);
2149
+ let n = e.initialXDomain.value, r = Er(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2150
+ e.sharedTransform.value = Dr(r, n, e.innerWidth.value);
2117
2151
  }
2118
2152
  e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
2119
2153
  }
@@ -2121,13 +2155,13 @@ function Ar(e) {
2121
2155
  }
2122
2156
  //#endregion
2123
2157
  //#region src/components/interaction/useWaveformViewport.ts
2124
- function jr(e) {
2158
+ function kr(e) {
2125
2159
  let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = C(), k = (e, t) => {
2126
2160
  let n = O.value, r = t?.currentTarget;
2127
- gr(n, e), r && r !== n && gr(r, e);
2161
+ mr(n, e), r && r !== n && mr(r, e);
2128
2162
  }, A = (e, t) => {
2129
2163
  let n = i.value;
2130
- !n || n.pointerId !== e || (k(e, t), i.value = br(i.value, {
2164
+ !n || n.pointerId !== e || (k(e, t), i.value = vr(i.value, {
2131
2165
  type: "cancel",
2132
2166
  pointerId: e
2133
2167
  }).state, O.value = void 0);
@@ -2150,7 +2184,7 @@ function jr(e) {
2150
2184
  if (!n.zoomable && !s || !_.value || e.button !== 0) return;
2151
2185
  let c = e.currentTarget, d = o.value.find((e) => e.index === t);
2152
2186
  if (!d) return;
2153
- let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = br(i.value, {
2187
+ let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = vr(i.value, {
2154
2188
  type: "begin",
2155
2189
  gesture: {
2156
2190
  trackIndex: t,
@@ -2172,8 +2206,8 @@ function jr(e) {
2172
2206
  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], _);
2173
2207
  if (e.independent) {
2174
2208
  let e = [...m.value];
2175
- e[t.index] = kr(v, _, i), m.value = e;
2176
- } else p.value = kr(v, _, l.value);
2209
+ e[t.index] = Dr(v, _, i), m.value = e;
2210
+ } else p.value = Dr(v, _, l.value);
2177
2211
  let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
2178
2212
  y.forEach((t) => {
2179
2213
  let r = s.value.find((e) => e.id === t.id);
@@ -2187,7 +2221,7 @@ function jr(e) {
2187
2221
  if (!t || !n || e.pointerId !== t.pointerId) return;
2188
2222
  let r = o.value.find((e) => e.index === t.trackIndex);
2189
2223
  if (!r) return;
2190
- let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = br(i.value, {
2224
+ let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = vr(i.value, {
2191
2225
  type: "move",
2192
2226
  pointerId: e.pointerId,
2193
2227
  position: {
@@ -2206,11 +2240,11 @@ function jr(e) {
2206
2240
  if (!t || (e.independent ? !x(t) : !S())) return;
2207
2241
  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));
2208
2242
  if (s - a < 6) return;
2209
- let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Or([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2243
+ let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Er([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2210
2244
  if (e.independent) {
2211
2245
  let e = [...m.value];
2212
- e[t.index] = kr(h, u, t.width), m.value = e;
2213
- } else p.value = kr(h, u, l.value);
2246
+ e[t.index] = Dr(h, u, t.width), m.value = e;
2247
+ } else p.value = Dr(h, u, l.value);
2214
2248
  let g = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), _ = Object.fromEntries(g.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()]));
2215
2249
  if (r("zoom-change", h), e.independent) {
2216
2250
  let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
@@ -2251,7 +2285,7 @@ function jr(e) {
2251
2285
  A(t.pointerId, e);
2252
2286
  return;
2253
2287
  }
2254
- let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = br(i.value, {
2288
+ let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = vr(i.value, {
2255
2289
  type: "finish",
2256
2290
  pointerId: e.pointerId,
2257
2291
  position: {
@@ -2283,7 +2317,7 @@ function jr(e) {
2283
2317
  finishViewportDrag: B,
2284
2318
  cancelViewportDrag: R,
2285
2319
  resetViewport: V,
2286
- setViewportDomain: Ar({
2320
+ setViewportDomain: Or({
2287
2321
  props: n,
2288
2322
  trackLayouts: o,
2289
2323
  initialXDomain: c,
@@ -2315,7 +2349,7 @@ function jr(e) {
2315
2349
  }
2316
2350
  //#endregion
2317
2351
  //#region src/components/utils/useAnimationFrameThrottle.ts
2318
- function Mr() {
2352
+ function Ar() {
2319
2353
  let e = null, t = null;
2320
2354
  function n(n) {
2321
2355
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -2344,8 +2378,8 @@ function Mr() {
2344
2378
  }
2345
2379
  //#endregion
2346
2380
  //#region src/components/interaction/useWaveformZoom.ts
2347
- function Nr(e) {
2348
- 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 = Mr(), 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) => {
2381
+ function jr(e) {
2382
+ 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 = Ar(), 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) => {
2349
2383
  y || m.value || (g(), b = e.transform, x = "wheel", O(), P());
2350
2384
  }, A = (e, t) => {
2351
2385
  y || m.value || (g(), C.set(t, e.transform), w.set(t, "wheel"), O(), P());
@@ -2433,9 +2467,9 @@ function Nr(e) {
2433
2467
  }, L = (e, n) => {
2434
2468
  let r = Math.abs(e[1] - e[0]);
2435
2469
  if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
2436
- let i = Er(e, n, t);
2470
+ let i = wr(e, n, t);
2437
2471
  return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
2438
- }, R = (e, n, r, i) => kr(Or(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
2472
+ }, R = (e, n, r, i) => Dr(Er(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
2439
2473
  let n = Number(t.minVisiblePoints);
2440
2474
  return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2441
2475
  }, B = () => {
@@ -2484,13 +2518,13 @@ function Nr(e) {
2484
2518
  }
2485
2519
  //#endregion
2486
2520
  //#region src/components/core/useWaveformChartLifecycle.ts
2487
- function Pr(e) {
2521
+ function Mr(e) {
2488
2522
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2489
2523
  }
2490
- function Fr(e) {
2524
+ function Nr(e) {
2491
2525
  let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: ee, clearZoomBindings: te } = e;
2492
2526
  function ne(e) {
2493
- z.value || e.code !== "Space" || !t.pannable || !_.value || Pr(e.target) || (m.value = !0, e.preventDefault());
2527
+ z.value || e.code !== "Space" || !t.pannable || !_.value || Mr(e.target) || (m.value = !0, e.preventDefault());
2494
2528
  }
2495
2529
  function re(e) {
2496
2530
  e.code === "Space" && (m.value = !1);
@@ -2523,12 +2557,12 @@ function Fr(e) {
2523
2557
  w.value.forEach((n) => {
2524
2558
  let r = q?.[n.index];
2525
2559
  if (!r) return;
2526
- let i = I(n), a = Or(r, i, [n.seriesList], t);
2527
- e[n.index] = kr(a, i, n.width);
2560
+ let i = I(n), a = Er(r, i, [n.seriesList], t);
2561
+ e[n.index] = Dr(a, i, n.width);
2528
2562
  }), P.value = e, q = void 0;
2529
2563
  } else if (t.displayMode !== "independent" && G) {
2530
- let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Or(G, e, n, t);
2531
- A.value = kr(r, e, T.value), G = void 0;
2564
+ let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Er(G, e, n, t);
2565
+ A.value = Dr(r, e, T.value), G = void 0;
2532
2566
  }
2533
2567
  H();
2534
2568
  });
@@ -2614,7 +2648,7 @@ function Fr(e) {
2614
2648
  }
2615
2649
  //#endregion
2616
2650
  //#region src/components/core/useWaveformData.ts
2617
- function Ir(e) {
2651
+ function Pr(e) {
2618
2652
  return ln(e).map(({ source: e, ...t }) => {
2619
2653
  let n = e.metrics(t.errorBar.visible);
2620
2654
  return {
@@ -2627,45 +2661,45 @@ function Ir(e) {
2627
2661
  };
2628
2662
  });
2629
2663
  }
2630
- function Lr(e, t, n) {
2631
- let r = C(Ir(e()));
2664
+ function Fr(e, t, n) {
2665
+ let r = C(Pr(e()));
2632
2666
  return O(e, (e) => {
2633
- t(), r.value = Ir(e), n();
2667
+ t(), r.value = Pr(e), n();
2634
2668
  }), r;
2635
2669
  }
2636
2670
  //#endregion
2637
2671
  //#region wasm/pkg/waveform_sampling_wasm.js
2638
- function Rr(e, t) {
2639
- let n = Qr(e, $.__wbindgen_malloc), r = ii, i = Qr(t, $.__wbindgen_malloc), a = ii, o = $.calculate_range(n, r, i, a);
2640
- if (o[3]) throw $r(o[2]);
2641
- var s = Ur(o[0], o[1]).slice();
2672
+ function Ir(e, t) {
2673
+ let n = Xr(e, $.__wbindgen_malloc), r = ni, i = Xr(t, $.__wbindgen_malloc), a = ni, o = $.calculate_range(n, r, i, a);
2674
+ if (o[3]) throw Zr(o[2]);
2675
+ var s = Vr(o[0], o[1]).slice();
2642
2676
  return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
2643
2677
  }
2644
- function zr(e, t, n, r) {
2645
- let i = Qr(e, $.__wbindgen_malloc), a = ii, o = Qr(t, $.__wbindgen_malloc), s = ii, c = $.find_visible_range(i, a, o, s, n, r);
2646
- if (c[3]) throw $r(c[2]);
2647
- var l = Wr(c[0], c[1]).slice();
2678
+ function Lr(e, t, n, r) {
2679
+ let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.find_visible_range(i, a, o, s, n, r);
2680
+ if (c[3]) throw Zr(c[2]);
2681
+ var l = Hr(c[0], c[1]).slice();
2648
2682
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2649
2683
  }
2650
- function Br(e, t, n, r) {
2651
- let i = Qr(e, $.__wbindgen_malloc), a = ii, o = Qr(t, $.__wbindgen_malloc), s = ii, c = $.sample_aggregates(i, a, o, s, n, r);
2652
- if (c[3]) throw $r(c[2]);
2653
- var l = Ur(c[0], c[1]).slice();
2684
+ function Rr(e, t, n, r) {
2685
+ let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.sample_aggregates(i, a, o, s, n, r);
2686
+ if (c[3]) throw Zr(c[2]);
2687
+ var l = Vr(c[0], c[1]).slice();
2654
2688
  return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2655
2689
  }
2656
- function Vr(e, t, n, r) {
2657
- let i = Qr(e, $.__wbindgen_malloc), a = ii, o = Qr(t, $.__wbindgen_malloc), s = ii, c = $.sample_indexes(i, a, o, s, n, r);
2658
- if (c[3]) throw $r(c[2]);
2659
- var l = Wr(c[0], c[1]).slice();
2690
+ function zr(e, t, n, r) {
2691
+ let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.sample_indexes(i, a, o, s, n, r);
2692
+ if (c[3]) throw Zr(c[2]);
2693
+ var l = Hr(c[0], c[1]).slice();
2660
2694
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2661
2695
  }
2662
- function Hr() {
2696
+ function Br() {
2663
2697
  return {
2664
2698
  __proto__: null,
2665
2699
  "./waveform_sampling_wasm_bg.js": {
2666
2700
  __proto__: null,
2667
2701
  __wbindgen_cast_0000000000000001: function(e, t) {
2668
- return qr(e, t);
2702
+ return Gr(e, t);
2669
2703
  },
2670
2704
  __wbindgen_init_externref_table: function() {
2671
2705
  let e = $.__wbindgen_externrefs, t = e.grow(4);
@@ -2674,52 +2708,52 @@ function Hr() {
2674
2708
  }
2675
2709
  };
2676
2710
  }
2677
- function Ur(e, t) {
2678
- return e >>>= 0, Kr().subarray(e / 8, e / 8 + t);
2711
+ function Vr(e, t) {
2712
+ return e >>>= 0, Wr().subarray(e / 8, e / 8 + t);
2679
2713
  }
2680
- function Wr(e, t) {
2681
- return e >>>= 0, Yr().subarray(e / 4, e / 4 + t);
2714
+ function Hr(e, t) {
2715
+ return e >>>= 0, qr().subarray(e / 4, e / 4 + t);
2682
2716
  }
2683
- var Gr = null;
2684
- function Kr() {
2685
- return (Gr === null || Gr.byteLength === 0) && (Gr = new Float64Array($.memory.buffer)), Gr;
2717
+ var Ur = null;
2718
+ function Wr() {
2719
+ return (Ur === null || Ur.byteLength === 0) && (Ur = new Float64Array($.memory.buffer)), Ur;
2686
2720
  }
2687
- function qr(e, t) {
2688
- return e >>>= 0, ri(e, t);
2721
+ function Gr(e, t) {
2722
+ return e >>>= 0, ti(e, t);
2723
+ }
2724
+ var Kr = null;
2725
+ function qr() {
2726
+ return (Kr === null || Kr.byteLength === 0) && (Kr = new Uint32Array($.memory.buffer)), Kr;
2689
2727
  }
2690
2728
  var Jr = null;
2691
2729
  function Yr() {
2692
- return (Jr === null || Jr.byteLength === 0) && (Jr = new Uint32Array($.memory.buffer)), Jr;
2693
- }
2694
- var Xr = null;
2695
- function Zr() {
2696
- return (Xr === null || Xr.byteLength === 0) && (Xr = new Uint8Array($.memory.buffer)), Xr;
2730
+ return (Jr === null || Jr.byteLength === 0) && (Jr = new Uint8Array($.memory.buffer)), Jr;
2697
2731
  }
2698
- function Qr(e, t) {
2732
+ function Xr(e, t) {
2699
2733
  let n = t(e.length * 8, 8) >>> 0;
2700
- return Kr().set(e, n / 8), ii = e.length, n;
2734
+ return Wr().set(e, n / 8), ni = e.length, n;
2701
2735
  }
2702
- function $r(e) {
2736
+ function Zr(e) {
2703
2737
  let t = $.__wbindgen_externrefs.get(e);
2704
2738
  return $.__externref_table_dealloc(e), t;
2705
2739
  }
2706
- var ei = new TextDecoder("utf-8", {
2740
+ var Qr = new TextDecoder("utf-8", {
2707
2741
  ignoreBOM: !0,
2708
2742
  fatal: !0
2709
2743
  });
2710
- ei.decode();
2711
- var ti = 2146435072, ni = 0;
2712
- function ri(e, t) {
2713
- return ni += t, ni >= ti && (ei = new TextDecoder("utf-8", {
2744
+ Qr.decode();
2745
+ var $r = 2146435072, ei = 0;
2746
+ function ti(e, t) {
2747
+ return ei += t, ei >= $r && (Qr = new TextDecoder("utf-8", {
2714
2748
  ignoreBOM: !0,
2715
2749
  fatal: !0
2716
- }), ei.decode(), ni = t), ei.decode(Zr().subarray(e, e + t));
2750
+ }), Qr.decode(), ei = t), Qr.decode(Yr().subarray(e, e + t));
2717
2751
  }
2718
- var ii = 0, $;
2719
- function ai(e, t) {
2720
- return $ = e.exports, Gr = null, Jr = null, Xr = null, $.__wbindgen_start(), $;
2752
+ var ni = 0, $;
2753
+ function ri(e, t) {
2754
+ return $ = e.exports, Ur = null, Kr = null, Jr = null, $.__wbindgen_start(), $;
2721
2755
  }
2722
- async function oi(e, t) {
2756
+ async function ii(e, t) {
2723
2757
  if (typeof Response == "function" && e instanceof Response) {
2724
2758
  if (typeof WebAssembly.instantiateStreaming == "function") try {
2725
2759
  return await WebAssembly.instantiateStreaming(e, t);
@@ -2745,17 +2779,17 @@ async function oi(e, t) {
2745
2779
  return !1;
2746
2780
  }
2747
2781
  }
2748
- async function si(e) {
2782
+ async function ai(e) {
2749
2783
  if ($ !== void 0) return $;
2750
2784
  e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,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kkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYC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ZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
2751
- let t = Hr();
2785
+ let t = Br();
2752
2786
  (typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
2753
- let { instance: n, module: r } = await oi(await e, t);
2754
- return ai(n, r);
2787
+ let { instance: n, module: r } = await ii(await e, t);
2788
+ return ri(n, r);
2755
2789
  }
2756
2790
  //#endregion
2757
2791
  //#region src/core/wasmSampling.ts
2758
- var ci = {
2792
+ var oi = {
2759
2793
  none: 0,
2760
2794
  peak: 1,
2761
2795
  lttb: 2,
@@ -2764,24 +2798,24 @@ var ci = {
2764
2798
  max: 5,
2765
2799
  minmax: 6,
2766
2800
  sum: 7
2767
- }, li;
2768
- function ui(e, t) {
2801
+ }, si;
2802
+ function ci(e, t) {
2769
2803
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
2770
2804
  }
2771
- function di(e) {
2805
+ function li(e) {
2772
2806
  if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
2773
2807
  }
2774
- function fi(e) {
2775
- return li ??= Promise.resolve(si(e)).then(() => void 0), li;
2808
+ function ui(e) {
2809
+ return si ??= Promise.resolve(ai(e)).then(() => void 0), si;
2776
2810
  }
2777
- async function pi(e) {
2778
- di(e), await fi();
2779
- let t = ui(e.targetPointCount, e.x.length), n = ci[e.strategy];
2811
+ async function di(e) {
2812
+ li(e), await ui();
2813
+ let t = ci(e.targetPointCount, e.x.length), n = oi[e.strategy];
2780
2814
  if (e.strategy !== "average" && e.strategy !== "sum") return {
2781
2815
  kind: "source-indexes",
2782
- sourceIndexes: Vr(e.x, e.y, n, t)
2816
+ sourceIndexes: zr(e.x, e.y, n, t)
2783
2817
  };
2784
- let r = Br(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2818
+ let r = Rr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2785
2819
  for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
2786
2820
  return {
2787
2821
  kind: "aggregates",
@@ -2789,24 +2823,24 @@ async function pi(e) {
2789
2823
  y: a
2790
2824
  };
2791
2825
  }
2792
- async function mi(e, t) {
2826
+ async function fi(e, t) {
2793
2827
  if (e.length !== t.length) throw Error("x and y must have the same length");
2794
- await fi();
2795
- let n = Rr(e, t);
2828
+ await ui();
2829
+ let n = Ir(e, t);
2796
2830
  return n.length === 4 ? {
2797
2831
  x: [n[0], n[1]],
2798
2832
  y: [n[2], n[3]]
2799
2833
  } : void 0;
2800
2834
  }
2801
- async function hi(e, t, n) {
2835
+ async function pi(e, t, n) {
2802
2836
  if (e.length !== t.length) throw Error("x and y must have the same length");
2803
- await fi();
2804
- let r = zr(e, t, n[0], n[1]);
2837
+ await ui();
2838
+ let r = Lr(e, t, n[0], n[1]);
2805
2839
  return [r[0], r[1]];
2806
2840
  }
2807
2841
  //#endregion
2808
2842
  //#region src/components/core/useWaveformLayout.ts
2809
- function gi(e) {
2843
+ function mi(e) {
2810
2844
  let { props: n, preparedSeries: r, currentPage: i, hiddenSeriesIdSet: a, chartWidth: o, innerHeight: s, isCleanView: c, sharedTransform: l, independentTransforms: u, sharedYDomains: d, independentYDomains: f, annotationInteraction: p, linePointOverrides: m } = e, h = t(() => r.value.map((e, t) => ({
2811
2845
  ...e,
2812
2846
  color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
@@ -2839,19 +2873,10 @@ function gi(e) {
2839
2873
  fullClearance: t + 7 + 0 + 12 + 4,
2840
2874
  labelCenterX: i
2841
2875
  };
2842
- }), C = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), w = t(() => _.value.some((e) => e.visibleSeries.length > 0)), T = t(() => Math.max(Lt.left, C.value ? S.value.fullClearance : w.value ? S.value.tickClearance : 0)), E = t(() => _.value.reduce((e, t) => {
2843
- let r = ur(t, n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber, n.axes?.y?.nice !== !1);
2844
- return {
2845
- left: Math.max(e.left, r.left),
2846
- right: Math.max(e.right, r.right)
2847
- };
2848
- }, {
2849
- left: 0,
2850
- right: 0
2851
- })), D = t(() => n.overlayMode === "multi-axis" ? Math.max(T.value, E.value.left) : T.value), O = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, E.value.right) : Lt.right), k = t(() => Math.max(0, o.value - D.value - O.value)), A = t(() => {
2876
+ }), C = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), w = t(() => _.value.some((e) => e.visibleSeries.length > 0)), T = t(() => Math.max(Lt.left, C.value ? S.value.fullClearance : w.value ? S.value.tickClearance : 0)), E = t(() => cr(x.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber, n.axes?.y?.nice !== !1)), D = t(() => n.overlayMode === "multi-axis" ? Math.max(T.value, E.value.clearance.left) : T.value), O = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, E.value.clearance.right) : Lt.right), k = t(() => Math.max(0, o.value - D.value - O.value)), A = t(() => {
2852
2877
  let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, S.value.fullClearance), a = Math.max(e, S.value.tickClearance), o = (k.value - i * Math.max(0, t - 1)) / t >= 120;
2853
2878
  return {
2854
- horizontalGap: n.overlayMode === "multi-axis" && r && w.value ? Math.max(e, E.value.left + E.value.right) : r && w.value ? C.value && o ? i : a : e,
2879
+ horizontalGap: n.overlayMode === "multi-axis" && r && w.value ? Math.max(e, E.value.clearance.left + E.value.clearance.right) : r && w.value ? C.value && o ? i : a : e,
2855
2880
  hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && C.value && !o
2856
2881
  };
2857
2882
  }), j = t(() => h.value.length > 0), M = t(() => k.value > 0 && s.value > 0), N = t(() => n.xLabel ?? `时间(${n.timeUnit})`), P = t(() => n.interactionMode), F = t(() => P.value !== "annotation"), I = t(() => {
@@ -2891,7 +2916,8 @@ function gi(e) {
2891
2916
  rendering: v.value,
2892
2917
  linePointOverrides: m?.value,
2893
2918
  hideSecondaryLabels: c.value || A.value.hideSecondaryLabels,
2894
- yAxisLabelX: S.value.labelCenterX,
2919
+ yAxisLabelX: E.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? S.value.labelCenterX,
2920
+ yAxisSlots: n.overlayMode === "multi-axis" ? E.value.slots : void 0,
2895
2921
  showCompactEmptyTracks: n.displayMode === "compact" && j.value
2896
2922
  })), H = (e) => e.seriesList.map((t) => ({
2897
2923
  ...e,
@@ -2936,13 +2962,13 @@ function gi(e) {
2936
2962
  }
2937
2963
  };
2938
2964
  }
2939
- var _i = 1e-6;
2940
- function vi(e) {
2965
+ var hi = 1e-6;
2966
+ function gi(e) {
2941
2967
  return Number.isFinite(e) ? Math.max(1, e) : 1;
2942
2968
  }
2943
- function yi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
2944
- let i = vi(e), a = vi(t), o = vi(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;
2945
- if (!(d > _i && Math.abs(d - 360) > _i)) {
2969
+ function _i({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
2970
+ let i = gi(e), a = gi(t), o = gi(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;
2971
+ if (!(d > hi && Math.abs(d - 360) > hi)) {
2946
2972
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
2947
2973
  return {
2948
2974
  textWidth: t,
@@ -2967,7 +2993,7 @@ function yi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
2967
2993
  }
2968
2994
  //#endregion
2969
2995
  //#region src/components/core/useWaveformPresentation.ts
2970
- function bi(e) {
2996
+ function vi(e) {
2971
2997
  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(() => ({
2972
2998
  width: l.value === void 0 ? "100%" : `${l.value}px`,
2973
2999
  height: u.value === void 0 ? "100%" : `${u.value}px`
@@ -3012,7 +3038,7 @@ function bi(e) {
3012
3038
  maxWidth: O.value ? "none" : `${j.value}px`,
3013
3039
  whiteSpace: O.value ? "nowrap" : "normal",
3014
3040
  overflowWrap: O.value ? "normal" : "anywhere"
3015
- })), N = t(() => yi({
3041
+ })), N = t(() => _i({
3016
3042
  naturalWidth: a.value || A.value,
3017
3043
  naturalHeight: o.value || E.value * 1.2,
3018
3044
  availableWidth: j.value,
@@ -3068,66 +3094,66 @@ function bi(e) {
3068
3094
  }
3069
3095
  //#endregion
3070
3096
  //#region src/core/samplingReferenceValues.ts
3071
- function xi(e, t) {
3097
+ function yi(e, t) {
3072
3098
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3073
3099
  }
3074
- function Si(e, t, n, r) {
3100
+ function bi(e, t, n, r) {
3075
3101
  let i = r - n;
3076
3102
  return {
3077
3103
  start: n + Math.floor(e * i / t),
3078
3104
  end: n + Math.floor((e + 1) * i / t)
3079
3105
  };
3080
3106
  }
3081
- function Ci(e, t) {
3107
+ function xi(e, t) {
3082
3108
  e[e.length - 1] !== t && e.push(t);
3083
3109
  }
3084
- function wi(e, t, n) {
3110
+ function Si(e, t, n) {
3085
3111
  if (e <= t) return Array.from({ length: e }, (e, t) => t);
3086
3112
  if (t === 1) return [0];
3087
3113
  if (t === 2) return [0, e - 1];
3088
3114
  let r = [0];
3089
- return n().forEach((e) => Ci(r, e)), Ci(r, e - 1), r;
3115
+ return n().forEach((e) => xi(r, e)), xi(r, e - 1), r;
3090
3116
  }
3091
- function Ti(e, t, n) {
3117
+ function Ci(e, t, n) {
3092
3118
  let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
3093
- return wi(e.length, t, () => {
3119
+ return Si(e.length, t, () => {
3094
3120
  if (!r) return [];
3095
3121
  let t = [];
3096
3122
  for (let i = 0; i < r; i += 1) {
3097
- let a = Si(i, r, 1, e.length - 1), o = a.start, s = a.start;
3123
+ let a = bi(i, r, 1, e.length - 1), o = a.start, s = a.start;
3098
3124
  for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
3099
- n === "min" ? Ci(t, o) : n === "max" ? Ci(t, s) : o <= s ? (Ci(t, o), Ci(t, s)) : (Ci(t, s), Ci(t, o));
3125
+ n === "min" ? xi(t, o) : n === "max" ? xi(t, s) : o <= s ? (xi(t, o), xi(t, s)) : (xi(t, s), xi(t, o));
3100
3126
  }
3101
3127
  return t;
3102
3128
  });
3103
3129
  }
3104
- function Ei(e, t) {
3130
+ function wi(e, t) {
3105
3131
  let n = Math.floor((t - 2) / 4);
3106
- return wi(e.length, t, () => {
3132
+ return Si(e.length, t, () => {
3107
3133
  if (!n) return [];
3108
3134
  let t = [];
3109
3135
  for (let r = 0; r < n; r += 1) {
3110
- let i = Si(r, n, 1, e.length - 1), a = i.start, o = i.start;
3136
+ let i = bi(r, n, 1, e.length - 1), a = i.start, o = i.start;
3111
3137
  for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
3112
3138
  [
3113
3139
  i.start,
3114
3140
  a,
3115
3141
  o,
3116
3142
  i.end - 1
3117
- ].sort((e, t) => e - t).forEach((e) => Ci(t, e));
3143
+ ].sort((e, t) => e - t).forEach((e) => xi(t, e));
3118
3144
  }
3119
3145
  return t;
3120
3146
  });
3121
3147
  }
3122
- function Di(e, t, n) {
3123
- return wi(e.length, n, () => {
3148
+ function Ti(e, t, n) {
3149
+ return Si(e.length, n, () => {
3124
3150
  let r = (e.length - 2) / (n - 2), i = [], a = 0;
3125
3151
  for (let o = 0; o < n - 2; o += 1) {
3126
3152
  let s = Math.min(e.length, Math.floor((o + 1) * r) + 1), c = Math.min(e.length, Math.floor((o + 2) * r) + 1), l = 0, u = 0;
3127
3153
  for (let n = s; n < c; n += 1) l += e[n], u += t[n];
3128
3154
  let d = c - s;
3129
3155
  d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
3130
- let f = Si(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3156
+ let f = bi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3131
3157
  for (let n = f.start; n < f.end; n += 1) {
3132
3158
  let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
3133
3159
  r > m && (m = r, p = n);
@@ -3137,10 +3163,10 @@ function Di(e, t, n) {
3137
3163
  return i;
3138
3164
  });
3139
3165
  }
3140
- function Oi(e, t, n, r) {
3141
- let i = xi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3166
+ function Ei(e, t, n, r) {
3167
+ let i = yi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3142
3168
  for (let n = 0; n < i; n += 1) {
3143
- let s = Si(n, i, 0, e.length);
3169
+ let s = bi(n, i, 0, e.length);
3144
3170
  for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
3145
3171
  let c = s.end - s.start;
3146
3172
  a[n] /= c, r === "average" && (o[n] /= c);
@@ -3151,10 +3177,10 @@ function Oi(e, t, n, r) {
3151
3177
  y: o
3152
3178
  };
3153
3179
  }
3154
- function ki(e, t, n, r) {
3180
+ function Di(e, t, n, r) {
3155
3181
  if (e.length !== t.length) throw Error("x and y must have the same length");
3156
- if (n === "average" || n === "sum") return Oi(e, t, r, n);
3157
- let i = xi(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Ei(t, i) : n === "lttb" ? Di(e, t, i) : Ti(t, i, n);
3182
+ if (n === "average" || n === "sum") return Ei(e, t, r, n);
3183
+ let i = yi(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? wi(t, i) : n === "lttb" ? Ti(e, t, i) : Ci(t, i, n);
3158
3184
  return {
3159
3185
  kind: "source-indexes",
3160
3186
  sourceIndexes: Uint32Array.from(a)
@@ -3162,41 +3188,41 @@ function ki(e, t, n, r) {
3162
3188
  }
3163
3189
  //#endregion
3164
3190
  //#region src/core/workerSampling/javascriptBackend.ts
3165
- var Ai = {
3191
+ var Oi = {
3166
3192
  kind: "javascript",
3167
3193
  sample(e) {
3168
- return ki(e.x, e.y, e.strategy, e.targetPointCount);
3194
+ return Di(e.x, e.y, e.strategy, e.targetPointCount);
3169
3195
  }
3170
- }, ji = 8 * 1024 * 1024;
3171
- function Mi(e, t) {
3196
+ }, ki = 8 * 1024 * 1024;
3197
+ function Ai(e, t) {
3172
3198
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3173
3199
  }
3174
- function Ni(e, t, n, r) {
3200
+ function ji(e, t, n, r) {
3175
3201
  let i = r - n;
3176
3202
  return {
3177
3203
  start: n + Math.floor(e * i / t),
3178
3204
  end: n + Math.floor((e + 1) * i / t)
3179
3205
  };
3180
3206
  }
3181
- function Pi(e, t) {
3207
+ function Mi(e, t) {
3182
3208
  e[e.length - 1] !== t && e.push(t);
3183
3209
  }
3184
- function Fi(e) {
3210
+ function Ni(e) {
3185
3211
  return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
3186
3212
  }
3187
- function Ii(e, t) {
3213
+ function Pi(e, t) {
3188
3214
  let n = 1;
3189
3215
  for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
3190
3216
  return n;
3191
3217
  }
3192
- var Li = class {
3218
+ var Fi = class {
3193
3219
  points;
3194
3220
  extremaLayers = [];
3195
3221
  sumLayers = [];
3196
3222
  indexBytes = 0;
3197
3223
  maxBytes;
3198
3224
  constructor(e, t = {}) {
3199
- this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : ji;
3225
+ this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : ki;
3200
3226
  }
3201
3227
  get byteLength() {
3202
3228
  return this.indexBytes;
@@ -3205,7 +3231,7 @@ var Li = class {
3205
3231
  this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
3206
3232
  }
3207
3233
  sample(e, t, n, r) {
3208
- let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Mi(r, o);
3234
+ let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Ai(r, o);
3209
3235
  if (n !== "lttb") return n === "average" || n === "sum" ? this.aggregate(i, a, s, n) : n === "none" || o <= s ? this.allIndexes(i, a) : s === 1 ? this.indexes([i]) : s === 2 ? this.indexes([i, a - 1]) : this.extrema(i, a, s, n);
3210
3236
  }
3211
3237
  allIndexes(e, t) {
@@ -3225,24 +3251,24 @@ var Li = class {
3225
3251
  if (i === 0) return this.indexes([e, t - 1]);
3226
3252
  let a = [e];
3227
3253
  for (let n = 0; n < i; n += 1) {
3228
- let o = Ni(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3254
+ let o = ji(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3229
3255
  if (!s) return;
3230
- if (r === "min") Pi(a, s.minimum);
3231
- else if (r === "max") Pi(a, s.maximum);
3232
- else if (r === "minmax") s.minimum <= s.maximum ? (Pi(a, s.minimum), Pi(a, s.maximum)) : (Pi(a, s.maximum), Pi(a, s.minimum));
3256
+ if (r === "min") Mi(a, s.minimum);
3257
+ else if (r === "max") Mi(a, s.maximum);
3258
+ else if (r === "minmax") s.minimum <= s.maximum ? (Mi(a, s.minimum), Mi(a, s.maximum)) : (Mi(a, s.maximum), Mi(a, s.minimum));
3233
3259
  else for (let e of [
3234
3260
  o.start,
3235
3261
  s.minimum,
3236
3262
  s.maximum,
3237
3263
  o.end - 1
3238
- ].sort((e, t) => e - t)) Pi(a, e);
3264
+ ].sort((e, t) => e - t)) Mi(a, e);
3239
3265
  }
3240
- return Pi(a, t - 1), this.indexes(a);
3266
+ return Mi(a, t - 1), this.indexes(a);
3241
3267
  }
3242
3268
  aggregate(e, t, n, r) {
3243
3269
  let i = new Float64Array(n), a = new Float64Array(n);
3244
3270
  for (let o = 0; o < n; o += 1) {
3245
- let s = Ni(o, n, e, t), c = this.querySum(s.start, s.end);
3271
+ let s = ji(o, n, e, t), c = this.querySum(s.start, s.end);
3246
3272
  if (!c || c.count === 0) return;
3247
3273
  i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
3248
3274
  }
@@ -3257,7 +3283,7 @@ var Li = class {
3257
3283
  if (!this.ensureExtrema(n)) return;
3258
3284
  let r = e, i = e;
3259
3285
  for (let n = e; n < t;) {
3260
- let e = Ii(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3286
+ let e = Pi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3261
3287
  this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
3262
3288
  }
3263
3289
  return {
@@ -3270,7 +3296,7 @@ var Li = class {
3270
3296
  if (!this.ensureSum(n)) return;
3271
3297
  let r = 0, i = 0, a = 0;
3272
3298
  for (let n = e; n < t;) {
3273
- let e = Ii(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3299
+ let e = Pi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3274
3300
  if (c) r += c.x[s], i += c.y[s], a += c.count[s];
3275
3301
  else {
3276
3302
  let e = this.points[n];
@@ -3291,7 +3317,7 @@ var Li = class {
3291
3317
  minimumIndexes: new Uint32Array(e),
3292
3318
  maximumIndexes: new Uint32Array(e)
3293
3319
  };
3294
- if (!this.reserve(Fi(n))) return !1;
3320
+ if (!this.reserve(Ni(n))) return !1;
3295
3321
  let r = this.extremaLayers[t - 1];
3296
3322
  for (let t = 0; t < e; t += 1) {
3297
3323
  let e = t * 2, i = e + 1, a = r ? r.minimumIndexes[e] : e, o = r ? r.maximumIndexes[e] : e, s = r ? i < r.minimumIndexes.length : i < this.points.length, c = r && s ? r.minimumIndexes[i] : i, l = r && s ? r.maximumIndexes[i] : i;
@@ -3309,7 +3335,7 @@ var Li = class {
3309
3335
  y: new Float64Array(e),
3310
3336
  count: new Uint32Array(e)
3311
3337
  };
3312
- if (!this.reserve(Fi(n))) return !1;
3338
+ if (!this.reserve(Ni(n))) return !1;
3313
3339
  let r = this.sumLayers[t - 1];
3314
3340
  for (let t = 0; t < e; t += 1) {
3315
3341
  let e = t * 2, i = e + 1;
@@ -3334,8 +3360,8 @@ var Li = class {
3334
3360
  let n = this.points[e], r = this.points[t];
3335
3361
  return n.y > r.y || n.y === r.y && e < t;
3336
3362
  }
3337
- }, Ri = 1e3, zi = I((e) => e.x);
3338
- function Bi(e) {
3363
+ }, Ii = 1e3, Li = I((e) => e.x);
3364
+ function Ri(e) {
3339
3365
  let t = [], n = !0, r = -Infinity;
3340
3366
  for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
3341
3367
  x: i.x,
@@ -3346,7 +3372,7 @@ function Bi(e) {
3346
3372
  }));
3347
3373
  return n || t.sort((e, t) => e.x - t.x), t;
3348
3374
  }
3349
- function Vi(e, t) {
3375
+ function zi(e, t) {
3350
3376
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
3351
3377
  for (let t of e) n = Math.min(n, t.x), r = Math.max(r, t.x), i = Math.min(i, t.y), a = Math.max(a, t.y);
3352
3378
  return {
@@ -3356,7 +3382,7 @@ function Vi(e, t) {
3356
3382
  yDomain: e.length ? [i, a] : null
3357
3383
  };
3358
3384
  }
3359
- function Hi(e, t, n = e.length) {
3385
+ function Bi(e, t, n = e.length) {
3360
3386
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
3361
3387
  for (let n = 0; n < e.length; n += 1) r = Math.min(r, e[n]), i = Math.max(i, e[n]), a = Math.min(a, t[n]), o = Math.max(o, t[n]);
3362
3388
  return {
@@ -3366,39 +3392,39 @@ function Hi(e, t, n = e.length) {
3366
3392
  yDomain: e.length ? [a, o] : null
3367
3393
  };
3368
3394
  }
3369
- function Ui(e, t) {
3395
+ function Vi(e, t) {
3370
3396
  return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
3371
3397
  }
3372
- function Wi(e) {
3398
+ function Hi(e) {
3373
3399
  return e === "auto" ? "peak" : e;
3374
3400
  }
3375
- function Gi(e) {
3401
+ function Ui(e) {
3376
3402
  if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
3377
3403
  let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
3378
3404
  return Math.max(1, Math.floor(t * n));
3379
3405
  }
3380
- function Ki(e, t) {
3406
+ function Wi(e, t) {
3381
3407
  if (e.mode === "raw") return !0;
3382
3408
  if (e.mode !== "auto") return !1;
3383
- let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Ri;
3409
+ let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Ii;
3384
3410
  if (!e.previousSelectedMode) return t <= n;
3385
3411
  let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
3386
3412
  return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
3387
3413
  }
3388
- function qi(e, t) {
3414
+ function Gi(e, t) {
3389
3415
  let n = e[0], r = e.at(-1);
3390
- return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[zi.center(e, t)] : void 0;
3416
+ return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Li.center(e, t)] : void 0;
3391
3417
  }
3392
- function Ji(e) {
3418
+ function Ki(e) {
3393
3419
  return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
3394
3420
  }
3395
- function Yi(e, t) {
3421
+ function qi(e, t) {
3396
3422
  return e.kind === "aggregates" ? e : {
3397
3423
  kind: "source-indexes",
3398
3424
  sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
3399
3425
  };
3400
3426
  }
3401
- function Xi(e, t, n, r, i) {
3427
+ function Ji(e, t, n, r, i) {
3402
3428
  return [
3403
3429
  e.datasetId,
3404
3430
  e.revision,
@@ -3418,14 +3444,14 @@ function Xi(e, t, n, r, i) {
3418
3444
  e.errorBarMinSpacing ?? 0
3419
3445
  ].join("\0");
3420
3446
  }
3421
- function Zi(e, t, n, r, i, a, o, s) {
3447
+ function Yi(e, t, n, r, i, a, o, s) {
3422
3448
  return {
3423
3449
  seriesId: e.seriesId,
3424
3450
  datasetId: e.datasetId,
3425
3451
  mode: e.mode,
3426
3452
  selectedMode: i,
3427
3453
  backend: r,
3428
- strategy: Wi(e.strategy),
3454
+ strategy: Hi(e.strategy),
3429
3455
  sourcePointCount: t,
3430
3456
  visiblePointCount: n,
3431
3457
  renderedPointCount: o,
@@ -3441,18 +3467,18 @@ function Zi(e, t, n, r, i, a, o, s) {
3441
3467
  }
3442
3468
  //#endregion
3443
3469
  //#region src/core/workerSampling/repositoryDataset.ts
3444
- function Qi(e) {
3470
+ function Xi(e) {
3445
3471
  return e?.y.length ?? 0;
3446
3472
  }
3447
- function $i(e, t) {
3473
+ function Zi(e, t) {
3448
3474
  return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
3449
3475
  }
3450
- function ea(e, t) {
3476
+ function Qi(e, t) {
3451
3477
  let n = (t, n) => {
3452
- let r = 0, i = Qi(e);
3478
+ let r = 0, i = Xi(e);
3453
3479
  for (; r < i;) {
3454
3480
  let a = r + Math.floor((i - r) / 2);
3455
- (n ? $i(e, a) <= t : $i(e, a) < t) ? r = a + 1 : i = a;
3481
+ (n ? Zi(e, a) <= t : Zi(e, a) < t) ? r = a + 1 : i = a;
3456
3482
  }
3457
3483
  return r;
3458
3484
  }, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
@@ -3461,13 +3487,13 @@ function ea(e, t) {
3461
3487
  end: n(i, !0)
3462
3488
  };
3463
3489
  }
3464
- function ta(e, t, n) {
3465
- return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => $i(e, t + r));
3490
+ function $i(e, t, n) {
3491
+ return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => Zi(e, t + r));
3466
3492
  }
3467
- function na(e) {
3493
+ function ea(e) {
3468
3494
  return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
3469
3495
  }
3470
- function ra(e, t) {
3496
+ function ta(e, t) {
3471
3497
  let n = [], r = Math.min(e.length, t.length);
3472
3498
  for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
3473
3499
  return n.sort((t, n) => e[t] - e[n] || t - n), {
@@ -3475,14 +3501,14 @@ function ra(e, t) {
3475
3501
  y: Float64Array.from(n, (e) => t[e])
3476
3502
  };
3477
3503
  }
3478
- function ia(e, t, n, r) {
3504
+ function na(e, t, n, r) {
3479
3505
  if (t?.kind === "typed") {
3480
- let e = ra(t.x, t.y);
3506
+ let e = ta(t.x, t.y);
3481
3507
  return {
3482
3508
  x: e.x,
3483
3509
  y: e.y,
3484
3510
  revision: n,
3485
- metrics: Hi(e.x, e.y, Math.max(t.x.length, t.y.length))
3511
+ metrics: Bi(e.x, e.y, Math.max(t.x.length, t.y.length))
3486
3512
  };
3487
3513
  }
3488
3514
  if (t?.kind === "samples") {
@@ -3516,35 +3542,35 @@ function ia(e, t, n, r) {
3516
3542
  }
3517
3543
  };
3518
3544
  }
3519
- let i = Bi(e ?? t?.points ?? []);
3545
+ let i = Ri(e ?? t?.points ?? []);
3520
3546
  return {
3521
3547
  x: Float64Array.from(i, (e) => e.x),
3522
3548
  y: Float64Array.from(i, (e) => e.y),
3523
3549
  points: i,
3524
3550
  revision: n,
3525
- metrics: Vi(i, e?.length ?? t?.points.length ?? 0),
3526
- index: new Li(i, { maxBytes: r })
3551
+ metrics: zi(i, e?.length ?? t?.points.length ?? 0),
3552
+ index: new Fi(i, { maxBytes: r })
3527
3553
  };
3528
3554
  }
3529
- function aa(e, t, n) {
3530
- !na(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3555
+ function ra(e, t, n) {
3556
+ !ea(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3531
3557
  }
3532
- function oa(e, t) {
3533
- t.index?.dispose(), t.wasmDatasetHandle !== void 0 && na(e) && e.disposeDataset(t.wasmDatasetHandle);
3558
+ function ia(e, t) {
3559
+ t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ea(e) && e.disposeDataset(t.wasmDatasetHandle);
3534
3560
  }
3535
3561
  //#endregion
3536
3562
  //#region src/core/workerSampling/samplingCache.ts
3537
- var sa = 96, ca = 16 * 1024 * 1024;
3538
- function la(e) {
3563
+ var aa = 96, oa = 16 * 1024 * 1024;
3564
+ function sa(e) {
3539
3565
  return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
3540
3566
  }
3541
- var ua = class {
3567
+ var ca = class {
3542
3568
  entries = /* @__PURE__ */ new Map();
3543
3569
  bytes = 0;
3544
3570
  maxEntries;
3545
3571
  maxBytes;
3546
3572
  constructor(e = {}) {
3547
- this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : sa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ca;
3573
+ this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : aa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : oa;
3548
3574
  }
3549
3575
  get metrics() {
3550
3576
  return {
@@ -3559,7 +3585,7 @@ var ua = class {
3559
3585
  if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
3560
3586
  }
3561
3587
  set(e, t) {
3562
- let n = la(t);
3588
+ let n = sa(t);
3563
3589
  if (n > this.maxBytes || this.maxEntries === 0) return;
3564
3590
  let r = this.entries.get(e);
3565
3591
  for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
@@ -3579,14 +3605,14 @@ var ua = class {
3579
3605
  clear() {
3580
3606
  this.entries.clear(), this.bytes = 0;
3581
3607
  }
3582
- }, da = class {
3608
+ }, la = class {
3583
3609
  datasets = /* @__PURE__ */ new Map();
3584
3610
  javascriptBackend;
3585
3611
  cache;
3586
3612
  indexMaxBytes;
3587
3613
  wasmBackend;
3588
3614
  constructor(e = {}) {
3589
- this.javascriptBackend = e.javascriptBackend ?? Ai, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new ua({
3615
+ this.javascriptBackend = e.javascriptBackend ?? Oi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new ca({
3590
3616
  maxEntries: e.cacheMaxEntries,
3591
3617
  maxBytes: e.cacheMaxBytes
3592
3618
  });
@@ -3599,9 +3625,9 @@ var ua = class {
3599
3625
  };
3600
3626
  }
3601
3627
  setWasmBackend(e) {
3602
- this.wasmBackend && this.wasmBackend !== e && na(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3628
+ this.wasmBackend && this.wasmBackend !== e && ea(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3603
3629
  e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
3604
- })), this.wasmBackend = e, na(e) && this.datasets.forEach((t) => aa(e, t, this.indexMaxBytes));
3630
+ })), this.wasmBackend = e, ea(e) && this.datasets.forEach((t) => ra(e, t, this.indexMaxBytes));
3605
3631
  }
3606
3632
  handle(e) {
3607
3633
  switch (e.type) {
@@ -3617,15 +3643,15 @@ var ua = class {
3617
3643
  register(e, t, n, r) {
3618
3644
  let i = this.datasets.get(e);
3619
3645
  if (i) return this.datasetResponse(t, e, i, "stale-revision");
3620
- let a = ia(n, r, 1, this.indexMaxBytes);
3621
- return aa(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3646
+ let a = na(n, r, 1, this.indexMaxBytes);
3647
+ return ra(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3622
3648
  }
3623
3649
  replace(e, t, n, r, i) {
3624
- let a = this.datasets.get(e), o = Ui(a, n);
3650
+ let a = this.datasets.get(e), o = Vi(a, n);
3625
3651
  if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
3626
- oa(this.wasmBackend, a), this.cache.deleteDataset(e);
3627
- let s = ia(r, i, a.revision + 1, this.indexMaxBytes);
3628
- return aa(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3652
+ ia(this.wasmBackend, a), this.cache.deleteDataset(e);
3653
+ let s = na(r, i, a.revision + 1, this.indexMaxBytes);
3654
+ return ra(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3629
3655
  }
3630
3656
  sample(e) {
3631
3657
  return {
@@ -3635,28 +3661,28 @@ var ua = class {
3635
3661
  };
3636
3662
  }
3637
3663
  sampleSeries(e, t) {
3638
- let n = performance.now(), r = this.datasets.get(t.datasetId), i = Ui(r, t.revision);
3664
+ let n = performance.now(), r = this.datasets.get(t.datasetId), i = Vi(r, t.revision);
3639
3665
  if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
3640
- let a = ea(r, t.xDomain), o = a.end - a.start;
3641
- if (Ki(t, o)) return this.sampleResponse(e, t, "ok", {
3666
+ let a = Qi(r, t.xDomain), o = a.end - a.start;
3667
+ if (Wi(t, o)) return this.sampleResponse(e, t, "ok", {
3642
3668
  kind: "source-indexes",
3643
3669
  sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
3644
3670
  }, "raw", "raw", o, n, !1);
3645
3671
  let s = t.mode === "wasm" || t.mode === "auto" && this.wasmBackend ? this.wasmBackend : this.javascriptBackend, c = !s && t.wasmFailureFallback === "javascript", l = s ?? (c ? this.javascriptBackend : void 0);
3646
3672
  if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
3647
- let u = Wi(t.strategy), d = Gi(t), f = Xi(t, a, u, d, l.kind), p = this.cache.get(f);
3673
+ let u = Hi(t.strategy), d = Ui(t), f = Ji(t, a, u, d, l.kind), p = this.cache.get(f);
3648
3674
  if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
3649
- let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && na(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? Yi(l.sample({
3650
- x: ta(r, a.start, a.end),
3675
+ let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ea(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? qi(l.sample({
3676
+ x: $i(r, a.start, a.end),
3651
3677
  y: r.y.subarray(a.start, a.end),
3652
3678
  points: r.points?.slice(a.start, a.end) ?? [],
3653
3679
  strategy: u,
3654
3680
  targetPointCount: d
3655
3681
  }), a.start);
3656
- return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && na(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3682
+ return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ea(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3657
3683
  }
3658
3684
  sampleResponse(e, t, n, r, i, a, o, s, c) {
3659
- let l = Zi(t, Qi(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Ji(r), c);
3685
+ let l = Yi(t, Xi(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Ki(r), c);
3660
3686
  return l.requestId = e, {
3661
3687
  seriesId: t.seriesId,
3662
3688
  datasetId: t.datasetId,
@@ -3667,7 +3693,7 @@ var ua = class {
3667
3693
  };
3668
3694
  }
3669
3695
  findNearest(e, t, n, r) {
3670
- let i = this.datasets.get(e), a = Ui(i, n);
3696
+ let i = this.datasets.get(e), a = Vi(i, n);
3671
3697
  return a !== "ok" || !i ? {
3672
3698
  type: "find-nearest-point-response",
3673
3699
  requestId: t,
@@ -3680,12 +3706,12 @@ var ua = class {
3680
3706
  datasetId: e,
3681
3707
  revision: n,
3682
3708
  status: a,
3683
- point: i.points ? qi(i.points, r) : (() => {
3684
- let e = ea(i, [r, r]);
3685
- if (!Qi(i) || r < $i(i, 0) || r > $i(i, Qi(i) - 1)) return;
3686
- let t = Math.min(Qi(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - $i(i, n)) < Math.abs($i(i, t) - r) ? n : t;
3687
- return Number.isFinite(r) && Qi(i) ? {
3688
- x: $i(i, a),
3709
+ point: i.points ? Gi(i.points, r) : (() => {
3710
+ let e = Qi(i, [r, r]);
3711
+ if (!Xi(i) || r < Zi(i, 0) || r > Zi(i, Xi(i) - 1)) return;
3712
+ let t = Math.min(Xi(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - Zi(i, n)) < Math.abs(Zi(i, t) - r) ? n : t;
3713
+ return Number.isFinite(r) && Xi(i) ? {
3714
+ x: Zi(i, a),
3689
3715
  y: i.y[a]
3690
3716
  } : void 0;
3691
3717
  })()
@@ -3693,15 +3719,15 @@ var ua = class {
3693
3719
  }
3694
3720
  metrics(e, t, n) {
3695
3721
  let r = this.datasets.get(e);
3696
- return this.datasetResponse(t, e, r, Ui(r, n));
3722
+ return this.datasetResponse(t, e, r, Vi(r, n));
3697
3723
  }
3698
3724
  dispose(e, t, n) {
3699
- let r = this.datasets.get(e), i = Ui(r, n);
3700
- return i === "ok" && r && (oa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3725
+ let r = this.datasets.get(e), i = Vi(r, n);
3726
+ return i === "ok" && r && (ia(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3701
3727
  }
3702
3728
  disposeAll(e) {
3703
3729
  let t = [...this.datasets.keys()];
3704
- return this.datasets.forEach((e) => oa(this.wasmBackend, e)), na(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3730
+ return this.datasets.forEach((e) => ia(this.wasmBackend, e)), ea(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3705
3731
  type: "dispose-all-response",
3706
3732
  requestId: e,
3707
3733
  disposedDatasetIds: t
@@ -3723,10 +3749,10 @@ var ua = class {
3723
3749
  };
3724
3750
  //#endregion
3725
3751
  //#region src/components/core/latestTaskScheduler.ts
3726
- function fa(e, t, n, r) {
3752
+ function ua(e, t, n, r) {
3727
3753
  return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
3728
3754
  }
3729
- function pa() {
3755
+ function da() {
3730
3756
  let e = 0, t = !1, n, r = !1, i = {
3731
3757
  scheduled: 0,
3732
3758
  coalesced: 0,
@@ -3765,12 +3791,12 @@ function pa() {
3765
3791
  }
3766
3792
  //#endregion
3767
3793
  //#region src/components/core/workerSamplingClient.ts
3768
- function ma(e) {
3794
+ function fa(e) {
3769
3795
  return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
3770
3796
  }
3771
- function ha() {
3797
+ function pa() {
3772
3798
  let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
3773
- t ??= new da();
3799
+ t ??= new la();
3774
3800
  for (let [e, n] of i) {
3775
3801
  t.handle({
3776
3802
  type: "register-dataset",
@@ -3806,7 +3832,7 @@ function ha() {
3806
3832
  let t = a();
3807
3833
  e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
3808
3834
  }, c = (r) => {
3809
- t || (n = ma(r), e?.terminate(), e = void 0, s());
3835
+ t || (n = fa(r), e?.terminate(), e = void 0, s());
3810
3836
  };
3811
3837
  try {
3812
3838
  typeof Worker > "u" ? c() : (e = new Worker(new URL(
@@ -3843,20 +3869,20 @@ function ha() {
3843
3869
  }
3844
3870
  };
3845
3871
  }
3846
- function ga(e) {
3872
+ function ma(e) {
3847
3873
  return e.type === "dataset-response";
3848
3874
  }
3849
3875
  //#endregion
3850
3876
  //#region src/components/core/useWaveformRenderSampling.ts
3851
- var _a = 120;
3852
- function va(e, t) {
3877
+ var ha = 120;
3878
+ function ga(e, t) {
3853
3879
  let n = e.output;
3854
3880
  if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
3855
3881
  x: e,
3856
3882
  y: n.y[t]
3857
3883
  })) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
3858
3884
  }
3859
- function ya(e, t) {
3885
+ function _a(e, t) {
3860
3886
  let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
3861
3887
  return {
3862
3888
  seriesId: n.seriesId,
@@ -3878,7 +3904,7 @@ function ya(e, t) {
3878
3904
  maxPendingRequestCount: 0
3879
3905
  };
3880
3906
  }
3881
- function ba(e) {
3907
+ function va(e) {
3882
3908
  let { source: t } = e, { start: n, end: r } = e.visibleRange, i = r - n, a = Number.isFinite(e.request.maxPointCount) && (e.request.maxPointCount ?? 0) >= 1 ? Math.floor(e.request.maxPointCount) : Math.max(1, Math.floor(e.request.plotWidth * e.request.maxPointsPerPixel));
3883
3909
  if (i <= a) return t.pointsInRange(n, r);
3884
3910
  if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
@@ -3889,7 +3915,7 @@ function ba(e) {
3889
3915
  }
3890
3916
  return o;
3891
3917
  }
3892
- function xa(e, t, n, r) {
3918
+ function ya(e, t, n, r) {
3893
3919
  return {
3894
3920
  message: e,
3895
3921
  mode: t,
@@ -3897,8 +3923,8 @@ function xa(e, t, n, r) {
3897
3923
  seriesIds: r
3898
3924
  };
3899
3925
  }
3900
- function Sa(e) {
3901
- let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = pa(), d, f, p = !1, m = t(() => {
3926
+ function ba(e) {
3927
+ let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = da(), d, f, p = !1, m = t(() => {
3902
3928
  let t = e.renderingOptions.value.sampling;
3903
3929
  return e.sourceTrackLayouts.value.flatMap((n) => {
3904
3930
  let r = n.xScale.domain();
@@ -3963,13 +3989,13 @@ function Sa(e) {
3963
3989
  revision: 0,
3964
3990
  dataset: t.source.toWorkerDataset()
3965
3991
  });
3966
- !u.isCurrent(n) || !ga(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
3992
+ !u.isCurrent(n) || !ma(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
3967
3993
  }));
3968
3994
  }, x = async (t, n = !1) => {
3969
3995
  let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
3970
3996
  if (o.forEach((e) => {
3971
- let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && fa(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
3972
- e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(ya(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = ba(e)), l.push({
3997
+ let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && ua(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
3998
+ e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(_a(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = va(e)), l.push({
3973
3999
  ...e,
3974
4000
  request: {
3975
4001
  ...e.request,
@@ -3981,7 +4007,7 @@ function Sa(e) {
3981
4007
  e.linePointOverrides.value = c, v(d);
3982
4008
  return;
3983
4009
  }
3984
- if (e.linePointOverrides.value = c, r ??= ha(), await b(r, l, t), !u.isCurrent(t)) return;
4010
+ if (e.linePointOverrides.value = c, r ??= pa(), await b(r, l, t), !u.isCurrent(t)) return;
3985
4011
  let f = l.map((e) => ({
3986
4012
  ...e.request,
3987
4013
  revision: a.get(e.request.datasetId) ?? 1
@@ -3996,22 +4022,22 @@ function Sa(e) {
3996
4022
  p = e;
3997
4023
  } catch (n) {
3998
4024
  if (!u.isCurrent(t)) return;
3999
- y(xa(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4025
+ y(ya(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4000
4026
  return;
4001
4027
  }
4002
4028
  if (!u.isCurrent(t)) return;
4003
4029
  let h = new Map(l.map((e) => [e.series.id, e.source]));
4004
4030
  p.results.forEach((e) => {
4005
- let t = h.get(e.seriesId), n = t ? va(e, t) : void 0;
4006
- n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(xa(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4007
- }), p.workerError && y(xa(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(xa(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4031
+ let t = h.get(e.seriesId), n = t ? ga(e, t) : void 0;
4032
+ n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(ya(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4033
+ }), p.workerError && y(ya(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(ya(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4008
4034
  };
4009
4035
  return O(h, () => {
4010
4036
  f && clearTimeout(f);
4011
4037
  let t = p;
4012
4038
  p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
4013
4039
  f = void 0, u.schedule((e) => x(e, !1));
4014
- }, _a));
4040
+ }, ha));
4015
4041
  }, { immediate: !0 }), O(e.preparedSeries, () => {
4016
4042
  u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
4017
4043
  }, { flush: "sync" }), _(() => {
@@ -4020,23 +4046,24 @@ function Sa(e) {
4020
4046
  }
4021
4047
  //#endregion
4022
4048
  //#region src/components/core/useWaveformChartController.ts
4023
- function Ca(e, t) {
4049
+ function xa(e, t) {
4024
4050
  e.value = t instanceof Element ? t : void 0;
4025
4051
  }
4026
- function wa(e, t) {
4052
+ function Sa(e, t) {
4027
4053
  let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(K), p = C([]), m = b({}), h = b({}), g = S({
4028
4054
  points: [],
4029
4055
  trackIndex: null,
4030
4056
  queryX: null,
4057
+ crosshairXByTrack: {},
4031
4058
  position: {
4032
4059
  x: 0,
4033
4060
  y: 0
4034
4061
  }
4035
- }), _ = b(!1), v = b(1), x = C(), w = le("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Mr();
4062
+ }), _ = b(!1), v = b(1), x = C(), w = le("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Ar();
4036
4063
  O([() => e.yDomain, () => e.yDomains], () => {
4037
4064
  m.value = {}, h.value = {};
4038
4065
  }, { deep: !0 });
4039
- let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = Lr(() => e.data, () => I(), () => L()), z = bi({
4066
+ let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = Fr(() => e.data, () => I(), () => L()), z = vi({
4040
4067
  props: e,
4041
4068
  observedWidth: o,
4042
4069
  observedHeight: s,
@@ -4044,7 +4071,7 @@ function wa(e, t) {
4044
4071
  measuredTitleHeight: l,
4045
4072
  internalHiddenSeriesIds: E,
4046
4073
  paginationBandHeight: u
4047
- }), { chartWidth: B, chartHeight: V, isCleanView: H, isPresentationMode: U, hiddenSeriesIdSet: W, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = z, q = gi({
4074
+ }), { chartWidth: B, chartHeight: V, isCleanView: H, isPresentationMode: U, hiddenSeriesIdSet: W, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = z, q = mi({
4048
4075
  props: e,
4049
4076
  preparedSeries: R,
4050
4077
  currentPage: v,
@@ -4059,7 +4086,7 @@ function wa(e, t) {
4059
4086
  annotationInteraction: d(D),
4060
4087
  linePointOverrides: A
4061
4088
  }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: ue, pageCount: de, pagedTracks: J, resolvedChartLeftMargin: fe, innerWidth: Y, hasChartArea: pe, activeInteractionMode: me, isZoomMode: he, initialXDomain: ge, sharedZoomDomain: _e, resolveInitialTrackDomain: ve, annotationLayoutsForTrack: ye, resolveSeriesYScale: be } = q;
4062
- Sa({
4089
+ ba({
4063
4090
  props: e,
4064
4091
  emit: t,
4065
4092
  instanceId: w,
@@ -4070,7 +4097,7 @@ function wa(e, t) {
4070
4097
  }), k(() => {
4071
4098
  u.value = ue.value.showPagination && de.value > 1 && B.value <= 520 ? 40 : 0;
4072
4099
  });
4073
- let xe = Nr({
4100
+ let xe = jr({
4074
4101
  props: e,
4075
4102
  emit: t,
4076
4103
  svgElement: r,
@@ -4087,7 +4114,7 @@ function wa(e, t) {
4087
4114
  isPresentationMode: U,
4088
4115
  resolveInitialTrackDomain: ve,
4089
4116
  cancelPendingHover: () => Ce.cancelPendingHover()
4090
- }), X = mr({
4117
+ }), X = fr({
4091
4118
  props: e,
4092
4119
  emit: t,
4093
4120
  container: n,
@@ -4107,7 +4134,7 @@ function wa(e, t) {
4107
4134
  chartTopMargin: ie,
4108
4135
  activeInteractionMode: me,
4109
4136
  isPresentationMode: U
4110
- }), Se = jr({
4137
+ }), Se = kr({
4111
4138
  props: e,
4112
4139
  emit: t,
4113
4140
  selection: N,
@@ -4132,7 +4159,7 @@ function wa(e, t) {
4132
4159
  cancelPendingZoom: xe.cancelPendingZoom,
4133
4160
  clearHover: () => Ce.clearHover(),
4134
4161
  resolveTrackAtPointer: X.resolveTrackAtPointer
4135
- }), Ce = hr({
4162
+ }), Ce = pr({
4136
4163
  emit: t,
4137
4164
  hoverState: g,
4138
4165
  suppressHoverUntilMove: _,
@@ -4147,7 +4174,7 @@ function wa(e, t) {
4147
4174
  isPresentationMode: U,
4148
4175
  updateViewportDrag: Se.updateViewportDrag,
4149
4176
  resolveTrackAtPointer: X.resolveTrackAtPointer
4150
- }), we = Fr({
4177
+ }), we = Nr({
4151
4178
  props: e,
4152
4179
  emit: t,
4153
4180
  container: n,
@@ -4210,34 +4237,34 @@ function wa(e, t) {
4210
4237
  editorSeriesOptions: j,
4211
4238
  clipPathId: w,
4212
4239
  goToPage: we.goToPage,
4213
- setContainer: (e) => Ca(n, e),
4214
- setSvgElement: (e) => Ca(r, e),
4215
- setTitleMeasureElement: (e) => Ca(i, e),
4216
- setSharedOverlayElement: (e) => Ca(a, e)
4240
+ setContainer: (e) => xa(n, e),
4241
+ setSvgElement: (e) => xa(r, e),
4242
+ setTitleMeasureElement: (e) => xa(i, e),
4243
+ setSharedOverlayElement: (e) => xa(a, e)
4217
4244
  });
4218
4245
  }
4219
4246
  //#endregion
4220
4247
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
4221
- var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4248
+ var Ca = ["id"], wa = { class: "waveform-annotation-editor__content" }, Ta = {
4222
4249
  class: "waveform-annotation-editor__coordinates",
4223
4250
  "aria-label": "标注坐标"
4224
- }, Oa = ["aria-invalid"], ka = {
4251
+ }, Ea = ["aria-invalid"], Da = {
4225
4252
  class: "waveform-annotation-editor__coordinate-value",
4226
4253
  "aria-hidden": "true"
4227
- }, Aa = ["id"], ja = {
4254
+ }, Oa = ["id"], ka = {
4228
4255
  key: 0,
4229
4256
  class: "waveform-annotation-editor__series",
4230
4257
  "aria-label": "标注所属波形"
4231
- }, Ma = { class: "waveform-annotation-editor__series-label" }, Na = ["value"], Pa = ["value"], Fa = { key: 1 }, Ia = { class: "waveform-annotation-editor__field" }, La = { class: "waveform-annotation-editor__label-row" }, Ra = ["maxlength"], za = { class: "waveform-annotation-editor__colors" }, Ba = {
4258
+ }, Aa = { class: "waveform-annotation-editor__series-label" }, ja = ["value"], Ma = ["value"], Na = { key: 1 }, Pa = { class: "waveform-annotation-editor__field" }, Fa = { class: "waveform-annotation-editor__label-row" }, Ia = ["maxlength"], La = { class: "waveform-annotation-editor__colors" }, Ra = {
4232
4259
  class: "waveform-annotation-editor__color-field",
4233
4260
  title: "调整标注边框色和透明度"
4234
- }, Va = {
4261
+ }, za = {
4235
4262
  class: "waveform-annotation-editor__color-field",
4236
4263
  title: "调整标注文字色和透明度"
4237
- }, Ha = {
4264
+ }, Ba = {
4238
4265
  class: "waveform-annotation-editor__color-field",
4239
4266
  title: "调整标注背景色和透明度"
4240
- }, Ua = /*#__PURE__*/ et(/* @__PURE__ */ l({
4267
+ }, Va = /*#__PURE__*/ et(/* @__PURE__ */ l({
4241
4268
  __name: "WaveformAnnotationEditor",
4242
4269
  props: {
4243
4270
  annotation: {},
@@ -4308,9 +4335,9 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4308
4335
  onCancel: o[4] ||= (e) => p("cancel"),
4309
4336
  onOk: B
4310
4337
  }, {
4311
- title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ta)]),
4312
- default: A(() => [a("div", Ea, [
4313
- a("div", Da, [
4338
+ title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ca)]),
4339
+ default: A(() => [a("div", wa, [
4340
+ a("div", Ta, [
4314
4341
  a("label", {
4315
4342
  class: "waveform-annotation-editor__coordinate-input",
4316
4343
  "aria-invalid": !!N.value
@@ -4333,26 +4360,26 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4333
4360
  "aria-invalid",
4334
4361
  "aria-describedby"
4335
4362
  ]),
4336
- a("code", ka, w(y.value), 1)
4337
- ], 8, Oa),
4363
+ a("code", Da, w(y.value), 1)
4364
+ ], 8, Ea),
4338
4365
  N.value ? (v(), i("p", {
4339
4366
  key: 0,
4340
4367
  id: `${E(g)}-time-error`,
4341
4368
  class: "waveform-annotation-editor__coordinate-error",
4342
4369
  role: "alert"
4343
- }, w(N.value), 9, Aa)) : r("", !0),
4370
+ }, w(N.value), 9, Oa)) : r("", !0),
4344
4371
  a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
4345
4372
  ]),
4346
4373
  o[13] ||= a("p", {
4347
4374
  class: "waveform-annotation-editor__coordinate-hint",
4348
4375
  role: "note"
4349
4376
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
4350
- I.value ? (v(), i("label", ja, [
4377
+ I.value ? (v(), i("label", ka, [
4351
4378
  a("i", {
4352
4379
  style: m({ backgroundColor: I.value.color }),
4353
4380
  "aria-hidden": "true"
4354
4381
  }, null, 4),
4355
- a("span", Ma, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4382
+ a("span", Aa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4356
4383
  d.seriesOptions?.length ? (v(), i("select", {
4357
4384
  key: 0,
4358
4385
  value: d.annotation.seriesId,
@@ -4361,9 +4388,9 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4361
4388
  }, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
4362
4389
  key: e.seriesId,
4363
4390
  value: e.seriesId
4364
- }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Pa))), 128))], 40, Na)) : I.value.unit ? (v(), i("code", Fa, w(I.value.unit), 1)) : r("", !0)
4391
+ }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Ma))), 128))], 40, ja)) : I.value.unit ? (v(), i("code", Na, w(I.value.unit), 1)) : r("", !0)
4365
4392
  ])) : r("", !0),
4366
- a("label", Ia, [a("span", La, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4393
+ a("label", Pa, [a("span", Fa, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4367
4394
  ref_key: "textarea",
4368
4395
  ref: h,
4369
4396
  "onUpdate:modelValue": o[0] ||= (e) => _.value = e,
@@ -4372,10 +4399,10 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4372
4399
  "aria-label": "标注文本",
4373
4400
  placeholder: "输入这处波形的说明",
4374
4401
  onKeydown: V
4375
- }, null, 40, Ra), [[D, _.value]])]),
4376
- a("fieldset", za, [
4402
+ }, null, 40, Ia), [[D, _.value]])]),
4403
+ a("fieldset", La, [
4377
4404
  o[12] ||= a("legend", null, "颜色与透明度", -1),
4378
- a("label", Ba, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4405
+ a("label", Ra, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4379
4406
  "pure-color": C.value,
4380
4407
  "onUpdate:pureColor": o[1] ||= (e) => C.value = e,
4381
4408
  "aria-label": "标注边框色",
@@ -4385,7 +4412,7 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4385
4412
  "disable-alpha": !1,
4386
4413
  "blur-close": !0
4387
4414
  }, null, 8, ["pure-color"])]),
4388
- a("label", Va, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4415
+ a("label", za, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4389
4416
  "pure-color": T.value,
4390
4417
  "onUpdate:pureColor": o[2] ||= (e) => T.value = e,
4391
4418
  "aria-label": "标注文字色",
@@ -4395,7 +4422,7 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4395
4422
  "disable-alpha": !1,
4396
4423
  "blur-close": !0
4397
4424
  }, null, 8, ["pure-color"])]),
4398
- a("label", Ha, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4425
+ a("label", Ba, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4399
4426
  "pure-color": k.value,
4400
4427
  "onUpdate:pureColor": o[3] ||= (e) => k.value = e,
4401
4428
  "aria-label": "标注背景色",
@@ -4410,13 +4437,13 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4410
4437
  _: 1
4411
4438
  }, 8, ["ok-button-props"]));
4412
4439
  }
4413
- }), [["__scopeId", "data-v-01ecd3a4"]]), Wa = { class: "waveform-tooltip__series-content" }, Ga = { class: "waveform-tooltip__series-label" }, Ka = {
4440
+ }), [["__scopeId", "data-v-01ecd3a4"]]), Ha = { class: "waveform-tooltip__series-content" }, Ua = { class: "waveform-tooltip__series-label" }, Wa = {
4414
4441
  key: 0,
4415
4442
  class: "waveform-tooltip__value"
4416
- }, qa = {
4443
+ }, Ga = {
4417
4444
  key: 1,
4418
4445
  class: "waveform-tooltip__value waveform-tooltip__value--missing"
4419
- }, Ja = 12, Ya = 8, Xa = 238, Za = 560, Qa = 20, $a = 20, eo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4446
+ }, Ka = 12, qa = 8, Ja = 238, Ya = 560, Xa = 20, Za = 20, Qa = /*#__PURE__*/ et(/* @__PURE__ */ l({
4420
4447
  __name: "WaveformTooltip",
4421
4448
  props: {
4422
4449
  visible: { type: Boolean },
@@ -4430,7 +4457,7 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4430
4457
  setup(n) {
4431
4458
  let s = n;
4432
4459
  function c(e, t) {
4433
- let n = Math.max(1, t - Qa - 14), r = Math.max(1, Math.floor(n / 7.2));
4460
+ let n = Math.max(1, t - Xa - 14), r = Math.max(1, Math.floor(n / 7.2));
4434
4461
  return Math.max(1, Math.ceil([...e].length / r));
4435
4462
  }
4436
4463
  function l(e) {
@@ -4438,18 +4465,18 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4438
4465
  return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
4439
4466
  }
4440
4467
  function u(e) {
4441
- return 16 + $a * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4468
+ return 16 + Za * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4442
4469
  }
4443
4470
  let d = t(() => {
4444
4471
  if (!s.visible || !s.hoveredPoint) return { display: "none" };
4445
- let e = s.position.x + Ja, t = s.position.x - Ja - Xa, n = s.containerWidth - Ya - e, r = s.position.x - Ja - Ya, i = Math.max(1, Math.min(Za, s.containerWidth - Ya * 2)), a = e + Xa <= s.containerWidth - Ya ? {
4472
+ let e = s.position.x + Ka, t = s.position.x - Ka - Ja, n = s.containerWidth - qa - e, r = s.position.x - Ka - qa, i = Math.max(1, Math.min(Ya, s.containerWidth - qa * 2)), a = e + Ja <= s.containerWidth - qa ? {
4446
4473
  left: `${e}px`,
4447
- maxWidth: `${Math.min(Za, n)}px`
4448
- } : t >= Ya ? {
4449
- right: `${s.containerWidth - s.position.x + Ja}px`,
4450
- maxWidth: `${Math.min(Za, r)}px`
4474
+ maxWidth: `${Math.min(Ya, n)}px`
4475
+ } : t >= qa ? {
4476
+ right: `${s.containerWidth - s.position.x + Ka}px`,
4477
+ maxWidth: `${Math.min(Ya, r)}px`
4451
4478
  } : {
4452
- left: `${Ya}px`,
4479
+ left: `${qa}px`,
4453
4480
  maxWidth: `${i}px`
4454
4481
  }, o = Number.parseFloat(a.maxWidth);
4455
4482
  return {
@@ -4464,9 +4491,9 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4464
4491
  }, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
4465
4492
  key: `${t.trackIndex}-${t.name}`,
4466
4493
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
4467
- }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Wa, [a("span", Ga, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", Ka, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", qa, "无数据"))])]))), 128))], 4)) : r("", !0);
4494
+ }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Ha, [a("span", Ua, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", Wa, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", Ga, "无数据"))])]))), 128))], 4)) : r("", !0);
4468
4495
  }
4469
- }), [["__scopeId", "data-v-1ae3316b"]]), to = /* @__PURE__ */ l({
4496
+ }), [["__scopeId", "data-v-1ae3316b"]]), $a = /* @__PURE__ */ l({
4470
4497
  __name: "WaveformHoverHost",
4471
4498
  props: {
4472
4499
  state: {},
@@ -4477,7 +4504,7 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4477
4504
  },
4478
4505
  setup(e) {
4479
4506
  let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
4480
- return (t, r) => (v(), n(eo, {
4507
+ return (t, r) => (v(), n(Qa, {
4481
4508
  visible: e.visible && i.value !== null,
4482
4509
  position: e.state.position,
4483
4510
  "time-unit": e.timeUnit,
@@ -4495,16 +4522,16 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4495
4522
  "container-height"
4496
4523
  ]));
4497
4524
  }
4498
- }), no = 13, ro = 2, io = 14, ao = 8, oo = 24, so = {
4525
+ }), eo = 13, to = 2, no = 14, ro = 8, io = 24, ao = {
4499
4526
  circle: te,
4500
4527
  square: re,
4501
4528
  triangle: ie,
4502
4529
  diamond: ne
4503
4530
  };
4504
- function co(e, t = 48) {
4505
- return e === "none" ? null : ee().type(so[e]).size(t)() ?? null;
4531
+ function oo(e, t = 48) {
4532
+ return e === "none" ? null : ee().type(ao[e]).size(t)() ?? null;
4506
4533
  }
4507
- function lo(e, t, n = 48) {
4534
+ function so(e, t, n = 48) {
4508
4535
  if (e === "none" || t.length === 0) return null;
4509
4536
  if (e === "circle") {
4510
4537
  let e = Math.sqrt(n / Math.PI);
@@ -4521,24 +4548,24 @@ function lo(e, t, n = 48) {
4521
4548
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
4522
4549
  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("");
4523
4550
  }
4524
- function uo(e) {
4551
+ function co(e) {
4525
4552
  return e === "none" ? null : "M1 8H25";
4526
4553
  }
4527
- function fo(e) {
4554
+ function lo(e) {
4528
4555
  if (e === "dashed") return "8 5";
4529
4556
  if (e === "dash-dot") return "8 5 1.5 5";
4530
4557
  }
4531
- function po(e) {
4532
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, oo) : ao) / 2, n = no - t, r = no + t;
4558
+ function uo(e) {
4559
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, io) : ro) / 2, n = eo - t, r = eo + t;
4533
4560
  return [
4534
- `M${n} ${ro}H${r}`,
4535
- `M${no} ${ro}V${io}`,
4536
- `M${n} ${io}H${r}`
4561
+ `M${n} ${to}H${r}`,
4562
+ `M${eo} ${to}V${no}`,
4563
+ `M${n} ${no}H${r}`
4537
4564
  ].join("");
4538
4565
  }
4539
4566
  //#endregion
4540
4567
  //#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
4541
- var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4568
+ var fo = ["clip-path"], po = ["data-series-id", "data-series-name"], mo = [
4542
4569
  "data-series-id",
4543
4570
  "data-series-name",
4544
4571
  "data-y-axis-index",
@@ -4547,11 +4574,11 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4547
4574
  "d",
4548
4575
  "stroke",
4549
4576
  "stroke-dasharray"
4550
- ], _o = ["data-series-id"], vo = [
4577
+ ], ho = ["data-series-id"], go = [
4551
4578
  "d",
4552
4579
  "stroke",
4553
4580
  "stroke-width"
4554
- ], yo = ["data-series-id", "data-point-type"], bo = ["d", "fill"], xo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4581
+ ], _o = ["data-series-id", "data-point-type"], vo = ["d", "fill"], yo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4555
4582
  __name: "WaveformSeriesLayer",
4556
4583
  props: {
4557
4584
  track: {},
@@ -4559,7 +4586,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4559
4586
  },
4560
4587
  setup(n) {
4561
4588
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
4562
- let t = lo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4589
+ let t = so(e.series.pointType, e.pointRenderPoints.map((t) => ({
4563
4590
  x: a.track.xScale(t.x),
4564
4591
  y: e.yScale(t.y)
4565
4592
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
@@ -4596,8 +4623,8 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4596
4623
  "data-line-style": e.series.lineStyle,
4597
4624
  d: e.path,
4598
4625
  stroke: e.series.color,
4599
- "stroke-dasharray": E(fo)(e.series.lineStyle)
4600
- }, null, 8, go)) : r("", !0),
4626
+ "stroke-dasharray": E(lo)(e.series.lineStyle)
4627
+ }, null, 8, mo)) : r("", !0),
4601
4628
  e.series.errorBar.visible ? (v(), i("g", {
4602
4629
  key: 1,
4603
4630
  class: "waveform-track__error-bars waveform-chart__error-bars",
@@ -4608,7 +4635,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4608
4635
  d: e.errorBarPath,
4609
4636
  stroke: e.series.errorBar.color || e.series.color,
4610
4637
  "stroke-width": e.series.errorBar.width
4611
- }, null, 8, vo)) : r("", !0)], 8, _o)) : r("", !0),
4638
+ }, null, 8, go)) : r("", !0)], 8, ho)) : r("", !0),
4612
4639
  e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
4613
4640
  key: 2,
4614
4641
  class: "waveform-track__points waveform-chart__points",
@@ -4619,28 +4646,28 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4619
4646
  class: "waveform-track__point waveform-chart__point",
4620
4647
  d: e.pointPath,
4621
4648
  fill: e.series.color
4622
- }, null, 8, bo)) : r("", !0)], 8, yo))
4623
- ], 8, ho))), 128))], 8, mo)) : r("", !0);
4649
+ }, null, 8, vo)) : r("", !0)], 8, _o))
4650
+ ], 8, po))), 128))], 8, fo)) : r("", !0);
4624
4651
  }
4625
- }), [["__scopeId", "data-v-42a3fd47"]]), So = ["transform"], Co = ["transform"], wo = {
4652
+ }), [["__scopeId", "data-v-42a3fd47"]]), bo = ["transform"], xo = ["transform"], So = {
4626
4653
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
4627
4654
  x: "0",
4628
4655
  y: "7",
4629
4656
  dy: "0.71em",
4630
4657
  "text-anchor": "start"
4631
- }, To = ["x"], Eo = [
4658
+ }, Co = ["x"], wo = [
4632
4659
  "data-y-axis-index",
4633
4660
  "data-y-axis-side",
4634
4661
  "transform"
4635
- ], Do = { key: 2 }, Oo = [
4662
+ ], To = { key: 2 }, Eo = [
4636
4663
  "x",
4637
4664
  "y",
4638
4665
  "width"
4639
- ], ko = ["fill", "transform"], Ao = ["data-y-axis-title-index"], jo = [
4666
+ ], Do = ["fill", "transform"], Oo = ["data-y-axis-title-index"], ko = [
4640
4667
  "x",
4641
4668
  "y",
4642
4669
  "width"
4643
- ], Mo = ["fill", "transform"], No = /* @__PURE__ */ l({
4670
+ ], Ao = ["fill", "transform"], jo = /* @__PURE__ */ l({
4644
4671
  __name: "WaveformTrackAxes",
4645
4672
  props: {
4646
4673
  track: {},
@@ -4700,7 +4727,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4700
4727
  ref: o,
4701
4728
  class: p(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
4702
4729
  transform: `translate(0, ${t.track.height})`
4703
- }, null, 10, So)) : r("", !0),
4730
+ }, null, 10, bo)) : r("", !0),
4704
4731
  t.track.showXAxis ? (v(), i("g", {
4705
4732
  key: 1,
4706
4733
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
@@ -4708,13 +4735,13 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4708
4735
  "font-family": "sans-serif",
4709
4736
  "font-size": "10",
4710
4737
  "aria-hidden": "true"
4711
- }, [a("text", wo, w(t.track.endpointLabels.start), 1), a("text", {
4738
+ }, [a("text", So, w(t.track.endpointLabels.start), 1), a("text", {
4712
4739
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
4713
4740
  x: t.track.width ?? t.innerWidth,
4714
4741
  y: "7",
4715
4742
  dy: "0.71em",
4716
4743
  "text-anchor": "end"
4717
- }, w(t.track.endpointLabels.end), 9, To)], 8, Co)) : r("", !0),
4744
+ }, w(t.track.endpointLabels.end), 9, Co)], 8, xo)) : r("", !0),
4718
4745
  (v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
4719
4746
  key: `y-axis-${t.track.index}-${e.index}`,
4720
4747
  ref_for: !0,
@@ -4723,21 +4750,21 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4723
4750
  "data-y-axis-index": e.index,
4724
4751
  "data-y-axis-side": e.side,
4725
4752
  transform: `translate(${e.x}, 0)`
4726
- }, null, 10, Eo))), 128)),
4727
- !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", Do, [a("rect", {
4753
+ }, null, 10, wo))), 128)),
4754
+ !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", To, [a("rect", {
4728
4755
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4729
4756
  x: t.track.yAxisLabelX - E(12) / 2,
4730
4757
  y: t.track.height / 2 - 40,
4731
4758
  width: E(12),
4732
4759
  height: "80",
4733
4760
  rx: "2"
4734
- }, null, 8, Oo), a("text", {
4761
+ }, null, 8, Eo), a("text", {
4735
4762
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4736
4763
  fill: t.track.series?.color,
4737
4764
  transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
4738
4765
  "text-anchor": "middle",
4739
4766
  "dominant-baseline": "central"
4740
- }, w(t.track.series ? c(t.track.series) : ""), 9, ko)])) : r("", !0),
4767
+ }, w(t.track.series ? c(t.track.series) : ""), 9, Do)])) : r("", !0),
4741
4768
  (v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
4742
4769
  key: `y-axis-title-${t.track.index}-${e.index}`,
4743
4770
  class: "waveform-track__multi-axis-title",
@@ -4749,40 +4776,40 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4749
4776
  width: E(12),
4750
4777
  height: "80",
4751
4778
  rx: "2"
4752
- }, null, 8, jo), a("text", {
4779
+ }, null, 8, ko), a("text", {
4753
4780
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4754
4781
  fill: e.seriesList[0].color,
4755
4782
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
4756
4783
  "text-anchor": "middle",
4757
4784
  "dominant-baseline": "central"
4758
- }, w(c(e.seriesList[0])), 9, Mo)], 8, Ao))), 128))
4785
+ }, w(c(e.seriesList[0])), 9, Ao)], 8, Oo))), 128))
4759
4786
  ], 64));
4760
4787
  }
4761
- }), Po = [
4788
+ }), Mo = [
4762
4789
  "width",
4763
4790
  "height",
4764
4791
  "fill"
4765
- ], Fo = ["clip-path"], Io = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Lo = [
4792
+ ], No = ["clip-path"], Po = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Fo = [
4766
4793
  "stroke",
4767
4794
  "x1",
4768
4795
  "x2",
4769
4796
  "y2"
4770
- ], Ro = [
4797
+ ], Io = [
4771
4798
  "stroke",
4772
4799
  "x2",
4773
4800
  "y1",
4774
4801
  "y2"
4775
- ], zo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Bo = [
4802
+ ], Lo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Ro = [
4776
4803
  "stroke",
4777
4804
  "x1",
4778
4805
  "x2",
4779
4806
  "y2"
4780
- ], Vo = [
4807
+ ], zo = [
4781
4808
  "stroke",
4782
4809
  "x2",
4783
4810
  "y1",
4784
4811
  "y2"
4785
- ], Ho = ["clip-path"], Uo = [
4812
+ ], Bo = ["clip-path"], Vo = [
4786
4813
  "data-y-axis-index",
4787
4814
  "x2",
4788
4815
  "y1",
@@ -4790,7 +4817,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4790
4817
  "stroke",
4791
4818
  "stroke-width",
4792
4819
  "stroke-dasharray"
4793
- ], Wo = ["x", "y"], Go = /* @__PURE__ */ l({
4820
+ ], Ho = ["x", "y"], Uo = /* @__PURE__ */ l({
4794
4821
  __name: "WaveformTrackBackdrop",
4795
4822
  props: {
4796
4823
  track: {},
@@ -4815,12 +4842,12 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4815
4842
  height: t.track.height,
4816
4843
  fill: t.frameStyle.backgroundColor,
4817
4844
  "aria-hidden": "true"
4818
- }, null, 8, Po)) : r("", !0),
4845
+ }, null, 8, Mo)) : r("", !0),
4819
4846
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
4820
4847
  key: 1,
4821
4848
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4822
4849
  "aria-hidden": "true"
4823
- }, [a("g", Io, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4850
+ }, [a("g", Po, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4824
4851
  key: `x-minor-${t.track.index}-${e}`,
4825
4852
  "data-grid-direction": "vertical",
4826
4853
  stroke: t.track.gridLines.verticalColor,
@@ -4828,7 +4855,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4828
4855
  x2: t.track.xScale(e),
4829
4856
  y1: "0",
4830
4857
  y2: t.track.height
4831
- }, null, 8, Lo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4858
+ }, null, 8, Fo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4832
4859
  key: `y-minor-${t.track.index}-${e}`,
4833
4860
  "data-grid-direction": "horizontal",
4834
4861
  stroke: t.track.gridLines.horizontalColor,
@@ -4836,7 +4863,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4836
4863
  x2: t.track.width ?? t.innerWidth,
4837
4864
  y1: t.track.yScale(e),
4838
4865
  y2: t.track.yScale(e)
4839
- }, null, 8, Ro))), 128)) : r("", !0)]), a("g", zo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4866
+ }, null, 8, Io))), 128)) : r("", !0)]), a("g", Lo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4840
4867
  key: `x-major-${t.track.index}-${e}`,
4841
4868
  "data-grid-direction": "vertical",
4842
4869
  stroke: t.track.gridLines.verticalColor,
@@ -4844,7 +4871,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4844
4871
  x2: t.track.xScale(e),
4845
4872
  y1: "0",
4846
4873
  y2: t.track.height
4847
- }, null, 8, Bo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4874
+ }, null, 8, Ro))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4848
4875
  key: `y-major-${t.track.index}-${e}`,
4849
4876
  "data-grid-direction": "horizontal",
4850
4877
  stroke: t.track.gridLines.horizontalColor,
@@ -4852,7 +4879,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4852
4879
  x2: t.track.width ?? t.innerWidth,
4853
4880
  y1: t.track.yScale(e),
4854
4881
  y2: t.track.yScale(e)
4855
- }, null, 8, Vo))), 128)) : r("", !0)])], 8, Fo)) : r("", !0),
4882
+ }, null, 8, zo))), 128)) : r("", !0)])], 8, No)) : r("", !0),
4856
4883
  !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
4857
4884
  key: 2,
4858
4885
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
@@ -4869,7 +4896,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4869
4896
  stroke: t.zeroLine.color,
4870
4897
  "stroke-width": t.zeroLine.width,
4871
4898
  "stroke-dasharray": t.zeroLine.dash || void 0
4872
- }, null, 8, Uo))], 64))), 128))], 8, Ho)) : r("", !0),
4899
+ }, null, 8, Vo))], 64))), 128))], 8, Bo)) : r("", !0),
4873
4900
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
4874
4901
  key: 3,
4875
4902
  class: "waveform-track__watermark waveform-chart__watermark",
@@ -4879,10 +4906,10 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4879
4906
  "text-anchor": "middle",
4880
4907
  "dominant-baseline": "central",
4881
4908
  "aria-hidden": "true"
4882
- }, w(t.frameNumber), 13, Wo)) : r("", !0)
4909
+ }, w(t.frameNumber), 13, Ho)) : r("", !0)
4883
4910
  ], 64));
4884
4911
  }
4885
- }), Ko = [
4912
+ }), Wo = [
4886
4913
  "data-track-index",
4887
4914
  "data-track-id",
4888
4915
  "data-track-empty",
@@ -4892,19 +4919,19 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4892
4919
  "data-track-top",
4893
4920
  "data-track-height",
4894
4921
  "transform"
4895
- ], qo = [
4922
+ ], Go = [
4896
4923
  "width",
4897
4924
  "height",
4898
4925
  "stroke",
4899
4926
  "stroke-width",
4900
4927
  "stroke-dasharray",
4901
4928
  "stroke-linecap"
4902
- ], Jo = [
4929
+ ], Ko = [
4903
4930
  "data-interactive",
4904
4931
  "data-independent-overlay-index",
4905
4932
  "width",
4906
4933
  "height"
4907
- ], Yo = ["x", "y"], Xo = /* @__PURE__ */ l({
4934
+ ], qo = ["x", "y"], Jo = /* @__PURE__ */ l({
4908
4935
  __name: "WaveformTrack",
4909
4936
  props: {
4910
4937
  track: {},
@@ -4964,7 +4991,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4964
4991
  "data-track-height": e.track.height,
4965
4992
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
4966
4993
  }, [
4967
- s(Go, {
4994
+ s(Uo, {
4968
4995
  track: e.track,
4969
4996
  "clip-path-id": e.clipPathId,
4970
4997
  "inner-width": e.innerWidth,
@@ -4981,7 +5008,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4981
5008
  "frame-style",
4982
5009
  "zero-line"
4983
5010
  ]),
4984
- s(No, {
5011
+ s(jo, {
4985
5012
  track: e.track,
4986
5013
  "inner-width": e.innerWidth,
4987
5014
  "clean-view": e.cleanView,
@@ -5007,8 +5034,8 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5007
5034
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
5008
5035
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
5009
5036
  "aria-hidden": "true"
5010
- }, null, 8, qo)),
5011
- s(xo, {
5037
+ }, null, 8, Go)),
5038
+ s(yo, {
5012
5039
  track: e.track,
5013
5040
  "clip-path-id": e.clipPathId
5014
5041
  }, null, 8, ["track", "clip-path-id"]),
@@ -5030,7 +5057,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5030
5057
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
5031
5058
  onClick: n[5] ||= (e) => o("click", e),
5032
5059
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
5033
- }, null, 42, Jo)) : r("", !0),
5060
+ }, null, 42, Ko)) : r("", !0),
5034
5061
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
5035
5062
  key: 2,
5036
5063
  class: "waveform-track__no-visible-series",
@@ -5038,33 +5065,33 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5038
5065
  y: e.track.height / 2,
5039
5066
  "text-anchor": "middle",
5040
5067
  "dominant-baseline": "central"
5041
- }, " 暂无可见曲线 ", 8, Yo)) : r("", !0)
5042
- ], 10, Ko));
5068
+ }, " 暂无可见曲线 ", 8, qo)) : r("", !0)
5069
+ ], 10, Wo));
5043
5070
  }
5044
- }), Zo = [
5071
+ }), Yo = [
5045
5072
  "width",
5046
5073
  "height",
5047
5074
  "data-position",
5048
5075
  "data-orientation"
5049
- ], Qo = [
5076
+ ], Xo = [
5050
5077
  "disabled",
5051
5078
  "aria-pressed",
5052
5079
  "aria-label",
5053
5080
  "onClick"
5054
- ], $o = [
5081
+ ], Zo = [
5055
5082
  "data-line-type",
5056
5083
  "data-line-style",
5057
5084
  "data-point-type",
5058
5085
  "data-error-bar-visible"
5059
- ], es = [
5086
+ ], Qo = [
5060
5087
  "d",
5061
5088
  "stroke",
5062
5089
  "stroke-dasharray"
5063
- ], ts = [
5090
+ ], $o = [
5064
5091
  "d",
5065
5092
  "stroke",
5066
5093
  "stroke-width"
5067
- ], ns = ["d", "fill"], rs = ["title"], is = /*#__PURE__*/ et(/* @__PURE__ */ l({
5094
+ ], es = ["d", "fill"], ts = ["title"], ns = /*#__PURE__*/ et(/* @__PURE__ */ l({
5068
5095
  __name: "WaveformLegend",
5069
5096
  props: {
5070
5097
  series: {},
@@ -5122,45 +5149,45 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5122
5149
  "data-point-type": e.pointType,
5123
5150
  "data-error-bar-visible": e.errorBar.visible || void 0
5124
5151
  }, [
5125
- E(uo)(e.lineType) ? (v(), i("path", {
5152
+ E(co)(e.lineType) ? (v(), i("path", {
5126
5153
  key: 0,
5127
5154
  class: "waveform-legend__line",
5128
- d: E(uo)(e.lineType) ?? void 0,
5155
+ d: E(co)(e.lineType) ?? void 0,
5129
5156
  stroke: e.color,
5130
- "stroke-dasharray": E(fo)(e.lineStyle),
5157
+ "stroke-dasharray": E(lo)(e.lineStyle),
5131
5158
  "stroke-width": "1.5",
5132
5159
  fill: "none"
5133
- }, null, 8, es)) : r("", !0),
5160
+ }, null, 8, Qo)) : r("", !0),
5134
5161
  e.errorBar.visible ? (v(), i("path", {
5135
5162
  key: 1,
5136
5163
  class: "waveform-legend__error-bar",
5137
- d: E(po)(e.errorBar.capWidth),
5164
+ d: E(uo)(e.errorBar.capWidth),
5138
5165
  stroke: e.errorBar.color || e.color,
5139
5166
  "stroke-width": e.errorBar.width,
5140
5167
  "stroke-linecap": "butt",
5141
5168
  fill: "none"
5142
- }, null, 8, ts)) : r("", !0),
5169
+ }, null, 8, $o)) : r("", !0),
5143
5170
  e.pointType === "none" ? r("", !0) : (v(), i("path", {
5144
5171
  key: 2,
5145
5172
  class: "waveform-legend__point",
5146
- d: E(co)(e.pointType, 30) ?? void 0,
5173
+ d: E(oo)(e.pointType, 30) ?? void 0,
5147
5174
  fill: e.color,
5148
5175
  transform: "translate(13 8)"
5149
- }, null, 8, ns))
5150
- ], 8, $o)), a("span", {
5176
+ }, null, 8, es))
5177
+ ], 8, Zo)), a("span", {
5151
5178
  class: "waveform-legend__label",
5152
5179
  title: e.name
5153
- }, w(e.name), 9, rs)], 10, Qo))), 128))], 6)], 2)], 8, Zo));
5180
+ }, w(e.name), 9, ts)], 10, Xo))), 128))], 6)], 2)], 8, Yo));
5154
5181
  }
5155
- }), [["__scopeId", "data-v-2ae12e71"]]), as = {
5182
+ }), [["__scopeId", "data-v-2ae12e71"]]), rs = {
5156
5183
  class: "waveform-chart__hover-layer",
5157
5184
  "pointer-events": "none",
5158
5185
  "aria-hidden": "true"
5159
- }, os = ["clip-path", "transform"], ss = [
5186
+ }, is = ["clip-path", "transform"], as = [
5160
5187
  "x1",
5161
5188
  "x2",
5162
5189
  "y2"
5163
- ], cs = /*#__PURE__*/ et(/* @__PURE__ */ l({
5190
+ ], os = /*#__PURE__*/ et(/* @__PURE__ */ l({
5164
5191
  __name: "WaveformHoverLayer",
5165
5192
  props: {
5166
5193
  state: {},
@@ -5169,11 +5196,14 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5169
5196
  visible: { type: Boolean }
5170
5197
  },
5171
5198
  setup(n) {
5172
- let r = n, o = t(() => !r.visible || r.state.queryX === null ? [] : r.tracks.flatMap((e) => (r.state.trackIndex === null || r.state.trackIndex === e.index) && !e.isEmpty && e.hasVisibleSeries ? [{
5173
- track: e,
5174
- x: e.xScale(r.state.queryX)
5175
- }] : []));
5176
- return (t, r) => (v(), i("g", as, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5199
+ let r = n, o = t(() => !r.visible || r.state.queryX === null ? [] : r.tracks.flatMap((e) => {
5200
+ let t = r.state.trackIndex === null || r.state.trackIndex === e.index, n = r.state.crosshairXByTrack[e.index];
5201
+ return t && !e.isEmpty && e.hasVisibleSeries && n !== void 0 ? [{
5202
+ track: e,
5203
+ x: e.xScale(n)
5204
+ }] : [];
5205
+ }));
5206
+ return (t, r) => (v(), i("g", rs, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5177
5207
  key: e.track.index,
5178
5208
  class: "waveform-track__crosshair waveform-chart__crosshair",
5179
5209
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -5183,9 +5213,9 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5183
5213
  x2: e.x,
5184
5214
  y1: "0",
5185
5215
  y2: e.track.height
5186
- }, null, 8, ss)], 8, os))), 128))]));
5216
+ }, null, 8, as)], 8, is))), 128))]));
5187
5217
  }
5188
- }), [["__scopeId", "data-v-044318c2"]]), ls = [
5218
+ }), [["__scopeId", "data-v-54a5a37d"]]), ss = [
5189
5219
  "data-display-mode",
5190
5220
  "data-interaction-mode",
5191
5221
  "data-presentation-mode",
@@ -5194,31 +5224,31 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5194
5224
  "data-plot-margin-top",
5195
5225
  "data-plot-margin-bottom",
5196
5226
  "data-title-area-height"
5197
- ], us = [
5227
+ ], cs = [
5198
5228
  "role",
5199
5229
  "aria-level",
5200
5230
  "aria-hidden"
5201
- ], ds = ["data-title-scale", "data-title-wrapped"], fs = [
5231
+ ], ls = ["data-title-scale", "data-title-wrapped"], us = [
5202
5232
  "width",
5203
5233
  "height",
5204
5234
  "aria-label"
5205
- ], ps = ["id"], ms = ["width", "height"], hs = ["transform"], gs = {
5235
+ ], ds = ["id"], fs = ["width", "height"], ps = ["transform"], ms = {
5206
5236
  key: 0,
5207
5237
  class: "waveform-chart__grid-slots",
5208
5238
  "aria-hidden": "true"
5209
- }, _s = ["transform"], vs = ["width", "height"], ys = ["width", "height"], bs = [
5239
+ }, hs = ["transform"], gs = ["width", "height"], _s = ["width", "height"], vs = [
5210
5240
  "x",
5211
5241
  "y",
5212
5242
  "width",
5213
5243
  "height"
5214
- ], xs = {
5244
+ ], ys = {
5215
5245
  key: 4,
5216
5246
  class: "waveform-chart__legend-layer"
5217
- }, Ss = [
5247
+ }, bs = [
5218
5248
  "data-legend-track-index",
5219
5249
  "data-legend-track-id",
5220
5250
  "transform"
5221
- ], Cs = ["x", "y"], ws = ["x", "y"], Ts = /* @__PURE__ */ l({
5251
+ ], xs = ["x", "y"], Ss = ["x", "y"], Cs = /* @__PURE__ */ l({
5222
5252
  __name: "WaveformChartView",
5223
5253
  props: { controller: {} },
5224
5254
  setup(t) {
@@ -5271,7 +5301,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5271
5301
  style: m(E(M)),
5272
5302
  "data-title-scale": E(N).scale,
5273
5303
  "data-title-wrapped": E(N).wrapped || void 0
5274
- }, w(E(A)), 13, ds)], 4)) : r("", !0)], 12, us)) : r("", !0),
5304
+ }, w(E(A)), 13, ls)], 4)) : r("", !0)], 12, cs)) : r("", !0),
5275
5305
  (v(), i("svg", {
5276
5306
  ref: E(Xe),
5277
5307
  class: "waveform-chart__svg",
@@ -5288,9 +5318,9 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5288
5318
  }, [a("rect", {
5289
5319
  width: e.width,
5290
5320
  height: e.height
5291
- }, null, 8, ms)], 8, ps))), 128))]),
5321
+ }, null, 8, fs)], 8, ds))), 128))]),
5292
5322
  a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
5293
- E(o) !== "compact" && !E(l) ? (v(), i("g", gs, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5323
+ E(o) !== "compact" && !E(l) ? (v(), i("g", ms, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5294
5324
  key: `grid-slot-${e.slotIndex}`,
5295
5325
  transform: `translate(${e.left}, ${e.top})`
5296
5326
  }, [e.series ? r("", !0) : (v(), i("rect", {
@@ -5298,7 +5328,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5298
5328
  class: "waveform-chart__grid-slot-placeholder",
5299
5329
  width: e.width,
5300
5330
  height: e.cellHeight
5301
- }, null, 8, vs))], 8, _s))), 128))])) : r("", !0),
5331
+ }, null, 8, gs))], 8, hs))), 128))])) : r("", !0),
5302
5332
  E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
5303
5333
  key: 1,
5304
5334
  ref: E(Qe),
@@ -5315,8 +5345,8 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5315
5345
  onPointerleave: T[4] ||= (...e) => E(K) && E(K)(...e),
5316
5346
  onClick: T[5] ||= (...e) => E(q) && E(q)(...e),
5317
5347
  onContextmenu: T[6] ||= (...e) => E(ae) && E(ae)(...e)
5318
- }, null, 42, ys)) : r("", !0),
5319
- (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(Xo), {
5348
+ }, null, 42, _s)) : r("", !0),
5349
+ (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(Jo), {
5320
5350
  key: `${e.index}-${e.id}`,
5321
5351
  track: e,
5322
5352
  "clip-path-id": E(z),
@@ -5362,7 +5392,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5362
5392
  "onClick",
5363
5393
  "onContextmenu"
5364
5394
  ]))), 128)),
5365
- s(E(cs), {
5395
+ s(E(os), {
5366
5396
  state: E(pe),
5367
5397
  tracks: E(R),
5368
5398
  "clip-path-id": E(z),
@@ -5381,7 +5411,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5381
5411
  width: E(he).width,
5382
5412
  height: E(he).height,
5383
5413
  "aria-hidden": "true"
5384
- }, null, 8, bs)) : r("", !0),
5414
+ }, null, 8, vs)) : r("", !0),
5385
5415
  E(l) ? r("", !0) : (v(), n(E(tt), {
5386
5416
  key: 3,
5387
5417
  annotations: E(ge),
@@ -5400,13 +5430,13 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5400
5430
  "onMove",
5401
5431
  "onDragEnd"
5402
5432
  ])),
5403
- E(l) ? r("", !0) : (v(), i("g", xs, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5433
+ E(l) ? r("", !0) : (v(), i("g", ys, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5404
5434
  key: `legend-${e.index}-${e.id}`,
5405
5435
  class: "waveform-chart__legend-track",
5406
5436
  "data-legend-track-index": e.index,
5407
5437
  "data-legend-track-id": e.id,
5408
5438
  transform: `translate(${e.left}, ${e.top})`
5409
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(is), {
5439
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(ns), {
5410
5440
  key: 0,
5411
5441
  series: e.legendSeries,
5412
5442
  position: E(X)(e.id),
@@ -5427,23 +5457,23 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5427
5457
  "width",
5428
5458
  "height",
5429
5459
  "onToggle"
5430
- ])) : r("", !0)], 8, Ss))), 128))]))
5431
- ], 8, hs),
5460
+ ])) : r("", !0)], 8, bs))), 128))]))
5461
+ ], 8, ps),
5432
5462
  E(De) && !E(l) ? (v(), i("text", {
5433
5463
  key: 0,
5434
5464
  class: "waveform-chart__label waveform-chart__x-label",
5435
5465
  x: E(g) + E(ee) / 2,
5436
5466
  y: E(Oe),
5437
5467
  "text-anchor": "middle"
5438
- }, w(E(De)), 9, Cs)) : r("", !0),
5468
+ }, w(E(De)), 9, xs)) : r("", !0),
5439
5469
  E(ke) && !E(I) ? (v(), i("text", {
5440
5470
  key: 1,
5441
5471
  class: "waveform-chart__empty",
5442
5472
  x: E(P) / 2,
5443
5473
  y: E(F) / 2,
5444
5474
  "text-anchor": "middle"
5445
- }, " 暂无有效波形数据 ", 8, ws)) : r("", !0)
5446
- ], 40, fs)),
5475
+ }, " 暂无有效波形数据 ", 8, Ss)) : r("", !0)
5476
+ ], 40, us)),
5447
5477
  E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(se), {
5448
5478
  key: 1,
5449
5479
  class: "waveform-chart__pagination",
@@ -5460,7 +5490,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5460
5490
  "total",
5461
5491
  "onChange"
5462
5492
  ])) : r("", !0),
5463
- E(Le) && !E(l) && !E(u) ? (v(), n(Ua, {
5493
+ E(Le) && !E(l) && !E(u) ? (v(), n(Va, {
5464
5494
  key: 2,
5465
5495
  annotation: E(Le).annotation,
5466
5496
  mode: E(Le).mode,
@@ -5502,7 +5532,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5502
5532
  "onDelete",
5503
5533
  "onClose"
5504
5534
  ])) : r("", !0),
5505
- s(E(to), {
5535
+ s(E($a), {
5506
5536
  state: E(pe),
5507
5537
  visible: E(me) && !E(u),
5508
5538
  "time-unit": E(de),
@@ -5515,9 +5545,9 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5515
5545
  "container-width",
5516
5546
  "container-height"
5517
5547
  ])
5518
- ], 46, ls));
5548
+ ], 46, ss));
5519
5549
  }
5520
- }), Es = /* @__PURE__ */ l({
5550
+ }), ws = /* @__PURE__ */ l({
5521
5551
  __name: "WaveformChart",
5522
5552
  props: {
5523
5553
  data: {},
@@ -5599,12 +5629,12 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
5599
5629
  "sampling-error"
5600
5630
  ],
5601
5631
  setup(e, { expose: t, emit: r }) {
5602
- let i = wa(e, r);
5632
+ let i = Sa(e, r);
5603
5633
  return t({
5604
5634
  resetViewport: i.resetViewport,
5605
5635
  setViewportDomain: i.setViewportDomain
5606
- }), (e, t) => (v(), n(Ts, { controller: E(i) }, null, 8, ["controller"]));
5636
+ }), (e, t) => (v(), n(Cs, { controller: E(i) }, null, 8, ["controller"]));
5607
5637
  }
5608
5638
  });
5609
5639
  //#endregion
5610
- export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Es as WaveformChart, gt as buildMinorTicks, mi as calculateWasmRange, It as clamp, kt as displayTime, hi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, fi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, pi as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };
5640
+ export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, ws as WaveformChart, gt as buildMinorTicks, fi as calculateWasmRange, It as clamp, kt as displayTime, pi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, ui as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, di as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };