waveform-analysis 0.1.64 → 0.1.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +33 -4
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +724 -621
  4. package/dist/style.css +1 -1
  5. package/dist/types/components/WaveformChart.vue.d.ts +3 -2
  6. package/dist/types/components/core/constants.d.ts +3 -1
  7. package/dist/types/components/core/trackLayoutBuilder.d.ts +2 -0
  8. package/dist/types/components/core/types.d.ts +2 -1
  9. package/dist/types/components/core/useWaveformChartController.d.ts +3 -0
  10. package/dist/types/components/core/useWaveformPresentation.d.ts +2 -0
  11. package/dist/types/components/core/waveformChartTypes.d.ts +3 -1
  12. package/dist/types/components/core/yAxisConstants.d.ts +1 -1
  13. package/dist/types/components/core/yAxisTitleLayout.d.ts +4 -0
  14. package/dist/types/components/interaction/integerZoom.d.ts +12 -0
  15. package/dist/types/components/interaction/viewportDomain.d.ts +1 -0
  16. package/dist/types/components/interaction/zoomConstraints.d.ts +2 -1
  17. package/dist/types/components/rendering/WaveformTrack.vue.d.ts +2 -6
  18. package/dist/types/components/rendering/WaveformTrackBackdrop.vue.d.ts +0 -4
  19. package/dist/types/components/rendering/WaveformZeroLines.vue.d.ts +12 -0
  20. package/dist/types/demo/types.d.ts +3 -0
  21. package/dist/types/index.d.ts +1 -0
  22. package/dist/types/types/chart.d.ts +8 -0
  23. package/package.json +1 -1
  24. package/src/App.vue +8 -2
  25. package/src/components/WaveformChart.css +4 -0
  26. package/src/components/WaveformChart.vue +2 -1
  27. package/src/components/core/constants.ts +5 -3
  28. package/src/components/core/layout.ts +1 -1
  29. package/src/components/core/trackLayoutBuilder.ts +30 -19
  30. package/src/components/core/types.ts +2 -0
  31. package/src/components/core/useWaveformChartLifecycle.ts +1 -1
  32. package/src/components/core/useWaveformLayout.ts +34 -17
  33. package/src/components/core/useWaveformPresentation.ts +11 -1
  34. package/src/components/core/waveformChartTypes.ts +3 -0
  35. package/src/components/core/yAxisConstants.ts +1 -1
  36. package/src/components/core/yAxisTitleLayout.ts +78 -0
  37. package/src/components/interaction/integerZoom.ts +64 -0
  38. package/src/components/interaction/useWaveformViewport.ts +8 -12
  39. package/src/components/interaction/useWaveformZoom.ts +6 -4
  40. package/src/components/interaction/viewportDomain.ts +12 -0
  41. package/src/components/interaction/zoomConstraints.ts +7 -5
  42. package/src/components/rendering/WaveformLegend.vue +1 -1
  43. package/src/components/rendering/WaveformSeriesLayer.vue +1 -1
  44. package/src/components/rendering/WaveformTrack.css +5 -2
  45. package/src/components/rendering/WaveformTrack.vue +18 -5
  46. package/src/components/rendering/WaveformTrackAxes.vue +9 -3
  47. package/src/components/rendering/WaveformTrackBackdrop.vue +2 -34
  48. package/src/components/rendering/WaveformZeroLines.vue +53 -0
  49. package/src/demo/DemoChartHost.vue +1 -0
  50. package/src/demo/DemoGridFrameControls.vue +12 -0
  51. package/src/demo/DemoViewControls.vue +4 -0
  52. package/src/demo/types.ts +3 -0
  53. package/src/index.ts +1 -0
  54. package/src/styles.css +3 -3
  55. package/src/types/chart.ts +8 -0
