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.
- package/README.md +33 -4
- package/dist/index.cjs +1 -1
- package/dist/index.js +724 -621
- package/dist/style.css +1 -1
- package/dist/types/components/WaveformChart.vue.d.ts +3 -2
- package/dist/types/components/core/constants.d.ts +3 -1
- package/dist/types/components/core/trackLayoutBuilder.d.ts +2 -0
- package/dist/types/components/core/types.d.ts +2 -1
- package/dist/types/components/core/useWaveformChartController.d.ts +3 -0
- package/dist/types/components/core/useWaveformPresentation.d.ts +2 -0
- package/dist/types/components/core/waveformChartTypes.d.ts +3 -1
- package/dist/types/components/core/yAxisConstants.d.ts +1 -1
- package/dist/types/components/core/yAxisTitleLayout.d.ts +4 -0
- package/dist/types/components/interaction/integerZoom.d.ts +12 -0
- package/dist/types/components/interaction/viewportDomain.d.ts +1 -0
- package/dist/types/components/interaction/zoomConstraints.d.ts +2 -1
- package/dist/types/components/rendering/WaveformTrack.vue.d.ts +2 -6
- package/dist/types/components/rendering/WaveformTrackBackdrop.vue.d.ts +0 -4
- package/dist/types/components/rendering/WaveformZeroLines.vue.d.ts +12 -0
- package/dist/types/demo/types.d.ts +3 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types/chart.d.ts +8 -0
- package/package.json +1 -1
- package/src/App.vue +8 -2
- package/src/components/WaveformChart.css +4 -0
- package/src/components/WaveformChart.vue +2 -1
- package/src/components/core/constants.ts +5 -3
- package/src/components/core/layout.ts +1 -1
- package/src/components/core/trackLayoutBuilder.ts +30 -19
- package/src/components/core/types.ts +2 -0
- package/src/components/core/useWaveformChartLifecycle.ts +1 -1
- package/src/components/core/useWaveformLayout.ts +34 -17
- package/src/components/core/useWaveformPresentation.ts +11 -1
- package/src/components/core/waveformChartTypes.ts +3 -0
- package/src/components/core/yAxisConstants.ts +1 -1
- package/src/components/core/yAxisTitleLayout.ts +78 -0
- package/src/components/interaction/integerZoom.ts +64 -0
- package/src/components/interaction/useWaveformViewport.ts +8 -12
- package/src/components/interaction/useWaveformZoom.ts +6 -4
- package/src/components/interaction/viewportDomain.ts +12 -0
- package/src/components/interaction/zoomConstraints.ts +7 -5
- package/src/components/rendering/WaveformLegend.vue +1 -1
- package/src/components/rendering/WaveformSeriesLayer.vue +1 -1
- package/src/components/rendering/WaveformTrack.css +5 -2
- package/src/components/rendering/WaveformTrack.vue +18 -5
- package/src/components/rendering/WaveformTrackAxes.vue +9 -3
- package/src/components/rendering/WaveformTrackBackdrop.vue +2 -34
- package/src/components/rendering/WaveformZeroLines.vue +53 -0
- package/src/demo/DemoChartHost.vue +1 -0
- package/src/demo/DemoGridFrameControls.vue +12 -0
- package/src/demo/DemoViewControls.vue +4 -0
- package/src/demo/types.ts +3 -0
- package/src/index.ts +1 -0
- package/src/styles.css +3 -3
- 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:
|
|
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: "#
|
|
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
|
|
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
|
|
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(
|
|
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 =
|
|
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.
|
|
1561
|
-
start: Mt(
|
|
1562
|
-
end: Mt(
|
|
1563
|
-
},
|
|
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 >
|
|
1566
|
-
}),
|
|
1567
|
-
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Rn(n.points,
|
|
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
|
-
|
|
1603
|
-
|
|
1662
|
+
xAxisLabelFormatter: _,
|
|
1663
|
+
xMinorTicks: vt(g, 3, b),
|
|
1664
|
+
yMajorTicks: v,
|
|
1604
1665
|
yMinorTicks: p[0]?.minorTicks ?? [],
|
|
1605
|
-
yAxisTickValues:
|
|
1606
|
-
xAxisTickValues:
|
|
1607
|
-
endpointLabels:
|
|
1608
|
-
path:
|
|
1609
|
-
seriesPaths:
|
|
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
|
|
1621
|
-
function
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1654
|
-
function
|
|
1655
|
-
let n =
|
|
1656
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
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 =
|
|
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
|
|
1738
|
+
function wr(e, t, n, r) {
|
|
1677
1739
|
let i = qt(e, r);
|
|
1678
|
-
return
|
|
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
|
|
1754
|
+
function Tr(e, t, n, r, i) {
|
|
1693
1755
|
let a = i?.[e.id];
|
|
1694
|
-
return
|
|
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
|
|
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
|
-
} :
|
|
1704
|
-
return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) =>
|
|
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
|
|
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
|
-
|
|
1714
|
-
let t = l[e.side]++, n = `${e.side}:${t}`, r =
|
|
1715
|
-
c.set(n, Math.max(c.get(n) ??
|
|
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}`) ??
|
|
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
|
|
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
|
|
1758
|
-
function
|
|
1759
|
-
return
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2108
|
+
function Fr(e, t) {
|
|
2047
2109
|
return {
|
|
2048
2110
|
...e,
|
|
2049
2111
|
...t
|
|
2050
2112
|
};
|
|
2051
2113
|
}
|
|
2052
|
-
function
|
|
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
|
|
2121
|
+
function Lr(e, t) {
|
|
2060
2122
|
switch (t.type) {
|
|
2061
|
-
case "begin": return e ?
|
|
2062
|
-
state:
|
|
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 ?
|
|
2067
|
-
state:
|
|
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 ?
|
|
2133
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? Ir(e) : {
|
|
2072
2134
|
state: null,
|
|
2073
2135
|
accepted: !0,
|
|
2074
|
-
completed:
|
|
2136
|
+
completed: Fr(e, t.position)
|
|
2075
2137
|
};
|
|
2076
|
-
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ?
|
|
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
|
|
2091
|
-
function
|
|
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
|
|
2156
|
+
function Br(e) {
|
|
2095
2157
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2096
2158
|
}
|
|
2097
|
-
function
|
|
2098
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
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 =
|
|
2109
|
-
return o.set(n, 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
|
|
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 =
|
|
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
|
|
2125
|
-
let r =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
2147
|
-
let i =
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
2169
|
-
i[n] =
|
|
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 =
|
|
2173
|
-
e.sharedTransform.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
|
|
2247
|
+
function Yr(e) {
|
|
2182
2248
|
return [...e].sort().join("\0");
|
|
2183
2249
|
}
|
|
2184
|
-
function
|
|
2185
|
-
let n =
|
|
2186
|
-
return e.find((e) =>
|
|
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
|
|
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
|
|
2267
|
+
function Qr(e, t, n) {
|
|
2202
2268
|
for (let r of n) {
|
|
2203
|
-
let n =
|
|
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
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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:
|
|
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
|
-
},
|
|
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 &&
|
|
2286
|
-
},
|
|
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 =
|
|
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] =
|
|
2291
|
-
} else p.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 =
|
|
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
|
-
},
|
|
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 =
|
|
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" &&
|
|
2316
|
-
},
|
|
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
|
-
},
|
|
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 =
|
|
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] =
|
|
2328
|
-
} else p.value =
|
|
2329
|
-
|
|
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
|
-
},
|
|
2421
|
+
}, z = (e) => {
|
|
2359
2422
|
if (v.value) {
|
|
2360
|
-
|
|
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 =
|
|
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
|
-
|
|
2443
|
+
F(p, n), f(C);
|
|
2381
2444
|
return;
|
|
2382
2445
|
}
|
|
2383
|
-
Math.abs(p.currentX - p.startX) >= 6 &&
|
|
2446
|
+
Math.abs(p.currentX - p.startX) >= 6 && R(p);
|
|
2384
2447
|
}
|
|
2385
|
-
},
|
|
2386
|
-
if (T(),
|
|
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:
|
|
2397
|
-
beginSharedViewportDrag:
|
|
2398
|
-
updateViewportDrag:
|
|
2399
|
-
finishViewportDrag:
|
|
2400
|
-
cancelViewportDrag:
|
|
2401
|
-
resetViewport:
|
|
2402
|
-
setViewportDomain:
|
|
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:
|
|
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(),
|
|
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(),
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
2530
|
+
let [r, i] = lr(e.transform.rescaleX(W(c.value, [0, u.value])).domain(), t);
|
|
2468
2531
|
n("zoom-intent", {
|
|
2469
|
-
start:
|
|
2470
|
-
end:
|
|
2532
|
+
start: r,
|
|
2533
|
+
end: i,
|
|
2471
2534
|
gesture: "wheel"
|
|
2472
2535
|
}), k();
|
|
2473
|
-
}, j = (e,
|
|
2536
|
+
}, j = (e, r) => {
|
|
2474
2537
|
if (y || m.value) return;
|
|
2475
|
-
g(), C.set(
|
|
2476
|
-
let
|
|
2477
|
-
if (
|
|
2478
|
-
let
|
|
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:
|
|
2481
|
-
end:
|
|
2482
|
-
trackIndex:
|
|
2483
|
-
seriesIds:
|
|
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
|
|
2498
|
-
n("zoom-change", [
|
|
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],
|
|
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
|
|
2506
|
-
|
|
2507
|
-
let t =
|
|
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 (
|
|
2572
|
+
if (i.get(e) === "wheel") {
|
|
2510
2573
|
let e = t.seriesList.map((e) => e.id);
|
|
2511
|
-
T.set(
|
|
2574
|
+
T.set(Yr(e), e);
|
|
2512
2575
|
}
|
|
2513
|
-
let
|
|
2514
|
-
n("zoom-change", [
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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) =>
|
|
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
|
|
2663
|
+
function ri(e) {
|
|
2601
2664
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2602
2665
|
}
|
|
2603
|
-
function
|
|
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 ||
|
|
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 ? [[
|
|
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(
|
|
2700
|
+
let r = q?.get(Yr(n.seriesList.map((e) => e.id)));
|
|
2638
2701
|
if (!r) return;
|
|
2639
|
-
let i = I(n), a =
|
|
2640
|
-
e[n.index] =
|
|
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 =
|
|
2644
|
-
A.value =
|
|
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(() =>
|
|
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
|
|
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
|
|
2744
|
-
let r = w(
|
|
2810
|
+
function oi(e, t, n) {
|
|
2811
|
+
let r = w(ai(e()));
|
|
2745
2812
|
return k(e, (e) => {
|
|
2746
|
-
t(), r.value =
|
|
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
|
|
2752
|
-
let n =
|
|
2753
|
-
if (o[3]) throw
|
|
2754
|
-
var s =
|
|
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
|
|
2758
|
-
let i =
|
|
2759
|
-
if (c[3]) throw
|
|
2760
|
-
var l =
|
|
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
|
|
2764
|
-
let i =
|
|
2765
|
-
if (c[3]) throw
|
|
2766
|
-
var l =
|
|
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
|
|
2770
|
-
let i =
|
|
2771
|
-
if (c[3]) throw
|
|
2772
|
-
var l =
|
|
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
|
|
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
|
|
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
|
|
2791
|
-
return e >>>= 0,
|
|
2857
|
+
function fi(e, t) {
|
|
2858
|
+
return e >>>= 0, hi().subarray(e / 8, e / 8 + t);
|
|
2792
2859
|
}
|
|
2793
|
-
function
|
|
2794
|
-
return e >>>= 0,
|
|
2860
|
+
function pi(e, t) {
|
|
2861
|
+
return e >>>= 0, vi().subarray(e / 4, e / 4 + t);
|
|
2795
2862
|
}
|
|
2796
|
-
var
|
|
2797
|
-
function
|
|
2798
|
-
return (
|
|
2863
|
+
var mi = null;
|
|
2864
|
+
function hi() {
|
|
2865
|
+
return (mi === null || mi.byteLength === 0) && (mi = new Float64Array($.memory.buffer)), mi;
|
|
2799
2866
|
}
|
|
2800
|
-
function
|
|
2801
|
-
return e >>>= 0,
|
|
2867
|
+
function gi(e, t) {
|
|
2868
|
+
return e >>>= 0, Ei(e, t);
|
|
2802
2869
|
}
|
|
2803
|
-
var
|
|
2804
|
-
function
|
|
2805
|
-
return (
|
|
2870
|
+
var _i = null;
|
|
2871
|
+
function vi() {
|
|
2872
|
+
return (_i === null || _i.byteLength === 0) && (_i = new Uint32Array($.memory.buffer)), _i;
|
|
2806
2873
|
}
|
|
2807
|
-
var
|
|
2808
|
-
function
|
|
2809
|
-
return (
|
|
2874
|
+
var yi = null;
|
|
2875
|
+
function bi() {
|
|
2876
|
+
return (yi === null || yi.byteLength === 0) && (yi = new Uint8Array($.memory.buffer)), yi;
|
|
2810
2877
|
}
|
|
2811
|
-
function
|
|
2878
|
+
function xi(e, t) {
|
|
2812
2879
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2813
|
-
return
|
|
2880
|
+
return hi().set(e, n / 8), Di = e.length, n;
|
|
2814
2881
|
}
|
|
2815
|
-
function
|
|
2882
|
+
function Si(e) {
|
|
2816
2883
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2817
2884
|
return $.__externref_table_dealloc(e), t;
|
|
2818
2885
|
}
|
|
2819
|
-
var
|
|
2886
|
+
var Ci = new TextDecoder("utf-8", {
|
|
2820
2887
|
ignoreBOM: !0,
|
|
2821
2888
|
fatal: !0
|
|
2822
2889
|
});
|
|
2823
|
-
|
|
2824
|
-
var
|
|
2825
|
-
function
|
|
2826
|
-
return
|
|
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
|
-
}),
|
|
2896
|
+
}), Ci.decode(), Ti = t), Ci.decode(bi().subarray(e, e + t));
|
|
2830
2897
|
}
|
|
2831
|
-
var
|
|
2832
|
-
function
|
|
2833
|
-
return $ = e.exports,
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
2867
|
-
return
|
|
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
|
|
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
|
-
},
|
|
2881
|
-
function
|
|
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
|
|
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
|
|
2888
|
-
return
|
|
2954
|
+
function Fi(e) {
|
|
2955
|
+
return Mi ??= Promise.resolve(Ai(e)).then(() => void 0), Mi;
|
|
2889
2956
|
}
|
|
2890
|
-
async function
|
|
2891
|
-
|
|
2892
|
-
let t =
|
|
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:
|
|
2962
|
+
sourceIndexes: ui(e.x, e.y, n, t)
|
|
2896
2963
|
};
|
|
2897
|
-
let r =
|
|
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
|
|
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
|
|
2908
|
-
let n =
|
|
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
|
|
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
|
|
2917
|
-
let r =
|
|
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
|
|
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
|
-
},
|
|
2993
|
+
}, Vi = (e, t, n) => (r) => {
|
|
2927
2994
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2928
|
-
return
|
|
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
|
|
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
|
|
2939
|
-
let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) =>
|
|
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 +
|
|
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
|
|
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(() =>
|
|
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(() =>
|
|
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(() =>
|
|
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:
|
|
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:
|
|
3125
|
+
resolveFrameNumber: Vi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
3057
3126
|
};
|
|
3058
3127
|
}
|
|
3059
|
-
var
|
|
3060
|
-
function
|
|
3128
|
+
var Gi = 1e-6;
|
|
3129
|
+
function Ki(e) {
|
|
3061
3130
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
3062
3131
|
}
|
|
3063
|
-
function
|
|
3064
|
-
let i =
|
|
3065
|
-
if (!(d >
|
|
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
|
|
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
|
|
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(() =>
|
|
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
|
|
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
|
|
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
|
|
3272
|
+
function Zi(e, t) {
|
|
3202
3273
|
e[e.length - 1] !== t && e.push(t);
|
|
3203
3274
|
}
|
|
3204
|
-
function
|
|
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) =>
|
|
3280
|
+
return n().forEach((e) => Zi(r, e)), Zi(r, e - 1), r;
|
|
3210
3281
|
}
|
|
3211
|
-
function
|
|
3282
|
+
function $i(e, t, n) {
|
|
3212
3283
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3213
|
-
return
|
|
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 =
|
|
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" ?
|
|
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
|
|
3295
|
+
function ea(e, t) {
|
|
3225
3296
|
let n = Math.floor((t - 2) / 4);
|
|
3226
|
-
return
|
|
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 =
|
|
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) =>
|
|
3308
|
+
].sort((e, t) => e - t).forEach((e) => Zi(t, e));
|
|
3238
3309
|
}
|
|
3239
3310
|
return t;
|
|
3240
3311
|
});
|
|
3241
3312
|
}
|
|
3242
|
-
function
|
|
3243
|
-
return
|
|
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 =
|
|
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
|
|
3261
|
-
let 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 =
|
|
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
|
|
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
|
|
3277
|
-
let i =
|
|
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
|
|
3356
|
+
var ia = {
|
|
3286
3357
|
kind: "javascript",
|
|
3287
3358
|
sample(e) {
|
|
3288
|
-
return
|
|
3359
|
+
return ra(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3289
3360
|
}
|
|
3290
|
-
},
|
|
3291
|
-
function
|
|
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
|
|
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
|
|
3372
|
+
function ca(e, t) {
|
|
3302
3373
|
e[e.length - 1] !== t && e.push(t);
|
|
3303
3374
|
}
|
|
3304
|
-
function
|
|
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
|
|
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
|
|
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)) :
|
|
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 =
|
|
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 =
|
|
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")
|
|
3351
|
-
else if (r === "max")
|
|
3352
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
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))
|
|
3429
|
+
].sort((e, t) => e - t)) ca(a, e);
|
|
3359
3430
|
}
|
|
3360
|
-
return
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
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(
|
|
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
|
-
},
|
|
3458
|
-
function
|
|
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
|
|
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
|
|
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
|
|
3560
|
+
function _a(e, t) {
|
|
3490
3561
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3491
3562
|
}
|
|
3492
|
-
function
|
|
3563
|
+
function va(e) {
|
|
3493
3564
|
return e === "auto" ? "peak" : e;
|
|
3494
3565
|
}
|
|
3495
|
-
function
|
|
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
|
|
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)) :
|
|
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
|
|
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[
|
|
3581
|
+
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[pa.center(e, t)] : void 0;
|
|
3511
3582
|
}
|
|
3512
|
-
function
|
|
3583
|
+
function Sa(e) {
|
|
3513
3584
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3514
3585
|
}
|
|
3515
|
-
function
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
3635
|
+
function Ea(e) {
|
|
3565
3636
|
return e?.y.length ?? 0;
|
|
3566
3637
|
}
|
|
3567
|
-
function
|
|
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
|
|
3641
|
+
function Oa(e, t) {
|
|
3571
3642
|
let n = (t, n) => {
|
|
3572
|
-
let r = 0, i =
|
|
3643
|
+
let r = 0, i = Ea(e);
|
|
3573
3644
|
for (; r < i;) {
|
|
3574
3645
|
let a = r + Math.floor((i - r) / 2);
|
|
3575
|
-
(n ?
|
|
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
|
|
3585
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, 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
|
|
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
|
|
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
|
|
3669
|
+
function Ma(e, t, n, r) {
|
|
3599
3670
|
if (t?.kind === "typed") {
|
|
3600
|
-
let e =
|
|
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:
|
|
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 =
|
|
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:
|
|
3646
|
-
index: new
|
|
3716
|
+
metrics: ha(i, e?.length ?? t?.points.length ?? 0),
|
|
3717
|
+
index: new da(i, { maxBytes: r })
|
|
3647
3718
|
};
|
|
3648
3719
|
}
|
|
3649
|
-
function
|
|
3650
|
-
!
|
|
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
|
|
3653
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
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
|
|
3658
|
-
function
|
|
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
|
|
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)) :
|
|
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 =
|
|
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
|
-
},
|
|
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 ??
|
|
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 &&
|
|
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,
|
|
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 =
|
|
3741
|
-
return
|
|
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 =
|
|
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
|
-
|
|
3747
|
-
let s =
|
|
3748
|
-
return
|
|
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 =
|
|
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 =
|
|
3761
|
-
if (
|
|
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 =
|
|
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 &&
|
|
3770
|
-
x:
|
|
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 &&
|
|
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 =
|
|
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 =
|
|
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 ?
|
|
3804
|
-
let e =
|
|
3805
|
-
if (!
|
|
3806
|
-
let t = Math.min(
|
|
3807
|
-
return Number.isFinite(r) &&
|
|
3808
|
-
x:
|
|
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,
|
|
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 =
|
|
3820
|
-
return i === "ok" && r && (
|
|
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) =>
|
|
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
|
|
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
|
|
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
|
|
3959
|
+
function Ha(e) {
|
|
3889
3960
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3890
3961
|
}
|
|
3891
|
-
function
|
|
3962
|
+
function Ua() {
|
|
3892
3963
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3893
|
-
t ??= new
|
|
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 =
|
|
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
|
|
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
|
|
3972
|
-
function
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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) || !
|
|
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" &&
|
|
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(
|
|
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 ??=
|
|
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(
|
|
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 ?
|
|
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(
|
|
4127
|
-
}), p.workerError && y(
|
|
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
|
-
},
|
|
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
|
|
4214
|
+
function Za(e, t) {
|
|
4144
4215
|
e.value = t instanceof Element ? t : void 0;
|
|
4145
4216
|
}
|
|
4146
|
-
function
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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) =>
|
|
4339
|
-
setSvgElement: (e) =>
|
|
4340
|
-
setTitleMeasureElement: (e) =>
|
|
4341
|
-
setSharedOverlayElement: (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
|
|
4417
|
+
var $a = ["id"], eo = { class: "waveform-annotation-editor__content" }, to = {
|
|
4347
4418
|
class: "waveform-annotation-editor__coordinates",
|
|
4348
4419
|
"aria-label": "标注坐标"
|
|
4349
|
-
},
|
|
4420
|
+
}, no = ["aria-invalid"], ro = {
|
|
4350
4421
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4351
4422
|
"aria-hidden": "true"
|
|
4352
|
-
},
|
|
4423
|
+
}, io = ["id"], ao = {
|
|
4353
4424
|
key: 0,
|
|
4354
4425
|
class: "waveform-annotation-editor__series",
|
|
4355
4426
|
"aria-label": "标注所属波形"
|
|
4356
|
-
},
|
|
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
|
-
},
|
|
4430
|
+
}, go = {
|
|
4360
4431
|
class: "waveform-annotation-editor__color-field",
|
|
4361
4432
|
title: "调整标注文字色和透明度"
|
|
4362
|
-
},
|
|
4433
|
+
}, _o = {
|
|
4363
4434
|
class: "waveform-annotation-editor__color-field",
|
|
4364
4435
|
title: "调整标注背景色和透明度"
|
|
4365
|
-
},
|
|
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,
|
|
4437
|
-
default: j(() => [a("div",
|
|
4438
|
-
a("div",
|
|
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",
|
|
4462
|
-
], 8,
|
|
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,
|
|
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",
|
|
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",
|
|
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,
|
|
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",
|
|
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,
|
|
4501
|
-
a("fieldset",
|
|
4571
|
+
}, null, 40, po), [[O, _.value]])]),
|
|
4572
|
+
a("fieldset", mo, [
|
|
4502
4573
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4503
|
-
a("label",
|
|
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",
|
|
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",
|
|
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"]]),
|
|
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
|
-
},
|
|
4612
|
+
}, So = {
|
|
4542
4613
|
key: 1,
|
|
4543
4614
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4544
|
-
},
|
|
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 +
|
|
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 -
|
|
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(
|
|
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",
|
|
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"]]),
|
|
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(
|
|
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
|
-
}),
|
|
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
|
|
4629
|
-
return e === "none" ? null : ee().type(
|
|
4699
|
+
function Po(e, t = 48) {
|
|
4700
|
+
return e === "none" ? null : ee().type(No[e]).size(t)() ?? null;
|
|
4630
4701
|
}
|
|
4631
|
-
function
|
|
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
|
|
4719
|
+
function Io(e) {
|
|
4649
4720
|
return e === "none" ? null : "M1 8H25";
|
|
4650
4721
|
}
|
|
4651
|
-
function
|
|
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
|
|
4656
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
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} ${
|
|
4659
|
-
`M${
|
|
4660
|
-
`M${n} ${
|
|
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
|
|
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
|
-
],
|
|
4745
|
+
], Ho = ["data-series-id"], Uo = [
|
|
4675
4746
|
"d",
|
|
4676
4747
|
"stroke",
|
|
4677
4748
|
"stroke-width"
|
|
4678
|
-
],
|
|
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 =
|
|
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(
|
|
4724
|
-
}, null, 8,
|
|
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,
|
|
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,
|
|
4747
|
-
], 8,
|
|
4817
|
+
}, null, 8, Go)) : r("", !0)], 8, Wo))
|
|
4818
|
+
], 8, Bo))), 128))], 8, zo)) : r("", !0);
|
|
4748
4819
|
}
|
|
4749
|
-
}), [["__scopeId", "data-v-
|
|
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
|
-
},
|
|
4870
|
+
}, $o = ["x"], es = [
|
|
4756
4871
|
"data-y-axis-index",
|
|
4757
4872
|
"data-y-axis-side",
|
|
4758
4873
|
"transform"
|
|
4759
|
-
],
|
|
4874
|
+
], ts = { key: 2 }, ns = [
|
|
4760
4875
|
"x",
|
|
4761
4876
|
"y",
|
|
4762
4877
|
"width"
|
|
4763
|
-
],
|
|
4878
|
+
], rs = ["fill", "transform"], is = ["data-y-axis-title-index"], as = [
|
|
4764
4879
|
"x",
|
|
4765
4880
|
"y",
|
|
4766
4881
|
"width"
|
|
4767
|
-
],
|
|
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) =>
|
|
4797
|
-
o.call(a)
|
|
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,
|
|
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",
|
|
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,
|
|
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,
|
|
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",
|
|
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.
|
|
4965
|
+
x: t.track.yAxes[0].labelX - D(20) / 2,
|
|
4849
4966
|
y: t.track.height / 2 - 40,
|
|
4850
|
-
width: D(
|
|
4967
|
+
width: D(20),
|
|
4851
4968
|
height: "80",
|
|
4852
4969
|
rx: "2"
|
|
4853
|
-
}, null, 8,
|
|
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.
|
|
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,
|
|
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(
|
|
4983
|
+
x: e.labelX - D(20) / 2,
|
|
4867
4984
|
y: t.track.height / 2 - 40,
|
|
4868
|
-
width: D(
|
|
4985
|
+
width: D(20),
|
|
4869
4986
|
height: "80",
|
|
4870
4987
|
rx: "2"
|
|
4871
|
-
}, null, 8,
|
|
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,
|
|
4994
|
+
}, T(c(e.seriesList[0])), 9, os)], 8, is))), 128))
|
|
4878
4995
|
], 64));
|
|
4879
4996
|
}
|
|
4880
|
-
}),
|
|
4997
|
+
}), cs = [
|
|
4881
4998
|
"width",
|
|
4882
4999
|
"height",
|
|
4883
5000
|
"fill"
|
|
4884
|
-
],
|
|
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
|
-
],
|
|
5006
|
+
], fs = [
|
|
4890
5007
|
"stroke",
|
|
4891
5008
|
"x2",
|
|
4892
5009
|
"y1",
|
|
4893
5010
|
"y2"
|
|
4894
|
-
],
|
|
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
|
-
],
|
|
5016
|
+
], hs = [
|
|
4900
5017
|
"stroke",
|
|
4901
5018
|
"x2",
|
|
4902
5019
|
"y1",
|
|
4903
5020
|
"y2"
|
|
4904
|
-
],
|
|
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
|
-
|
|
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,
|
|
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",
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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:
|
|
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,
|
|
5087
|
+
}, T(t.frameNumber), 13, gs)) : r("", !0)
|
|
5002
5088
|
], 64));
|
|
5003
5089
|
}
|
|
5004
|
-
}),
|
|
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
|
-
],
|
|
5100
|
+
], ys = [
|
|
5015
5101
|
"width",
|
|
5016
5102
|
"height",
|
|
5017
5103
|
"stroke",
|
|
5018
5104
|
"stroke-width",
|
|
5019
5105
|
"stroke-dasharray",
|
|
5020
5106
|
"stroke-linecap"
|
|
5021
|
-
],
|
|
5107
|
+
], bs = [
|
|
5022
5108
|
"data-interactive",
|
|
5023
5109
|
"data-independent-overlay-index",
|
|
5024
5110
|
"width",
|
|
5025
5111
|
"height"
|
|
5026
|
-
],
|
|
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: !
|
|
5050
|
-
color:
|
|
5051
|
-
width:
|
|
5052
|
-
dash:
|
|
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(
|
|
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(
|
|
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,
|
|
5130
|
-
s(
|
|
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,
|
|
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,
|
|
5161
|
-
], 10,
|
|
5259
|
+
}, " 暂无可见曲线 ", 8, xs)) : r("", !0)
|
|
5260
|
+
], 10, vs));
|
|
5162
5261
|
}
|
|
5163
|
-
}),
|
|
5262
|
+
}), Cs = [
|
|
5164
5263
|
"width",
|
|
5165
5264
|
"height",
|
|
5166
5265
|
"data-position",
|
|
5167
5266
|
"data-orientation"
|
|
5168
|
-
],
|
|
5267
|
+
], ws = [
|
|
5169
5268
|
"disabled",
|
|
5170
5269
|
"aria-pressed",
|
|
5171
5270
|
"aria-label",
|
|
5172
5271
|
"onClick"
|
|
5173
|
-
],
|
|
5272
|
+
], Ts = [
|
|
5174
5273
|
"data-line-type",
|
|
5175
5274
|
"data-line-style",
|
|
5176
5275
|
"data-point-type",
|
|
5177
5276
|
"data-error-bar-visible"
|
|
5178
|
-
],
|
|
5277
|
+
], Es = [
|
|
5179
5278
|
"d",
|
|
5180
5279
|
"stroke",
|
|
5181
5280
|
"stroke-dasharray"
|
|
5182
|
-
],
|
|
5281
|
+
], Ds = [
|
|
5183
5282
|
"d",
|
|
5184
5283
|
"stroke",
|
|
5185
5284
|
"stroke-width"
|
|
5186
|
-
],
|
|
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(
|
|
5343
|
+
D(Io)(e.lineType) ? (y(), i("path", {
|
|
5245
5344
|
key: 0,
|
|
5246
5345
|
class: "waveform-legend__line",
|
|
5247
|
-
d: D(
|
|
5346
|
+
d: D(Io)(e.lineType) ?? void 0,
|
|
5248
5347
|
stroke: e.color,
|
|
5249
|
-
"stroke-dasharray": D(
|
|
5250
|
-
"stroke-width": "
|
|
5348
|
+
"stroke-dasharray": D(Lo)(e.lineStyle),
|
|
5349
|
+
"stroke-width": "1",
|
|
5251
5350
|
fill: "none"
|
|
5252
|
-
}, null, 8,
|
|
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(
|
|
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,
|
|
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(
|
|
5364
|
+
d: D(Po)(e.pointType, 30) ?? void 0,
|
|
5266
5365
|
fill: e.color,
|
|
5267
5366
|
transform: "translate(13 8)"
|
|
5268
|
-
}, null, 8,
|
|
5269
|
-
], 8,
|
|
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,
|
|
5371
|
+
}, T(e.name), 9, ks)], 10, ws))), 128))], 6)], 2)], 8, Cs));
|
|
5273
5372
|
}
|
|
5274
|
-
}), [["__scopeId", "data-v-
|
|
5373
|
+
}), [["__scopeId", "data-v-3af7ebae"]]), js = {
|
|
5275
5374
|
class: "waveform-chart__hover-layer",
|
|
5276
5375
|
"pointer-events": "none",
|
|
5277
5376
|
"aria-hidden": "true"
|
|
5278
|
-
},
|
|
5377
|
+
}, Ms = ["clip-path", "transform"], Ns = [
|
|
5279
5378
|
"x1",
|
|
5280
5379
|
"x2",
|
|
5281
5380
|
"y2"
|
|
5282
|
-
],
|
|
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",
|
|
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,
|
|
5407
|
+
}, null, 8, Ns)], 8, Ms))), 128))]));
|
|
5309
5408
|
}
|
|
5310
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
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
|
-
],
|
|
5418
|
+
], Is = [
|
|
5320
5419
|
"role",
|
|
5321
5420
|
"aria-level",
|
|
5322
5421
|
"aria-hidden"
|
|
5323
|
-
],
|
|
5422
|
+
], Ls = ["data-title-scale", "data-title-wrapped"], Rs = [
|
|
5324
5423
|
"width",
|
|
5325
5424
|
"height",
|
|
5326
5425
|
"aria-label"
|
|
5327
|
-
],
|
|
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
|
-
},
|
|
5430
|
+
}, Us = ["transform"], Ws = ["width", "height"], Gs = ["width", "height"], Ks = [
|
|
5332
5431
|
"x",
|
|
5333
5432
|
"y",
|
|
5334
5433
|
"width",
|
|
5335
5434
|
"height"
|
|
5336
|
-
],
|
|
5435
|
+
], qs = {
|
|
5337
5436
|
key: 4,
|
|
5338
5437
|
class: "waveform-chart__legend-layer"
|
|
5339
|
-
},
|
|
5438
|
+
}, Js = [
|
|
5340
5439
|
"data-legend-track-index",
|
|
5341
5440
|
"data-legend-track-id",
|
|
5342
5441
|
"transform"
|
|
5343
|
-
],
|
|
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,
|
|
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,
|
|
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",
|
|
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,
|
|
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,
|
|
5441
|
-
(y(!0), i(e, null, S(D(R), (e) => (y(), n(D(
|
|
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(
|
|
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,
|
|
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",
|
|
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(
|
|
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,
|
|
5553
|
-
], 8,
|
|
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,
|
|
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,
|
|
5568
|
-
], 40,
|
|
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(
|
|
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(
|
|
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,
|
|
5739
|
+
], 46, Fs));
|
|
5641
5740
|
}
|
|
5642
|
-
}),
|
|
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: !
|
|
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 =
|
|
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(
|
|
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,
|
|
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 };
|