package/dist/index.js CHANGED
@@ -1031,7 +1031,7 @@ var zt = {
1031
1031
  top: 18,
1032
1032
  right: 24,
1033
1033
  bottom: 52,
1034
- left: 80
1034
+ left: 48
1035
1035
  }, Bt = {
1036
1036
  DEFAULT_MAX_SCALE: 40,
1037
1037
  MIN_SCALE: 1
@@ -1039,9 +1039,11 @@ var zt = {
1039
1039
  WIDTH: 1.5,
1040
1040
  CAP_WIDTH: 8
1041
1041
  }, Gt = {
1042
- COLOR: "#98a2b3",
1042
+ COLOR: "#ff0000",
1043
1043
  WIDTH: 1,
1044
- DASH: "6 4"
1044
+ DASH: "6 4",
1045
+ OPACITY: .5,
1046
+ BOUNDARY_THRESHOLD: .02
1045
1047
  };
1046
1048
  //#endregion
1047
1049
  //#region src/components/core/yDomain.ts
@@ -1517,17 +1519,73 @@ function Qn(e, t, n = !1) {
1517
1519
  return t.bounds === "end" ? [e[0], r[1]] : r;
1518
1520
  }
1519
1521
  //#endregion
1522
+ //#region src/components/core/yAxisTitleLayout.ts
1523
+ var $n = 14, er = 11, tr = 2;
1524
+ function nr(e) {
1525
+ return Array.from(e).reduce((e, t) => e + (/[\u2e80-\u9fff\uf900-\ufaff\uff01-\uff60]/u.test(t) ? 1 : /[MW@%]/u.test(t) ? .95 : /[ilI1., :;|'!]/u.test(t) ? .4 : .65) * $n, 0);
1526
+ }
1527
+ function rr(e, t, n) {
1528
+ let r = t.seriesList[0], i = nr(r?.name.trim() || n || "") / 2, a = e.height / 2 - i - tr, o = e.height / 2 + i + tr, s = Math.min(...t.tickValues), c = t.tickValues.flatMap((e) => {
1529
+ let n = t.scale(e) + .5, i = n - (e === s ? er : er / 2);
1530
+ return (e === s ? n : n + er / 2) < a || i > o ? [] : [br(e, t.scale.domain(), t.tickValues, r?.unit).length * 7];
1531
+ });
1532
+ return Math.max(7, ...c) + 7 + 20 / 2;
1533
+ }
1534
+ function ir(e, t) {
1535
+ let n = /* @__PURE__ */ new Map();
1536
+ for (let r of e) {
1537
+ let e = 0;
1538
+ for (let i of r.yAxes) {
1539
+ if (i.side !== "left") continue;
1540
+ let a = `${r.column}:${e++}`;
1541
+ n.set(a, Math.max(n.get(a) ?? 0, rr(r, i, t)));
1542
+ }
1543
+ }
1544
+ for (let t of e) {
1545
+ let e = 0;
1546
+ for (let r of t.yAxes) r.side === "left" && (r.labelX = r.x - n.get(`${t.column}:${e++}`));
1547
+ }
1548
+ }
1549
+ //#endregion
1550
+ //#region src/components/interaction/integerZoom.ts
1551
+ function ar(e, t, n) {
1552
+ if (!n.integerZoom) return W().domain(e).ticks(t);
1553
+ let r = n.timeUnit === "s" ? 1 : 1e3;
1554
+ return W().domain(e.map((e) => e * r)).ticks(t).filter(Number.isInteger).map((e) => e / r);
1555
+ }
1556
+ function or(e) {
1557
+ return String(Math.round(e));
1558
+ }
1559
+ function sr(e) {
1560
+ let t = Math.round(e);
1561
+ return Math.abs(e - t) <= 2 ** -52 * Math.max(1, Math.abs(e)) * 16 ? t : e;
1562
+ }
1563
+ function cr(e, t) {
1564
+ if (!t.integerZoom) return e;
1565
+ let n = t.timeUnit === "s" ? 1 : 1e3, r = sr(Math.min(e[0], e[1]) * n), i = sr(Math.max(e[0], e[1]) * n);
1566
+ if (!Number.isSafeInteger(Math.floor(r)) || !Number.isSafeInteger(Math.ceil(i))) return e;
1567
+ let a = Math.floor(r);
1568
+ return [a / n, Math.max(a + 1, Math.ceil(i)) / n];
1569
+ }
1570
+ function lr(e, t) {
1571
+ return cr(e, t);
1572
+ }
1573
+ function ur(e, t) {
1574
+ if (!t.integerZoom) return e;
1575
+ let n = t.timeUnit === "s" ? 1 : 1e3;
1576
+ return [Math.round(e[0] * n) / n, Math.round(e[1] * n) / n];
1577
+ }
1578
+ //#endregion
1520
1579
  //#region src/components/core/trackLayoutBuilder.ts
1521
- function $n(e, t, n) {
1580
+ function dr(e, t, n) {
1522
1581
  let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
1523
- return i ? Qn(i, r, !0) : Qn(e.xDomain, r);
1582
+ return cr(i ? Qn(i, r, !0) : Qn(e.xDomain, r), n);
1524
1583
  }
1525
- function er(e) {
1584
+ function fr(e) {
1526
1585
  let t = e.cells.map((e) => ({
1527
1586
  ...e,
1528
1587
  hasSeries: !!e.series
1529
- })), n = qn(t, e.grid.columnCount);
1530
- return t.flatMap((t, r) => {
1588
+ })), n = qn(t, e.grid.columnCount), r = t.flatMap((t, r) => {
1531
1589
  let i = !t.series || t.series.series.length === 0;
1532
1590
  if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
1533
1591
  let a = t.series ?? {
@@ -1536,14 +1594,16 @@ function er(e) {
1536
1594
  visibleSeries: [],
1537
1595
  xDomain: [0, 1],
1538
1596
  yDomain: [0, 1]
1539
- }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W($n(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? J : J).rescaleX(c), u = pr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
1597
+ }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W(dr(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? J : J).rescaleX(c);
1598
+ l.domain(lr(l.domain(), e));
1599
+ let u = Tr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
1540
1600
  left: 0,
1541
1601
  right: 0
1542
1602
  }, f = {
1543
1603
  left: 0,
1544
1604
  right: 0
1545
1605
  }, p = u.map((n) => {
1546
- let r = d[n.side]++, i = or(t.plotHeight, e.yAxisSplitNumber), a = sr(n.domain, i, e.yAxisNice !== !1), o = W(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = mr(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 12 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 12 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
1606
+ let r = d[n.side]++, i = vr(t.plotHeight, e.yAxisSplitNumber), a = yr(n.domain, i, e.yAxisNice !== !1), o = W(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = Er(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 20 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 20 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
1547
1607
  return p || (f[n.side] += u), {
1548
1608
  index: n.index,
1549
1609
  side: n.side,
@@ -1557,14 +1617,14 @@ function er(e) {
1557
1617
  };
1558
1618
  }), m = W(a.yDomain, [t.plotHeight, 0]);
1559
1619
  e.yAxisNice !== !1 && m.nice();
1560
- 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 = {
1561
- start: Mt(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1562
- end: Mt(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1563
- }, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
1620
+ let h = p[0]?.scale ?? m, g = ar(l.domain(), Math.max(2, Math.floor(t.width / 100)), e), _ = e.xAxisLabelFormatter ?? (e.integerZoom ? or : void 0), v = p[0]?.majorTicks ?? [], y = p[0]?.tickValues ?? [], b = l.domain(), x = {
1621
+ start: Mt(b[0], b, e.timeUnit, "start", _),
1622
+ end: Mt(b[1], b, e.timeUnit, "end", _)
1623
+ }, S = x.start.length * 7 + 10, C = x.end.length * 7 + 10, w = g.filter((e) => {
1564
1624
  let n = l(e);
1565
- return n > x && n < t.width - S;
1566
- }), w = a.visibleSeries.map((n) => {
1567
- let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Rn(n.points, y, t.width, e.rendering, {
1625
+ return n > S && n < t.width - C;
1626
+ }), T = a.visibleSeries.map((n) => {
1627
+ let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Rn(n.points, b, t.width, e.rendering, {
1568
1628
  lineVisible: !i && n.lineType !== "none",
1569
1629
  linePointOverride: e.linePointOverrides?.[n.id],
1570
1630
  pointVisible: n.pointType !== "none",
@@ -1599,14 +1659,15 @@ function er(e) {
1599
1659
  yScale: h,
1600
1660
  yAxes: p,
1601
1661
  xMajorTicks: g,
1602
- xMinorTicks: vt(g, 3, y),
1603
- yMajorTicks: _,
1662
+ xAxisLabelFormatter: _,
1663
+ xMinorTicks: vt(g, 3, b),
1664
+ yMajorTicks: v,
1604
1665
  yMinorTicks: p[0]?.minorTicks ?? [],
1605
- yAxisTickValues: v,
1606
- xAxisTickValues: C,
1607
- endpointLabels: b,
1608
- path: w[0]?.path ?? null,
1609
- seriesPaths: w,
1666
+ yAxisTickValues: y,
1667
+ xAxisTickValues: w,
1668
+ endpointLabels: x,
1669
+ path: T[0]?.path ?? null,
1670
+ seriesPaths: T,
1610
1671
  gridLines: e.grid.trackLines[a.id] ?? {
1611
1672
  horizontal: !0,
1612
1673
  vertical: !0
@@ -1614,14 +1675,15 @@ function er(e) {
1614
1675
  showXAxis: (i || o) && (e.displayMode === "independent" || (e.displayMode === "compact" ? t.isLastRow ?? t.row === e.grid.rowCount - 1 : n.has(t.slotIndex)))
1615
1676
  };
1616
1677
  });
1678
+ return ir(r, e.yLabel), r;
1617
1679
  }
1618
1680
  //#endregion
1619
1681
  //#region src/components/core/layout.ts
1620
- var tr = 7, nr = 7, rr = 4, ir = 0, ar = 12;
1621
- function or(e, t) {
1682
+ var pr = 7, mr = 7, hr = 4, gr = 0, _r = 20;
1683
+ function vr(e, t) {
1622
1684
  return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
1623
1685
  }
1624
- function sr(e, t = 5, n = !0) {
1686
+ function yr(e, t = 5, n = !0) {
1625
1687
  let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
1626
1688
  n && i.nice(Math.max(1, r - 1));
1627
1689
  let a = i.domain(), [o, s] = a;
@@ -1630,7 +1692,7 @@ function sr(e, t = 5, n = !0) {
1630
1692
  values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
1631
1693
  };
1632
1694
  }
1633
- function cr(e, t, n, r) {
1695
+ function br(e, t, n, r) {
1634
1696
  return Ot(e, {
1635
1697
  axisMin: t[0],
1636
1698
  axisMax: t[1],
@@ -1638,7 +1700,7 @@ function cr(e, t, n, r) {
1638
1700
  unit: r
1639
1701
  });
1640
1702
  }
1641
- function lr(e) {
1703
+ function xr(e) {
1642
1704
  return e >= 4 ? [
1643
1705
  "left",
1644
1706
  "left",
@@ -1650,13 +1712,13 @@ function lr(e) {
1650
1712
  "right"
1651
1713
  ] : e === 2 ? ["left", "right"] : ["left"];
1652
1714
  }
1653
- var ur = /* @__PURE__ */ new WeakMap();
1654
- function dr(e, t) {
1655
- let n = ur.get(e);
1656
- n || (n = /* @__PURE__ */ new Map(), ur.set(e, n));
1715
+ var Sr = /* @__PURE__ */ new WeakMap();
1716
+ function Cr(e, t) {
1717
+ let n = Sr.get(e);
1718
+ n || (n = /* @__PURE__ */ new Map(), Sr.set(e, n));
1657
1719
  let r = n.get(t);
1658
1720
  if (r) return r;
1659
- let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = lr(i), o = Array.from({ length: i }, (e, t) => ({
1721
+ let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = xr(i), o = Array.from({ length: i }, (e, t) => ({
1660
1722
  index: t,
1661
1723
  side: a[t],
1662
1724
  seriesList: [],
@@ -1673,9 +1735,9 @@ function dr(e, t) {
1673
1735
  }
1674
1736
  }), n.set(t, o), o;
1675
1737
  }
1676
- function fr(e, t, n, r) {
1738
+ function wr(e, t, n, r) {
1677
1739
  let i = qt(e, r);
1678
- return dr(e, t).map((e) => {
1740
+ return Cr(e, t).map((e) => {
1679
1741
  if (i) return {
1680
1742
  ...e,
1681
1743
  domain: i,
@@ -1689,30 +1751,30 @@ function fr(e, t, n, r) {
1689
1751
  } : e;
1690
1752
  });
1691
1753
  }
1692
- function pr(e, t, n, r, i) {
1754
+ function Tr(e, t, n, r, i) {
1693
1755
  let a = i?.[e.id];
1694
- return fr(e, t, n, r).map((e) => !e.fixed && a ? {
1756
+ return wr(e, t, n, r).map((e) => !e.fixed && a ? {
1695
1757
  ...e,
1696
1758
  domain: a
1697
1759
  } : e);
1698
1760
  }
1699
- function mr(e, t = !0, n, r, i = 5, a = !1) {
1761
+ function Er(e, t = !0, n, r, i = 5, a = !1) {
1700
1762
  let o = n ? {
1701
1763
  domain: e,
1702
1764
  values: n
1703
- } : sr(e, i, t), s = [o.values];
1704
- return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => cr(t, o.domain, e, r).length))) * tr };
1765
+ } : yr(e, i, t), s = [o.values];
1766
+ return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => br(t, o.domain, e, r).length))) * pr };
1705
1767
  }
1706
- function hr(e, t, n, r, i, a = !0, o = !1, s) {
1768
+ function Dr(e, t, n, r, i, a = !0, o = !1, s) {
1707
1769
  let c = /* @__PURE__ */ new Map();
1708
1770
  e.forEach((e) => {
1709
1771
  let l = {
1710
1772
  left: 0,
1711
1773
  right: 0
1712
1774
  };
1713
- pr(e, t, n, r, s).forEach((e) => {
1714
- let t = l[e.side]++, n = `${e.side}:${t}`, r = mr(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
1715
- c.set(n, Math.max(c.get(n) ?? tr, r));
1775
+ Tr(e, t, n, r, s).forEach((e) => {
1776
+ let t = l[e.side]++, n = `${e.side}:${t}`, r = Er(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
1777
+ c.set(n, Math.max(c.get(n) ?? pr, r));
1716
1778
  });
1717
1779
  });
1718
1780
  let l = [], u = {
@@ -1721,7 +1783,7 @@ function hr(e, t, n, r, i, a = !0, o = !1, s) {
1721
1783
  };
1722
1784
  return ["left", "right"].forEach((e) => {
1723
1785
  Array.from(c.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
1724
- let n = c.get(`${e}:${t}`) ?? tr, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + nr + ir + ar / 2) * (e === "left" ? -1 : 1), a = n + nr + ir + ar + rr;
1786
+ let n = c.get(`${e}:${t}`) ?? pr, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + mr + gr + _r / 2) * (e === "left" ? -1 : 1), a = n + mr + gr + _r + hr;
1725
1787
  l.push({
1726
1788
  side: e,
1727
1789
  sideIndex: t,
@@ -1735,7 +1797,7 @@ function hr(e, t, n, r, i, a = !0, o = !1, s) {
1735
1797
  clearance: u
1736
1798
  };
1737
1799
  }
1738
- function gr(e, t, n) {
1800
+ function Or(e, t, n) {
1739
1801
  let r = (e) => {
1740
1802
  let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
1741
1803
  return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
@@ -1754,11 +1816,11 @@ function gr(e, t, n) {
1754
1816
  }
1755
1817
  //#endregion
1756
1818
  //#region src/components/annotation/useWaveformChartAnnotations.ts
1757
- var _r = 0;
1758
- function vr() {
1759
- return _r += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${_r}`;
1819
+ var kr = 0;
1820
+ function Ar() {
1821
+ return kr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${kr}`;
1760
1822
  }
1761
- function yr(e) {
1823
+ function jr(e) {
1762
1824
  let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, b = x("");
1763
1825
  function S(e) {
1764
1826
  if (!i.value.some((t) => t.id === e)) return;
@@ -1791,7 +1853,7 @@ function yr(e) {
1791
1853
  };
1792
1854
  }
1793
1855
  function T(e, t, n) {
1794
- b.value = "", s.openCreate(e, vr, t), c.value = n;
1856
+ b.value = "", s.openCreate(e, Ar, t), c.value = n;
1795
1857
  let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
1796
1858
  r?.mode === "add" && (r.annotation.style = {
1797
1859
  borderColor: i?.color || "#1677ff",
@@ -1851,7 +1913,7 @@ function yr(e) {
1851
1913
  let e = l.value[n];
1852
1914
  return e?.hasVisibleSeries ? e : void 0;
1853
1915
  }
1854
- return gr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1916
+ return Or(l.value.filter((e) => e.hasVisibleSeries), e, t);
1855
1917
  }
1856
1918
  function A(e, t) {
1857
1919
  let n = e.currentTarget;
@@ -1942,7 +2004,7 @@ function yr(e) {
1942
2004
  }
1943
2005
  //#endregion
1944
2006
  //#region src/components/interaction/useWaveformHover.ts
1945
- function br(e) {
2007
+ function Mr(e) {
1946
2008
  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) => {
1947
2009
  let r = n.points[t];
1948
2010
  return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
@@ -2027,14 +2089,14 @@ function br(e) {
2027
2089
  }
2028
2090
  //#endregion
2029
2091
  //#region src/components/interaction/pointerCapture.ts
2030
- function xr(e, t) {
2092
+ function Nr(e, t) {
2031
2093
  try {
2032
2094
  e?.releasePointerCapture?.(t);
2033
2095
  } catch {}
2034
2096
  }
2035
2097
  //#endregion
2036
2098
  //#region src/components/interaction/viewportInteractionState.ts
2037
- function Sr(e) {
2099
+ function Pr(e) {
2038
2100
  return {
2039
2101
  ...e,
2040
2102
  currentX: e.startX,
@@ -2043,37 +2105,37 @@ function Sr(e) {
2043
2105
  yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
2044
2106
  };
2045
2107
  }
2046
- function Cr(e, t) {
2108
+ function Fr(e, t) {
2047
2109
  return {
2048
2110
  ...e,
2049
2111
  ...t
2050
2112
  };
2051
2113
  }
2052
- function wr(e) {
2114
+ function Ir(e) {
2053
2115
  return {
2054
2116
  state: e,
2055
2117
  accepted: !1,
2056
2118
  completed: null
2057
2119
  };
2058
2120
  }
2059
- function Tr(e, t) {
2121
+ function Lr(e, t) {
2060
2122
  switch (t.type) {
2061
- case "begin": return e ? wr(e) : {
2062
- state: Sr(t.gesture),
2123
+ case "begin": return e ? Ir(e) : {
2124
+ state: Pr(t.gesture),
2063
2125
  accepted: !0,
2064
2126
  completed: null
2065
2127
  };
2066
- case "move": return !e || e.pointerId !== t.pointerId ? wr(e) : {
2067
- state: Cr(e, t.position),
2128
+ case "move": return !e || e.pointerId !== t.pointerId ? Ir(e) : {
2129
+ state: Fr(e, t.position),
2068
2130
  accepted: !0,
2069
2131
  completed: null
2070
2132
  };
2071
- case "finish": return !e || e.pointerId !== t.pointerId ? wr(e) : {
2133
+ case "finish": return !e || e.pointerId !== t.pointerId ? Ir(e) : {
2072
2134
  state: null,
2073
2135
  accepted: !0,
2074
- completed: Cr(e, t.position)
2136
+ completed: Fr(e, t.position)
2075
2137
  };
2076
- case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? wr(e) : {
2138
+ case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? Ir(e) : {
2077
2139
  state: null,
2078
2140
  accepted: !0,
2079
2141
  completed: null
@@ -2087,15 +2149,15 @@ function Tr(e, t) {
2087
2149
  }
2088
2150
  //#endregion
2089
2151
  //#region src/components/interaction/zoomConstraints.ts
2090
- var Er = /* @__PURE__ */ new WeakMap();
2091
- function Dr(e) {
2152
+ var Rr = /* @__PURE__ */ new WeakMap();
2153
+ function zr(e) {
2092
2154
  return e[0] <= e[1] ? [...e] : [e[1], e[0]];
2093
2155
  }
2094
- function Or(e) {
2156
+ function Br(e) {
2095
2157
  return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
2096
2158
  }
2097
- function kr(e, t) {
2098
- let n = `${t[0]}\u0000${t[1]}`, r = Er.get(e)?.get(n);
2159
+ function Vr(e, t) {
2160
+ let n = `${t[0]}\u0000${t[1]}`, r = Rr.get(e)?.get(n);
2099
2161
  if (r) return r;
2100
2162
  let i = /* @__PURE__ */ new Set();
2101
2163
  for (let n of e) {
@@ -2105,14 +2167,14 @@ function kr(e, t) {
2105
2167
  r.x >= t[0] && r.x <= t[1] && i.add(r.x);
2106
2168
  }
2107
2169
  }
2108
- let a = Array.from(i).sort((e, t) => e - t), o = Er.get(e) ?? /* @__PURE__ */ new Map();
2109
- return o.set(n, a), Er.set(e, o), a;
2170
+ let a = Array.from(i).sort((e, t) => e - t), o = Rr.get(e) ?? /* @__PURE__ */ new Map();
2171
+ return o.set(n, a), Rr.set(e, o), a;
2110
2172
  }
2111
- function Ar(e, t, n) {
2173
+ function Hr(e, t, n) {
2112
2174
  if (n <= 1) return 0;
2113
2175
  let r = 0;
2114
2176
  for (let i of e) {
2115
- let e = kr(i, t);
2177
+ let e = Vr(i, t);
2116
2178
  if (e.length < n) return t[1] - t[0];
2117
2179
  let a = Infinity;
2118
2180
  for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
@@ -2121,17 +2183,17 @@ function Ar(e, t, n) {
2121
2183
  }
2122
2184
  return r;
2123
2185
  }
2124
- function jr(e, t, n) {
2125
- let r = Dr(e), i = r[1] - r[0];
2186
+ function Ur(e, t, n) {
2187
+ let r = cr(zr(e), n), i = r[1] - r[0];
2126
2188
  if (!Number.isFinite(i) || i <= 0) return 0;
2127
- let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Or(n.minVisiblePoints), s = Ar(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Bt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Bt.DEFAULT_MAX_SCALE : 0;
2128
- return Math.max(a, s, l);
2189
+ let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Br(n.minVisiblePoints), s = Hr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Bt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Bt.DEFAULT_MAX_SCALE : 0, u = n.integerZoom ? n.timeUnit === "s" ? 1 : .001 : 0;
2190
+ return Math.max(a, s, l, u);
2129
2191
  }
2130
- function Mr(e, t, n, r) {
2192
+ function Wr(e, t, n, r) {
2131
2193
  if (r <= 0) return e;
2132
2194
  let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
2133
2195
  for (let e of n) {
2134
- let n = kr(e, t);
2196
+ let n = Vr(e, t);
2135
2197
  if (n.length < r) return [...t];
2136
2198
  if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
2137
2199
  let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
@@ -2143,13 +2205,13 @@ function Mr(e, t, n, r) {
2143
2205
  }
2144
2206
  return a;
2145
2207
  }
2146
- function Nr(e, t, n, r) {
2147
- let i = Dr(t), a = i[1] - i[0];
2208
+ function Gr(e, t, n, r) {
2209
+ let i = cr(zr(t), r), a = i[1] - i[0];
2148
2210
  if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
2149
- let o = Mr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Or(r.minVisiblePoints)), s = jr(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));
2150
- return [u, u + c];
2211
+ let o = Wr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Br(r.minVisiblePoints)), s = Ur(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));
2212
+ return cr([u, u + c], r);
2151
2213
  }
2152
- function Pr(e, t, n) {
2214
+ function Kr(e, t, n) {
2153
2215
  let r = t[1] - t[0], i = e[1] - e[0];
2154
2216
  if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return J;
2155
2217
  let a = r / i, o = W(t, [0, n]);
@@ -2157,7 +2219,11 @@ function Pr(e, t, n) {
2157
2219
  }
2158
2220
  //#endregion
2159
2221
  //#region src/components/interaction/viewportDomain.ts
2160
- function Fr(e) {
2222
+ function qr(e, t) {
2223
+ let n = e[1] - e[0];
2224
+ return n >= t[1] - t[0] ? [...t] : e[0] < t[0] ? [t[0], t[0] + n] : e[1] > t[1] ? [t[1] - n, t[1]] : e;
2225
+ }
2226
+ function Jr(e) {
2161
2227
  return (t, n) => {
2162
2228
  if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
2163
2229
  if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
@@ -2165,12 +2231,12 @@ function Fr(e) {
2165
2231
  r.forEach((n) => {
2166
2232
  let r = e.trackLayouts.value.find((e) => e.index === n);
2167
2233
  if (!r) return;
2168
- let a = e.resolveInitialTrackDomain(r), o = Nr(t, a, [r.seriesList], e.props);
2169
- i[n] = Pr(o, a, r.width);
2234
+ let a = e.resolveInitialTrackDomain(r), o = Gr(t, a, [r.seriesList], e.props);
2235
+ i[n] = Kr(o, a, r.width);
2170
2236
  }), e.independentTransforms.value = i;
2171
2237
  } else {
2172
- let n = e.initialXDomain.value, r = Nr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2173
- e.sharedTransform.value = Pr(r, n, e.innerWidth.value);
2238
+ let n = e.initialXDomain.value, r = Gr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2239
+ e.sharedTransform.value = Kr(r, n, e.innerWidth.value);
2174
2240
  }
2175
2241
  e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
2176
2242
  }
@@ -2178,14 +2244,14 @@ function Fr(e) {
2178
2244
  }
2179
2245
  //#endregion
2180
2246
  //#region src/components/interaction/zoomEventPayload.ts
2181
- function Ir(e) {
2247
+ function Yr(e) {
2182
2248
  return [...e].sort().join("\0");
2183
2249
  }
2184
- function Lr(e, t) {
2185
- let n = Ir(t);
2186
- return e.find((e) => Ir(e.seriesList.map((e) => e.id)) === n);
2250
+ function Xr(e, t) {
2251
+ let n = Yr(t);
2252
+ return e.find((e) => Yr(e.seriesList.map((e) => e.id)) === n);
2187
2253
  }
2188
- function Rr(e, t, n, r) {
2254
+ function Zr(e, t, n, r) {
2189
2255
  e("zoom-intent", r ? {
2190
2256
  start: t[0],
2191
2257
  end: t[1],
@@ -2198,9 +2264,9 @@ function Rr(e, t, n, r) {
2198
2264
  gesture: "box"
2199
2265
  });
2200
2266
  }
2201
- function zr(e, t, n) {
2267
+ function Qr(e, t, n) {
2202
2268
  for (let r of n) {
2203
- let n = Lr(t, r);
2269
+ let n = Xr(t, r);
2204
2270
  if (!n) continue;
2205
2271
  let i = n.xScale.domain(), a = n.yScale.domain();
2206
2272
  e("zoom-end", {
@@ -2214,7 +2280,7 @@ function zr(e, t, n) {
2214
2280
  });
2215
2281
  }
2216
2282
  }
2217
- function Br(e, t, n) {
2283
+ function $r(e, t, n) {
2218
2284
  let r = n.filter((e) => e.hasVisibleSeries);
2219
2285
  if (r.length === 1) {
2220
2286
  let n = r[0]?.yScale.domain();
@@ -2236,13 +2302,13 @@ function Br(e, t, n) {
2236
2302
  }
2237
2303
  //#endregion
2238
2304
  //#region src/components/interaction/useWaveformViewport.ts
2239
- function Vr(e) {
2305
+ function ei(e) {
2240
2306
  let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: C, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = w(), k = (e, t) => {
2241
2307
  let n = O.value, r = t?.currentTarget;
2242
- xr(n, e), r && r !== n && xr(r, e);
2308
+ Nr(n, e), r && r !== n && Nr(r, e);
2243
2309
  }, A = (e, t) => {
2244
2310
  let n = i.value;
2245
- !n || n.pointerId !== e || (k(e, t), i.value = Tr(i.value, {
2311
+ !n || n.pointerId !== e || (k(e, t), i.value = Lr(i.value, {
2246
2312
  type: "cancel",
2247
2313
  pointerId: e
2248
2314
  }).state, O.value = void 0);
@@ -2256,16 +2322,13 @@ function Vr(e) {
2256
2322
  width: Math.abs(e.currentX - e.startX),
2257
2323
  height: Math.abs(e.currentY - e.startY)
2258
2324
  };
2259
- }), M = (e, t) => {
2260
- let n = e[1] - e[0];
2261
- return n >= t[1] - t[0] ? [...t] : e[0] < t[0] ? [t[0], t[0] + n] : e[1] > t[1] ? [t[1] - n, t[1]] : e;
2262
- }, N = () => Object.fromEntries(o.value.filter((e) => e.hasVisibleSeries).map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])), P = (e, t, r) => {
2325
+ }), M = () => Object.fromEntries(o.value.filter((e) => e.hasVisibleSeries).map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])), N = (e, t, r) => {
2263
2326
  if (v.value) return;
2264
2327
  let s = n.pannable && a.value;
2265
2328
  if (!n.zoomable && !s || !_.value || e.button !== 0) return;
2266
2329
  let c = e.currentTarget, d = o.value.find((e) => e.index === t);
2267
2330
  if (!d) return;
2268
- let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = Tr(i.value, {
2331
+ let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = Lr(i.value, {
2269
2332
  type: "begin",
2270
2333
  gesture: {
2271
2334
  trackIndex: t,
@@ -2275,34 +2338,34 @@ function Vr(e) {
2275
2338
  pointerId: e.pointerId,
2276
2339
  kind: s ? "pan" : "box",
2277
2340
  xDomain: d.xScale.domain(),
2278
- yDomains: N()
2341
+ yDomains: M()
2279
2342
  }
2280
2343
  });
2281
2344
  g.accepted && (i.value = g.state, O.value = c, c.setPointerCapture?.(e.pointerId), E(), e.preventDefault());
2282
- }, F = (e) => {
2345
+ }, P = (e) => {
2283
2346
  if (!d.value) return;
2284
2347
  let [t, n] = U(e, d.value), r = D(t, n), i = (r?.hasVisibleSeries ? r : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
2285
- i && P(e, i.index, !1);
2286
- }, I = (e, t) => {
2287
- 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], _);
2348
+ i && N(e, i.index, !1);
2349
+ }, F = (e, t) => {
2350
+ 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 = ur(qr([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _), n);
2288
2351
  if (e.independent) {
2289
2352
  let e = [...m.value];
2290
- e[t.index] = Pr(v, _, i), m.value = e;
2291
- } else p.value = Pr(v, _, l.value);
2353
+ e[t.index] = Kr(v, _, i), m.value = e;
2354
+ } else p.value = Kr(v, _, l.value);
2292
2355
  let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
2293
2356
  y.forEach((t) => {
2294
2357
  let r = s.value.find((e) => e.id === t.id);
2295
2358
  if (r && Yt(r, n.yDomain, n.yDomains)) return;
2296
- let i = t.series?.trackId ?? t.series?.id ?? t.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = M([o[0] + d / a * l, o[1] + d / a * l], c);
2359
+ let i = t.series?.trackId ?? t.series?.id ?? t.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = qr([o[0] + d / a * l, o[1] + d / a * l], c);
2297
2360
  e.independent ? x[t.index] = u : S[i] = u;
2298
2361
  }), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
2299
- }, L = (e) => {
2362
+ }, I = (e) => {
2300
2363
  if (v.value) return;
2301
2364
  let t = i.value, n = O.value;
2302
2365
  if (!t || !n || e.pointerId !== t.pointerId) return;
2303
2366
  let r = o.value.find((e) => e.index === t.trackIndex);
2304
2367
  if (!r) return;
2305
- let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = Tr(i.value, {
2368
+ let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = Lr(i.value, {
2306
2369
  type: "move",
2307
2370
  pointerId: e.pointerId,
2308
2371
  position: {
@@ -2312,21 +2375,21 @@ function Vr(e) {
2312
2375
  });
2313
2376
  if (!f.accepted || !f.state) return;
2314
2377
  let p = f.state;
2315
- i.value = p, p.kind === "pan" && I(p, r), e.preventDefault();
2316
- }, R = (e) => {
2378
+ i.value = p, p.kind === "pan" && F(p, r), e.preventDefault();
2379
+ }, L = (e) => {
2317
2380
  let t = i.value;
2318
2381
  !t || e && e.pointerId !== t.pointerId || A(t.pointerId, e);
2319
- }, z = (e) => {
2382
+ }, R = (e) => {
2320
2383
  let t = o.value.find((t) => t.index === e.trackIndex);
2321
2384
  if (!t || (e.independent ? !x(t) : !S())) return;
2322
2385
  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));
2323
2386
  if (s - a < 6) return;
2324
- let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Nr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2387
+ let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Gr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2325
2388
  if (e.independent) {
2326
2389
  let e = [...m.value];
2327
- e[t.index] = Pr(h, u, t.width), m.value = e;
2328
- } else p.value = Pr(h, u, l.value);
2329
- Rr(r, h, t, e.independent);
2390
+ e[t.index] = Kr(h, u, t.width), m.value = e;
2391
+ } else p.value = Kr(h, u, l.value);
2392
+ Zr(r, h, t, e.independent);
2330
2393
  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()]));
2331
2394
  if (r("zoom-change", h), e.independent) {
2332
2395
  let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
@@ -2355,9 +2418,9 @@ function Vr(e) {
2355
2418
  gesture: "box"
2356
2419
  });
2357
2420
  f(C);
2358
- }, B = (e) => {
2421
+ }, z = (e) => {
2359
2422
  if (v.value) {
2360
- R();
2423
+ L();
2361
2424
  return;
2362
2425
  }
2363
2426
  let t = i.value;
@@ -2367,7 +2430,7 @@ function Vr(e) {
2367
2430
  A(t.pointerId, e);
2368
2431
  return;
2369
2432
  }
2370
- let [a, s] = U(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = Tr(i.value, {
2433
+ let [a, s] = U(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = Lr(i.value, {
2371
2434
  type: "finish",
2372
2435
  pointerId: e.pointerId,
2373
2436
  position: {
@@ -2377,13 +2440,13 @@ function Vr(e) {
2377
2440
  }).completed;
2378
2441
  if (p) {
2379
2442
  if (i.value = null, k(p.pointerId, e), O.value = void 0, e.preventDefault(), p.kind === "pan") {
2380
- I(p, n), f(C);
2443
+ F(p, n), f(C);
2381
2444
  return;
2382
2445
  }
2383
- Math.abs(p.currentX - p.startX) >= 6 && z(p);
2446
+ Math.abs(p.currentX - p.startX) >= 6 && R(p);
2384
2447
  }
2385
- }, V = (e) => {
2386
- if (T(), R(), n.displayMode === "independent" && e !== void 0) {
2448
+ }, B = (e) => {
2449
+ if (T(), L(), n.displayMode === "independent" && e !== void 0) {
2387
2450
  let t = [...m.value];
2388
2451
  t[e] = J, m.value = t;
2389
2452
  let n = { ...g.value };
@@ -2393,13 +2456,13 @@ function Vr(e) {
2393
2456
  };
2394
2457
  return {
2395
2458
  selectionBox: j,
2396
- beginViewportDrag: P,
2397
- beginSharedViewportDrag: F,
2398
- updateViewportDrag: L,
2399
- finishViewportDrag: B,
2400
- cancelViewportDrag: R,
2401
- resetViewport: V,
2402
- setViewportDomain: Fr({
2459
+ beginViewportDrag: N,
2460
+ beginSharedViewportDrag: P,
2461
+ updateViewportDrag: I,
2462
+ finishViewportDrag: z,
2463
+ cancelViewportDrag: L,
2464
+ resetViewport: B,
2465
+ setViewportDomain: Jr({
2403
2466
  props: n,
2404
2467
  trackLayouts: o,
2405
2468
  initialXDomain: c,
@@ -2408,7 +2471,7 @@ function Vr(e) {
2408
2471
  sharedTransform: p,
2409
2472
  independentTransforms: m,
2410
2473
  cancelPendingZoom: T,
2411
- cancelViewportDrag: R,
2474
+ cancelViewportDrag: L,
2412
2475
  clearHover: E,
2413
2476
  editorSeriesOptions: y,
2414
2477
  configureZoom: C
@@ -2418,20 +2481,20 @@ function Vr(e) {
2418
2481
  if (n.displayMode === "independent") {
2419
2482
  let t = (e.target instanceof Element ? e.target : null)?.closest("[data-independent-overlay-index]"), n = Number(t?.getAttribute("data-independent-overlay-index")), i = o.value.find((e) => e.index === n);
2420
2483
  if (!i) return;
2421
- e.preventDefault(), V(n), r("zoom-reset", {
2484
+ e.preventDefault(), B(n), r("zoom-reset", {
2422
2485
  trackIndex: n,
2423
2486
  seriesIds: i.legendSeries.map((e) => e.id)
2424
2487
  });
2425
2488
  return;
2426
2489
  }
2427
- e.preventDefault(), V(), r("zoom-reset", {});
2490
+ e.preventDefault(), B(), r("zoom-reset", {});
2428
2491
  }
2429
2492
  }
2430
2493
  };
2431
2494
  }
2432
2495
  //#endregion
2433
2496
  //#region src/components/utils/useAnimationFrameThrottle.ts
2434
- function Hr() {
2497
+ function ti() {
2435
2498
  let e = null, t = null;
2436
2499
  function n(n) {
2437
2500
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -2460,27 +2523,27 @@ function Hr() {
2460
2523
  }
2461
2524
  //#endregion
2462
2525
  //#region src/components/interaction/useWaveformZoom.ts
2463
- function Ur(e) {
2464
- 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 = Hr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
2526
+ function ni(e) {
2527
+ 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 = ti(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
2465
2528
  if (y || m.value) return;
2466
2529
  g(), b = e.transform, x = "wheel", I();
2467
- let t = e.transform.rescaleX(W(c.value, [0, u.value])).domain();
2530
+ let [r, i] = lr(e.transform.rescaleX(W(c.value, [0, u.value])).domain(), t);
2468
2531
  n("zoom-intent", {
2469
- start: t[0],
2470
- end: t[1],
2532
+ start: r,
2533
+ end: i,
2471
2534
  gesture: "wheel"
2472
2535
  }), k();
2473
- }, j = (e, t) => {
2536
+ }, j = (e, r) => {
2474
2537
  if (y || m.value) return;
2475
- g(), C.set(t, e.transform), w.set(t, "wheel"), I();
2476
- let r = s.value.find((e) => e.index === t);
2477
- if (r) {
2478
- let i = e.transform.rescaleX(W(h(r), [0, r.width])).domain();
2538
+ g(), C.set(r, e.transform), w.set(r, "wheel"), I();
2539
+ let i = s.value.find((e) => e.index === r);
2540
+ if (i) {
2541
+ let a = e.transform.rescaleX(W(h(i), [0, i.width])).domain();
2479
2542
  n("zoom-intent", {
2480
- start: i[0],
2481
- end: i[1],
2482
- trackIndex: t,
2483
- seriesIds: r.seriesList.map((e) => e.id),
2543
+ start: lr(a, t)[0],
2544
+ end: lr(a, t)[1],
2545
+ trackIndex: r,
2546
+ seriesIds: i.seriesList.map((e) => e.id),
2484
2547
  gesture: "wheel"
2485
2548
  });
2486
2549
  }
@@ -2494,36 +2557,36 @@ function Ur(e) {
2494
2557
  if (b) {
2495
2558
  let e = b;
2496
2559
  b = null, S = x, x = null, a.value = e;
2497
- let t = e.rescaleX(W(c.value, [0, u.value])).domain();
2498
- n("zoom-change", [t[0], t[1]]);
2560
+ let r = e.rescaleX(W(c.value, [0, u.value])).domain();
2561
+ n("zoom-change", lr([r[0], r[1]], t));
2499
2562
  }
2500
2563
  if (!C.size) return;
2501
- let e = [...o.value], t = Array.from(C.keys()), r = new Map(w);
2564
+ let e = [...o.value], r = Array.from(C.keys()), i = new Map(w);
2502
2565
  C.forEach((t, n) => {
2503
2566
  e[n] = t;
2504
2567
  }), C.clear(), w.clear(), o.value = e;
2505
- let i = new Map(s.value.map((e) => [e.index, e]));
2506
- t.forEach((e) => {
2507
- let t = i.get(e);
2568
+ let l = new Map(s.value.map((e) => [e.index, e]));
2569
+ r.forEach((e) => {
2570
+ let t = l.get(e);
2508
2571
  if (!t) return;
2509
- if (r.get(e) === "wheel") {
2572
+ if (i.get(e) === "wheel") {
2510
2573
  let e = t.seriesList.map((e) => e.id);
2511
- T.set(Ir(e), e);
2574
+ T.set(Yr(e), e);
2512
2575
  }
2513
- let a = t.xScale.domain();
2514
- n("zoom-change", [a[0], a[1]]);
2576
+ let r = t.xScale.domain();
2577
+ n("zoom-change", [r[0], r[1]]);
2515
2578
  });
2516
2579
  }
2517
2580
  let N = () => {
2518
2581
  if (t.displayMode === "independent") {
2519
- zr(n, s.value, T.values()), T.clear();
2582
+ Qr(n, s.value, T.values()), T.clear();
2520
2583
  return;
2521
2584
  }
2522
2585
  if (S !== "wheel") {
2523
2586
  S = null;
2524
2587
  return;
2525
2588
  }
2526
- Br(n, l.value, s.value), S = null;
2589
+ $r(n, l.value, s.value), S = null;
2527
2590
  }, P = () => {
2528
2591
  v.flush(), M(), !(S === "wheel" || T.size) && N();
2529
2592
  }, F = (e) => {
@@ -2543,9 +2606,9 @@ function Ur(e) {
2543
2606
  }, B = (e, n) => {
2544
2607
  let r = Math.abs(e[1] - e[0]);
2545
2608
  if (!Number.isFinite(r) || r <= 0) return Bt.MIN_SCALE;
2546
- let i = jr(e, n, t);
2609
+ let i = Ur(e, n, t);
2547
2610
  return Math.max(Bt.MIN_SCALE, i > 0 ? r / i : Infinity);
2548
- }, V = (e, n, r, i) => Pr(Nr(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2611
+ }, V = (e, n, r, i) => Kr(Gr(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2549
2612
  let n = Number(t.minVisiblePoints);
2550
2613
  return jn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2551
2614
  }, U = () => {
@@ -2597,13 +2660,13 @@ function Ur(e) {
2597
2660
  }
2598
2661
  //#endregion
2599
2662
  //#region src/components/core/useWaveformChartLifecycle.ts
2600
- function Wr(e) {
2663
+ function ri(e) {
2601
2664
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2602
2665
  }
2603
- function Gr(e) {
2666
+ function ii(e) {
2604
2667
  let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: O, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
2605
2668
  function te(e) {
2606
- z.value || e.code !== "Space" || !t.pannable || !_.value || Wr(e.target) || (m.value = !0, e.preventDefault());
2669
+ z.value || e.code !== "Space" || !t.pannable || !_.value || ri(e.target) || (m.value = !0, e.preventDefault());
2607
2670
  }
2608
2671
  function ne(e) {
2609
2672
  e.code === "Space" && (m.value = !1);
@@ -2617,7 +2680,7 @@ function Gr(e) {
2617
2680
  if (t.displayMode === "independent") {
2618
2681
  K = void 0, q = new Map(w.value.flatMap((e) => {
2619
2682
  let t = e.xScale.domain(), n = I(e);
2620
- return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Ir(e.seriesList.map((e) => e.id)), t]] : [];
2683
+ return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Yr(e.seriesList.map((e) => e.id)), t]] : [];
2621
2684
  }));
2622
2685
  return;
2623
2686
  }
@@ -2634,14 +2697,14 @@ function Gr(e) {
2634
2697
  if (t.displayMode === "independent" && q) {
2635
2698
  let e = C.value.map(() => J);
2636
2699
  w.value.forEach((n) => {
2637
- let r = q?.get(Ir(n.seriesList.map((e) => e.id)));
2700
+ let r = q?.get(Yr(n.seriesList.map((e) => e.id)));
2638
2701
  if (!r) return;
2639
- let i = I(n), a = Nr(r, i, [n.seriesList], t);
2640
- e[n.index] = Pr(a, i, n.width);
2702
+ let i = I(n), a = Gr(r, i, [n.seriesList], t);
2703
+ e[n.index] = Kr(a, i, n.width);
2641
2704
  }), P.value = e, q = void 0;
2642
2705
  } else if (t.displayMode !== "independent" && K) {
2643
- let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Nr(K, e, n, t);
2644
- A.value = Pr(r, e, T.value), K = void 0;
2706
+ let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Gr(K, e, n, t);
2707
+ A.value = Kr(r, e, T.value), K = void 0;
2645
2708
  }
2646
2709
  H();
2647
2710
  });
@@ -2666,7 +2729,11 @@ function Gr(e) {
2666
2729
  j
2667
2730
  ], async () => {
2668
2731
  await f(), H();
2669
- }, { immediate: !0 }), k(() => t.displayMode, () => {
2732
+ }, { immediate: !0 }), k(() => [
2733
+ t.displayMode,
2734
+ t.integerZoom,
2735
+ t.integerZoom ? t.timeUnit : void 0
2736
+ ], () => {
2670
2737
  let e = v.value;
2671
2738
  v.value = 1, U(), e !== 1 && n("page-change", 1, y.value);
2672
2739
  }), k([
@@ -2727,7 +2794,7 @@ function Gr(e) {
2727
2794
  }
2728
2795
  //#endregion
2729
2796
  //#region src/components/core/useWaveformData.ts
2730
- function Kr(e) {
2797
+ function ai(e) {
2731
2798
  return dn(e).map(({ source: e, ...t }) => {
2732
2799
  let n = e.metrics(t.errorBar.visible);
2733
2800
  return {
@@ -2740,45 +2807,45 @@ function Kr(e) {
2740
2807
  };
2741
2808
  });
2742
2809
  }
2743
- function qr(e, t, n) {
2744
- let r = w(Kr(e()));
2810
+ function oi(e, t, n) {
2811
+ let r = w(ai(e()));
2745
2812
  return k(e, (e) => {
2746
- t(), r.value = Kr(e), n();
2813
+ t(), r.value = ai(e), n();
2747
2814
  }), r;
2748
2815
  }
2749
2816
  //#endregion
2750
2817
  //#region wasm/pkg/waveform_sampling_wasm.js
2751
- function Jr(e, t) {
2752
- let n = ci(e, $.__wbindgen_malloc), r = mi, i = ci(t, $.__wbindgen_malloc), a = mi, o = $.calculate_range(n, r, i, a);
2753
- if (o[3]) throw li(o[2]);
2754
- var s = $r(o[0], o[1]).slice();
2818
+ function si(e, t) {
2819
+ let n = xi(e, $.__wbindgen_malloc), r = Di, i = xi(t, $.__wbindgen_malloc), a = Di, o = $.calculate_range(n, r, i, a);
2820
+ if (o[3]) throw Si(o[2]);
2821
+ var s = fi(o[0], o[1]).slice();
2755
2822
  return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
2756
2823
  }
2757
- function Yr(e, t, n, r) {
2758
- let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.find_visible_range(i, a, o, s, n, r);
2759
- if (c[3]) throw li(c[2]);
2760
- var l = ei(c[0], c[1]).slice();
2824
+ function ci(e, t, n, r) {
2825
+ let i = xi(e, $.__wbindgen_malloc), a = Di, o = xi(t, $.__wbindgen_malloc), s = Di, c = $.find_visible_range(i, a, o, s, n, r);
2826
+ if (c[3]) throw Si(c[2]);
2827
+ var l = pi(c[0], c[1]).slice();
2761
2828
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2762
2829
  }
2763
- function Xr(e, t, n, r) {
2764
- let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_aggregates(i, a, o, s, n, r);
2765
- if (c[3]) throw li(c[2]);
2766
- var l = $r(c[0], c[1]).slice();
2830
+ function li(e, t, n, r) {
2831
+ let i = xi(e, $.__wbindgen_malloc), a = Di, o = xi(t, $.__wbindgen_malloc), s = Di, c = $.sample_aggregates(i, a, o, s, n, r);
2832
+ if (c[3]) throw Si(c[2]);
2833
+ var l = fi(c[0], c[1]).slice();
2767
2834
  return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2768
2835
  }
2769
- function Zr(e, t, n, r) {
2770
- let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_indexes(i, a, o, s, n, r);
2771
- if (c[3]) throw li(c[2]);
2772
- var l = ei(c[0], c[1]).slice();
2836
+ function ui(e, t, n, r) {
2837
+ let i = xi(e, $.__wbindgen_malloc), a = Di, o = xi(t, $.__wbindgen_malloc), s = Di, c = $.sample_indexes(i, a, o, s, n, r);
2838
+ if (c[3]) throw Si(c[2]);
2839
+ var l = pi(c[0], c[1]).slice();
2773
2840
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2774
2841
  }
2775
- function Qr() {
2842
+ function di() {
2776
2843
  return {
2777
2844
  __proto__: null,
2778
2845
  "./waveform_sampling_wasm_bg.js": {
2779
2846
  __proto__: null,
2780
2847
  __wbindgen_cast_0000000000000001: function(e, t) {
2781
- return ri(e, t);
2848
+ return gi(e, t);
2782
2849
  },
2783
2850
  __wbindgen_init_externref_table: function() {
2784
2851
  let e = $.__wbindgen_externrefs, t = e.grow(4);
@@ -2787,52 +2854,52 @@ function Qr() {
2787
2854
  }
2788
2855
  };
2789
2856
  }
2790
- function $r(e, t) {
2791
- return e >>>= 0, ni().subarray(e / 8, e / 8 + t);
2857
+ function fi(e, t) {
2858
+ return e >>>= 0, hi().subarray(e / 8, e / 8 + t);
2792
2859
  }
2793
- function ei(e, t) {
2794
- return e >>>= 0, ai().subarray(e / 4, e / 4 + t);
2860
+ function pi(e, t) {
2861
+ return e >>>= 0, vi().subarray(e / 4, e / 4 + t);
2795
2862
  }
2796
- var ti = null;
2797
- function ni() {
2798
- return (ti === null || ti.byteLength === 0) && (ti = new Float64Array($.memory.buffer)), ti;
2863
+ var mi = null;
2864
+ function hi() {
2865
+ return (mi === null || mi.byteLength === 0) && (mi = new Float64Array($.memory.buffer)), mi;
2799
2866
  }
2800
- function ri(e, t) {
2801
- return e >>>= 0, pi(e, t);
2867
+ function gi(e, t) {
2868
+ return e >>>= 0, Ei(e, t);
2802
2869
  }
2803
- var ii = null;
2804
- function ai() {
2805
- return (ii === null || ii.byteLength === 0) && (ii = new Uint32Array($.memory.buffer)), ii;
2870
+ var _i = null;
2871
+ function vi() {
2872
+ return (_i === null || _i.byteLength === 0) && (_i = new Uint32Array($.memory.buffer)), _i;
2806
2873
  }
2807
- var oi = null;
2808
- function si() {
2809
- return (oi === null || oi.byteLength === 0) && (oi = new Uint8Array($.memory.buffer)), oi;
2874
+ var yi = null;
2875
+ function bi() {
2876
+ return (yi === null || yi.byteLength === 0) && (yi = new Uint8Array($.memory.buffer)), yi;
2810
2877
  }
2811
- function ci(e, t) {
2878
+ function xi(e, t) {
2812
2879
  let n = t(e.length * 8, 8) >>> 0;
2813
- return ni().set(e, n / 8), mi = e.length, n;
2880
+ return hi().set(e, n / 8), Di = e.length, n;
2814
2881
  }
2815
- function li(e) {
2882
+ function Si(e) {
2816
2883
  let t = $.__wbindgen_externrefs.get(e);
2817
2884
  return $.__externref_table_dealloc(e), t;
2818
2885
  }
2819
- var ui = new TextDecoder("utf-8", {
2886
+ var Ci = new TextDecoder("utf-8", {
2820
2887
  ignoreBOM: !0,
2821
2888
  fatal: !0
2822
2889
  });
2823
- ui.decode();
2824
- var di = 2146435072, fi = 0;
2825
- function pi(e, t) {
2826
- return fi += t, fi >= di && (ui = new TextDecoder("utf-8", {
2890
+ Ci.decode();
2891
+ var wi = 2146435072, Ti = 0;
2892
+ function Ei(e, t) {
2893
+ return Ti += t, Ti >= wi && (Ci = new TextDecoder("utf-8", {
2827
2894
  ignoreBOM: !0,
2828
2895
  fatal: !0
2829
- }), ui.decode(), fi = t), ui.decode(si().subarray(e, e + t));
2896
+ }), Ci.decode(), Ti = t), Ci.decode(bi().subarray(e, e + t));
2830
2897
  }
2831
- var mi = 0, $;
2832
- function hi(e, t) {
2833
- return $ = e.exports, ti = null, ii = null, oi = null, $.__wbindgen_start(), $;
2898
+ var Di = 0, $;
2899
+ function Oi(e, t) {
2900
+ return $ = e.exports, mi = null, _i = null, yi = null, $.__wbindgen_start(), $;
2834
2901
  }
2835
- async function gi(e, t) {
2902
+ async function ki(e, t) {
2836
2903
  if (typeof Response == "function" && e instanceof Response) {
2837
2904
  if (typeof WebAssembly.instantiateStreaming == "function") try {
2838
2905
  return await WebAssembly.instantiateStreaming(e, t);
@@ -2858,17 +2925,17 @@ async function gi(e, t) {
2858
2925
  return !1;
2859
2926
  }
2860
2927
  }
2861
- async function _i(e) {
2928
+ async function Ai(e) {
2862
2929
  if ($ !== void 0) return $;
2863
2930
  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));
2864
- let t = Qr();
2931
+ let t = di();
2865
2932
  (typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
2866
- let { instance: n, module: r } = await gi(await e, t);
2867
- return hi(n, r);
2933
+ let { instance: n, module: r } = await ki(await e, t);
2934
+ return Oi(n, r);
2868
2935
  }
2869
2936
  //#endregion
2870
2937
  //#region src/core/wasmSampling.ts
2871
- var vi = {
2938
+ var ji = {
2872
2939
  none: 0,
2873
2940
  peak: 1,
2874
2941
  lttb: 2,
@@ -2877,24 +2944,24 @@ var vi = {
2877
2944
  max: 5,
2878
2945
  minmax: 6,
2879
2946
  sum: 7
2880
- }, yi;
2881
- function bi(e, t) {
2947
+ }, Mi;
2948
+ function Ni(e, t) {
2882
2949
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
2883
2950
  }
2884
- function xi(e) {
2951
+ function Pi(e) {
2885
2952
  if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
2886
2953
  }
2887
- function Si(e) {
2888
- return yi ??= Promise.resolve(_i(e)).then(() => void 0), yi;
2954
+ function Fi(e) {
2955
+ return Mi ??= Promise.resolve(Ai(e)).then(() => void 0), Mi;
2889
2956
  }
2890
- async function Ci(e) {
2891
- xi(e), await Si();
2892
- let t = bi(e.targetPointCount, e.x.length), n = vi[e.strategy];
2957
+ async function Ii(e) {
2958
+ Pi(e), await Fi();
2959
+ let t = Ni(e.targetPointCount, e.x.length), n = ji[e.strategy];
2893
2960
  if (e.strategy !== "average" && e.strategy !== "sum") return {
2894
2961
  kind: "source-indexes",
2895
- sourceIndexes: Zr(e.x, e.y, n, t)
2962
+ sourceIndexes: ui(e.x, e.y, n, t)
2896
2963
  };
2897
- let r = Xr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2964
+ let r = li(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2898
2965
  for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
2899
2966
  return {
2900
2967
  kind: "aggregates",
@@ -2902,50 +2969,50 @@ async function Ci(e) {
2902
2969
  y: a
2903
2970
  };
2904
2971
  }
2905
- async function wi(e, t) {
2972
+ async function Li(e, t) {
2906
2973
  if (e.length !== t.length) throw Error("x and y must have the same length");
2907
- await Si();
2908
- let n = Jr(e, t);
2974
+ await Fi();
2975
+ let n = si(e, t);
2909
2976
  return n.length === 4 ? {
2910
2977
  x: [n[0], n[1]],
2911
2978
  y: [n[2], n[3]]
2912
2979
  } : void 0;
2913
2980
  }
2914
- async function Ti(e, t, n) {
2981
+ async function Ri(e, t, n) {
2915
2982
  if (e.length !== t.length) throw Error("x and y must have the same length");
2916
- await Si();
2917
- let r = Yr(e, t, n[0], n[1]);
2983
+ await Fi();
2984
+ let r = ci(e, t, n[0], n[1]);
2918
2985
  return [r[0], r[1]];
2919
2986
  }
2920
2987
  //#endregion
2921
2988
  //#region src/components/core/trackPagination.ts
2922
- var Ei = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Di = (e, t, n, r, i) => {
2989
+ var zi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Bi = (e, t, n, r, i) => {
2923
2990
  let a = t?.[i];
2924
2991
  if (a !== void 0) return a;
2925
2992
  if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
2926
- }, Oi = (e, t, n) => (r) => {
2993
+ }, Vi = (e, t, n) => (r) => {
2927
2994
  let i = n(), a = i.findIndex((e) => e.id === r);
2928
- return Di(e(), t(), i.length, a >= 0 ? a : 0, r);
2995
+ return Bi(e(), t(), i.length, a >= 0 ? a : 0, r);
2929
2996
  };
2930
2997
  //#endregion
2931
2998
  //#region src/components/core/yAxisLayoutMetrics.ts
2932
- function ki(e, t, n, r) {
2999
+ function Hi(e, t, n, r) {
2933
3000
  return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
2934
3001
  let n = r[t];
2935
3002
  return n ? [[e.id, n]] : [];
2936
3003
  })) : n;
2937
3004
  }
2938
- function Ai(e, t, n, r, i, a, o, s) {
2939
- let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => pr(e, t, n, r, i)).map((e) => mr(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 12 / 2);
3005
+ function Ui(e, t, n, r, i, a, o, s) {
3006
+ let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => Tr(e, t, n, r, i)).map((e) => Er(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 20 / 2);
2940
3007
  return {
2941
3008
  tickClearance: u,
2942
- fullClearance: l + 7 + 0 + 12 + 4,
3009
+ fullClearance: l + 7 + 0 + 20 + 4,
2943
3010
  labelCenterX: d
2944
3011
  };
2945
3012
  }
2946
3013
  //#endregion
2947
3014
  //#region src/components/core/useWaveformLayout.ts
2948
- function ji(e) {
3015
+ function Wi(e) {
2949
3016
  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) => ({
2950
3017
  ...e,
2951
3018
  color: e.color ?? (t === 0 ? n.lineColor : Ut[t % Ut.length])
@@ -2968,10 +3035,10 @@ function ji(e) {
2968
3035
  yDomain: o.length ? _t(o) : [0, 1]
2969
3036
  };
2970
3037
  });
2971
- }), v = t(() => Dn(n.rendering)), y = t(() => Ei(_.value, g.value.hideEmptyTracks)), b = t(() => Un(y.value.length, g.value)), x = t(() => Wn(y.value, i.value, g.value)), S = t(() => {
3038
+ }), v = t(() => Dn(n.rendering)), y = t(() => zi(_.value, g.value.hideEmptyTracks)), b = t(() => Un(y.value.length, g.value)), x = t(() => Wn(y.value, i.value, g.value)), S = t(() => {
2972
3039
  let e = x.value.filter((e) => e.series.length > 0);
2973
3040
  return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
2974
- }), C = t(() => or(s.value, n.axes?.y?.splitNumber)), w = t(() => ki(n.displayMode, _.value, d.value, f.value)), T = t(() => Ai(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(zt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => hr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(zt.right, k.value.clearance.right) : zt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
3041
+ }), C = t(() => vr(s.value, n.axes?.y?.splitNumber)), w = t(() => Hi(n.displayMode, _.value, d.value, f.value)), T = t(() => Ui(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(zt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => Dr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(zt.right, k.value.clearance.right) : zt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
2975
3042
  let e = Gn(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, T.value.fullClearance), a = Math.max(e, T.value.tickClearance), o = (M.value - i * Math.max(0, t - 1)) / t >= 120;
2976
3043
  return {
2977
3044
  horizontalGap: n.overlayMode === "multi-axis" && r && D.value ? Math.max(e, k.value.clearance.left + k.value.clearance.right) : r && D.value ? E.value && o ? i : a : e,
@@ -2984,14 +3051,14 @@ function ji(e) {
2984
3051
  }), _t(e);
2985
3052
  }), B = t(() => {
2986
3053
  let e = n.initialXDomain;
2987
- return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Qn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Qn(z.value, n.xDomainStrategy);
3054
+ return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? cr(Qn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0), n) : cr(Qn(z.value, n.xDomainStrategy), n);
2988
3055
  }), V = (e) => {
2989
3056
  let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
2990
- return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Qn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Qn(_t(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2991
- }, H = t(() => l.value.rescaleX(W(B.value, [0, M.value])).domain()), U = t(() => Kn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
3057
+ return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? cr(Qn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0), n) : cr(Qn(_t(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy), n);
3058
+ }, H = t(() => lr(l.value.rescaleX(W(B.value, [0, M.value])).domain(), n)), U = t(() => Kn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
2992
3059
  ...e,
2993
3060
  series: S.value[t]
2994
- }))), G = t(() => er({
3061
+ }))), G = t(() => fr({
2995
3062
  cells: U.value,
2996
3063
  grid: g.value,
2997
3064
  displayMode: n.displayMode,
@@ -3001,6 +3068,7 @@ function ji(e) {
3001
3068
  initialXDomain: n.initialXDomain ? B.value : void 0,
3002
3069
  initialXDomains: n.initialXDomains,
3003
3070
  xDomainStrategy: n.xDomainStrategy,
3071
+ integerZoom: n.integerZoom,
3004
3072
  fixedYDomain: n.yDomain,
3005
3073
  fixedYDomains: n.yDomains,
3006
3074
  yDomains: w.value,
@@ -3011,8 +3079,9 @@ function ji(e) {
3011
3079
  rendering: v.value,
3012
3080
  linePointOverrides: m?.value,
3013
3081
  hideSecondaryLabels: c.value || N.value.hideSecondaryLabels,
3082
+ yLabel: n.yLabel,
3014
3083
  yAxisLabelX: k.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? T.value.labelCenterX,
3015
- yAxisSlots: n.overlayMode === "multi-axis" ? k.value.slots : void 0,
3084
+ yAxisSlots: k.value.slots,
3016
3085
  showCompactEmptyTracks: n.displayMode === "compact" && P.value
3017
3086
  })), ee = (e) => e.seriesList.map((t) => ({
3018
3087
  ...e,
@@ -3053,16 +3122,16 @@ function ji(e) {
3053
3122
  unit: t.unit
3054
3123
  } : void 0;
3055
3124
  }),
3056
- resolveFrameNumber: Oi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3125
+ resolveFrameNumber: Vi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3057
3126
  };
3058
3127
  }
3059
- var Mi = 1e-6;
3060
- function Ni(e) {
3128
+ var Gi = 1e-6;
3129
+ function Ki(e) {
3061
3130
  return Number.isFinite(e) ? Math.max(1, e) : 1;
3062
3131
  }
3063
- function Pi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3064
- let i = Ni(e), a = Ni(t), o = Ni(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;
3065
- if (!(d > Mi && Math.abs(d - 360) > Mi)) {
3132
+ function qi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3133
+ let i = Ki(e), a = Ki(t), o = Ki(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;
3134
+ if (!(d > Gi && Math.abs(d - 360) > Gi)) {
3066
3135
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
3067
3136
  return {
3068
3137
  textWidth: t,
@@ -3087,17 +3156,19 @@ function Pi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
3087
3156
  }
3088
3157
  //#endregion
3089
3158
  //#region src/components/core/useWaveformPresentation.ts
3090
- function Fi(e) {
3159
+ function Ji(e) {
3091
3160
  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(() => ({
3092
3161
  width: l.value === void 0 ? "100%" : `${l.value}px`,
3093
3162
  height: u.value === void 0 ? "100%" : `${u.value}px`
3094
3163
  })), m = t(() => n.cleanView === !0), h = t(() => n.presentationMode === !0), g = t(() => {
3095
- let e = n.zeroLine.width;
3164
+ let e = n.zeroLine.width, t = n.zeroLine.opacity, r = n.zeroLine.boundaryThreshold;
3096
3165
  return {
3097
- visible: n.zeroLine.visible === !0,
3166
+ visible: n.zeroLine.visible !== !1,
3098
3167
  color: n.zeroLine.color || Gt.COLOR,
3099
3168
  width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Gt.WIDTH,
3100
- dash: n.zeroLine.dash ?? Gt.DASH
3169
+ dash: n.zeroLine.dash ?? Gt.DASH,
3170
+ opacity: typeof t == "number" && Number.isFinite(t) && t >= 0 && t <= 1 ? t : Gt.OPACITY,
3171
+ boundaryThreshold: typeof r == "number" && Number.isFinite(r) && r >= 0 ? r : Gt.BOUNDARY_THRESHOLD
3101
3172
  };
3102
3173
  }), _ = t(() => n.legend.backgroundColor || "rgba(255, 255, 255, 0.7)"), v = t(() => n.legend.interactive === !0), y = t(() => n.hiddenSeriesIds === void 0 ? s.value : new Set(n.hiddenSeriesIds)), b = t(() => Array.from(y.value)), x = (e) => n.legend.trackPositions?.[e] ?? n.legend.position ?? "top-right", S = (e) => {
3103
3174
  let t = n.legend.orientation ?? "auto";
@@ -3132,7 +3203,7 @@ function Fi(e) {
3132
3203
  maxWidth: O.value ? "none" : `${j.value}px`,
3133
3204
  whiteSpace: O.value ? "nowrap" : "normal",
3134
3205
  overflowWrap: O.value ? "normal" : "anywhere"
3135
- })), N = t(() => Pi({
3206
+ })), N = t(() => qi({
3136
3207
  naturalWidth: a.value || A.value,
3137
3208
  naturalHeight: o.value || E.value * 1.2,
3138
3209
  availableWidth: j.value,
@@ -3188,66 +3259,66 @@ function Fi(e) {
3188
3259
  }
3189
3260
  //#endregion
3190
3261
  //#region src/core/samplingReferenceValues.ts
3191
- function Ii(e, t) {
3262
+ function Yi(e, t) {
3192
3263
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3193
3264
  }
3194
- function Li(e, t, n, r) {
3265
+ function Xi(e, t, n, r) {
3195
3266
  let i = r - n;
3196
3267
  return {
3197
3268
  start: n + Math.floor(e * i / t),
3198
3269
  end: n + Math.floor((e + 1) * i / t)
3199
3270
  };
3200
3271
  }
3201
- function Ri(e, t) {
3272
+ function Zi(e, t) {
3202
3273
  e[e.length - 1] !== t && e.push(t);
3203
3274
  }
3204
- function zi(e, t, n) {
3275
+ function Qi(e, t, n) {
3205
3276
  if (e <= t) return Array.from({ length: e }, (e, t) => t);
3206
3277
  if (t === 1) return [0];
3207
3278
  if (t === 2) return [0, e - 1];
3208
3279
  let r = [0];
3209
- return n().forEach((e) => Ri(r, e)), Ri(r, e - 1), r;
3280
+ return n().forEach((e) => Zi(r, e)), Zi(r, e - 1), r;
3210
3281
  }
3211
- function Bi(e, t, n) {
3282
+ function $i(e, t, n) {
3212
3283
  let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
3213
- return zi(e.length, t, () => {
3284
+ return Qi(e.length, t, () => {
3214
3285
  if (!r) return [];
3215
3286
  let t = [];
3216
3287
  for (let i = 0; i < r; i += 1) {
3217
- let a = Li(i, r, 1, e.length - 1), o = a.start, s = a.start;
3288
+ let a = Xi(i, r, 1, e.length - 1), o = a.start, s = a.start;
3218
3289
  for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
3219
- n === "min" ? Ri(t, o) : n === "max" ? Ri(t, s) : o <= s ? (Ri(t, o), Ri(t, s)) : (Ri(t, s), Ri(t, o));
3290
+ n === "min" ? Zi(t, o) : n === "max" ? Zi(t, s) : o <= s ? (Zi(t, o), Zi(t, s)) : (Zi(t, s), Zi(t, o));
3220
3291
  }
3221
3292
  return t;
3222
3293
  });
3223
3294
  }
3224
- function Vi(e, t) {
3295
+ function ea(e, t) {
3225
3296
  let n = Math.floor((t - 2) / 4);
3226
- return zi(e.length, t, () => {
3297
+ return Qi(e.length, t, () => {
3227
3298
  if (!n) return [];
3228
3299
  let t = [];
3229
3300
  for (let r = 0; r < n; r += 1) {
3230
- let i = Li(r, n, 1, e.length - 1), a = i.start, o = i.start;
3301
+ let i = Xi(r, n, 1, e.length - 1), a = i.start, o = i.start;
3231
3302
  for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
3232
3303
  [
3233
3304
  i.start,
3234
3305
  a,
3235
3306
  o,
3236
3307
  i.end - 1
3237
- ].sort((e, t) => e - t).forEach((e) => Ri(t, e));
3308
+ ].sort((e, t) => e - t).forEach((e) => Zi(t, e));
3238
3309
  }
3239
3310
  return t;
3240
3311
  });
3241
3312
  }
3242
- function Hi(e, t, n) {
3243
- return zi(e.length, n, () => {
3313
+ function ta(e, t, n) {
3314
+ return Qi(e.length, n, () => {
3244
3315
  let r = (e.length - 2) / (n - 2), i = [], a = 0;
3245
3316
  for (let o = 0; o < n - 2; o += 1) {
3246
3317
  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;
3247
3318
  for (let n = s; n < c; n += 1) l += e[n], u += t[n];
3248
3319
  let d = c - s;
3249
3320
  d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
3250
- let f = Li(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3321
+ let f = Xi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3251
3322
  for (let n = f.start; n < f.end; n += 1) {
3252
3323
  let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
3253
3324
  r > m && (m = r, p = n);
@@ -3257,10 +3328,10 @@ function Hi(e, t, n) {
3257
3328
  return i;
3258
3329
  });
3259
3330
  }
3260
- function Ui(e, t, n, r) {
3261
- let i = Ii(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3331
+ function na(e, t, n, r) {
3332
+ let i = Yi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3262
3333
  for (let n = 0; n < i; n += 1) {
3263
- let s = Li(n, i, 0, e.length);
3334
+ let s = Xi(n, i, 0, e.length);
3264
3335
  for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
3265
3336
  let c = s.end - s.start;
3266
3337
  a[n] /= c, r === "average" && (o[n] /= c);
@@ -3271,10 +3342,10 @@ function Ui(e, t, n, r) {
3271
3342
  y: o
3272
3343
  };
3273
3344
  }
3274
- function Wi(e, t, n, r) {
3345
+ function ra(e, t, n, r) {
3275
3346
  if (e.length !== t.length) throw Error("x and y must have the same length");
3276
- if (n === "average" || n === "sum") return Ui(e, t, r, n);
3277
- let i = Ii(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Vi(t, i) : n === "lttb" ? Hi(e, t, i) : Bi(t, i, n);
3347
+ if (n === "average" || n === "sum") return na(e, t, r, n);
3348
+ let i = Yi(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? ea(t, i) : n === "lttb" ? ta(e, t, i) : $i(t, i, n);
3278
3349
  return {
3279
3350
  kind: "source-indexes",
3280
3351
  sourceIndexes: Uint32Array.from(a)
@@ -3282,41 +3353,41 @@ function Wi(e, t, n, r) {
3282
3353
  }
3283
3354
  //#endregion
3284
3355
  //#region src/core/workerSampling/javascriptBackend.ts
3285
- var Gi = {
3356
+ var ia = {
3286
3357
  kind: "javascript",
3287
3358
  sample(e) {
3288
- return Wi(e.x, e.y, e.strategy, e.targetPointCount);
3359
+ return ra(e.x, e.y, e.strategy, e.targetPointCount);
3289
3360
  }
3290
- }, Ki = 8 * 1024 * 1024;
3291
- function qi(e, t) {
3361
+ }, aa = 8 * 1024 * 1024;
3362
+ function oa(e, t) {
3292
3363
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3293
3364
  }
3294
- function Ji(e, t, n, r) {
3365
+ function sa(e, t, n, r) {
3295
3366
  let i = r - n;
3296
3367
  return {
3297
3368
  start: n + Math.floor(e * i / t),
3298
3369
  end: n + Math.floor((e + 1) * i / t)
3299
3370
  };
3300
3371
  }
3301
- function Yi(e, t) {
3372
+ function ca(e, t) {
3302
3373
  e[e.length - 1] !== t && e.push(t);
3303
3374
  }
3304
- function Xi(e) {
3375
+ function la(e) {
3305
3376
  return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
3306
3377
  }
3307
- function Zi(e, t) {
3378
+ function ua(e, t) {
3308
3379
  let n = 1;
3309
3380
  for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
3310
3381
  return n;
3311
3382
  }
3312
- var Qi = class {
3383
+ var da = class {
3313
3384
  points;
3314
3385
  extremaLayers = [];
3315
3386
  sumLayers = [];
3316
3387
  indexBytes = 0;
3317
3388
  maxBytes;
3318
3389
  constructor(e, t = {}) {
3319
- this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ki;
3390
+ this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : aa;
3320
3391
  }
3321
3392
  get byteLength() {
3322
3393
  return this.indexBytes;
@@ -3325,7 +3396,7 @@ var Qi = class {
3325
3396
  this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
3326
3397
  }
3327
3398
  sample(e, t, n, r) {
3328
- 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 = qi(r, o);
3399
+ 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 = oa(r, o);
3329
3400
  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);
3330
3401
  }
3331
3402
  allIndexes(e, t) {
@@ -3345,24 +3416,24 @@ var Qi = class {
3345
3416
  if (i === 0) return this.indexes([e, t - 1]);
3346
3417
  let a = [e];
3347
3418
  for (let n = 0; n < i; n += 1) {
3348
- let o = Ji(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3419
+ let o = sa(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3349
3420
  if (!s) return;
3350
- if (r === "min") Yi(a, s.minimum);
3351
- else if (r === "max") Yi(a, s.maximum);
3352
- else if (r === "minmax") s.minimum <= s.maximum ? (Yi(a, s.minimum), Yi(a, s.maximum)) : (Yi(a, s.maximum), Yi(a, s.minimum));
3421
+ if (r === "min") ca(a, s.minimum);
3422
+ else if (r === "max") ca(a, s.maximum);
3423
+ else if (r === "minmax") s.minimum <= s.maximum ? (ca(a, s.minimum), ca(a, s.maximum)) : (ca(a, s.maximum), ca(a, s.minimum));
3353
3424
  else for (let e of [
3354
3425
  o.start,
3355
3426
  s.minimum,
3356
3427
  s.maximum,
3357
3428
  o.end - 1
3358
- ].sort((e, t) => e - t)) Yi(a, e);
3429
+ ].sort((e, t) => e - t)) ca(a, e);
3359
3430
  }
3360
- return Yi(a, t - 1), this.indexes(a);
3431
+ return ca(a, t - 1), this.indexes(a);
3361
3432
  }
3362
3433
  aggregate(e, t, n, r) {
3363
3434
  let i = new Float64Array(n), a = new Float64Array(n);
3364
3435
  for (let o = 0; o < n; o += 1) {
3365
- let s = Ji(o, n, e, t), c = this.querySum(s.start, s.end);
3436
+ let s = sa(o, n, e, t), c = this.querySum(s.start, s.end);
3366
3437
  if (!c || c.count === 0) return;
3367
3438
  i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
3368
3439
  }
@@ -3377,7 +3448,7 @@ var Qi = class {
3377
3448
  if (!this.ensureExtrema(n)) return;
3378
3449
  let r = e, i = e;
3379
3450
  for (let n = e; n < t;) {
3380
- let e = Zi(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;
3451
+ let e = ua(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;
3381
3452
  this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
3382
3453
  }
3383
3454
  return {
@@ -3390,7 +3461,7 @@ var Qi = class {
3390
3461
  if (!this.ensureSum(n)) return;
3391
3462
  let r = 0, i = 0, a = 0;
3392
3463
  for (let n = e; n < t;) {
3393
- let e = Zi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3464
+ let e = ua(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3394
3465
  if (c) r += c.x[s], i += c.y[s], a += c.count[s];
3395
3466
  else {
3396
3467
  let e = this.points[n];
@@ -3411,7 +3482,7 @@ var Qi = class {
3411
3482
  minimumIndexes: new Uint32Array(e),
3412
3483
  maximumIndexes: new Uint32Array(e)
3413
3484
  };
3414
- if (!this.reserve(Xi(n))) return !1;
3485
+ if (!this.reserve(la(n))) return !1;
3415
3486
  let r = this.extremaLayers[t - 1];
3416
3487
  for (let t = 0; t < e; t += 1) {
3417
3488
  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;
@@ -3429,7 +3500,7 @@ var Qi = class {
3429
3500
  y: new Float64Array(e),
3430
3501
  count: new Uint32Array(e)
3431
3502
  };
3432
- if (!this.reserve(Xi(n))) return !1;
3503
+ if (!this.reserve(la(n))) return !1;
3433
3504
  let r = this.sumLayers[t - 1];
3434
3505
  for (let t = 0; t < e; t += 1) {
3435
3506
  let e = t * 2, i = e + 1;
@@ -3454,8 +3525,8 @@ var Qi = class {
3454
3525
  let n = this.points[e], r = this.points[t];
3455
3526
  return n.y > r.y || n.y === r.y && e < t;
3456
3527
  }
3457
- }, $i = 1e3, ea = L((e) => e.x);
3458
- function ta(e) {
3528
+ }, fa = 1e3, pa = L((e) => e.x);
3529
+ function ma(e) {
3459
3530
  let t = [], n = !0, r = -Infinity;
3460
3531
  for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
3461
3532
  x: i.x,
@@ -3466,7 +3537,7 @@ function ta(e) {
3466
3537
  }));
3467
3538
  return n || t.sort((e, t) => e.x - t.x), t;
3468
3539
  }
3469
- function na(e, t) {
3540
+ function ha(e, t) {
3470
3541
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
3471
3542
  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);
3472
3543
  return {
@@ -3476,7 +3547,7 @@ function na(e, t) {
3476
3547
  yDomain: e.length ? [i, a] : null
3477
3548
  };
3478
3549
  }
3479
- function ra(e, t, n = e.length) {
3550
+ function ga(e, t, n = e.length) {
3480
3551
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
3481
3552
  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]);
3482
3553
  return {
@@ -3486,39 +3557,39 @@ function ra(e, t, n = e.length) {
3486
3557
  yDomain: e.length ? [a, o] : null
3487
3558
  };
3488
3559
  }
3489
- function ia(e, t) {
3560
+ function _a(e, t) {
3490
3561
  return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
3491
3562
  }
3492
- function aa(e) {
3563
+ function va(e) {
3493
3564
  return e === "auto" ? "peak" : e;
3494
3565
  }
3495
- function oa(e) {
3566
+ function ya(e) {
3496
3567
  if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
3497
3568
  let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
3498
3569
  return Math.max(1, Math.floor(t * n));
3499
3570
  }
3500
- function sa(e, t) {
3571
+ function ba(e, t) {
3501
3572
  if (e.mode === "raw") return !0;
3502
3573
  if (e.mode !== "auto") return !1;
3503
- let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : $i;
3574
+ let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : fa;
3504
3575
  if (!e.previousSelectedMode) return t <= n;
3505
3576
  let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
3506
3577
  return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
3507
3578
  }
3508
- function ca(e, t) {
3579
+ function xa(e, t) {
3509
3580
  let n = e[0], r = e.at(-1);
3510
- return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[ea.center(e, t)] : void 0;
3581
+ return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[pa.center(e, t)] : void 0;
3511
3582
  }
3512
- function la(e) {
3583
+ function Sa(e) {
3513
3584
  return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
3514
3585
  }
3515
- function ua(e, t) {
3586
+ function Ca(e, t) {
3516
3587
  return e.kind === "aggregates" ? e : {
3517
3588
  kind: "source-indexes",
3518
3589
  sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
3519
3590
  };
3520
3591
  }
3521
- function da(e, t, n, r, i) {
3592
+ function wa(e, t, n, r, i) {
3522
3593
  return [
3523
3594
  e.datasetId,
3524
3595
  e.revision,
@@ -3538,14 +3609,14 @@ function da(e, t, n, r, i) {
3538
3609
  e.errorBarMinSpacing ?? 0
3539
3610
  ].join("\0");
3540
3611
  }
3541
- function fa(e, t, n, r, i, a, o, s) {
3612
+ function Ta(e, t, n, r, i, a, o, s) {
3542
3613
  return {
3543
3614
  seriesId: e.seriesId,
3544
3615
  datasetId: e.datasetId,
3545
3616
  mode: e.mode,
3546
3617
  selectedMode: i,
3547
3618
  backend: r,
3548
- strategy: aa(e.strategy),
3619
+ strategy: va(e.strategy),
3549
3620
  sourcePointCount: t,
3550
3621
  visiblePointCount: n,
3551
3622
  renderedPointCount: o,
@@ -3561,18 +3632,18 @@ function fa(e, t, n, r, i, a, o, s) {
3561
3632
  }
3562
3633
  //#endregion
3563
3634
  //#region src/core/workerSampling/repositoryDataset.ts
3564
- function pa(e) {
3635
+ function Ea(e) {
3565
3636
  return e?.y.length ?? 0;
3566
3637
  }
3567
- function ma(e, t) {
3638
+ function Da(e, t) {
3568
3639
  return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
3569
3640
  }
3570
- function ha(e, t) {
3641
+ function Oa(e, t) {
3571
3642
  let n = (t, n) => {
3572
- let r = 0, i = pa(e);
3643
+ let r = 0, i = Ea(e);
3573
3644
  for (; r < i;) {
3574
3645
  let a = r + Math.floor((i - r) / 2);
3575
- (n ? ma(e, a) <= t : ma(e, a) < t) ? r = a + 1 : i = a;
3646
+ (n ? Da(e, a) <= t : Da(e, a) < t) ? r = a + 1 : i = a;
3576
3647
  }
3577
3648
  return r;
3578
3649
  }, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
@@ -3581,13 +3652,13 @@ function ha(e, t) {
3581
3652
  end: n(i, !0)
3582
3653
  };
3583
3654
  }
3584
- function ga(e, t, n) {
3585
- return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ma(e, t + r));
3655
+ function ka(e, t, n) {
3656
+ return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => Da(e, t + r));
3586
3657
  }
3587
- function _a(e) {
3658
+ function Aa(e) {
3588
3659
  return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
3589
3660
  }
3590
- function va(e, t) {
3661
+ function ja(e, t) {
3591
3662
  let n = [], r = Math.min(e.length, t.length);
3592
3663
  for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
3593
3664
  return n.sort((t, n) => e[t] - e[n] || t - n), {
@@ -3595,14 +3666,14 @@ function va(e, t) {
3595
3666
  y: Float64Array.from(n, (e) => t[e])
3596
3667
  };
3597
3668
  }
3598
- function ya(e, t, n, r) {
3669
+ function Ma(e, t, n, r) {
3599
3670
  if (t?.kind === "typed") {
3600
- let e = va(t.x, t.y);
3671
+ let e = ja(t.x, t.y);
3601
3672
  return {
3602
3673
  x: e.x,
3603
3674
  y: e.y,
3604
3675
  revision: n,
3605
- metrics: ra(e.x, e.y, Math.max(t.x.length, t.y.length))
3676
+ metrics: ga(e.x, e.y, Math.max(t.x.length, t.y.length))
3606
3677
  };
3607
3678
  }
3608
3679
  if (t?.kind === "samples") {
@@ -3636,35 +3707,35 @@ function ya(e, t, n, r) {
3636
3707
  }
3637
3708
  };
3638
3709
  }
3639
- let i = ta(e ?? t?.points ?? []);
3710
+ let i = ma(e ?? t?.points ?? []);
3640
3711
  return {
3641
3712
  x: Float64Array.from(i, (e) => e.x),
3642
3713
  y: Float64Array.from(i, (e) => e.y),
3643
3714
  points: i,
3644
3715
  revision: n,
3645
- metrics: na(i, e?.length ?? t?.points.length ?? 0),
3646
- index: new Qi(i, { maxBytes: r })
3716
+ metrics: ha(i, e?.length ?? t?.points.length ?? 0),
3717
+ index: new da(i, { maxBytes: r })
3647
3718
  };
3648
3719
  }
3649
- function ba(e, t, n) {
3650
- !_a(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));
3720
+ function Na(e, t, n) {
3721
+ !Aa(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));
3651
3722
  }
3652
- function xa(e, t) {
3653
- t.index?.dispose(), t.wasmDatasetHandle !== void 0 && _a(e) && e.disposeDataset(t.wasmDatasetHandle);
3723
+ function Pa(e, t) {
3724
+ t.index?.dispose(), t.wasmDatasetHandle !== void 0 && Aa(e) && e.disposeDataset(t.wasmDatasetHandle);
3654
3725
  }
3655
3726
  //#endregion
3656
3727
  //#region src/core/workerSampling/samplingCache.ts
3657
- var Sa = 96, Ca = 16 * 1024 * 1024;
3658
- function wa(e) {
3728
+ var Fa = 96, Ia = 16 * 1024 * 1024;
3729
+ function La(e) {
3659
3730
  return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
3660
3731
  }
3661
- var Ta = class {
3732
+ var Ra = class {
3662
3733
  entries = /* @__PURE__ */ new Map();
3663
3734
  bytes = 0;
3664
3735
  maxEntries;
3665
3736
  maxBytes;
3666
3737
  constructor(e = {}) {
3667
- 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;
3738
+ this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : Fa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : Ia;
3668
3739
  }
3669
3740
  get metrics() {
3670
3741
  return {
@@ -3679,7 +3750,7 @@ var Ta = class {
3679
3750
  if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
3680
3751
  }
3681
3752
  set(e, t) {
3682
- let n = wa(t);
3753
+ let n = La(t);
3683
3754
  if (n > this.maxBytes || this.maxEntries === 0) return;
3684
3755
  let r = this.entries.get(e);
3685
3756
  for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
@@ -3699,14 +3770,14 @@ var Ta = class {
3699
3770
  clear() {
3700
3771
  this.entries.clear(), this.bytes = 0;
3701
3772
  }
3702
- }, Ea = class {
3773
+ }, za = class {
3703
3774
  datasets = /* @__PURE__ */ new Map();
3704
3775
  javascriptBackend;
3705
3776
  cache;
3706
3777
  indexMaxBytes;
3707
3778
  wasmBackend;
3708
3779
  constructor(e = {}) {
3709
- this.javascriptBackend = e.javascriptBackend ?? Gi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Ta({
3780
+ this.javascriptBackend = e.javascriptBackend ?? ia, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Ra({
3710
3781
  maxEntries: e.cacheMaxEntries,
3711
3782
  maxBytes: e.cacheMaxBytes
3712
3783
  });
@@ -3719,9 +3790,9 @@ var Ta = class {
3719
3790
  };
3720
3791
  }
3721
3792
  setWasmBackend(e) {
3722
- this.wasmBackend && this.wasmBackend !== e && _a(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3793
+ this.wasmBackend && this.wasmBackend !== e && Aa(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3723
3794
  e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
3724
- })), this.wasmBackend = e, _a(e) && this.datasets.forEach((t) => ba(e, t, this.indexMaxBytes));
3795
+ })), this.wasmBackend = e, Aa(e) && this.datasets.forEach((t) => Na(e, t, this.indexMaxBytes));
3725
3796
  }
3726
3797
  handle(e) {
3727
3798
  switch (e.type) {
@@ -3737,15 +3808,15 @@ var Ta = class {
3737
3808
  register(e, t, n, r) {
3738
3809
  let i = this.datasets.get(e);
3739
3810
  if (i) return this.datasetResponse(t, e, i, "stale-revision");
3740
- let a = ya(n, r, 1, this.indexMaxBytes);
3741
- return ba(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3811
+ let a = Ma(n, r, 1, this.indexMaxBytes);
3812
+ return Na(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3742
3813
  }
3743
3814
  replace(e, t, n, r, i) {
3744
- let a = this.datasets.get(e), o = ia(a, n);
3815
+ let a = this.datasets.get(e), o = _a(a, n);
3745
3816
  if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
3746
- xa(this.wasmBackend, a), this.cache.deleteDataset(e);
3747
- let s = ya(r, i, a.revision + 1, this.indexMaxBytes);
3748
- return ba(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3817
+ Pa(this.wasmBackend, a), this.cache.deleteDataset(e);
3818
+ let s = Ma(r, i, a.revision + 1, this.indexMaxBytes);
3819
+ return Na(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3749
3820
  }
3750
3821
  sample(e) {
3751
3822
  return {
@@ -3755,28 +3826,28 @@ var Ta = class {
3755
3826
  };
3756
3827
  }
3757
3828
  sampleSeries(e, t) {
3758
- let n = performance.now(), r = this.datasets.get(t.datasetId), i = ia(r, t.revision);
3829
+ let n = performance.now(), r = this.datasets.get(t.datasetId), i = _a(r, t.revision);
3759
3830
  if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
3760
- let a = ha(r, t.xDomain), o = a.end - a.start;
3761
- if (sa(t, o)) return this.sampleResponse(e, t, "ok", {
3831
+ let a = Oa(r, t.xDomain), o = a.end - a.start;
3832
+ if (ba(t, o)) return this.sampleResponse(e, t, "ok", {
3762
3833
  kind: "source-indexes",
3763
3834
  sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
3764
3835
  }, "raw", "raw", o, n, !1);
3765
3836
  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);
3766
3837
  if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
3767
- let u = aa(t.strategy), d = oa(t), f = da(t, a, u, d, l.kind), p = this.cache.get(f);
3838
+ let u = va(t.strategy), d = ya(t), f = wa(t, a, u, d, l.kind), p = this.cache.get(f);
3768
3839
  if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
3769
- let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && _a(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? ua(l.sample({
3770
- x: ga(r, a.start, a.end),
3840
+ let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && Aa(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? Ca(l.sample({
3841
+ x: ka(r, a.start, a.end),
3771
3842
  y: r.y.subarray(a.start, a.end),
3772
3843
  points: r.points?.slice(a.start, a.end) ?? [],
3773
3844
  strategy: u,
3774
3845
  targetPointCount: d
3775
3846
  }), a.start);
3776
- return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && _a(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3847
+ return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && Aa(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3777
3848
  }
3778
3849
  sampleResponse(e, t, n, r, i, a, o, s, c) {
3779
- let l = fa(t, pa(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, la(r), c);
3850
+ let l = Ta(t, Ea(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Sa(r), c);
3780
3851
  return l.requestId = e, {
3781
3852
  seriesId: t.seriesId,
3782
3853
  datasetId: t.datasetId,
@@ -3787,7 +3858,7 @@ var Ta = class {
3787
3858
  };
3788
3859
  }
3789
3860
  findNearest(e, t, n, r) {
3790
- let i = this.datasets.get(e), a = ia(i, n);
3861
+ let i = this.datasets.get(e), a = _a(i, n);
3791
3862
  return a !== "ok" || !i ? {
3792
3863
  type: "find-nearest-point-response",
3793
3864
  requestId: t,
@@ -3800,12 +3871,12 @@ var Ta = class {
3800
3871
  datasetId: e,
3801
3872
  revision: n,
3802
3873
  status: a,
3803
- point: i.points ? ca(i.points, r) : (() => {
3804
- let e = ha(i, [r, r]);
3805
- if (!pa(i) || r < ma(i, 0) || r > ma(i, pa(i) - 1)) return;
3806
- let t = Math.min(pa(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ma(i, n)) < Math.abs(ma(i, t) - r) ? n : t;
3807
- return Number.isFinite(r) && pa(i) ? {
3808
- x: ma(i, a),
3874
+ point: i.points ? xa(i.points, r) : (() => {
3875
+ let e = Oa(i, [r, r]);
3876
+ if (!Ea(i) || r < Da(i, 0) || r > Da(i, Ea(i) - 1)) return;
3877
+ let t = Math.min(Ea(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - Da(i, n)) < Math.abs(Da(i, t) - r) ? n : t;
3878
+ return Number.isFinite(r) && Ea(i) ? {
3879
+ x: Da(i, a),
3809
3880
  y: i.y[a]
3810
3881
  } : void 0;
3811
3882
  })()
@@ -3813,15 +3884,15 @@ var Ta = class {
3813
3884
  }
3814
3885
  metrics(e, t, n) {
3815
3886
  let r = this.datasets.get(e);
3816
- return this.datasetResponse(t, e, r, ia(r, n));
3887
+ return this.datasetResponse(t, e, r, _a(r, n));
3817
3888
  }
3818
3889
  dispose(e, t, n) {
3819
- let r = this.datasets.get(e), i = ia(r, n);
3820
- return i === "ok" && r && (xa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3890
+ let r = this.datasets.get(e), i = _a(r, n);
3891
+ return i === "ok" && r && (Pa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3821
3892
  }
3822
3893
  disposeAll(e) {
3823
3894
  let t = [...this.datasets.keys()];
3824
- return this.datasets.forEach((e) => xa(this.wasmBackend, e)), _a(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3895
+ return this.datasets.forEach((e) => Pa(this.wasmBackend, e)), Aa(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3825
3896
  type: "dispose-all-response",
3826
3897
  requestId: e,
3827
3898
  disposedDatasetIds: t
@@ -3843,10 +3914,10 @@ var Ta = class {
3843
3914
  };
3844
3915
  //#endregion
3845
3916
  //#region src/components/core/latestTaskScheduler.ts
3846
- function Da(e, t, n, r) {
3917
+ function Ba(e, t, n, r) {
3847
3918
  return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
3848
3919
  }
3849
- function Oa() {
3920
+ function Va() {
3850
3921
  let e = 0, t = !1, n, r = !1, i = {
3851
3922
  scheduled: 0,
3852
3923
  coalesced: 0,
@@ -3885,12 +3956,12 @@ function Oa() {
3885
3956
  }
3886
3957
  //#endregion
3887
3958
  //#region src/components/core/workerSamplingClient.ts
3888
- function ka(e) {
3959
+ function Ha(e) {
3889
3960
  return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
3890
3961
  }
3891
- function Aa() {
3962
+ function Ua() {
3892
3963
  let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
3893
- t ??= new Ea();
3964
+ t ??= new za();
3894
3965
  for (let [e, n] of i) {
3895
3966
  t.handle({
3896
3967
  type: "register-dataset",
@@ -3926,7 +3997,7 @@ function Aa() {
3926
3997
  let t = a();
3927
3998
  e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
3928
3999
  }, c = (r) => {
3929
- t || (n = ka(r), e?.terminate(), e = void 0, s());
4000
+ t || (n = Ha(r), e?.terminate(), e = void 0, s());
3930
4001
  };
3931
4002
  try {
3932
4003
  typeof Worker > "u" ? c() : (e = new Worker(new URL(
@@ -3963,20 +4034,20 @@ function Aa() {
3963
4034
  }
3964
4035
  };
3965
4036
  }
3966
- function ja(e) {
4037
+ function Wa(e) {
3967
4038
  return e.type === "dataset-response";
3968
4039
  }
3969
4040
  //#endregion
3970
4041
  //#region src/components/core/useWaveformRenderSampling.ts
3971
- var Ma = 120;
3972
- function Na(e, t) {
4042
+ var Ga = 120;
4043
+ function Ka(e, t) {
3973
4044
  let n = e.output;
3974
4045
  if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
3975
4046
  x: e,
3976
4047
  y: n.y[t]
3977
4048
  })) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
3978
4049
  }
3979
- function Pa(e, t) {
4050
+ function qa(e, t) {
3980
4051
  let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
3981
4052
  return {
3982
4053
  seriesId: n.seriesId,
@@ -3998,7 +4069,7 @@ function Pa(e, t) {
3998
4069
  maxPendingRequestCount: 0
3999
4070
  };
4000
4071
  }
4001
- function Fa(e) {
4072
+ function Ja(e) {
4002
4073
  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));
4003
4074
  if (i <= a) return t.pointsInRange(n, r);
4004
4075
  if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
@@ -4009,7 +4080,7 @@ function Fa(e) {
4009
4080
  }
4010
4081
  return o;
4011
4082
  }
4012
- function Ia(e, t, n, r) {
4083
+ function Ya(e, t, n, r) {
4013
4084
  return {
4014
4085
  message: e,
4015
4086
  mode: t,
@@ -4017,8 +4088,8 @@ function Ia(e, t, n, r) {
4017
4088
  seriesIds: r
4018
4089
  };
4019
4090
  }
4020
- function La(e) {
4021
- let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = Oa(), d, f, p = !1, m = t(() => {
4091
+ function Xa(e) {
4092
+ let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = Va(), d, f, p = !1, m = t(() => {
4022
4093
  let t = e.renderingOptions.value.sampling;
4023
4094
  return e.sourceTrackLayouts.value.flatMap((n) => {
4024
4095
  let r = n.xScale.domain();
@@ -4083,13 +4154,13 @@ function La(e) {
4083
4154
  revision: 0,
4084
4155
  dataset: t.source.toWorkerDataset()
4085
4156
  });
4086
- !u.isCurrent(n) || !ja(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4157
+ !u.isCurrent(n) || !Wa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4087
4158
  }));
4088
4159
  }, x = async (t, n = !1) => {
4089
4160
  let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
4090
4161
  if (o.forEach((e) => {
4091
- let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Da(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4092
- 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(Pa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Fa(e)), l.push({
4162
+ let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Ba(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4163
+ 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(qa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Ja(e)), l.push({
4093
4164
  ...e,
4094
4165
  request: {
4095
4166
  ...e.request,
@@ -4101,7 +4172,7 @@ function La(e) {
4101
4172
  e.linePointOverrides.value = c, v(d);
4102
4173
  return;
4103
4174
  }
4104
- if (e.linePointOverrides.value = c, r ??= Aa(), await b(r, l, t), !u.isCurrent(t)) return;
4175
+ if (e.linePointOverrides.value = c, r ??= Ua(), await b(r, l, t), !u.isCurrent(t)) return;
4105
4176
  let f = l.map((e) => ({
4106
4177
  ...e.request,
4107
4178
  revision: a.get(e.request.datasetId) ?? 1
@@ -4116,22 +4187,22 @@ function La(e) {
4116
4187
  p = e;
4117
4188
  } catch (n) {
4118
4189
  if (!u.isCurrent(t)) return;
4119
- y(Ia(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4190
+ y(Ya(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4120
4191
  return;
4121
4192
  }
4122
4193
  if (!u.isCurrent(t)) return;
4123
4194
  let h = new Map(l.map((e) => [e.series.id, e.source]));
4124
4195
  p.results.forEach((e) => {
4125
- let t = h.get(e.seriesId), n = t ? Na(e, t) : void 0;
4126
- 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(Ia(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4127
- }), p.workerError && y(Ia(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(Ia(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4196
+ let t = h.get(e.seriesId), n = t ? Ka(e, t) : void 0;
4197
+ 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]));
4198
+ }), 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);
4128
4199
  };
4129
4200
  return k(h, () => {
4130
4201
  f && clearTimeout(f);
4131
4202
  let t = p;
4132
4203
  p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
4133
4204
  f = void 0, u.schedule((e) => x(e, !1));
4134
- }, Ma));
4205
+ }, Ga));
4135
4206
  }, { immediate: !0 }), k(e.preparedSeries, () => {
4136
4207
  u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
4137
4208
  }, { flush: "sync" }), _(() => {
@@ -4140,10 +4211,10 @@ function La(e) {
4140
4211
  }
4141
4212
  //#endregion
4142
4213
  //#region src/components/core/useWaveformChartController.ts
4143
- function Ra(e, t) {
4214
+ function Za(e, t) {
4144
4215
  e.value = t instanceof Element ? t : void 0;
4145
4216
  }
4146
- function za(e, t) {
4217
+ function Qa(e, t) {
4147
4218
  let n = x(), r = x(), i = x(), a = x(), o = x(0), s = x(0), c = x(0), l = x(0), u = x(0), f = w(J), p = w([]), m = x({}), h = x({}), g = C({
4148
4219
  points: [],
4149
4220
  trackIndex: null,
@@ -4153,13 +4224,13 @@ function za(e, t) {
4153
4224
  x: 0,
4154
4225
  y: 0
4155
4226
  }
4156
- }), _ = x(!1), v = x(1), y = w(), S = ue("waveform-clip"), T = x(new Set(e.defaultHiddenSeriesIds)), D = gt(), O = w({}), j = x([]), M = Hr();
4227
+ }), _ = x(!1), v = x(1), y = w(), S = ue("waveform-clip"), T = x(new Set(e.defaultHiddenSeriesIds)), D = gt(), O = w({}), j = x([]), M = ti();
4157
4228
  k([() => e.yDomain, () => e.yDomains], () => {
4158
4229
  m.value = {}, h.value = {};
4159
4230
  }, { deep: !0 });
4160
- let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = qr(() => e.data, () => {
4231
+ let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = oi(() => e.data, () => {
4161
4232
  R(), I();
4162
- }, () => L()), B = Fi({
4233
+ }, () => L()), B = Ji({
4163
4234
  props: e,
4164
4235
  observedWidth: o,
4165
4236
  observedHeight: s,
@@ -4167,7 +4238,7 @@ function za(e, t) {
4167
4238
  measuredTitleHeight: l,
4168
4239
  internalHiddenSeriesIds: T,
4169
4240
  paginationBandHeight: u
4170
- }), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: q } = B, ie = ji({
4241
+ }), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: q } = B, ie = Wi({
4171
4242
  props: e,
4172
4243
  preparedSeries: z,
4173
4244
  currentPage: v,
@@ -4182,7 +4253,7 @@ function za(e, t) {
4182
4253
  annotationInteraction: d(D),
4183
4254
  linePointOverrides: O
4184
4255
  }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: le, pageCount: de, pagedTracks: fe, resolvedChartLeftMargin: Y, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
4185
- La({
4256
+ Xa({
4186
4257
  props: e,
4187
4258
  emit: t,
4188
4259
  instanceId: S,
@@ -4193,7 +4264,7 @@ function za(e, t) {
4193
4264
  }), A(() => {
4194
4265
  u.value = le.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
4195
4266
  });
4196
- let Se = Ur({
4267
+ let Se = ni({
4197
4268
  props: e,
4198
4269
  emit: t,
4199
4270
  svgElement: r,
@@ -4212,7 +4283,7 @@ function za(e, t) {
4212
4283
  cancelPendingHover: () => we.cancelPendingHover()
4213
4284
  });
4214
4285
  R = Se.prepareForDataChange;
4215
- let Ce = yr({
4286
+ let Ce = jr({
4216
4287
  props: e,
4217
4288
  emit: t,
4218
4289
  container: n,
@@ -4232,7 +4303,7 @@ function za(e, t) {
4232
4303
  chartTopMargin: K,
4233
4304
  activeInteractionMode: he,
4234
4305
  isPresentationMode: W
4235
- }), X = Vr({
4306
+ }), X = ei({
4236
4307
  props: e,
4237
4308
  emit: t,
4238
4309
  selection: N,
@@ -4257,7 +4328,7 @@ function za(e, t) {
4257
4328
  cancelPendingZoom: Se.cancelPendingZoom,
4258
4329
  clearHover: () => we.clearHover(),
4259
4330
  resolveTrackAtPointer: Ce.resolveTrackAtPointer
4260
- }), we = br({
4331
+ }), we = Mr({
4261
4332
  emit: t,
4262
4333
  hoverState: g,
4263
4334
  suppressHoverUntilMove: _,
@@ -4272,7 +4343,7 @@ function za(e, t) {
4272
4343
  isPresentationMode: W,
4273
4344
  updateViewportDrag: X.updateViewportDrag,
4274
4345
  resolveTrackAtPointer: Ce.resolveTrackAtPointer
4275
- }), Te = Gr({
4346
+ }), Te = ii({
4276
4347
  props: e,
4277
4348
  emit: t,
4278
4349
  container: n,
@@ -4335,34 +4406,34 @@ function za(e, t) {
4335
4406
  editorSeriesOptions: j,
4336
4407
  clipPathId: S,
4337
4408
  goToPage: Te.goToPage,
4338
- setContainer: (e) => Ra(n, e),
4339
- setSvgElement: (e) => Ra(r, e),
4340
- setTitleMeasureElement: (e) => Ra(i, e),
4341
- setSharedOverlayElement: (e) => Ra(a, e)
4409
+ setContainer: (e) => Za(n, e),
4410
+ setSvgElement: (e) => Za(r, e),
4411
+ setTitleMeasureElement: (e) => Za(i, e),
4412
+ setSharedOverlayElement: (e) => Za(a, e)
4342
4413
  });
4343
4414
  }
4344
4415
  //#endregion
4345
4416
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
4346
- var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4417
+ var $a = ["id"], eo = { class: "waveform-annotation-editor__content" }, to = {
4347
4418
  class: "waveform-annotation-editor__coordinates",
4348
4419
  "aria-label": "标注坐标"
4349
- }, Ua = ["aria-invalid"], Wa = {
4420
+ }, no = ["aria-invalid"], ro = {
4350
4421
  class: "waveform-annotation-editor__coordinate-value",
4351
4422
  "aria-hidden": "true"
4352
- }, Ga = ["id"], Ka = {
4423
+ }, io = ["id"], ao = {
4353
4424
  key: 0,
4354
4425
  class: "waveform-annotation-editor__series",
4355
4426
  "aria-label": "标注所属波形"
4356
- }, qa = { class: "waveform-annotation-editor__series-label" }, Ja = ["value"], Ya = ["value"], Xa = { key: 1 }, Za = { class: "waveform-annotation-editor__field" }, Qa = { class: "waveform-annotation-editor__label-row" }, $a = ["maxlength"], eo = { class: "waveform-annotation-editor__colors" }, to = {
4427
+ }, oo = { class: "waveform-annotation-editor__series-label" }, so = ["value"], co = ["value"], lo = { key: 1 }, uo = { class: "waveform-annotation-editor__field" }, fo = { class: "waveform-annotation-editor__label-row" }, po = ["maxlength"], mo = { class: "waveform-annotation-editor__colors" }, ho = {
4357
4428
  class: "waveform-annotation-editor__color-field",
4358
4429
  title: "调整标注边框色和透明度"
4359
- }, no = {
4430
+ }, go = {
4360
4431
  class: "waveform-annotation-editor__color-field",
4361
4432
  title: "调整标注文字色和透明度"
4362
- }, ro = {
4433
+ }, _o = {
4363
4434
  class: "waveform-annotation-editor__color-field",
4364
4435
  title: "调整标注背景色和透明度"
4365
- }, io = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4436
+ }, vo = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4366
4437
  __name: "WaveformAnnotationEditor",
4367
4438
  props: {
4368
4439
  annotation: {},
@@ -4433,9 +4504,9 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4433
4504
  onCancel: o[4] ||= (e) => p("cancel"),
4434
4505
  onOk: B
4435
4506
  }, {
4436
- title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ba)]),
4437
- default: j(() => [a("div", Va, [
4438
- a("div", Ha, [
4507
+ title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, $a)]),
4508
+ default: j(() => [a("div", eo, [
4509
+ a("div", to, [
4439
4510
  a("label", {
4440
4511
  class: "waveform-annotation-editor__coordinate-input",
4441
4512
  "aria-invalid": !!N.value
@@ -4458,26 +4529,26 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4458
4529
  "aria-invalid",
4459
4530
  "aria-describedby"
4460
4531
  ]),
4461
- a("code", Wa, T(v.value), 1)
4462
- ], 8, Ua),
4532
+ a("code", ro, T(v.value), 1)
4533
+ ], 8, no),
4463
4534
  N.value ? (y(), i("p", {
4464
4535
  key: 0,
4465
4536
  id: `${D(g)}-time-error`,
4466
4537
  class: "waveform-annotation-editor__coordinate-error",
4467
4538
  role: "alert"
4468
- }, T(N.value), 9, Ga)) : r("", !0),
4539
+ }, T(N.value), 9, io)) : r("", !0),
4469
4540
  a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(At)(d.annotation.y)), 1)])
4470
4541
  ]),
4471
4542
  o[13] ||= a("p", {
4472
4543
  class: "waveform-annotation-editor__coordinate-hint",
4473
4544
  role: "note"
4474
4545
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
4475
- I.value ? (y(), i("label", Ka, [
4546
+ I.value ? (y(), i("label", ao, [
4476
4547
  a("i", {
4477
4548
  style: m({ backgroundColor: I.value.color }),
4478
4549
  "aria-hidden": "true"
4479
4550
  }, null, 4),
4480
- a("span", qa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
4551
+ a("span", oo, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
4481
4552
  d.seriesOptions?.length ? (y(), i("select", {
4482
4553
  key: 0,
4483
4554
  value: d.annotation.seriesId,
@@ -4486,9 +4557,9 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4486
4557
  }, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
4487
4558
  key: e.seriesId,
4488
4559
  value: e.seriesId
4489
- }, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, Ya))), 128))], 40, Ja)) : I.value.unit ? (y(), i("code", Xa, T(I.value.unit), 1)) : r("", !0)
4560
+ }, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, co))), 128))], 40, so)) : I.value.unit ? (y(), i("code", lo, T(I.value.unit), 1)) : r("", !0)
4490
4561
  ])) : r("", !0),
4491
- a("label", Za, [a("span", Qa, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
4562
+ a("label", uo, [a("span", fo, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
4492
4563
  ref_key: "textarea",
4493
4564
  ref: h,
4494
4565
  "onUpdate:modelValue": o[0] ||= (e) => _.value = e,
@@ -4497,10 +4568,10 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4497
4568
  "aria-label": "标注文本",
4498
4569
  placeholder: "输入这处波形的说明",
4499
4570
  onKeydown: V
4500
- }, null, 40, $a), [[O, _.value]])]),
4501
- a("fieldset", eo, [
4571
+ }, null, 40, po), [[O, _.value]])]),
4572
+ a("fieldset", mo, [
4502
4573
  o[12] ||= a("legend", null, "颜色与透明度", -1),
4503
- a("label", to, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
4574
+ a("label", ho, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
4504
4575
  "pure-color": C.value,
4505
4576
  "onUpdate:pureColor": o[1] ||= (e) => C.value = e,
4506
4577
  "aria-label": "标注边框色",
@@ -4510,7 +4581,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4510
4581
  "disable-alpha": !1,
4511
4582
  "blur-close": !0
4512
4583
  }, null, 8, ["pure-color"])]),
4513
- a("label", no, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
4584
+ a("label", go, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
4514
4585
  "pure-color": w.value,
4515
4586
  "onUpdate:pureColor": o[2] ||= (e) => w.value = e,
4516
4587
  "aria-label": "标注文字色",
@@ -4520,7 +4591,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4520
4591
  "disable-alpha": !1,
4521
4592
  "blur-close": !0
4522
4593
  }, null, 8, ["pure-color"])]),
4523
- a("label", ro, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
4594
+ a("label", _o, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
4524
4595
  "pure-color": E.value,
4525
4596
  "onUpdate:pureColor": o[3] ||= (e) => E.value = e,
4526
4597
  "aria-label": "标注背景色",
@@ -4535,13 +4606,13 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4535
4606
  _: 1
4536
4607
  }, 8, ["ok-button-props"]));
4537
4608
  }
4538
- }), [["__scopeId", "data-v-01ecd3a4"]]), ao = { class: "waveform-tooltip__series-content" }, oo = { class: "waveform-tooltip__series-label" }, so = {
4609
+ }), [["__scopeId", "data-v-01ecd3a4"]]), yo = { class: "waveform-tooltip__series-content" }, bo = { class: "waveform-tooltip__series-label" }, xo = {
4539
4610
  key: 0,
4540
4611
  class: "waveform-tooltip__value"
4541
- }, co = {
4612
+ }, So = {
4542
4613
  key: 1,
4543
4614
  class: "waveform-tooltip__value waveform-tooltip__value--missing"
4544
- }, lo = 12, uo = 8, fo = 560, po = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4615
+ }, Co = 12, wo = 8, To = 560, Eo = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4545
4616
  __name: "WaveformTooltip",
4546
4617
  props: {
4547
4618
  visible: { type: Boolean },
@@ -4571,12 +4642,12 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4571
4642
  }, { flush: "post" }), v(u);
4572
4643
  let d = t(() => {
4573
4644
  if (!s.visible || !s.hoveredPoint) return { display: "none" };
4574
- let e = s.position.x + lo, t = s.position.x - lo - l.value.width, n = Math.max(1, Math.min(fo, s.containerWidth - uo * 2));
4645
+ let e = s.position.x + Co, t = s.position.x - Co - l.value.width, n = Math.max(1, Math.min(To, s.containerWidth - wo * 2));
4575
4646
  return {
4576
- ...e + l.value.width <= s.containerWidth - uo ? { left: `${e}px` } : t >= uo ? { right: `${s.containerWidth - s.position.x + lo}px` } : { left: `${uo}px` },
4647
+ ...e + l.value.width <= s.containerWidth - wo ? { left: `${e}px` } : t >= wo ? { right: `${s.containerWidth - s.position.x + Co}px` } : { left: `${wo}px` },
4577
4648
  maxWidth: `${n}px`,
4578
4649
  visibility: l.value.width > 0 ? "visible" : "hidden",
4579
- top: `${Math.max(uo, Math.min(s.position.y - 18, s.containerHeight - l.value.height - uo))}px`
4650
+ top: `${Math.max(wo, Math.min(s.position.y - 18, s.containerHeight - l.value.height - wo))}px`
4580
4651
  };
4581
4652
  });
4582
4653
  return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
@@ -4588,9 +4659,9 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4588
4659
  }, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
4589
4660
  key: `${t.trackIndex}-${t.name}`,
4590
4661
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
4591
- }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", ao, [a("span", oo, [o(T(t.shotNo?.trim() || "未配置炮号") + ": " + T(t.name), 1), t.unit ? (y(), i(e, { key: 0 }, [o("(" + T(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (y(), i("span", so, "(x:" + T(D(Ft)(t.point.x, n.timeUnit)) + " y:" + T(D(kt)(t.point.y)) + ")", 1)) : (y(), i("span", co, "无数据"))])]))), 128))], 4)) : r("", !0);
4662
+ }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", yo, [a("span", bo, [o(T(t.shotNo?.trim() || "未配置炮号") + ": " + T(t.name), 1), t.unit ? (y(), i(e, { key: 0 }, [o("(" + T(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (y(), i("span", xo, "(x:" + T(D(Ft)(t.point.x, n.timeUnit)) + " y:" + T(D(kt)(t.point.y)) + ")", 1)) : (y(), i("span", So, "无数据"))])]))), 128))], 4)) : r("", !0);
4592
4663
  }
4593
- }), [["__scopeId", "data-v-0d0d1d3c"]]), mo = /* @__PURE__ */ l({
4664
+ }), [["__scopeId", "data-v-0d0d1d3c"]]), Do = /* @__PURE__ */ l({
4594
4665
  __name: "WaveformHoverHost",
4595
4666
  props: {
4596
4667
  state: {},
@@ -4601,7 +4672,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4601
4672
  },
4602
4673
  setup(e) {
4603
4674
  let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
4604
- return (t, r) => (y(), n(po, {
4675
+ return (t, r) => (y(), n(Eo, {
4605
4676
  visible: e.visible && i.value !== null,
4606
4677
  position: e.state.position,
4607
4678
  "time-unit": e.timeUnit,
@@ -4619,16 +4690,16 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4619
4690
  "container-height"
4620
4691
  ]));
4621
4692
  }
4622
- }), ho = 13, go = 2, _o = 14, vo = 8, yo = 24, bo = {
4693
+ }), Oo = 13, ko = 2, Ao = 14, jo = 8, Mo = 24, No = {
4623
4694
  circle: te,
4624
4695
  square: re,
4625
4696
  triangle: K,
4626
4697
  diamond: ne
4627
4698
  };
4628
- function xo(e, t = 48) {
4629
- return e === "none" ? null : ee().type(bo[e]).size(t)() ?? null;
4699
+ function Po(e, t = 48) {
4700
+ return e === "none" ? null : ee().type(No[e]).size(t)() ?? null;
4630
4701
  }
4631
- function So(e, t, n = 48) {
4702
+ function Fo(e, t, n = 48) {
4632
4703
  if (e === "none" || t.length === 0) return null;
4633
4704
  if (e === "circle") {
4634
4705
  let e = Math.sqrt(n / Math.PI);
@@ -4645,24 +4716,24 @@ function So(e, t, n = 48) {
4645
4716
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
4646
4717
  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("");
4647
4718
  }
4648
- function Co(e) {
4719
+ function Io(e) {
4649
4720
  return e === "none" ? null : "M1 8H25";
4650
4721
  }
4651
- function wo(e) {
4722
+ function Lo(e) {
4652
4723
  if (e === "dashed") return "8 5";
4653
4724
  if (e === "dash-dot") return "8 5 1.5 5";
4654
4725
  }
4655
- function To(e) {
4656
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, yo) : vo) / 2, n = ho - t, r = ho + t;
4726
+ function Ro(e) {
4727
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, Mo) : jo) / 2, n = Oo - t, r = Oo + t;
4657
4728
  return [
4658
- `M${n} ${go}H${r}`,
4659
- `M${ho} ${go}V${_o}`,
4660
- `M${n} ${_o}H${r}`
4729
+ `M${n} ${ko}H${r}`,
4730
+ `M${Oo} ${ko}V${Ao}`,
4731
+ `M${n} ${Ao}H${r}`
4661
4732
  ].join("");
4662
4733
  }
4663
4734
  //#endregion
4664
4735
  //#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
4665
- var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4736
+ var zo = ["clip-path"], Bo = ["data-series-id", "data-series-name"], Vo = [
4666
4737
  "data-series-id",
4667
4738
  "data-series-name",
4668
4739
  "data-y-axis-index",
@@ -4671,11 +4742,11 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4671
4742
  "d",
4672
4743
  "stroke",
4673
4744
  "stroke-dasharray"
4674
- ], ko = ["data-series-id"], Ao = [
4745
+ ], Ho = ["data-series-id"], Uo = [
4675
4746
  "d",
4676
4747
  "stroke",
4677
4748
  "stroke-width"
4678
- ], jo = ["data-series-id", "data-point-type"], Mo = ["d", "fill"], No = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4749
+ ], Wo = ["data-series-id", "data-point-type"], Go = ["d", "fill"], Ko = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4679
4750
  __name: "WaveformSeriesLayer",
4680
4751
  props: {
4681
4752
  track: {},
@@ -4683,7 +4754,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4683
4754
  },
4684
4755
  setup(n) {
4685
4756
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
4686
- let t = So(e.series.pointType, e.pointRenderPoints.map((t) => ({
4757
+ let t = Fo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4687
4758
  x: a.track.xScale(t.x),
4688
4759
  y: e.yScale(t.y)
4689
4760
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
@@ -4720,8 +4791,8 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4720
4791
  "data-line-style": e.series.lineStyle,
4721
4792
  d: e.path,
4722
4793
  stroke: e.series.color,
4723
- "stroke-dasharray": D(wo)(e.series.lineStyle)
4724
- }, null, 8, Oo)) : r("", !0),
4794
+ "stroke-dasharray": D(Lo)(e.series.lineStyle)
4795
+ }, null, 8, Vo)) : r("", !0),
4725
4796
  e.series.errorBar.visible ? (y(), i("g", {
4726
4797
  key: 1,
4727
4798
  class: "waveform-track__error-bars waveform-chart__error-bars",
@@ -4732,7 +4803,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4732
4803
  d: e.errorBarPath,
4733
4804
  stroke: e.series.errorBar.color || e.series.color,
4734
4805
  "stroke-width": e.series.errorBar.width
4735
- }, null, 8, Ao)) : r("", !0)], 8, ko)) : r("", !0),
4806
+ }, null, 8, Uo)) : r("", !0)], 8, Ho)) : r("", !0),
4736
4807
  e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
4737
4808
  key: 2,
4738
4809
  class: "waveform-track__points waveform-chart__points",
@@ -4743,28 +4814,72 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4743
4814
  class: "waveform-track__point waveform-chart__point",
4744
4815
  d: e.pointPath,
4745
4816
  fill: e.series.color
4746
- }, null, 8, Mo)) : r("", !0)], 8, jo))
4747
- ], 8, Do))), 128))], 8, Eo)) : r("", !0);
4817
+ }, null, 8, Go)) : r("", !0)], 8, Wo))
4818
+ ], 8, Bo))), 128))], 8, zo)) : r("", !0);
4748
4819
  }
4749
- }), [["__scopeId", "data-v-6ea098ba"]]), Po = ["transform"], Fo = ["transform"], Io = {
4820
+ }), [["__scopeId", "data-v-628502df"]]), qo = ["clip-path"], Jo = [
4821
+ "data-y-axis-index",
4822
+ "x2",
4823
+ "y1",
4824
+ "y2",
4825
+ "stroke",
4826
+ "stroke-opacity",
4827
+ "stroke-width",
4828
+ "stroke-dasharray"
4829
+ ], Yo = /* @__PURE__ */ l({
4830
+ __name: "WaveformZeroLines",
4831
+ props: {
4832
+ track: {},
4833
+ clipPathId: {},
4834
+ innerWidth: {},
4835
+ cleanView: { type: Boolean },
4836
+ zeroLine: {}
4837
+ },
4838
+ setup(t) {
4839
+ let n = t;
4840
+ function a(e) {
4841
+ let [t, r] = e.scale.domain(), i = Math.abs(e.tickValues[1] - e.tickValues[0]) * n.zeroLine.boundaryThreshold;
4842
+ return !n.zeroLine.visible || t >= 0 || r <= 0 || -t < i || r < i ? null : e.scale(0);
4843
+ }
4844
+ return (n, o) => !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
4845
+ key: 0,
4846
+ class: "waveform-track__zero-lines waveform-chart__zero-lines",
4847
+ "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4848
+ "aria-hidden": "true",
4849
+ "pointer-events": "none"
4850
+ }, [(y(!0), i(e, null, S(t.track.yAxes, (n) => (y(), i(e, { key: `zero-line-${t.track.index}-${n.index}` }, [a(n) === null ? r("", !0) : (y(), i("line", {
4851
+ key: 0,
4852
+ class: "waveform-track__zero-line waveform-chart__zero-line",
4853
+ "data-y-axis-index": n.index,
4854
+ x1: "0",
4855
+ x2: t.track.width ?? t.innerWidth,
4856
+ y1: a(n) ?? 0,
4857
+ y2: a(n) ?? 0,
4858
+ stroke: t.zeroLine.color,
4859
+ "stroke-opacity": t.zeroLine.opacity,
4860
+ "stroke-width": t.zeroLine.width,
4861
+ "stroke-dasharray": t.zeroLine.dash || void 0
4862
+ }, null, 8, Jo))], 64))), 128))], 8, qo)) : r("", !0);
4863
+ }
4864
+ }), Xo = ["transform"], Zo = ["transform"], Qo = {
4750
4865
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
4751
4866
  x: "0",
4752
4867
  y: "7",
4753
4868
  dy: "0.71em",
4754
4869
  "text-anchor": "start"
4755
- }, Lo = ["x"], Ro = [
4870
+ }, $o = ["x"], es = [
4756
4871
  "data-y-axis-index",
4757
4872
  "data-y-axis-side",
4758
4873
  "transform"
4759
- ], zo = { key: 2 }, Bo = [
4874
+ ], ts = { key: 2 }, ns = [
4760
4875
  "x",
4761
4876
  "y",
4762
4877
  "width"
4763
- ], Vo = ["fill", "transform"], Ho = ["data-y-axis-title-index"], Uo = [
4878
+ ], rs = ["fill", "transform"], is = ["data-y-axis-title-index"], as = [
4764
4879
  "x",
4765
4880
  "y",
4766
4881
  "width"
4767
- ], Wo = ["fill", "transform"], Go = /* @__PURE__ */ l({
4882
+ ], os = ["fill", "transform"], ss = /* @__PURE__ */ l({
4768
4883
  __name: "WaveformTrackAxes",
4769
4884
  props: {
4770
4885
  track: {},
@@ -4793,11 +4908,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4793
4908
  if (n.track.yAxes.forEach((e, t) => {
4794
4909
  let r = s.value[t];
4795
4910
  if (!r) return;
4796
- let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => cr(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
4797
- o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
4911
+ let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => br(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
4912
+ o.call(a);
4913
+ let c = Math.min(...e.tickValues);
4914
+ o.selectAll(".tick text").attr("y", null).attr("dy", (e) => e === c ? "0" : "0.32em").attr("dominant-baseline", (e) => e === c ? "text-after-edge" : null), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
4798
4915
  }), !o.value) return;
4799
4916
  let e = G(o.value);
4800
- e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => Mt(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
4917
+ e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => Mt(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter ?? n.track.xAxisLabelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
4801
4918
  }
4802
4919
  return g(async () => {
4803
4920
  await f(), m();
@@ -4819,7 +4936,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4819
4936
  ref: o,
4820
4937
  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 }]),
4821
4938
  transform: `translate(0, ${t.track.height})`
4822
- }, null, 10, Po)) : r("", !0),
4939
+ }, null, 10, Xo)) : r("", !0),
4823
4940
  t.track.showXAxis ? (y(), i("g", {
4824
4941
  key: 1,
4825
4942
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
@@ -4827,13 +4944,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4827
4944
  "font-family": "sans-serif",
4828
4945
  "font-size": "10",
4829
4946
  "aria-hidden": "true"
4830
- }, [a("text", Io, T(t.track.endpointLabels.start), 1), a("text", {
4947
+ }, [a("text", Qo, T(t.track.endpointLabels.start), 1), a("text", {
4831
4948
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
4832
4949
  x: t.track.width ?? t.innerWidth,
4833
4950
  y: "7",
4834
4951
  dy: "0.71em",
4835
4952
  "text-anchor": "end"
4836
- }, T(t.track.endpointLabels.end), 9, Lo)], 8, Fo)) : r("", !0),
4953
+ }, T(t.track.endpointLabels.end), 9, $o)], 8, Zo)) : r("", !0),
4837
4954
  (y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
4838
4955
  key: `y-axis-${t.track.index}-${e.index}`,
4839
4956
  ref_for: !0,
@@ -4842,74 +4959,66 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4842
4959
  "data-y-axis-index": e.index,
4843
4960
  "data-y-axis-side": e.side,
4844
4961
  transform: `translate(${e.x}, 0)`
4845
- }, null, 10, Ro))), 128)),
4846
- !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g", zo, [a("rect", {
4962
+ }, null, 10, es))), 128)),
4963
+ !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g", ts, [a("rect", {
4847
4964
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4848
- x: t.track.yAxisLabelX - D(12) / 2,
4965
+ x: t.track.yAxes[0].labelX - D(20) / 2,
4849
4966
  y: t.track.height / 2 - 40,
4850
- width: D(12),
4967
+ width: D(20),
4851
4968
  height: "80",
4852
4969
  rx: "2"
4853
- }, null, 8, Bo), a("text", {
4970
+ }, null, 8, ns), a("text", {
4854
4971
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4855
4972
  fill: t.track.series?.color,
4856
- transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
4973
+ transform: `translate(${t.track.yAxes[0].labelX}, ${t.track.height / 2}) rotate(-90)`,
4857
4974
  "text-anchor": "middle",
4858
4975
  "dominant-baseline": "central"
4859
- }, T(t.track.series ? c(t.track.series) : ""), 9, Vo)])) : r("", !0),
4976
+ }, T(t.track.series ? c(t.track.series) : ""), 9, rs)])) : r("", !0),
4860
4977
  (y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
4861
4978
  key: `y-axis-title-${t.track.index}-${e.index}`,
4862
4979
  class: "waveform-track__multi-axis-title",
4863
4980
  "data-y-axis-title-index": e.index
4864
4981
  }, [a("rect", {
4865
4982
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4866
- x: e.labelX - D(12) / 2,
4983
+ x: e.labelX - D(20) / 2,
4867
4984
  y: t.track.height / 2 - 40,
4868
- width: D(12),
4985
+ width: D(20),
4869
4986
  height: "80",
4870
4987
  rx: "2"
4871
- }, null, 8, Uo), a("text", {
4988
+ }, null, 8, as), a("text", {
4872
4989
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4873
4990
  fill: e.seriesList[0].color,
4874
4991
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
4875
4992
  "text-anchor": "middle",
4876
4993
  "dominant-baseline": "central"
4877
- }, T(c(e.seriesList[0])), 9, Wo)], 8, Ho))), 128))
4994
+ }, T(c(e.seriesList[0])), 9, os)], 8, is))), 128))
4878
4995
  ], 64));
4879
4996
  }
4880
- }), Ko = [
4997
+ }), cs = [
4881
4998
  "width",
4882
4999
  "height",
4883
5000
  "fill"
4884
- ], qo = ["clip-path"], Jo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Yo = [
5001
+ ], ls = ["clip-path"], us = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, ds = [
4885
5002
  "stroke",
4886
5003
  "x1",
4887
5004
  "x2",
4888
5005
  "y2"
4889
- ], Xo = [
5006
+ ], fs = [
4890
5007
  "stroke",
4891
5008
  "x2",
4892
5009
  "y1",
4893
5010
  "y2"
4894
- ], Zo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Qo = [
5011
+ ], ps = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, ms = [
4895
5012
  "stroke",
4896
5013
  "x1",
4897
5014
  "x2",
4898
5015
  "y2"
4899
- ], $o = [
5016
+ ], hs = [
4900
5017
  "stroke",
4901
5018
  "x2",
4902
5019
  "y1",
4903
5020
  "y2"
4904
- ], es = ["clip-path"], ts = [
4905
- "data-y-axis-index",
4906
- "x2",
4907
- "y1",
4908
- "y2",
4909
- "stroke",
4910
- "stroke-width",
4911
- "stroke-dasharray"
4912
- ], ns = ["x", "y"], rs = /* @__PURE__ */ l({
5021
+ ], gs = ["x", "y"], _s = /* @__PURE__ */ l({
4913
5022
  __name: "WaveformTrackBackdrop",
4914
5023
  props: {
4915
5024
  track: {},
@@ -4917,16 +5026,10 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4917
5026
  innerWidth: {},
4918
5027
  cleanView: { type: Boolean },
4919
5028
  frameNumber: {},
4920
- frameStyle: {},
4921
- zeroLine: {}
5029
+ frameStyle: {}
4922
5030
  },
4923
5031
  setup(t) {
4924
- let n = t;
4925
- function o(e) {
4926
- let [t, r] = e.scale.domain();
4927
- return !n.zeroLine.visible || t > 0 || r < 0 ? null : e.scale(0);
4928
- }
4929
- return (n, s) => (y(), i(e, null, [
5032
+ return (n, o) => (y(), i(e, null, [
4930
5033
  !t.track.isEmpty && !t.cleanView ? (y(), i("rect", {
4931
5034
  key: 0,
4932
5035
  class: "waveform-track__plot-background waveform-chart__plot-background",
@@ -4934,12 +5037,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4934
5037
  height: t.track.height,
4935
5038
  fill: t.frameStyle.backgroundColor,
4936
5039
  "aria-hidden": "true"
4937
- }, null, 8, Ko)) : r("", !0),
5040
+ }, null, 8, cs)) : r("", !0),
4938
5041
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
4939
5042
  key: 1,
4940
5043
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4941
5044
  "aria-hidden": "true"
4942
- }, [a("g", Jo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
5045
+ }, [a("g", us, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
4943
5046
  key: `x-minor-${t.track.index}-${e}`,
4944
5047
  "data-grid-direction": "vertical",
4945
5048
  stroke: t.track.gridLines.verticalColor,
@@ -4947,7 +5050,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4947
5050
  x2: t.track.xScale(e),
4948
5051
  y1: "0",
4949
5052
  y2: t.track.height
4950
- }, null, 8, Yo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
5053
+ }, null, 8, ds))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
4951
5054
  key: `y-minor-${t.track.index}-${e}`,
4952
5055
  "data-grid-direction": "horizontal",
4953
5056
  stroke: t.track.gridLines.horizontalColor,
@@ -4955,7 +5058,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4955
5058
  x2: t.track.width ?? t.innerWidth,
4956
5059
  y1: t.track.yScale(e),
4957
5060
  y2: t.track.yScale(e)
4958
- }, null, 8, Xo))), 128)) : r("", !0)]), a("g", Zo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
5061
+ }, null, 8, fs))), 128)) : r("", !0)]), a("g", ps, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
4959
5062
  key: `x-major-${t.track.index}-${e}`,
4960
5063
  "data-grid-direction": "vertical",
4961
5064
  stroke: t.track.gridLines.verticalColor,
@@ -4963,7 +5066,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4963
5066
  x2: t.track.xScale(e),
4964
5067
  y1: "0",
4965
5068
  y2: t.track.height
4966
- }, null, 8, Qo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
5069
+ }, null, 8, ms))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
4967
5070
  key: `y-major-${t.track.index}-${e}`,
4968
5071
  "data-grid-direction": "horizontal",
4969
5072
  stroke: t.track.gridLines.horizontalColor,
@@ -4971,26 +5074,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4971
5074
  x2: t.track.width ?? t.innerWidth,
4972
5075
  y1: t.track.yScale(e),
4973
5076
  y2: t.track.yScale(e)
4974
- }, null, 8, $o))), 128)) : r("", !0)])], 8, qo)) : r("", !0),
4975
- !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
4976
- key: 2,
4977
- class: "waveform-track__zero-lines waveform-chart__zero-lines",
4978
- "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4979
- "aria-hidden": "true"
4980
- }, [(y(!0), i(e, null, S(t.track.yAxes, (n) => (y(), i(e, { key: `zero-line-${t.track.index}-${n.index}` }, [o(n) === null ? r("", !0) : (y(), i("line", {
4981
- key: 0,
4982
- class: "waveform-track__zero-line waveform-chart__zero-line",
4983
- "data-y-axis-index": n.index,
4984
- x1: "0",
4985
- x2: t.track.width ?? t.innerWidth,
4986
- y1: o(n) ?? 0,
4987
- y2: o(n) ?? 0,
4988
- stroke: t.zeroLine.color,
4989
- "stroke-width": t.zeroLine.width,
4990
- "stroke-dasharray": t.zeroLine.dash || void 0
4991
- }, null, 8, ts))], 64))), 128))], 8, es)) : r("", !0),
5077
+ }, null, 8, hs))), 128)) : r("", !0)])], 8, ls)) : r("", !0),
4992
5078
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
4993
- key: 3,
5079
+ key: 2,
4994
5080
  class: "waveform-track__watermark waveform-chart__watermark",
4995
5081
  x: (t.track.width ?? t.innerWidth) / 2,
4996
5082
  y: t.track.height / 2,
@@ -4998,10 +5084,10 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4998
5084
  "text-anchor": "middle",
4999
5085
  "dominant-baseline": "central",
5000
5086
  "aria-hidden": "true"
5001
- }, T(t.frameNumber), 13, ns)) : r("", !0)
5087
+ }, T(t.frameNumber), 13, gs)) : r("", !0)
5002
5088
  ], 64));
5003
5089
  }
5004
- }), is = [
5090
+ }), vs = [
5005
5091
  "data-track-index",
5006
5092
  "data-track-id",
5007
5093
  "data-track-empty",
@@ -5011,19 +5097,19 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5011
5097
  "data-track-top",
5012
5098
  "data-track-height",
5013
5099
  "transform"
5014
- ], as = [
5100
+ ], ys = [
5015
5101
  "width",
5016
5102
  "height",
5017
5103
  "stroke",
5018
5104
  "stroke-width",
5019
5105
  "stroke-dasharray",
5020
5106
  "stroke-linecap"
5021
- ], os = [
5107
+ ], bs = [
5022
5108
  "data-interactive",
5023
5109
  "data-independent-overlay-index",
5024
5110
  "width",
5025
5111
  "height"
5026
- ], ss = ["x", "y"], cs = /* @__PURE__ */ l({
5112
+ ], xs = ["x", "y"], Ss = /* @__PURE__ */ l({
5027
5113
  __name: "WaveformTrack",
5028
5114
  props: {
5029
5115
  track: {},
@@ -5046,10 +5132,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5046
5132
  default: !1
5047
5133
  },
5048
5134
  zeroLine: { default: () => ({
5049
- visible: !1,
5050
- color: "#98a2b3",
5051
- width: 1,
5052
- dash: "6 4"
5135
+ visible: !0,
5136
+ color: Gt.COLOR,
5137
+ width: Gt.WIDTH,
5138
+ dash: Gt.DASH,
5139
+ opacity: Gt.OPACITY,
5140
+ boundaryThreshold: Gt.BOUNDARY_THRESHOLD
5053
5141
  }) }
5054
5142
  },
5055
5143
  emits: [
@@ -5083,24 +5171,22 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5083
5171
  "data-track-height": e.track.height,
5084
5172
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
5085
5173
  }, [
5086
- s(rs, {
5174
+ s(_s, {
5087
5175
  track: e.track,
5088
5176
  "clip-path-id": e.clipPathId,
5089
5177
  "inner-width": e.innerWidth,
5090
5178
  "clean-view": e.cleanView,
5091
5179
  "frame-number": e.frameNumber,
5092
- "frame-style": c.value,
5093
- "zero-line": e.zeroLine
5180
+ "frame-style": c.value
5094
5181
  }, null, 8, [
5095
5182
  "track",
5096
5183
  "clip-path-id",
5097
5184
  "inner-width",
5098
5185
  "clean-view",
5099
5186
  "frame-number",
5100
- "frame-style",
5101
- "zero-line"
5187
+ "frame-style"
5102
5188
  ]),
5103
- s(Go, {
5189
+ s(ss, {
5104
5190
  track: e.track,
5105
5191
  "inner-width": e.innerWidth,
5106
5192
  "clean-view": e.cleanView,
@@ -5126,11 +5212,24 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5126
5212
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
5127
5213
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
5128
5214
  "aria-hidden": "true"
5129
- }, null, 8, as)),
5130
- s(No, {
5215
+ }, null, 8, ys)),
5216
+ s(Ko, {
5131
5217
  track: e.track,
5132
5218
  "clip-path-id": e.clipPathId
5133
5219
  }, null, 8, ["track", "clip-path-id"]),
5220
+ s(Yo, {
5221
+ track: e.track,
5222
+ "clip-path-id": e.clipPathId,
5223
+ "inner-width": e.innerWidth,
5224
+ "clean-view": e.cleanView,
5225
+ "zero-line": e.zeroLine
5226
+ }, null, 8, [
5227
+ "track",
5228
+ "clip-path-id",
5229
+ "inner-width",
5230
+ "clean-view",
5231
+ "zero-line"
5232
+ ]),
5134
5233
  !e.track.isEmpty && e.track.hasVisibleSeries && e.displayMode === "independent" ? (y(), i("rect", {
5135
5234
  key: 1,
5136
5235
  class: p(["waveform-track__overlay waveform-track__overlay--independent waveform-chart__overlay waveform-chart__overlay--independent", {
@@ -5149,7 +5248,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5149
5248
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
5150
5249
  onClick: n[5] ||= (e) => o("click", e),
5151
5250
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
5152
- }, null, 42, os)) : r("", !0),
5251
+ }, null, 42, bs)) : r("", !0),
5153
5252
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
5154
5253
  key: 2,
5155
5254
  class: "waveform-track__no-visible-series",
@@ -5157,33 +5256,33 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5157
5256
  y: e.track.height / 2,
5158
5257
  "text-anchor": "middle",
5159
5258
  "dominant-baseline": "central"
5160
- }, " 暂无可见曲线 ", 8, ss)) : r("", !0)
5161
- ], 10, is));
5259
+ }, " 暂无可见曲线 ", 8, xs)) : r("", !0)
5260
+ ], 10, vs));
5162
5261
  }
5163
- }), ls = [
5262
+ }), Cs = [
5164
5263
  "width",
5165
5264
  "height",
5166
5265
  "data-position",
5167
5266
  "data-orientation"
5168
- ], us = [
5267
+ ], ws = [
5169
5268
  "disabled",
5170
5269
  "aria-pressed",
5171
5270
  "aria-label",
5172
5271
  "onClick"
5173
- ], ds = [
5272
+ ], Ts = [
5174
5273
  "data-line-type",
5175
5274
  "data-line-style",
5176
5275
  "data-point-type",
5177
5276
  "data-error-bar-visible"
5178
- ], fs = [
5277
+ ], Es = [
5179
5278
  "d",
5180
5279
  "stroke",
5181
5280
  "stroke-dasharray"
5182
- ], ps = [
5281
+ ], Ds = [
5183
5282
  "d",
5184
5283
  "stroke",
5185
5284
  "stroke-width"
5186
- ], ms = ["d", "fill"], hs = ["title"], gs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
5285
+ ], Os = ["d", "fill"], ks = ["title"], As = /*#__PURE__*/ nt(/* @__PURE__ */ l({
5187
5286
  __name: "WaveformLegend",
5188
5287
  props: {
5189
5288
  series: {},
@@ -5241,45 +5340,45 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5241
5340
  "data-point-type": e.pointType,
5242
5341
  "data-error-bar-visible": e.errorBar.visible || void 0
5243
5342
  }, [
5244
- D(Co)(e.lineType) ? (y(), i("path", {
5343
+ D(Io)(e.lineType) ? (y(), i("path", {
5245
5344
  key: 0,
5246
5345
  class: "waveform-legend__line",
5247
- d: D(Co)(e.lineType) ?? void 0,
5346
+ d: D(Io)(e.lineType) ?? void 0,
5248
5347
  stroke: e.color,
5249
- "stroke-dasharray": D(wo)(e.lineStyle),
5250
- "stroke-width": "2.5",
5348
+ "stroke-dasharray": D(Lo)(e.lineStyle),
5349
+ "stroke-width": "1",
5251
5350
  fill: "none"
5252
- }, null, 8, fs)) : r("", !0),
5351
+ }, null, 8, Es)) : r("", !0),
5253
5352
  e.errorBar.visible ? (y(), i("path", {
5254
5353
  key: 1,
5255
5354
  class: "waveform-legend__error-bar",
5256
- d: D(To)(e.errorBar.capWidth),
5355
+ d: D(Ro)(e.errorBar.capWidth),
5257
5356
  stroke: e.errorBar.color || e.color,
5258
5357
  "stroke-width": e.errorBar.width,
5259
5358
  "stroke-linecap": "butt",
5260
5359
  fill: "none"
5261
- }, null, 8, ps)) : r("", !0),
5360
+ }, null, 8, Ds)) : r("", !0),
5262
5361
  e.pointType === "none" ? r("", !0) : (y(), i("path", {
5263
5362
  key: 2,
5264
5363
  class: "waveform-legend__point",
5265
- d: D(xo)(e.pointType, 30) ?? void 0,
5364
+ d: D(Po)(e.pointType, 30) ?? void 0,
5266
5365
  fill: e.color,
5267
5366
  transform: "translate(13 8)"
5268
- }, null, 8, ms))
5269
- ], 8, ds)), a("span", {
5367
+ }, null, 8, Os))
5368
+ ], 8, Ts)), a("span", {
5270
5369
  class: "waveform-legend__label",
5271
5370
  title: e.name
5272
- }, T(e.name), 9, hs)], 10, us))), 128))], 6)], 2)], 8, ls));
5371
+ }, T(e.name), 9, ks)], 10, ws))), 128))], 6)], 2)], 8, Cs));
5273
5372
  }
5274
- }), [["__scopeId", "data-v-3b9e78d8"]]), _s = {
5373
+ }), [["__scopeId", "data-v-3af7ebae"]]), js = {
5275
5374
  class: "waveform-chart__hover-layer",
5276
5375
  "pointer-events": "none",
5277
5376
  "aria-hidden": "true"
5278
- }, vs = ["clip-path", "transform"], ys = [
5377
+ }, Ms = ["clip-path", "transform"], Ns = [
5279
5378
  "x1",
5280
5379
  "x2",
5281
5380
  "y2"
5282
- ], bs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
5381
+ ], Ps = /*#__PURE__*/ nt(/* @__PURE__ */ l({
5283
5382
  __name: "WaveformHoverLayer",
5284
5383
  props: {
5285
5384
  state: {},
@@ -5295,7 +5394,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5295
5394
  x: e.xScale(n)
5296
5395
  }] : [];
5297
5396
  }));
5298
- return (t, r) => (y(), i("g", _s, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
5397
+ return (t, r) => (y(), i("g", js, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
5299
5398
  key: e.track.index,
5300
5399
  class: "waveform-track__crosshair waveform-chart__crosshair",
5301
5400
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -5305,9 +5404,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5305
5404
  x2: e.x,
5306
5405
  y1: "0",
5307
5406
  y2: e.track.height
5308
- }, null, 8, ys)], 8, vs))), 128))]));
5407
+ }, null, 8, Ns)], 8, Ms))), 128))]));
5309
5408
  }
5310
- }), [["__scopeId", "data-v-54a5a37d"]]), xs = [
5409
+ }), [["__scopeId", "data-v-54a5a37d"]]), Fs = [
5311
5410
  "data-display-mode",
5312
5411
  "data-interaction-mode",
5313
5412
  "data-presentation-mode",
@@ -5316,31 +5415,31 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5316
5415
  "data-plot-margin-top",
5317
5416
  "data-plot-margin-bottom",
5318
5417
  "data-title-area-height"
5319
- ], Ss = [
5418
+ ], Is = [
5320
5419
  "role",
5321
5420
  "aria-level",
5322
5421
  "aria-hidden"
5323
- ], Cs = ["data-title-scale", "data-title-wrapped"], ws = [
5422
+ ], Ls = ["data-title-scale", "data-title-wrapped"], Rs = [
5324
5423
  "width",
5325
5424
  "height",
5326
5425
  "aria-label"
5327
- ], Ts = ["id"], Es = ["width", "height"], Ds = ["transform"], Os = {
5426
+ ], zs = ["id"], Bs = ["width", "height"], Vs = ["transform"], Hs = {
5328
5427
  key: 0,
5329
5428
  class: "waveform-chart__grid-slots",
5330
5429
  "aria-hidden": "true"
5331
- }, ks = ["transform"], As = ["width", "height"], js = ["width", "height"], Ms = [
5430
+ }, Us = ["transform"], Ws = ["width", "height"], Gs = ["width", "height"], Ks = [
5332
5431
  "x",
5333
5432
  "y",
5334
5433
  "width",
5335
5434
  "height"
5336
- ], Ns = {
5435
+ ], qs = {
5337
5436
  key: 4,
5338
5437
  class: "waveform-chart__legend-layer"
5339
- }, Ps = [
5438
+ }, Js = [
5340
5439
  "data-legend-track-index",
5341
5440
  "data-legend-track-id",
5342
5441
  "transform"
5343
- ], Fs = ["x", "y"], Is = ["x", "y"], Ls = /* @__PURE__ */ l({
5442
+ ], Ys = ["x", "y"], Xs = ["x", "y"], Zs = /* @__PURE__ */ l({
5344
5443
  __name: "WaveformChartView",
5345
5444
  props: { controller: {} },
5346
5445
  setup(t) {
@@ -5393,7 +5492,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5393
5492
  style: m(D(M)),
5394
5493
  "data-title-scale": D(N).scale,
5395
5494
  "data-title-wrapped": D(N).wrapped || void 0
5396
- }, T(D(A)), 13, Cs)], 4)) : r("", !0)], 12, Ss)) : r("", !0),
5495
+ }, T(D(A)), 13, Ls)], 4)) : r("", !0)], 12, Is)) : r("", !0),
5397
5496
  (y(), i("svg", {
5398
5497
  ref: D(Xe),
5399
5498
  class: "waveform-chart__svg",
@@ -5410,9 +5509,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5410
5509
  }, [a("rect", {
5411
5510
  width: e.width,
5412
5511
  height: e.height
5413
- }, null, 8, Es)], 8, Ts))), 128))]),
5512
+ }, null, 8, Bs)], 8, zs))), 128))]),
5414
5513
  a("g", { transform: `translate(${D(g)}, ${D(B)})` }, [
5415
- D(o) !== "compact" && !D(l) ? (y(), i("g", Os, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
5514
+ D(o) !== "compact" && !D(l) ? (y(), i("g", Hs, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
5416
5515
  key: `grid-slot-${e.slotIndex}`,
5417
5516
  transform: `translate(${e.left}, ${e.top})`
5418
5517
  }, [e.series ? r("", !0) : (y(), i("rect", {
@@ -5420,7 +5519,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5420
5519
  class: "waveform-chart__grid-slot-placeholder",
5421
5520
  width: e.width,
5422
5521
  height: e.cellHeight
5423
- }, null, 8, As))], 8, ks))), 128))])) : r("", !0),
5522
+ }, null, 8, Ws))], 8, Us))), 128))])) : r("", !0),
5424
5523
  D(o) !== "independent" && D(R).length && D(H) ? (y(), i("rect", {
5425
5524
  key: 1,
5426
5525
  ref: D(Qe),
@@ -5437,8 +5536,8 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5437
5536
  onPointerleave: E[4] ||= (...e) => D(q) && D(q)(...e),
5438
5537
  onClick: E[5] ||= (...e) => D(ie) && D(ie)(...e),
5439
5538
  onContextmenu: E[6] ||= (...e) => D(J) && D(J)(...e)
5440
- }, null, 42, js)) : r("", !0),
5441
- (y(!0), i(e, null, S(D(R), (e) => (y(), n(D(cs), {
5539
+ }, null, 42, Gs)) : r("", !0),
5540
+ (y(!0), i(e, null, S(D(R), (e) => (y(), n(D(Ss), {
5442
5541
  key: `${e.index}-${e.id}`,
5443
5542
  track: e,
5444
5543
  "clip-path-id": D(z),
@@ -5484,7 +5583,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5484
5583
  "onClick",
5485
5584
  "onContextmenu"
5486
5585
  ]))), 128)),
5487
- s(D(bs), {
5586
+ s(D(Ps), {
5488
5587
  state: D(pe),
5489
5588
  tracks: D(R),
5490
5589
  "clip-path-id": D(z),
@@ -5503,7 +5602,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5503
5602
  width: D(he).width,
5504
5603
  height: D(he).height,
5505
5604
  "aria-hidden": "true"
5506
- }, null, 8, Ms)) : r("", !0),
5605
+ }, null, 8, Ks)) : r("", !0),
5507
5606
  D(l) ? r("", !0) : (y(), n(D(rt), {
5508
5607
  key: 3,
5509
5608
  annotations: D(ge),
@@ -5522,13 +5621,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5522
5621
  "onMove",
5523
5622
  "onDragEnd"
5524
5623
  ])),
5525
- D(l) ? r("", !0) : (y(), i("g", Ns, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
5624
+ D(l) ? r("", !0) : (y(), i("g", qs, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
5526
5625
  key: `legend-${e.index}-${e.id}`,
5527
5626
  class: "waveform-chart__legend-track",
5528
5627
  "data-legend-track-index": e.index,
5529
5628
  "data-legend-track-id": e.id,
5530
5629
  transform: `translate(${e.left}, ${e.top})`
5531
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(gs), {
5630
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(As), {
5532
5631
  key: 0,
5533
5632
  series: e.legendSeries,
5534
5633
  position: D(Se)(e.id),
@@ -5549,23 +5648,23 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5549
5648
  "width",
5550
5649
  "height",
5551
5650
  "onToggle"
5552
- ])) : r("", !0)], 8, Ps))), 128))]))
5553
- ], 8, Ds),
5651
+ ])) : r("", !0)], 8, Js))), 128))]))
5652
+ ], 8, Vs),
5554
5653
  D(De) && !D(l) ? (y(), i("text", {
5555
5654
  key: 0,
5556
5655
  class: "waveform-chart__label waveform-chart__x-label",
5557
5656
  x: D(g) + D(G) / 2,
5558
5657
  y: D(Oe),
5559
5658
  "text-anchor": "middle"
5560
- }, T(D(De)), 9, Fs)) : r("", !0),
5659
+ }, T(D(De)), 9, Ys)) : r("", !0),
5561
5660
  D(ke) && !D(I) ? (y(), i("text", {
5562
5661
  key: 1,
5563
5662
  class: "waveform-chart__empty",
5564
5663
  x: D(P) / 2,
5565
5664
  y: D(F) / 2,
5566
5665
  "text-anchor": "middle"
5567
- }, " 暂无有效波形数据 ", 8, Is)) : r("", !0)
5568
- ], 40, ws)),
5666
+ }, " 暂无有效波形数据 ", 8, Xs)) : r("", !0)
5667
+ ], 40, Rs)),
5569
5668
  D(Ae).showPagination && D(je) > 1 && !D(l) ? (y(), n(D(ce), {
5570
5669
  key: 1,
5571
5670
  class: "waveform-chart__pagination",
@@ -5582,7 +5681,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5582
5681
  "total",
5583
5682
  "onChange"
5584
5683
  ])) : r("", !0),
5585
- D(Le) && !D(l) && !D(u) ? (y(), n(io, {
5684
+ D(Le) && !D(l) && !D(u) ? (y(), n(vo, {
5586
5685
  key: 2,
5587
5686
  annotation: D(Le).annotation,
5588
5687
  mode: D(Le).mode,
@@ -5624,7 +5723,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5624
5723
  "onDelete",
5625
5724
  "onClose"
5626
5725
  ])) : r("", !0),
5627
- s(D(mo), {
5726
+ s(D(Do), {
5628
5727
  state: D(pe),
5629
5728
  visible: D(me) && !D(u),
5630
5729
  "time-unit": D(ue),
@@ -5637,9 +5736,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5637
5736
  "container-width",
5638
5737
  "container-height"
5639
5738
  ])
5640
- ], 46, xs));
5739
+ ], 46, Fs));
5641
5740
  }
5642
- }), Rs = /* @__PURE__ */ l({
5741
+ }), Qs = /* @__PURE__ */ l({
5643
5742
  __name: "WaveformChart",
5644
5743
  props: {
5645
5744
  data: {},
@@ -5658,6 +5757,10 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5658
5757
  type: Boolean,
5659
5758
  default: !0
5660
5759
  },
5760
+ integerZoom: {
5761
+ type: Boolean,
5762
+ default: !1
5763
+ },
5661
5764
  pannable: {
5662
5765
  type: Boolean,
5663
5766
  default: !1
@@ -5703,7 +5806,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5703
5806
  type: Boolean,
5704
5807
  default: !1
5705
5808
  },
5706
- zeroLine: { default: () => ({ visible: !1 }) }
5809
+ zeroLine: { default: () => ({ visible: !0 }) }
5707
5810
  },
5708
5811
  emits: [
5709
5812
  "point-hover",
@@ -5723,12 +5826,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
5723
5826
  "sampling-error"
5724
5827
  ],
5725
5828
  setup(e, { expose: t, emit: r }) {
5726
- let i = za(e, r);
5829
+ let i = Qa(e, r);
5727
5830
  return t({
5728
5831
  resetViewport: i.resetViewport,
5729
5832
  setViewportDomain: i.setViewportDomain
5730
- }), (e, t) => (y(), n(Ls, { controller: D(i) }, null, 8, ["controller"]));
5833
+ }), (e, t) => (y(), n(Zs, { controller: D(i) }, null, 8, ["controller"]));
5731
5834
  }
5732
5835
  });
5733
5836
  //#endregion
5734
- export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Rs as WaveformChart, vt as buildMinorTicks, wi as calculateWasmRange, Rt as clamp, jt as displayTime, Ti as findWasmVisibleRange, Pt as formatAxisTime, Nt as formatEndpointTime, Ft as formatTooltipTime, Si as initializeWasmSampling, ln as normalizeWaveformData, fn as normalizeWaveformSeries, _t as paddedDomain, ht as parseWaveformAnnotations, Lt as resolveTrackGeometry, Dn as resolveWaveformRenderingOptions, Ci as sampleWaveformWasm, Fn as selectRenderablePoints, mt as serializeWaveformAnnotations };
5837
+ export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Qs as WaveformChart, vt as buildMinorTicks, Li as calculateWasmRange, Rt as clamp, jt as displayTime, Ri as findWasmVisibleRange, Pt as formatAxisTime, Nt as formatEndpointTime, Ft as formatTooltipTime, Fi as initializeWasmSampling, ln as normalizeWaveformData, fn as normalizeWaveformSeries, _t as paddedDomain, ht as parseWaveformAnnotations, Lt as resolveTrackGeometry, Dn as resolveWaveformRenderingOptions, Ii as sampleWaveformWasm, Fn as selectRenderablePoints, mt as serializeWaveformAnnotations };