waveform-analysis 0.1.65 → 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 +23 -3
- package/dist/index.cjs +1 -1
- package/dist/index.js +705 -617
- package/dist/types/components/WaveformChart.vue.d.ts +3 -2
- package/dist/types/components/core/constants.d.ts +2 -0
- package/dist/types/components/core/trackLayoutBuilder.d.ts +1 -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/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 +4 -0
- package/package.json +1 -1
- package/src/App.vue +6 -0
- package/src/components/WaveformChart.vue +1 -0
- package/src/components/core/constants.ts +2 -0
- package/src/components/core/trackLayoutBuilder.ts +26 -56
- package/src/components/core/types.ts +2 -0
- package/src/components/core/useWaveformChartLifecycle.ts +1 -1
- package/src/components/core/useWaveformLayout.ts +32 -16
- package/src/components/core/useWaveformPresentation.ts +10 -0
- package/src/components/core/waveformChartTypes.ts +3 -0
- 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/WaveformTrack.vue +11 -4
- package/src/components/rendering/WaveformTrackAxes.vue +1 -1
- 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 +4 -0
package/dist/index.js
CHANGED
|
@@ -1041,7 +1041,9 @@ var zt = {
|
|
|
1041
1041
|
}, Gt = {
|
|
1042
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,12 +1519,69 @@ 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
|
|
@@ -1535,14 +1594,16 @@ function er(e) {
|
|
|
1535
1594
|
visibleSeries: [],
|
|
1536
1595
|
xDomain: [0, 1],
|
|
1537
1596
|
yDomain: [0, 1]
|
|
1538
|
-
}, 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 = {
|
|
1539
1600
|
left: 0,
|
|
1540
1601
|
right: 0
|
|
1541
1602
|
}, f = {
|
|
1542
1603
|
left: 0,
|
|
1543
1604
|
right: 0
|
|
1544
1605
|
}, p = u.map((n) => {
|
|
1545
|
-
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);
|
|
1546
1607
|
return p || (f[n.side] += u), {
|
|
1547
1608
|
index: n.index,
|
|
1548
1609
|
side: n.side,
|
|
@@ -1556,14 +1617,14 @@ function er(e) {
|
|
|
1556
1617
|
};
|
|
1557
1618
|
}), m = W(a.yDomain, [t.plotHeight, 0]);
|
|
1558
1619
|
e.yAxisNice !== !1 && m.nice();
|
|
1559
|
-
let h = p[0]?.scale ?? m, g = l.
|
|
1560
|
-
start: Mt(
|
|
1561
|
-
end: Mt(
|
|
1562
|
-
},
|
|
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) => {
|
|
1563
1624
|
let n = l(e);
|
|
1564
|
-
return n >
|
|
1565
|
-
}),
|
|
1566
|
-
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, {
|
|
1567
1628
|
lineVisible: !i && n.lineType !== "none",
|
|
1568
1629
|
linePointOverride: e.linePointOverrides?.[n.id],
|
|
1569
1630
|
pointVisible: n.pointType !== "none",
|
|
@@ -1598,42 +1659,31 @@ function er(e) {
|
|
|
1598
1659
|
yScale: h,
|
|
1599
1660
|
yAxes: p,
|
|
1600
1661
|
xMajorTicks: g,
|
|
1601
|
-
|
|
1602
|
-
|
|
1662
|
+
xAxisLabelFormatter: _,
|
|
1663
|
+
xMinorTicks: vt(g, 3, b),
|
|
1664
|
+
yMajorTicks: v,
|
|
1603
1665
|
yMinorTicks: p[0]?.minorTicks ?? [],
|
|
1604
|
-
yAxisTickValues:
|
|
1605
|
-
xAxisTickValues:
|
|
1606
|
-
endpointLabels:
|
|
1607
|
-
path:
|
|
1608
|
-
seriesPaths:
|
|
1666
|
+
yAxisTickValues: y,
|
|
1667
|
+
xAxisTickValues: w,
|
|
1668
|
+
endpointLabels: x,
|
|
1669
|
+
path: T[0]?.path ?? null,
|
|
1670
|
+
seriesPaths: T,
|
|
1609
1671
|
gridLines: e.grid.trackLines[a.id] ?? {
|
|
1610
1672
|
horizontal: !0,
|
|
1611
1673
|
vertical: !0
|
|
1612
1674
|
},
|
|
1613
1675
|
showXAxis: (i || o) && (e.displayMode === "independent" || (e.displayMode === "compact" ? t.isLastRow ?? t.row === e.grid.rowCount - 1 : n.has(t.slotIndex)))
|
|
1614
1676
|
};
|
|
1615
|
-
})
|
|
1616
|
-
|
|
1617
|
-
let n = 0;
|
|
1618
|
-
for (let r of t.yAxes) {
|
|
1619
|
-
if (r.side !== "left") continue;
|
|
1620
|
-
let a = `${t.column}:${n++}`, o = r.seriesList[0], s = (o?.name.trim() || e.yLabel || "").length * 8 + 6, c = r.tickValues.filter((e) => Math.abs(r.scale(e) - t.height / 2) <= s), l = Math.max(7, ...c.map((e) => cr(e, r.scale.domain(), r.tickValues, o?.unit).length * 7)) + 7 + 20 / 2;
|
|
1621
|
-
i.set(a, Math.max(i.get(a) ?? 0, l));
|
|
1622
|
-
}
|
|
1623
|
-
}
|
|
1624
|
-
for (let e of r) {
|
|
1625
|
-
let t = 0;
|
|
1626
|
-
for (let n of e.yAxes) n.side === "left" && (n.labelX = n.x - i.get(`${e.column}:${t++}`));
|
|
1627
|
-
}
|
|
1628
|
-
return r;
|
|
1677
|
+
});
|
|
1678
|
+
return ir(r, e.yLabel), r;
|
|
1629
1679
|
}
|
|
1630
1680
|
//#endregion
|
|
1631
1681
|
//#region src/components/core/layout.ts
|
|
1632
|
-
var
|
|
1633
|
-
function
|
|
1682
|
+
var pr = 7, mr = 7, hr = 4, gr = 0, _r = 20;
|
|
1683
|
+
function vr(e, t) {
|
|
1634
1684
|
return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
|
|
1635
1685
|
}
|
|
1636
|
-
function
|
|
1686
|
+
function yr(e, t = 5, n = !0) {
|
|
1637
1687
|
let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
|
|
1638
1688
|
n && i.nice(Math.max(1, r - 1));
|
|
1639
1689
|
let a = i.domain(), [o, s] = a;
|
|
@@ -1642,7 +1692,7 @@ function sr(e, t = 5, n = !0) {
|
|
|
1642
1692
|
values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
|
|
1643
1693
|
};
|
|
1644
1694
|
}
|
|
1645
|
-
function
|
|
1695
|
+
function br(e, t, n, r) {
|
|
1646
1696
|
return Ot(e, {
|
|
1647
1697
|
axisMin: t[0],
|
|
1648
1698
|
axisMax: t[1],
|
|
@@ -1650,7 +1700,7 @@ function cr(e, t, n, r) {
|
|
|
1650
1700
|
unit: r
|
|
1651
1701
|
});
|
|
1652
1702
|
}
|
|
1653
|
-
function
|
|
1703
|
+
function xr(e) {
|
|
1654
1704
|
return e >= 4 ? [
|
|
1655
1705
|
"left",
|
|
1656
1706
|
"left",
|
|
@@ -1662,13 +1712,13 @@ function lr(e) {
|
|
|
1662
1712
|
"right"
|
|
1663
1713
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1664
1714
|
}
|
|
1665
|
-
var
|
|
1666
|
-
function
|
|
1667
|
-
let n =
|
|
1668
|
-
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));
|
|
1669
1719
|
let r = n.get(t);
|
|
1670
1720
|
if (r) return r;
|
|
1671
|
-
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) => ({
|
|
1672
1722
|
index: t,
|
|
1673
1723
|
side: a[t],
|
|
1674
1724
|
seriesList: [],
|
|
@@ -1685,9 +1735,9 @@ function dr(e, t) {
|
|
|
1685
1735
|
}
|
|
1686
1736
|
}), n.set(t, o), o;
|
|
1687
1737
|
}
|
|
1688
|
-
function
|
|
1738
|
+
function wr(e, t, n, r) {
|
|
1689
1739
|
let i = qt(e, r);
|
|
1690
|
-
return
|
|
1740
|
+
return Cr(e, t).map((e) => {
|
|
1691
1741
|
if (i) return {
|
|
1692
1742
|
...e,
|
|
1693
1743
|
domain: i,
|
|
@@ -1701,30 +1751,30 @@ function fr(e, t, n, r) {
|
|
|
1701
1751
|
} : e;
|
|
1702
1752
|
});
|
|
1703
1753
|
}
|
|
1704
|
-
function
|
|
1754
|
+
function Tr(e, t, n, r, i) {
|
|
1705
1755
|
let a = i?.[e.id];
|
|
1706
|
-
return
|
|
1756
|
+
return wr(e, t, n, r).map((e) => !e.fixed && a ? {
|
|
1707
1757
|
...e,
|
|
1708
1758
|
domain: a
|
|
1709
1759
|
} : e);
|
|
1710
1760
|
}
|
|
1711
|
-
function
|
|
1761
|
+
function Er(e, t = !0, n, r, i = 5, a = !1) {
|
|
1712
1762
|
let o = n ? {
|
|
1713
1763
|
domain: e,
|
|
1714
1764
|
values: n
|
|
1715
|
-
} :
|
|
1716
|
-
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 };
|
|
1717
1767
|
}
|
|
1718
|
-
function
|
|
1768
|
+
function Dr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
1719
1769
|
let c = /* @__PURE__ */ new Map();
|
|
1720
1770
|
e.forEach((e) => {
|
|
1721
1771
|
let l = {
|
|
1722
1772
|
left: 0,
|
|
1723
1773
|
right: 0
|
|
1724
1774
|
};
|
|
1725
|
-
|
|
1726
|
-
let t = l[e.side]++, n = `${e.side}:${t}`, r =
|
|
1727
|
-
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));
|
|
1728
1778
|
});
|
|
1729
1779
|
});
|
|
1730
1780
|
let l = [], u = {
|
|
@@ -1733,7 +1783,7 @@ function hr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
|
1733
1783
|
};
|
|
1734
1784
|
return ["left", "right"].forEach((e) => {
|
|
1735
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) => {
|
|
1736
|
-
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;
|
|
1737
1787
|
l.push({
|
|
1738
1788
|
side: e,
|
|
1739
1789
|
sideIndex: t,
|
|
@@ -1747,7 +1797,7 @@ function hr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
|
1747
1797
|
clearance: u
|
|
1748
1798
|
};
|
|
1749
1799
|
}
|
|
1750
|
-
function
|
|
1800
|
+
function Or(e, t, n) {
|
|
1751
1801
|
let r = (e) => {
|
|
1752
1802
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1753
1803
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1766,11 +1816,11 @@ function gr(e, t, n) {
|
|
|
1766
1816
|
}
|
|
1767
1817
|
//#endregion
|
|
1768
1818
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1769
|
-
var
|
|
1770
|
-
function
|
|
1771
|
-
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}`;
|
|
1772
1822
|
}
|
|
1773
|
-
function
|
|
1823
|
+
function jr(e) {
|
|
1774
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("");
|
|
1775
1825
|
function S(e) {
|
|
1776
1826
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1803,7 +1853,7 @@ function yr(e) {
|
|
|
1803
1853
|
};
|
|
1804
1854
|
}
|
|
1805
1855
|
function T(e, t, n) {
|
|
1806
|
-
b.value = "", s.openCreate(e,
|
|
1856
|
+
b.value = "", s.openCreate(e, Ar, t), c.value = n;
|
|
1807
1857
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1808
1858
|
r?.mode === "add" && (r.annotation.style = {
|
|
1809
1859
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1863,7 +1913,7 @@ function yr(e) {
|
|
|
1863
1913
|
let e = l.value[n];
|
|
1864
1914
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1865
1915
|
}
|
|
1866
|
-
return
|
|
1916
|
+
return Or(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1867
1917
|
}
|
|
1868
1918
|
function A(e, t) {
|
|
1869
1919
|
let n = e.currentTarget;
|
|
@@ -1954,7 +2004,7 @@ function yr(e) {
|
|
|
1954
2004
|
}
|
|
1955
2005
|
//#endregion
|
|
1956
2006
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1957
|
-
function
|
|
2007
|
+
function Mr(e) {
|
|
1958
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) => {
|
|
1959
2009
|
let r = n.points[t];
|
|
1960
2010
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -2039,14 +2089,14 @@ function br(e) {
|
|
|
2039
2089
|
}
|
|
2040
2090
|
//#endregion
|
|
2041
2091
|
//#region src/components/interaction/pointerCapture.ts
|
|
2042
|
-
function
|
|
2092
|
+
function Nr(e, t) {
|
|
2043
2093
|
try {
|
|
2044
2094
|
e?.releasePointerCapture?.(t);
|
|
2045
2095
|
} catch {}
|
|
2046
2096
|
}
|
|
2047
2097
|
//#endregion
|
|
2048
2098
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
2049
|
-
function
|
|
2099
|
+
function Pr(e) {
|
|
2050
2100
|
return {
|
|
2051
2101
|
...e,
|
|
2052
2102
|
currentX: e.startX,
|
|
@@ -2055,37 +2105,37 @@ function Sr(e) {
|
|
|
2055
2105
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
2056
2106
|
};
|
|
2057
2107
|
}
|
|
2058
|
-
function
|
|
2108
|
+
function Fr(e, t) {
|
|
2059
2109
|
return {
|
|
2060
2110
|
...e,
|
|
2061
2111
|
...t
|
|
2062
2112
|
};
|
|
2063
2113
|
}
|
|
2064
|
-
function
|
|
2114
|
+
function Ir(e) {
|
|
2065
2115
|
return {
|
|
2066
2116
|
state: e,
|
|
2067
2117
|
accepted: !1,
|
|
2068
2118
|
completed: null
|
|
2069
2119
|
};
|
|
2070
2120
|
}
|
|
2071
|
-
function
|
|
2121
|
+
function Lr(e, t) {
|
|
2072
2122
|
switch (t.type) {
|
|
2073
|
-
case "begin": return e ?
|
|
2074
|
-
state:
|
|
2123
|
+
case "begin": return e ? Ir(e) : {
|
|
2124
|
+
state: Pr(t.gesture),
|
|
2075
2125
|
accepted: !0,
|
|
2076
2126
|
completed: null
|
|
2077
2127
|
};
|
|
2078
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
2079
|
-
state:
|
|
2128
|
+
case "move": return !e || e.pointerId !== t.pointerId ? Ir(e) : {
|
|
2129
|
+
state: Fr(e, t.position),
|
|
2080
2130
|
accepted: !0,
|
|
2081
2131
|
completed: null
|
|
2082
2132
|
};
|
|
2083
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
2133
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? Ir(e) : {
|
|
2084
2134
|
state: null,
|
|
2085
2135
|
accepted: !0,
|
|
2086
|
-
completed:
|
|
2136
|
+
completed: Fr(e, t.position)
|
|
2087
2137
|
};
|
|
2088
|
-
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) : {
|
|
2089
2139
|
state: null,
|
|
2090
2140
|
accepted: !0,
|
|
2091
2141
|
completed: null
|
|
@@ -2099,15 +2149,15 @@ function Tr(e, t) {
|
|
|
2099
2149
|
}
|
|
2100
2150
|
//#endregion
|
|
2101
2151
|
//#region src/components/interaction/zoomConstraints.ts
|
|
2102
|
-
var
|
|
2103
|
-
function
|
|
2152
|
+
var Rr = /* @__PURE__ */ new WeakMap();
|
|
2153
|
+
function zr(e) {
|
|
2104
2154
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
2105
2155
|
}
|
|
2106
|
-
function
|
|
2156
|
+
function Br(e) {
|
|
2107
2157
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2108
2158
|
}
|
|
2109
|
-
function
|
|
2110
|
-
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);
|
|
2111
2161
|
if (r) return r;
|
|
2112
2162
|
let i = /* @__PURE__ */ new Set();
|
|
2113
2163
|
for (let n of e) {
|
|
@@ -2117,14 +2167,14 @@ function kr(e, t) {
|
|
|
2117
2167
|
r.x >= t[0] && r.x <= t[1] && i.add(r.x);
|
|
2118
2168
|
}
|
|
2119
2169
|
}
|
|
2120
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
2121
|
-
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;
|
|
2122
2172
|
}
|
|
2123
|
-
function
|
|
2173
|
+
function Hr(e, t, n) {
|
|
2124
2174
|
if (n <= 1) return 0;
|
|
2125
2175
|
let r = 0;
|
|
2126
2176
|
for (let i of e) {
|
|
2127
|
-
let e =
|
|
2177
|
+
let e = Vr(i, t);
|
|
2128
2178
|
if (e.length < n) return t[1] - t[0];
|
|
2129
2179
|
let a = Infinity;
|
|
2130
2180
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -2133,17 +2183,17 @@ function Ar(e, t, n) {
|
|
|
2133
2183
|
}
|
|
2134
2184
|
return r;
|
|
2135
2185
|
}
|
|
2136
|
-
function
|
|
2137
|
-
let r =
|
|
2186
|
+
function Ur(e, t, n) {
|
|
2187
|
+
let r = cr(zr(e), n), i = r[1] - r[0];
|
|
2138
2188
|
if (!Number.isFinite(i) || i <= 0) return 0;
|
|
2139
|
-
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o =
|
|
2140
|
-
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);
|
|
2141
2191
|
}
|
|
2142
|
-
function
|
|
2192
|
+
function Wr(e, t, n, r) {
|
|
2143
2193
|
if (r <= 0) return e;
|
|
2144
2194
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
2145
2195
|
for (let e of n) {
|
|
2146
|
-
let n =
|
|
2196
|
+
let n = Vr(e, t);
|
|
2147
2197
|
if (n.length < r) return [...t];
|
|
2148
2198
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
2149
2199
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -2155,13 +2205,13 @@ function Mr(e, t, n, r) {
|
|
|
2155
2205
|
}
|
|
2156
2206
|
return a;
|
|
2157
2207
|
}
|
|
2158
|
-
function
|
|
2159
|
-
let i =
|
|
2208
|
+
function Gr(e, t, n, r) {
|
|
2209
|
+
let i = cr(zr(t), r), a = i[1] - i[0];
|
|
2160
2210
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
2161
|
-
let o =
|
|
2162
|
-
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);
|
|
2163
2213
|
}
|
|
2164
|
-
function
|
|
2214
|
+
function Kr(e, t, n) {
|
|
2165
2215
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2166
2216
|
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return J;
|
|
2167
2217
|
let a = r / i, o = W(t, [0, n]);
|
|
@@ -2169,7 +2219,11 @@ function Pr(e, t, n) {
|
|
|
2169
2219
|
}
|
|
2170
2220
|
//#endregion
|
|
2171
2221
|
//#region src/components/interaction/viewportDomain.ts
|
|
2172
|
-
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) {
|
|
2173
2227
|
return (t, n) => {
|
|
2174
2228
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
2175
2229
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -2177,12 +2231,12 @@ function Fr(e) {
|
|
|
2177
2231
|
r.forEach((n) => {
|
|
2178
2232
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
2179
2233
|
if (!r) return;
|
|
2180
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
2181
|
-
i[n] =
|
|
2234
|
+
let a = e.resolveInitialTrackDomain(r), o = Gr(t, a, [r.seriesList], e.props);
|
|
2235
|
+
i[n] = Kr(o, a, r.width);
|
|
2182
2236
|
}), e.independentTransforms.value = i;
|
|
2183
2237
|
} else {
|
|
2184
|
-
let n = e.initialXDomain.value, r =
|
|
2185
|
-
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);
|
|
2186
2240
|
}
|
|
2187
2241
|
e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
|
|
2188
2242
|
}
|
|
@@ -2190,14 +2244,14 @@ function Fr(e) {
|
|
|
2190
2244
|
}
|
|
2191
2245
|
//#endregion
|
|
2192
2246
|
//#region src/components/interaction/zoomEventPayload.ts
|
|
2193
|
-
function
|
|
2247
|
+
function Yr(e) {
|
|
2194
2248
|
return [...e].sort().join("\0");
|
|
2195
2249
|
}
|
|
2196
|
-
function
|
|
2197
|
-
let n =
|
|
2198
|
-
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);
|
|
2199
2253
|
}
|
|
2200
|
-
function
|
|
2254
|
+
function Zr(e, t, n, r) {
|
|
2201
2255
|
e("zoom-intent", r ? {
|
|
2202
2256
|
start: t[0],
|
|
2203
2257
|
end: t[1],
|
|
@@ -2210,9 +2264,9 @@ function Rr(e, t, n, r) {
|
|
|
2210
2264
|
gesture: "box"
|
|
2211
2265
|
});
|
|
2212
2266
|
}
|
|
2213
|
-
function
|
|
2267
|
+
function Qr(e, t, n) {
|
|
2214
2268
|
for (let r of n) {
|
|
2215
|
-
let n =
|
|
2269
|
+
let n = Xr(t, r);
|
|
2216
2270
|
if (!n) continue;
|
|
2217
2271
|
let i = n.xScale.domain(), a = n.yScale.domain();
|
|
2218
2272
|
e("zoom-end", {
|
|
@@ -2226,7 +2280,7 @@ function zr(e, t, n) {
|
|
|
2226
2280
|
});
|
|
2227
2281
|
}
|
|
2228
2282
|
}
|
|
2229
|
-
function
|
|
2283
|
+
function $r(e, t, n) {
|
|
2230
2284
|
let r = n.filter((e) => e.hasVisibleSeries);
|
|
2231
2285
|
if (r.length === 1) {
|
|
2232
2286
|
let n = r[0]?.yScale.domain();
|
|
@@ -2248,13 +2302,13 @@ function Br(e, t, n) {
|
|
|
2248
2302
|
}
|
|
2249
2303
|
//#endregion
|
|
2250
2304
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
2251
|
-
function
|
|
2305
|
+
function ei(e) {
|
|
2252
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) => {
|
|
2253
2307
|
let n = O.value, r = t?.currentTarget;
|
|
2254
|
-
|
|
2308
|
+
Nr(n, e), r && r !== n && Nr(r, e);
|
|
2255
2309
|
}, A = (e, t) => {
|
|
2256
2310
|
let n = i.value;
|
|
2257
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
2311
|
+
!n || n.pointerId !== e || (k(e, t), i.value = Lr(i.value, {
|
|
2258
2312
|
type: "cancel",
|
|
2259
2313
|
pointerId: e
|
|
2260
2314
|
}).state, O.value = void 0);
|
|
@@ -2268,16 +2322,13 @@ function Vr(e) {
|
|
|
2268
2322
|
width: Math.abs(e.currentX - e.startX),
|
|
2269
2323
|
height: Math.abs(e.currentY - e.startY)
|
|
2270
2324
|
};
|
|
2271
|
-
}), M = (e, t) => {
|
|
2272
|
-
let n = e[1] - e[0];
|
|
2273
|
-
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;
|
|
2274
|
-
}, 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) => {
|
|
2275
2326
|
if (v.value) return;
|
|
2276
2327
|
let s = n.pannable && a.value;
|
|
2277
2328
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
2278
2329
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
2279
2330
|
if (!d) return;
|
|
2280
|
-
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, {
|
|
2281
2332
|
type: "begin",
|
|
2282
2333
|
gesture: {
|
|
2283
2334
|
trackIndex: t,
|
|
@@ -2287,34 +2338,34 @@ function Vr(e) {
|
|
|
2287
2338
|
pointerId: e.pointerId,
|
|
2288
2339
|
kind: s ? "pan" : "box",
|
|
2289
2340
|
xDomain: d.xScale.domain(),
|
|
2290
|
-
yDomains:
|
|
2341
|
+
yDomains: M()
|
|
2291
2342
|
}
|
|
2292
2343
|
});
|
|
2293
2344
|
g.accepted && (i.value = g.state, O.value = c, c.setPointerCapture?.(e.pointerId), E(), e.preventDefault());
|
|
2294
|
-
},
|
|
2345
|
+
}, P = (e) => {
|
|
2295
2346
|
if (!d.value) return;
|
|
2296
2347
|
let [t, n] = U(e, d.value), r = D(t, n), i = (r?.hasVisibleSeries ? r : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
|
|
2297
|
-
i &&
|
|
2298
|
-
},
|
|
2299
|
-
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);
|
|
2300
2351
|
if (e.independent) {
|
|
2301
2352
|
let e = [...m.value];
|
|
2302
|
-
e[t.index] =
|
|
2303
|
-
} else p.value =
|
|
2353
|
+
e[t.index] = Kr(v, _, i), m.value = e;
|
|
2354
|
+
} else p.value = Kr(v, _, l.value);
|
|
2304
2355
|
let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
|
|
2305
2356
|
y.forEach((t) => {
|
|
2306
2357
|
let r = s.value.find((e) => e.id === t.id);
|
|
2307
2358
|
if (r && Yt(r, n.yDomain, n.yDomains)) return;
|
|
2308
|
-
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);
|
|
2309
2360
|
e.independent ? x[t.index] = u : S[i] = u;
|
|
2310
2361
|
}), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
|
|
2311
|
-
},
|
|
2362
|
+
}, I = (e) => {
|
|
2312
2363
|
if (v.value) return;
|
|
2313
2364
|
let t = i.value, n = O.value;
|
|
2314
2365
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
2315
2366
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
2316
2367
|
if (!r) return;
|
|
2317
|
-
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, {
|
|
2318
2369
|
type: "move",
|
|
2319
2370
|
pointerId: e.pointerId,
|
|
2320
2371
|
position: {
|
|
@@ -2324,21 +2375,21 @@ function Vr(e) {
|
|
|
2324
2375
|
});
|
|
2325
2376
|
if (!f.accepted || !f.state) return;
|
|
2326
2377
|
let p = f.state;
|
|
2327
|
-
i.value = p, p.kind === "pan" &&
|
|
2328
|
-
},
|
|
2378
|
+
i.value = p, p.kind === "pan" && F(p, r), e.preventDefault();
|
|
2379
|
+
}, L = (e) => {
|
|
2329
2380
|
let t = i.value;
|
|
2330
2381
|
!t || e && e.pointerId !== t.pointerId || A(t.pointerId, e);
|
|
2331
|
-
},
|
|
2382
|
+
}, R = (e) => {
|
|
2332
2383
|
let t = o.value.find((t) => t.index === e.trackIndex);
|
|
2333
2384
|
if (!t || (e.independent ? !x(t) : !S())) return;
|
|
2334
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));
|
|
2335
2386
|
if (s - a < 6) return;
|
|
2336
|
-
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);
|
|
2337
2388
|
if (e.independent) {
|
|
2338
2389
|
let e = [...m.value];
|
|
2339
|
-
e[t.index] =
|
|
2340
|
-
} else p.value =
|
|
2341
|
-
|
|
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);
|
|
2342
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()]));
|
|
2343
2394
|
if (r("zoom-change", h), e.independent) {
|
|
2344
2395
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2367,9 +2418,9 @@ function Vr(e) {
|
|
|
2367
2418
|
gesture: "box"
|
|
2368
2419
|
});
|
|
2369
2420
|
f(C);
|
|
2370
|
-
},
|
|
2421
|
+
}, z = (e) => {
|
|
2371
2422
|
if (v.value) {
|
|
2372
|
-
|
|
2423
|
+
L();
|
|
2373
2424
|
return;
|
|
2374
2425
|
}
|
|
2375
2426
|
let t = i.value;
|
|
@@ -2379,7 +2430,7 @@ function Vr(e) {
|
|
|
2379
2430
|
A(t.pointerId, e);
|
|
2380
2431
|
return;
|
|
2381
2432
|
}
|
|
2382
|
-
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, {
|
|
2383
2434
|
type: "finish",
|
|
2384
2435
|
pointerId: e.pointerId,
|
|
2385
2436
|
position: {
|
|
@@ -2389,13 +2440,13 @@ function Vr(e) {
|
|
|
2389
2440
|
}).completed;
|
|
2390
2441
|
if (p) {
|
|
2391
2442
|
if (i.value = null, k(p.pointerId, e), O.value = void 0, e.preventDefault(), p.kind === "pan") {
|
|
2392
|
-
|
|
2443
|
+
F(p, n), f(C);
|
|
2393
2444
|
return;
|
|
2394
2445
|
}
|
|
2395
|
-
Math.abs(p.currentX - p.startX) >= 6 &&
|
|
2446
|
+
Math.abs(p.currentX - p.startX) >= 6 && R(p);
|
|
2396
2447
|
}
|
|
2397
|
-
},
|
|
2398
|
-
if (T(),
|
|
2448
|
+
}, B = (e) => {
|
|
2449
|
+
if (T(), L(), n.displayMode === "independent" && e !== void 0) {
|
|
2399
2450
|
let t = [...m.value];
|
|
2400
2451
|
t[e] = J, m.value = t;
|
|
2401
2452
|
let n = { ...g.value };
|
|
@@ -2405,13 +2456,13 @@ function Vr(e) {
|
|
|
2405
2456
|
};
|
|
2406
2457
|
return {
|
|
2407
2458
|
selectionBox: j,
|
|
2408
|
-
beginViewportDrag:
|
|
2409
|
-
beginSharedViewportDrag:
|
|
2410
|
-
updateViewportDrag:
|
|
2411
|
-
finishViewportDrag:
|
|
2412
|
-
cancelViewportDrag:
|
|
2413
|
-
resetViewport:
|
|
2414
|
-
setViewportDomain:
|
|
2459
|
+
beginViewportDrag: N,
|
|
2460
|
+
beginSharedViewportDrag: P,
|
|
2461
|
+
updateViewportDrag: I,
|
|
2462
|
+
finishViewportDrag: z,
|
|
2463
|
+
cancelViewportDrag: L,
|
|
2464
|
+
resetViewport: B,
|
|
2465
|
+
setViewportDomain: Jr({
|
|
2415
2466
|
props: n,
|
|
2416
2467
|
trackLayouts: o,
|
|
2417
2468
|
initialXDomain: c,
|
|
@@ -2420,7 +2471,7 @@ function Vr(e) {
|
|
|
2420
2471
|
sharedTransform: p,
|
|
2421
2472
|
independentTransforms: m,
|
|
2422
2473
|
cancelPendingZoom: T,
|
|
2423
|
-
cancelViewportDrag:
|
|
2474
|
+
cancelViewportDrag: L,
|
|
2424
2475
|
clearHover: E,
|
|
2425
2476
|
editorSeriesOptions: y,
|
|
2426
2477
|
configureZoom: C
|
|
@@ -2430,20 +2481,20 @@ function Vr(e) {
|
|
|
2430
2481
|
if (n.displayMode === "independent") {
|
|
2431
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);
|
|
2432
2483
|
if (!i) return;
|
|
2433
|
-
e.preventDefault(),
|
|
2484
|
+
e.preventDefault(), B(n), r("zoom-reset", {
|
|
2434
2485
|
trackIndex: n,
|
|
2435
2486
|
seriesIds: i.legendSeries.map((e) => e.id)
|
|
2436
2487
|
});
|
|
2437
2488
|
return;
|
|
2438
2489
|
}
|
|
2439
|
-
e.preventDefault(),
|
|
2490
|
+
e.preventDefault(), B(), r("zoom-reset", {});
|
|
2440
2491
|
}
|
|
2441
2492
|
}
|
|
2442
2493
|
};
|
|
2443
2494
|
}
|
|
2444
2495
|
//#endregion
|
|
2445
2496
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2446
|
-
function
|
|
2497
|
+
function ti() {
|
|
2447
2498
|
let e = null, t = null;
|
|
2448
2499
|
function n(n) {
|
|
2449
2500
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2472,27 +2523,27 @@ function Hr() {
|
|
|
2472
2523
|
}
|
|
2473
2524
|
//#endregion
|
|
2474
2525
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
2475
|
-
function
|
|
2476
|
-
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) => {
|
|
2477
2528
|
if (y || m.value) return;
|
|
2478
2529
|
g(), b = e.transform, x = "wheel", I();
|
|
2479
|
-
let
|
|
2530
|
+
let [r, i] = lr(e.transform.rescaleX(W(c.value, [0, u.value])).domain(), t);
|
|
2480
2531
|
n("zoom-intent", {
|
|
2481
|
-
start:
|
|
2482
|
-
end:
|
|
2532
|
+
start: r,
|
|
2533
|
+
end: i,
|
|
2483
2534
|
gesture: "wheel"
|
|
2484
2535
|
}), k();
|
|
2485
|
-
}, j = (e,
|
|
2536
|
+
}, j = (e, r) => {
|
|
2486
2537
|
if (y || m.value) return;
|
|
2487
|
-
g(), C.set(
|
|
2488
|
-
let
|
|
2489
|
-
if (
|
|
2490
|
-
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();
|
|
2491
2542
|
n("zoom-intent", {
|
|
2492
|
-
start:
|
|
2493
|
-
end:
|
|
2494
|
-
trackIndex:
|
|
2495
|
-
seriesIds:
|
|
2543
|
+
start: lr(a, t)[0],
|
|
2544
|
+
end: lr(a, t)[1],
|
|
2545
|
+
trackIndex: r,
|
|
2546
|
+
seriesIds: i.seriesList.map((e) => e.id),
|
|
2496
2547
|
gesture: "wheel"
|
|
2497
2548
|
});
|
|
2498
2549
|
}
|
|
@@ -2506,36 +2557,36 @@ function Ur(e) {
|
|
|
2506
2557
|
if (b) {
|
|
2507
2558
|
let e = b;
|
|
2508
2559
|
b = null, S = x, x = null, a.value = e;
|
|
2509
|
-
let
|
|
2510
|
-
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));
|
|
2511
2562
|
}
|
|
2512
2563
|
if (!C.size) return;
|
|
2513
|
-
let e = [...o.value],
|
|
2564
|
+
let e = [...o.value], r = Array.from(C.keys()), i = new Map(w);
|
|
2514
2565
|
C.forEach((t, n) => {
|
|
2515
2566
|
e[n] = t;
|
|
2516
2567
|
}), C.clear(), w.clear(), o.value = e;
|
|
2517
|
-
let
|
|
2518
|
-
|
|
2519
|
-
let t =
|
|
2568
|
+
let l = new Map(s.value.map((e) => [e.index, e]));
|
|
2569
|
+
r.forEach((e) => {
|
|
2570
|
+
let t = l.get(e);
|
|
2520
2571
|
if (!t) return;
|
|
2521
|
-
if (
|
|
2572
|
+
if (i.get(e) === "wheel") {
|
|
2522
2573
|
let e = t.seriesList.map((e) => e.id);
|
|
2523
|
-
T.set(
|
|
2574
|
+
T.set(Yr(e), e);
|
|
2524
2575
|
}
|
|
2525
|
-
let
|
|
2526
|
-
n("zoom-change", [
|
|
2576
|
+
let r = t.xScale.domain();
|
|
2577
|
+
n("zoom-change", [r[0], r[1]]);
|
|
2527
2578
|
});
|
|
2528
2579
|
}
|
|
2529
2580
|
let N = () => {
|
|
2530
2581
|
if (t.displayMode === "independent") {
|
|
2531
|
-
|
|
2582
|
+
Qr(n, s.value, T.values()), T.clear();
|
|
2532
2583
|
return;
|
|
2533
2584
|
}
|
|
2534
2585
|
if (S !== "wheel") {
|
|
2535
2586
|
S = null;
|
|
2536
2587
|
return;
|
|
2537
2588
|
}
|
|
2538
|
-
|
|
2589
|
+
$r(n, l.value, s.value), S = null;
|
|
2539
2590
|
}, P = () => {
|
|
2540
2591
|
v.flush(), M(), !(S === "wheel" || T.size) && N();
|
|
2541
2592
|
}, F = (e) => {
|
|
@@ -2555,9 +2606,9 @@ function Ur(e) {
|
|
|
2555
2606
|
}, B = (e, n) => {
|
|
2556
2607
|
let r = Math.abs(e[1] - e[0]);
|
|
2557
2608
|
if (!Number.isFinite(r) || r <= 0) return Bt.MIN_SCALE;
|
|
2558
|
-
let i =
|
|
2609
|
+
let i = Ur(e, n, t);
|
|
2559
2610
|
return Math.max(Bt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2560
|
-
}, 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) => {
|
|
2561
2612
|
let n = Number(t.minVisiblePoints);
|
|
2562
2613
|
return jn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2563
2614
|
}, U = () => {
|
|
@@ -2609,13 +2660,13 @@ function Ur(e) {
|
|
|
2609
2660
|
}
|
|
2610
2661
|
//#endregion
|
|
2611
2662
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2612
|
-
function
|
|
2663
|
+
function ri(e) {
|
|
2613
2664
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2614
2665
|
}
|
|
2615
|
-
function
|
|
2666
|
+
function ii(e) {
|
|
2616
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;
|
|
2617
2668
|
function te(e) {
|
|
2618
|
-
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());
|
|
2619
2670
|
}
|
|
2620
2671
|
function ne(e) {
|
|
2621
2672
|
e.code === "Space" && (m.value = !1);
|
|
@@ -2629,7 +2680,7 @@ function Gr(e) {
|
|
|
2629
2680
|
if (t.displayMode === "independent") {
|
|
2630
2681
|
K = void 0, q = new Map(w.value.flatMap((e) => {
|
|
2631
2682
|
let t = e.xScale.domain(), n = I(e);
|
|
2632
|
-
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]] : [];
|
|
2633
2684
|
}));
|
|
2634
2685
|
return;
|
|
2635
2686
|
}
|
|
@@ -2646,14 +2697,14 @@ function Gr(e) {
|
|
|
2646
2697
|
if (t.displayMode === "independent" && q) {
|
|
2647
2698
|
let e = C.value.map(() => J);
|
|
2648
2699
|
w.value.forEach((n) => {
|
|
2649
|
-
let r = q?.get(
|
|
2700
|
+
let r = q?.get(Yr(n.seriesList.map((e) => e.id)));
|
|
2650
2701
|
if (!r) return;
|
|
2651
|
-
let i = I(n), a =
|
|
2652
|
-
e[n.index] =
|
|
2702
|
+
let i = I(n), a = Gr(r, i, [n.seriesList], t);
|
|
2703
|
+
e[n.index] = Kr(a, i, n.width);
|
|
2653
2704
|
}), P.value = e, q = void 0;
|
|
2654
2705
|
} else if (t.displayMode !== "independent" && K) {
|
|
2655
|
-
let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r =
|
|
2656
|
-
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;
|
|
2657
2708
|
}
|
|
2658
2709
|
H();
|
|
2659
2710
|
});
|
|
@@ -2678,7 +2729,11 @@ function Gr(e) {
|
|
|
2678
2729
|
j
|
|
2679
2730
|
], async () => {
|
|
2680
2731
|
await f(), H();
|
|
2681
|
-
}, { immediate: !0 }), k(() =>
|
|
2732
|
+
}, { immediate: !0 }), k(() => [
|
|
2733
|
+
t.displayMode,
|
|
2734
|
+
t.integerZoom,
|
|
2735
|
+
t.integerZoom ? t.timeUnit : void 0
|
|
2736
|
+
], () => {
|
|
2682
2737
|
let e = v.value;
|
|
2683
2738
|
v.value = 1, U(), e !== 1 && n("page-change", 1, y.value);
|
|
2684
2739
|
}), k([
|
|
@@ -2739,7 +2794,7 @@ function Gr(e) {
|
|
|
2739
2794
|
}
|
|
2740
2795
|
//#endregion
|
|
2741
2796
|
//#region src/components/core/useWaveformData.ts
|
|
2742
|
-
function
|
|
2797
|
+
function ai(e) {
|
|
2743
2798
|
return dn(e).map(({ source: e, ...t }) => {
|
|
2744
2799
|
let n = e.metrics(t.errorBar.visible);
|
|
2745
2800
|
return {
|
|
@@ -2752,45 +2807,45 @@ function Kr(e) {
|
|
|
2752
2807
|
};
|
|
2753
2808
|
});
|
|
2754
2809
|
}
|
|
2755
|
-
function
|
|
2756
|
-
let r = w(
|
|
2810
|
+
function oi(e, t, n) {
|
|
2811
|
+
let r = w(ai(e()));
|
|
2757
2812
|
return k(e, (e) => {
|
|
2758
|
-
t(), r.value =
|
|
2813
|
+
t(), r.value = ai(e), n();
|
|
2759
2814
|
}), r;
|
|
2760
2815
|
}
|
|
2761
2816
|
//#endregion
|
|
2762
2817
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2763
|
-
function
|
|
2764
|
-
let n =
|
|
2765
|
-
if (o[3]) throw
|
|
2766
|
-
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();
|
|
2767
2822
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2768
2823
|
}
|
|
2769
|
-
function
|
|
2770
|
-
let i =
|
|
2771
|
-
if (c[3]) throw
|
|
2772
|
-
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();
|
|
2773
2828
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2774
2829
|
}
|
|
2775
|
-
function
|
|
2776
|
-
let i =
|
|
2777
|
-
if (c[3]) throw
|
|
2778
|
-
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();
|
|
2779
2834
|
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2780
2835
|
}
|
|
2781
|
-
function
|
|
2782
|
-
let i =
|
|
2783
|
-
if (c[3]) throw
|
|
2784
|
-
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();
|
|
2785
2840
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2786
2841
|
}
|
|
2787
|
-
function
|
|
2842
|
+
function di() {
|
|
2788
2843
|
return {
|
|
2789
2844
|
__proto__: null,
|
|
2790
2845
|
"./waveform_sampling_wasm_bg.js": {
|
|
2791
2846
|
__proto__: null,
|
|
2792
2847
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2793
|
-
return
|
|
2848
|
+
return gi(e, t);
|
|
2794
2849
|
},
|
|
2795
2850
|
__wbindgen_init_externref_table: function() {
|
|
2796
2851
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2799,52 +2854,52 @@ function Qr() {
|
|
|
2799
2854
|
}
|
|
2800
2855
|
};
|
|
2801
2856
|
}
|
|
2802
|
-
function
|
|
2803
|
-
return e >>>= 0,
|
|
2857
|
+
function fi(e, t) {
|
|
2858
|
+
return e >>>= 0, hi().subarray(e / 8, e / 8 + t);
|
|
2804
2859
|
}
|
|
2805
|
-
function
|
|
2806
|
-
return e >>>= 0,
|
|
2860
|
+
function pi(e, t) {
|
|
2861
|
+
return e >>>= 0, vi().subarray(e / 4, e / 4 + t);
|
|
2807
2862
|
}
|
|
2808
|
-
var
|
|
2809
|
-
function
|
|
2810
|
-
return (
|
|
2863
|
+
var mi = null;
|
|
2864
|
+
function hi() {
|
|
2865
|
+
return (mi === null || mi.byteLength === 0) && (mi = new Float64Array($.memory.buffer)), mi;
|
|
2811
2866
|
}
|
|
2812
|
-
function
|
|
2813
|
-
return e >>>= 0,
|
|
2867
|
+
function gi(e, t) {
|
|
2868
|
+
return e >>>= 0, Ei(e, t);
|
|
2814
2869
|
}
|
|
2815
|
-
var
|
|
2816
|
-
function
|
|
2817
|
-
return (
|
|
2870
|
+
var _i = null;
|
|
2871
|
+
function vi() {
|
|
2872
|
+
return (_i === null || _i.byteLength === 0) && (_i = new Uint32Array($.memory.buffer)), _i;
|
|
2818
2873
|
}
|
|
2819
|
-
var
|
|
2820
|
-
function
|
|
2821
|
-
return (
|
|
2874
|
+
var yi = null;
|
|
2875
|
+
function bi() {
|
|
2876
|
+
return (yi === null || yi.byteLength === 0) && (yi = new Uint8Array($.memory.buffer)), yi;
|
|
2822
2877
|
}
|
|
2823
|
-
function
|
|
2878
|
+
function xi(e, t) {
|
|
2824
2879
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2825
|
-
return
|
|
2880
|
+
return hi().set(e, n / 8), Di = e.length, n;
|
|
2826
2881
|
}
|
|
2827
|
-
function
|
|
2882
|
+
function Si(e) {
|
|
2828
2883
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2829
2884
|
return $.__externref_table_dealloc(e), t;
|
|
2830
2885
|
}
|
|
2831
|
-
var
|
|
2886
|
+
var Ci = new TextDecoder("utf-8", {
|
|
2832
2887
|
ignoreBOM: !0,
|
|
2833
2888
|
fatal: !0
|
|
2834
2889
|
});
|
|
2835
|
-
|
|
2836
|
-
var
|
|
2837
|
-
function
|
|
2838
|
-
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", {
|
|
2839
2894
|
ignoreBOM: !0,
|
|
2840
2895
|
fatal: !0
|
|
2841
|
-
}),
|
|
2896
|
+
}), Ci.decode(), Ti = t), Ci.decode(bi().subarray(e, e + t));
|
|
2842
2897
|
}
|
|
2843
|
-
var
|
|
2844
|
-
function
|
|
2845
|
-
return $ = e.exports,
|
|
2898
|
+
var Di = 0, $;
|
|
2899
|
+
function Oi(e, t) {
|
|
2900
|
+
return $ = e.exports, mi = null, _i = null, yi = null, $.__wbindgen_start(), $;
|
|
2846
2901
|
}
|
|
2847
|
-
async function
|
|
2902
|
+
async function ki(e, t) {
|
|
2848
2903
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2849
2904
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2850
2905
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2870,17 +2925,17 @@ async function gi(e, t) {
|
|
|
2870
2925
|
return !1;
|
|
2871
2926
|
}
|
|
2872
2927
|
}
|
|
2873
|
-
async function
|
|
2928
|
+
async function Ai(e) {
|
|
2874
2929
|
if ($ !== void 0) return $;
|
|
2875
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/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYCGCAKIApBKGo2AjwgCiAKQSRqNgI4IAogCkEgajYCNCAKIApBHGo2AjAgCiAKQRhqNgIsIApBDGohHyAKQSxqIQAjAEEQayITJAACQAJAQQBB6IzAACgCABEFACIQRQ0AIBAoAgBFBEAgEEF/NgIAIB8CfgJAIAAoAgAoAgAiASAQKAIMSQRAIBAoAgggAUHYAGxqIgcoAkhBgICAgHhHDQELQfyNwABBHBA/IQAgECAQKAIAQQFqNgIAIBMgADYCCEGAgICAeCEAIBMpAggMAQsgE0EEaiEYIAAoAgQoAgAhAiAAKAIIKAIAIQMgACgCDCgCACEeIAAoAhAoAgAhAEEAIQEjAEEwayIIJAACQAJAAkACQAJAIB5BA2sOBQABAQEAAQtBASAAIABBAU0bIgQgBygCOCIAIAIgACACSRsiGSAAIAMgACADSRsiACAAIBlJGyIgIBlrIhogBCAaSRsiIUEAIAAgAksbIh1BBHQhAgJAAkAgHUEBdCIGQf////8BSyACQfj///8HS3INAAJAIAJFBEBBCCEAQQAhBgwBC0EIIQkgAkEIEEsiAEUNAQsgCEEANgIIIAggADYCBCAIIAY2AgAgHQRAIAdByABqIREDQCAaIBxsICFuIgAgGWoiBSAcQQFqIhwgGmwgIW4iAiAZaiIiTw0DAkAgAiAAa2ciAEEfRg0AIABBH3MhG0EBIQsDQAJAIAcoAlAgC0sEQCAHKAJMIAtBJGxqKAIAQYCAgIB4Rw0BCyAHKAIUQX8CfyAHKAI4IgAgC3YgAEF/IAt0QX9zcUEAR2oiDa1CFH4iMEIgiFAEQCAwpwwBC0F/CyAHKAIQIgJqIgAgACACSRtJDQYgByAANgIQQQAhBgJAAkAgDUH/////AE0EQCANRQRAQQghAUEEIRRBCCEVDAMLQQghBiANQQN0IgBBCBBMIgENASAAIQELIAYgARA9AAsgAEEIEEwiFQRAIA1BAnQiAEEEEEwiFARAIA1BAXQhJCAHKAJMIAtBAWsiAkEkbGohDCAHKAI4IQ4gBygCNCElIAcoAighIyAHKAIsIRYgBysDCCEsIAcrAwAhLSAHKAIkISYgBygCHCEnIAcoAiAhF0EEIQBBACEGIAIgBygCUEkhKCAHKAIYQYCAgIB4RiEpQQAhCSAUIQMDQAJAIAZBAWohBAJAAnwCQAJAAkACQAJAAkACQCAoRQ0AIAwoAgBBgICAgHhGDQAgBiAMKAIIIgJPDQEgACABakEEayAMKAIEIAlqIhIrAwAgAiAESwR8IBJBCGorAwAFRAAAAAAAAAAAC6A5AwAgBiAMKAIUIgJPDQMgACAVakEEayAMKAIQIAlqIhIrAwAgAiAESwR8IBJBCGorAwAFRAAAAAAAAAAAC6A5AwAgBiAMKAIgIgJPDQQgDCgCHCAAaiISQQRrKAIAISogAyACIARLBH8gEigCAAVBAAsgKmo2AgAMCAsCQAJAAkAgKUUEQCAGIBdJDQEgBiAXQfiLwAAQJgALAkAgLSAsICZBgICAgHhGIhIEfyAGBSAGIBZPDQEgACAjakEEaygCAAu4oqAhKyAEIA5JDQJEAAAAAAAAAAAMCgsgBiAWQYiMwAAQJgALIAkgJ2oiAisDACErIAQgDkkNAUQAAAAAAAAAAAwICyAEIQIgEkUNBQwGCyAEIBdPDQEgAkEIaisDAAwGCyAGIAJBrIfAABAmAAsgBkEBaiAXQfiLwAAQJgALIAYgAkG8h8AAECYACyAGIAJBzIfAABAmAAsgBCAWSQRAIAAgI2ooAgAhAgwBCyAGQQFqIBZBiIzAABAmAAsgLSAsIAK4oqALIS4gACABakEEayArIC6gOQMAIAYgDk8NASAJICVqIgIrAwAhLkQAAAAAAAAAACErIAQgDkkiBARAIAJBCGorAwAhKwsgA0ECQQEgBBs2AgAgACAVakEEayAuICugOQMACyAJQRBqIQkgAEEIaiEAIANBBGohAyAGQQJqIgYgJEcNAQwECwsgBiAOQZyHwAAQJgALQQQgABA9AAtBCCAAED0ACyALIAcoAlAiBk8EQAJAIAtBAWoiBiARKAIIIgNNBEAgESAGNgIIIAMgBkYNASADIAZrIQkgESgCBCAGQSRsaiECA0ACQCACKAIAIgBBgICAgHhGDQAgAARAIAJBBGooAgAgAEEDdEEIEEcLIAJBDGooAgAiAARAIAJBEGooAgAgAEEDdEEIEEcLIAJBGGooAgAiAEUNACACQRxqKAIAIABBAnRBBBBHCyACQSRqIQIgCUEBayIJDQALDAELIAYgAyIAayIMIBEoAgAgAGtLBEAgESAAIAxBBEEkEBogESgCCCEACyARKAIEIQ4gDEEDcSIJBEAgACAJaiAGIANrIAlrIQwgDiAAQSRsaiECA0AgAkGAgICAeDYCACACQSRqIQIgCUEBayIJDQALIQALIAMgBmtBfE0EQCAOIABBJGxqIQIDQCACQYCAgIB4NgIAIAJB7ABqQYCAgIB4NgIAIAJByABqQYCAgIB4NgIAIAJBJGpBgICAgHg2AgAgAkGQAWohAiAAQQRqIQAgDEEEayIMDQALCyARIAA2AggLIAcoAlAhBgsgBiALTQ0JAkAgBygCTCALQSRsaiIAKAIAIgJBgICAgHhGDQAgAgRAIAAoAgQgAkEDdEEIEEcLIAAoAgwiAgRAIAAoAhAgAkEDdEEIEEcLIAAoAhgiAkUNACAAKAIcIAJBAnRBBBBHCyAAIA02AiAgACAUNgIcIAAgDTYCGCAAIA02AhQgACAVNgIQIAAgDTYCDCAAIA02AgggACABNgIEIAAgDTYCAAsgCyAbTw0BIAsgCyAbSWoiCyAbTQ0ACwsgBygCNCEMIAcoAjghFCAHKwMIIS4gBysDACEvIAcoAighDiAHKAIsIQYgBygCHCEVIAcoAiAhCyAHKAJMIRYgBygCUCENQQAhCUQAAAAAAAAAACEsIAcoAhhBgICAgHhGIRcgBygCJEGAgICAeEYhG0QAAAAAAAAAACErA0BBASEAAkAgBUEBcSAiIAVrIgJBAklyDQBBAiEAIAVBAnEgAkEESXINAEEEIQAgBUEEcSACQQhJcg0AQQghACAFQQhxIAJBEElyDQBBECEAIAVBEHEgAkEgSXINAEEgIQAgBUEgcSACQcAASXINAEHAACEAIAVBwABxIAJBgAFJcg0AQYABIQAgBUGAAXEgAkGAAklyDQBBgAIhACAFQYACcSACQYAESXINAEGABCEAIAVBgARxIAJBgAhJcg0AQYAIIQAgBUGACHEgAkGAEElyDQBBgBAhACAFQYAQcSACQYAgSXINAEGAICEAIAVBgCBxIAJBgMAASXINAEGAwAAhACAFQYDAAHEgAkGAgAFJcg0AQYCAASEAIAVBgIABcSACQYCAAklyDQBBgIACIQAgBUGAgAJxIAJBgIAESXINAEGAgAQhACAFQYCABHEgAkGAgAhJcg0AQYCACCEAIAVBgIAIcSACQYCAEElyDQBBgIAQIQAgBUGAgBBxIAJBgIAgSXINAEGAgCAhACAFQYCAIHEgAkGAgMAASXINAEGAgMAAIQAgBUGAgMAAcSACQYCAgAFJcg0AQYCAgAEhACAFQYCAgAFxIAJBgICAAklyDQBBgICAAiEAIAVBgICAAnEgAkGAgIAESXINAEGAgIAEIQAgBUGAgIAEcSACQYCAgAhJcg0AQYCAgAghACAFQYCAgAhxIAJBgICAEElyDQBBgICAECEAIAVBgICAEHEgAkGAgIAgSXINAEGAgIAgIQAgBUGAgIAgcSACQYCAgMAASXINAEGAgIDAACEAIAVBgICAwABxIAJBgICAgAFJcg0AQYCAgIABIQAgBUGAgICAAXEgAkGAgICAAklyDQBBgICAgAIhACAFQYCAgIACcSACQYCAgIAESXINAEGAgICABCEAIAVBgICAgARxIAJBAE5yDQAQSgALAkACQAJAAkACQCAAaCICRQRAAnwgF0UEQCAFIAtPDQQgFSAFQQN0aisDAAwBCyAvIC4gGwR/IAUFIAUgBk8NAyAOIAVBAnRqKAIAC7iioAshLSAFIBRPDQMgCUEBaiEJIAwgBUEDdGohAwwFCyACIA1PBEAgAiANQaiMwAAQJgALIBYgAkEkbGoiBCgCAEGAgICAeEcNAwwJCyAFIAZBiIzAABAmAAsgBSALQfiLwAAQJgALIAUgFEGYjMAAECYACwJAIAUgAnYiAiAEKAIIIgNJBEAgAiAEKAIUIgNPDQEgBCgCICIDIAJLBEAgAkEDdCIDIAQoAgRqKwMAIS0gBCgCECADaiEDIAQoAhwgAkECdGooAgAgCWohCQwDCyACIANB2IzAABAmAAsgAiADQbiMwAAQJgALIAIgA0HIjMAAECYACyAsIC2gISwgKyADKwMAoCErIAAgBWoiBSAiSQ0ACyAsIAm4IiyjIS0gCCgCCCIAIAgoAgBGBEAgCBAiCyAIKAIEIABBA3RqIC05AwAgCCAAQQFqIgI2AgggCCgCACACRgRAIAgQIgsgCCgCBCACQQN0aiArICyjICsgHkEDRhs5AwAgCCAAQQJqNgIIIBwgHUcNAAsLIBggCCgCCDYCCCAYIAgpAgA3AgAMAwsgCSACED0ACyAIIAc2AgwgCCAZNgIQIAggIDYCFEEAIQAgGkEAIBogIE0bIgFBGGwhAgJAIAFB1arVKksNAEEIIQYgAgRAQQghACACQQgQSyIGRQ0BIAEhAAsgCEEANgIgIAggBjYCHCAIIAA2AhggCEEANgIoIAggCEEgajYCJCAIIAY2AiwgCEEMaiAIQSRqEBMgCCgCGCEAIBggCCgCHCIBIAgoAiAgHSAeEAcgAARAIAEgAEEYbEEIEEcLIAgoAgAiAEUNAiAIKAIEIABBA3RBCBBHDAILIAAgAhA9AAtB+4rAAEEpED8hACAYQYCAgIB4NgIAIBggADYCBAsgCEEwaiQADAELIAsgBkGMh8AAECYACyAQIBAoAgBBAWo2AgAgEygCBCIAQYGAgIB4Rg0CIBMpAggLNwIEIB8gADYCACATQRBqJAAMAgtBuI7AABA3AAsQNgALAkACQAJ/IAooAgwiAUGAgICAeEYEQEEBIQBBACEBQQAhAyAKKAIQDAELIAooAhAhAAJAIAooAhQiAyABTwRAIAAhAQwBCyABQQN0IQIgA0UEQEEIIQEgACACQQgQRwwBCyAAIAJBCCADQQN0IgAQRCIBRQ0CC0EAIQBBAAshAiAPIAA2AgwgDyACNgIIIA8gAzYCBCAPIAE2AgAgCkFAayQADAELQQggABA9AAsgDygCACAPKAIEIA8oAgggDygCDCAPQRBqJAALugYCC38MfCMAQRBrIgYkACMAQRBrIggkACAIQQRqIQkjAEEQayIKJAAgCkEEaiAAIAEgAiADEAsgCigCCCEHAkACQAJAIAooAgQiDUGAgICAeEYEQCAJQYCAgIB4NgIAIAkgBzYCBAwBCyAJAn8gCigCDCIFRQRAQQghBEEADAELIAcrAwghDyAHKwMAIRACQCAFQQFGBEAgDyERIBAhEgwBCyAHQRhqIQQCfyAFQRhsIgxBMGsiDkEYbiIFQQNxQQNGBEAgECESIA8hESAHDAELQQAgBUEBakEDcWshCyAQIRIgDyERA0AgBCIFQRhqIQQgBUEIaisDACETIBIgBSsDACIUEDshEiAQIBQQPCEQIBEgExA7IREgDyATEDwhDyALQQFqIgsNAAsgBEEYawshBSAOQcgASQ0AIAcgDGohDANAIARByABqIgsrAwAhEyAEQTBqKwMAIRQgBEEYaisDACEVIARB0ABqKwMAIRYgBEE4aisDACEXIARBIGorAwAhGCAEKwMAIRkgESAFKwMgIhoQOyAYEDsgFxA7IBYQOyERIA8gGhA8IBgQPCAXEDwgFhA8IQ8gEiAZEDsgFRA7IBQQOyATEDshEiAQIBkQPCAVEDwgFBA8IBMQPCEQIAshBSAEQeAAaiIEIAxHDQALC0EgQQgQSyIERQ0CIAQgETkDGCAEIA85AxAgBCASOQMIIAQgEDkDAEEECyIFNgIIIAkgBDYCBCAJIAU2AgAgDUUNACAHIA1BGGxBCBBHCyAKQRBqJAAMAQtBCEEgEE4ACyADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLAkACQAJ/IAgoAgQiAUGAgICAeEYEQEEBIQJBACEBQQAhAyAIKAIIDAELIAgoAgghAAJAIAgoAgwiAyABTwRAIAAhAQwBCyABQQN0IQIgA0UEQEEIIQEgACACQQgQRwwBCyAAIAJBCCADQQN0IgAQRCIBRQ0CC0EAIQJBAAshACAGIAI2AgwgBiAANgIIIAYgAzYCBCAGIAE2AgAgCEEQaiQADAELQQggABA9AAsgBigCACAGKAIEIAYoAgggBigCDCAGQRBqJAALswEBAn8jAEEQayIAJAAgASgCAEHkkcAAQQsgASgCBCgCDBECACEDIABBCGoiAkEAOgAFIAIgAzoABCACIAE2AgAgAiIBLQAEIQIgAS0ABQRAIAECf0EBIAJBAXENABogASgCACIBLQAKQYABcUUEQCABKAIAQaWSwABBAiABKAIEKAIMEQIADAELIAEoAgBBpJLAAEEBIAEoAgQoAgwRAgALIgI6AAQLIAJBAXEgAEEQaiQAC78GAwp/An4DfCMAQRBrIgskACMAQRBrIgwkACAMQQhqIQ4gACEIIwBB8ABrIgUkAAJAAkACQAJ/IAEgA0cEQEHXi8AAQSEQP60hD0GAgICAeCENIAVBGGoMAQsCfyABRQRAQYCAgIB4IQpBCCEGQQAMAQsgAUEDdCEJIAghByACIQYCQAJAAkADQAJAIAcpAwBC////////////AINC//////////f/AFYNACAGKQMAQv///////////wCDQv/////////3/wBWDQAgB0EIaiEHIAZBCGohBiAKQQFqIgogAUcNAQwCCwsgASAKSw0BCyABQQFGDQEgCCABQQFrIgdBA3RqKwMAIAgrAwChIAe4oyERDAELQaSLwABBMxA/rSEPQYCAgIB4IQ0gBUEYagwCC0EAIQdBACEGAn8DQEGAgICAeCAHIAlGDQEaIAcgCGogBrghEiAHQQhqIQcgBkEBaiEGKwMAIhMgESASoiAIKwMAoCISoZkgE5kgEpkQO0QAAAAAAADwPxA7RAAAAAAAACA9omUNAAsgCUEIEEsiB0UNAyAJBEAgByAIIAn8CgAACyAHrSABrUIghoQhECABCyEKIAlBCBBLIgZFDQMgCQRAIAYgAiAJ/AoAAAsgCCkDACEPIAELIQggBUEANgIYIAVBEGoLIA02AgACfyAFKAIYIgdBgICAgHhGBEBBASEGIA+nDAELIAUgBSgCEDYCaCAFQQQ2AmQgBSAHNgJgIAVBADYCXCAFQoCAgIDAADcCVCAFIAE2AlAgBSAGNgJMIAUgCDYCSCAFQYCAgIB4NgI8IAUgEDcCNCAFIAo2AjAgBSAENgIsIAVBADYCKCAFIBE5AyAgBSAPNwMYIAVBCGogBUEYahAXIAUoAgghBiAFKAIMCyEEIA4gBjYCACAOIAQ2AgQgBUHwAGokAAwCC0EIIAkQPQALQQggCRA9AAsgDCgCDCEIIAwoAgghBCADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLIAsgBEEBcSIANgIIIAsgCEEAIAAbNgIEIAtBACAIIAAbNgIAIAxBEGokACALKAIAIAsoAgQgCygCCCALQRBqJAALLwEBfyMAQRBrIgAkACAAIABBD2qtQoCAgIDAAIQ3AwBBz4HAACAAQciOwAAQKQALLAEBfyMAQRBrIgEkACABIAFBD2qtQoCAgIDQAoQ3AwBBmILAACABIAAQKQALGQEBfyAAQQQQSyIBRQRAQQQgABBOAAsgAQscAQF/IAAoAgAiAUEASgRAIAAoAgQgAUEBEEcLCxkBAX8gACgCACIBBEAgACgCBCABQQEQRwsLFAAgASABIAAgACABYxsgACAAYhsLFAAgACAAIAEgACABYxsgASABYhsLHQAgAARAIAAgARBOAAtBgJLAAEEjQZSSwAAQKQALEQAgACABQQF0QQFyIAIQKQAL/gICA38BbyAAIAEQASEFAn8jAEEQayIDJAACQEH4lcAAKAIARQRAQfiVwABBfzYCAEGIlsAAKAIAIgFBhJbAACgCACIARgRAAn8gASABQfyVwAAoAgAiAEcNABrQb0GAASABIAFBgAFNGyIC/A8BIgBBf0YNAwJAQYyWwAAoAgAiBEUEQEGMlsAAIAA2AgAMAQsgASAEaiAARw0ECyABQfyVwAAoAgAiACABayACTw0AGiADQQRqIABBgJbAACgCACABIAJqIgBBBEEEEBwgAygCBEEBRg0DQYCWwAAgAygCCDYCAEH8lcAAIAA2AgBBhJbAACgCAAsiAiAATw0CQYCWwAAoAgAgAkECdGogAUEBajYCAEGElsAAIAJBAWoiADYCAAsgACABTQ0BQYiWwABBgJbAACgCACABQQJ0aigCADYCAEH4lcAAQfiVwAAoAgBBAWo2AgBBjJbAACgCACADQRBqJAAgAWoMAgtBxI/AABA3CwALIgAgBSYBIAALDwAgAQRAIAAgASACEEcLCxwAIABBzJDAACkCADcCCCAAQcSQwAApAgA3AgALHAAgAEG8kMAAKQIANwIIIABBtJDAACkCADcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQIAC+cGAQV/An8CQAJAAkACQAJAAkACQCAAQQRrIgcoAgAiCEF4cSIEQQRBCCAIQQNxIgUbIAFqTwRAIAVBACABQSdqIgYgBEkbDQECQCACQQlPBEAgAiADEBAiAg0BQQAMCgtBACECIANBzP97Sw0IQRAgA0ELakF4cSADQQtJGyEBIABBCGshBiAFRQRAIAZFIAFBgAJJciAEIAFrQYCACEsgASAET3JyDQcgAAwKCyAEIAZqIQUCQCABIARLBEAgBUHgmcAAKAIARg0BQdyZwAAoAgAgBUcEQCAFKAIEIghBAnENCSAIQXhxIgggBGoiBCABSQ0JIAUgCBARIAQgAWsiBUEQTwRAIAcgASAHKAIAQQFxckECcjYCACABIAZqIgEgBUEDcjYCBCAEIAZqIgQgBCgCBEEBcjYCBCABIAUQDAwJCyAHIAQgBygCAEEBcXJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgQMCAtB1JnAACgCACAEaiIEIAFJDQgCQCAEIAFrIgVBD00EQCAHIAhBAXEgBHJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgRBACEFQQAhAQwBCyAHIAEgCEEBcXJBAnI2AgAgASAGaiIBIAVBAXI2AgQgBCAGaiIEIAU2AgAgBCAEKAIEQX5xNgIEC0HcmcAAIAE2AgBB1JnAACAFNgIADAcLIAQgAWsiBEEPTQ0GIAcgASAIQQFxckECcjYCACABIAZqIgEgBEEDcjYCBCAFIAUoAgRBAXI2AgQgASAEEAwMBgtB2JnAACgCACAEaiIEIAFLDQQMBgsgAyABIAEgA0sbIgMEQCACIAAgA/wKAAALIAcoAgAiA0F4cSIHIAFBBEEIIANBA3EiAxtqSQ0CIANFIAYgB09yDQZBlJHAAEEuQcSRwAAQPgALQdSQwABBLkGEkcAAED4AC0GUkcAAQS5BxJHAABA+AAtB1JDAAEEuQYSRwAAQPgALIAcgASAIQQFxckECcjYCACABIAZqIgUgBCABayIBQQFyNgIEQdiZwAAgATYCAEHgmcAAIAU2AgALIAZFDQAgAAwDCyADEAIiAUUNASADQXxBeCAHKAIAIgJBA3EbIAJBeHFqIgIgAiADSxsiAgRAIAEgACAC/AoAAAsgASECCyAAEAgLIAILCxMAIABB1JHAADYCBCAAIAE2AgALEAAgASAAKAIAIAAoAgQQQwtfAQF/AkACQCAAQQRrKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAEAgMAgtB1JDAAEEuQYSRwAAQPgALQZSRwABBLkHEkcAAED4ACwsPACAAQeSPwAAgASACEAoLDgBBp5LAAEErIAAQPgALEgBBmpTAAEHzAEGsicAAECkACxkAAn8gAUEJTwRAIAEgABAQDAELIAAQAgsLPgACQAJ/IAFBCU8EQCABIAAQEAwBCyAAEAILIgFFDQAgAUEEay0AAEEDcUUgAEVyDQAgAUEAIAD8CwALIAELDAAgACABKQIANwMACz0BAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqIgAoAgAgACgCBEGglsAAKAIAIgBBAyAAGxEAAAALDQAgAUHQlcAAQRgQCQsNACABQbCVwABBIBAJCwwAQfiZwABBAToAAAsJACAAQQA2AgALBwBB6JXAAAsLhBYDAEGAgMAAC+gVFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAACBpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzIMASIGJ1dCB0aGUgaW5kZXggaXMgwAAScmFuZ2Ugc3RhcnQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAQcmFuZ2UgZW5kIGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
|
|
2876
|
-
let t =
|
|
2931
|
+
let t = di();
|
|
2877
2932
|
(typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
|
|
2878
|
-
let { instance: n, module: r } = await
|
|
2879
|
-
return
|
|
2933
|
+
let { instance: n, module: r } = await ki(await e, t);
|
|
2934
|
+
return Oi(n, r);
|
|
2880
2935
|
}
|
|
2881
2936
|
//#endregion
|
|
2882
2937
|
//#region src/core/wasmSampling.ts
|
|
2883
|
-
var
|
|
2938
|
+
var ji = {
|
|
2884
2939
|
none: 0,
|
|
2885
2940
|
peak: 1,
|
|
2886
2941
|
lttb: 2,
|
|
@@ -2889,24 +2944,24 @@ var vi = {
|
|
|
2889
2944
|
max: 5,
|
|
2890
2945
|
minmax: 6,
|
|
2891
2946
|
sum: 7
|
|
2892
|
-
},
|
|
2893
|
-
function
|
|
2947
|
+
}, Mi;
|
|
2948
|
+
function Ni(e, t) {
|
|
2894
2949
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2895
2950
|
}
|
|
2896
|
-
function
|
|
2951
|
+
function Pi(e) {
|
|
2897
2952
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2898
2953
|
}
|
|
2899
|
-
function
|
|
2900
|
-
return
|
|
2954
|
+
function Fi(e) {
|
|
2955
|
+
return Mi ??= Promise.resolve(Ai(e)).then(() => void 0), Mi;
|
|
2901
2956
|
}
|
|
2902
|
-
async function
|
|
2903
|
-
|
|
2904
|
-
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];
|
|
2905
2960
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2906
2961
|
kind: "source-indexes",
|
|
2907
|
-
sourceIndexes:
|
|
2962
|
+
sourceIndexes: ui(e.x, e.y, n, t)
|
|
2908
2963
|
};
|
|
2909
|
-
let r =
|
|
2964
|
+
let r = li(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2910
2965
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2911
2966
|
return {
|
|
2912
2967
|
kind: "aggregates",
|
|
@@ -2914,41 +2969,41 @@ async function Ci(e) {
|
|
|
2914
2969
|
y: a
|
|
2915
2970
|
};
|
|
2916
2971
|
}
|
|
2917
|
-
async function
|
|
2972
|
+
async function Li(e, t) {
|
|
2918
2973
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2919
|
-
await
|
|
2920
|
-
let n =
|
|
2974
|
+
await Fi();
|
|
2975
|
+
let n = si(e, t);
|
|
2921
2976
|
return n.length === 4 ? {
|
|
2922
2977
|
x: [n[0], n[1]],
|
|
2923
2978
|
y: [n[2], n[3]]
|
|
2924
2979
|
} : void 0;
|
|
2925
2980
|
}
|
|
2926
|
-
async function
|
|
2981
|
+
async function Ri(e, t, n) {
|
|
2927
2982
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2928
|
-
await
|
|
2929
|
-
let r =
|
|
2983
|
+
await Fi();
|
|
2984
|
+
let r = ci(e, t, n[0], n[1]);
|
|
2930
2985
|
return [r[0], r[1]];
|
|
2931
2986
|
}
|
|
2932
2987
|
//#endregion
|
|
2933
2988
|
//#region src/components/core/trackPagination.ts
|
|
2934
|
-
var
|
|
2989
|
+
var zi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Bi = (e, t, n, r, i) => {
|
|
2935
2990
|
let a = t?.[i];
|
|
2936
2991
|
if (a !== void 0) return a;
|
|
2937
2992
|
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2938
|
-
},
|
|
2993
|
+
}, Vi = (e, t, n) => (r) => {
|
|
2939
2994
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2940
|
-
return
|
|
2995
|
+
return Bi(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2941
2996
|
};
|
|
2942
2997
|
//#endregion
|
|
2943
2998
|
//#region src/components/core/yAxisLayoutMetrics.ts
|
|
2944
|
-
function
|
|
2999
|
+
function Hi(e, t, n, r) {
|
|
2945
3000
|
return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
|
|
2946
3001
|
let n = r[t];
|
|
2947
3002
|
return n ? [[e.id, n]] : [];
|
|
2948
3003
|
})) : n;
|
|
2949
3004
|
}
|
|
2950
|
-
function
|
|
2951
|
-
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);
|
|
2952
3007
|
return {
|
|
2953
3008
|
tickClearance: u,
|
|
2954
3009
|
fullClearance: l + 7 + 0 + 20 + 4,
|
|
@@ -2957,7 +3012,7 @@ function Ai(e, t, n, r, i, a, o, s) {
|
|
|
2957
3012
|
}
|
|
2958
3013
|
//#endregion
|
|
2959
3014
|
//#region src/components/core/useWaveformLayout.ts
|
|
2960
|
-
function
|
|
3015
|
+
function Wi(e) {
|
|
2961
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) => ({
|
|
2962
3017
|
...e,
|
|
2963
3018
|
color: e.color ?? (t === 0 ? n.lineColor : Ut[t % Ut.length])
|
|
@@ -2980,10 +3035,10 @@ function ji(e) {
|
|
|
2980
3035
|
yDomain: o.length ? _t(o) : [0, 1]
|
|
2981
3036
|
};
|
|
2982
3037
|
});
|
|
2983
|
-
}), 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(() => {
|
|
2984
3039
|
let e = x.value.filter((e) => e.series.length > 0);
|
|
2985
3040
|
return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
|
|
2986
|
-
}), 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(() => {
|
|
2987
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;
|
|
2988
3043
|
return {
|
|
2989
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,
|
|
@@ -2996,14 +3051,14 @@ function ji(e) {
|
|
|
2996
3051
|
}), _t(e);
|
|
2997
3052
|
}), B = t(() => {
|
|
2998
3053
|
let e = n.initialXDomain;
|
|
2999
|
-
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);
|
|
3000
3055
|
}), V = (e) => {
|
|
3001
3056
|
let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
|
|
3002
|
-
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);
|
|
3003
|
-
}, 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) => ({
|
|
3004
3059
|
...e,
|
|
3005
3060
|
series: S.value[t]
|
|
3006
|
-
}))), G = t(() =>
|
|
3061
|
+
}))), G = t(() => fr({
|
|
3007
3062
|
cells: U.value,
|
|
3008
3063
|
grid: g.value,
|
|
3009
3064
|
displayMode: n.displayMode,
|
|
@@ -3013,6 +3068,7 @@ function ji(e) {
|
|
|
3013
3068
|
initialXDomain: n.initialXDomain ? B.value : void 0,
|
|
3014
3069
|
initialXDomains: n.initialXDomains,
|
|
3015
3070
|
xDomainStrategy: n.xDomainStrategy,
|
|
3071
|
+
integerZoom: n.integerZoom,
|
|
3016
3072
|
fixedYDomain: n.yDomain,
|
|
3017
3073
|
fixedYDomains: n.yDomains,
|
|
3018
3074
|
yDomains: w.value,
|
|
@@ -3066,16 +3122,16 @@ function ji(e) {
|
|
|
3066
3122
|
unit: t.unit
|
|
3067
3123
|
} : void 0;
|
|
3068
3124
|
}),
|
|
3069
|
-
resolveFrameNumber:
|
|
3125
|
+
resolveFrameNumber: Vi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
3070
3126
|
};
|
|
3071
3127
|
}
|
|
3072
|
-
var
|
|
3073
|
-
function
|
|
3128
|
+
var Gi = 1e-6;
|
|
3129
|
+
function Ki(e) {
|
|
3074
3130
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
3075
3131
|
}
|
|
3076
|
-
function
|
|
3077
|
-
let i =
|
|
3078
|
-
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)) {
|
|
3079
3135
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
3080
3136
|
return {
|
|
3081
3137
|
textWidth: t,
|
|
@@ -3100,17 +3156,19 @@ function Pi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
3100
3156
|
}
|
|
3101
3157
|
//#endregion
|
|
3102
3158
|
//#region src/components/core/useWaveformPresentation.ts
|
|
3103
|
-
function
|
|
3159
|
+
function Ji(e) {
|
|
3104
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(() => ({
|
|
3105
3161
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
3106
3162
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
3107
3163
|
})), m = t(() => n.cleanView === !0), h = t(() => n.presentationMode === !0), g = t(() => {
|
|
3108
|
-
let e = n.zeroLine.width;
|
|
3164
|
+
let e = n.zeroLine.width, t = n.zeroLine.opacity, r = n.zeroLine.boundaryThreshold;
|
|
3109
3165
|
return {
|
|
3110
3166
|
visible: n.zeroLine.visible !== !1,
|
|
3111
3167
|
color: n.zeroLine.color || Gt.COLOR,
|
|
3112
3168
|
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Gt.WIDTH,
|
|
3113
|
-
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
|
|
3114
3172
|
};
|
|
3115
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) => {
|
|
3116
3174
|
let t = n.legend.orientation ?? "auto";
|
|
@@ -3145,7 +3203,7 @@ function Fi(e) {
|
|
|
3145
3203
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
3146
3204
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
3147
3205
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
3148
|
-
})), N = t(() =>
|
|
3206
|
+
})), N = t(() => qi({
|
|
3149
3207
|
naturalWidth: a.value || A.value,
|
|
3150
3208
|
naturalHeight: o.value || E.value * 1.2,
|
|
3151
3209
|
availableWidth: j.value,
|
|
@@ -3201,66 +3259,66 @@ function Fi(e) {
|
|
|
3201
3259
|
}
|
|
3202
3260
|
//#endregion
|
|
3203
3261
|
//#region src/core/samplingReferenceValues.ts
|
|
3204
|
-
function
|
|
3262
|
+
function Yi(e, t) {
|
|
3205
3263
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3206
3264
|
}
|
|
3207
|
-
function
|
|
3265
|
+
function Xi(e, t, n, r) {
|
|
3208
3266
|
let i = r - n;
|
|
3209
3267
|
return {
|
|
3210
3268
|
start: n + Math.floor(e * i / t),
|
|
3211
3269
|
end: n + Math.floor((e + 1) * i / t)
|
|
3212
3270
|
};
|
|
3213
3271
|
}
|
|
3214
|
-
function
|
|
3272
|
+
function Zi(e, t) {
|
|
3215
3273
|
e[e.length - 1] !== t && e.push(t);
|
|
3216
3274
|
}
|
|
3217
|
-
function
|
|
3275
|
+
function Qi(e, t, n) {
|
|
3218
3276
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3219
3277
|
if (t === 1) return [0];
|
|
3220
3278
|
if (t === 2) return [0, e - 1];
|
|
3221
3279
|
let r = [0];
|
|
3222
|
-
return n().forEach((e) =>
|
|
3280
|
+
return n().forEach((e) => Zi(r, e)), Zi(r, e - 1), r;
|
|
3223
3281
|
}
|
|
3224
|
-
function
|
|
3282
|
+
function $i(e, t, n) {
|
|
3225
3283
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3226
|
-
return
|
|
3284
|
+
return Qi(e.length, t, () => {
|
|
3227
3285
|
if (!r) return [];
|
|
3228
3286
|
let t = [];
|
|
3229
3287
|
for (let i = 0; i < r; i += 1) {
|
|
3230
|
-
let a =
|
|
3288
|
+
let a = Xi(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3231
3289
|
for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
|
|
3232
|
-
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));
|
|
3233
3291
|
}
|
|
3234
3292
|
return t;
|
|
3235
3293
|
});
|
|
3236
3294
|
}
|
|
3237
|
-
function
|
|
3295
|
+
function ea(e, t) {
|
|
3238
3296
|
let n = Math.floor((t - 2) / 4);
|
|
3239
|
-
return
|
|
3297
|
+
return Qi(e.length, t, () => {
|
|
3240
3298
|
if (!n) return [];
|
|
3241
3299
|
let t = [];
|
|
3242
3300
|
for (let r = 0; r < n; r += 1) {
|
|
3243
|
-
let i =
|
|
3301
|
+
let i = Xi(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3244
3302
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3245
3303
|
[
|
|
3246
3304
|
i.start,
|
|
3247
3305
|
a,
|
|
3248
3306
|
o,
|
|
3249
3307
|
i.end - 1
|
|
3250
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3308
|
+
].sort((e, t) => e - t).forEach((e) => Zi(t, e));
|
|
3251
3309
|
}
|
|
3252
3310
|
return t;
|
|
3253
3311
|
});
|
|
3254
3312
|
}
|
|
3255
|
-
function
|
|
3256
|
-
return
|
|
3313
|
+
function ta(e, t, n) {
|
|
3314
|
+
return Qi(e.length, n, () => {
|
|
3257
3315
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3258
3316
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3259
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;
|
|
3260
3318
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3261
3319
|
let d = c - s;
|
|
3262
3320
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3263
|
-
let f =
|
|
3321
|
+
let f = Xi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3264
3322
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3265
3323
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3266
3324
|
r > m && (m = r, p = n);
|
|
@@ -3270,10 +3328,10 @@ function Hi(e, t, n) {
|
|
|
3270
3328
|
return i;
|
|
3271
3329
|
});
|
|
3272
3330
|
}
|
|
3273
|
-
function
|
|
3274
|
-
let i =
|
|
3331
|
+
function na(e, t, n, r) {
|
|
3332
|
+
let i = Yi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3275
3333
|
for (let n = 0; n < i; n += 1) {
|
|
3276
|
-
let s =
|
|
3334
|
+
let s = Xi(n, i, 0, e.length);
|
|
3277
3335
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3278
3336
|
let c = s.end - s.start;
|
|
3279
3337
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3284,10 +3342,10 @@ function Ui(e, t, n, r) {
|
|
|
3284
3342
|
y: o
|
|
3285
3343
|
};
|
|
3286
3344
|
}
|
|
3287
|
-
function
|
|
3345
|
+
function ra(e, t, n, r) {
|
|
3288
3346
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
3289
|
-
if (n === "average" || n === "sum") return
|
|
3290
|
-
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);
|
|
3291
3349
|
return {
|
|
3292
3350
|
kind: "source-indexes",
|
|
3293
3351
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3295,41 +3353,41 @@ function Wi(e, t, n, r) {
|
|
|
3295
3353
|
}
|
|
3296
3354
|
//#endregion
|
|
3297
3355
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3298
|
-
var
|
|
3356
|
+
var ia = {
|
|
3299
3357
|
kind: "javascript",
|
|
3300
3358
|
sample(e) {
|
|
3301
|
-
return
|
|
3359
|
+
return ra(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3302
3360
|
}
|
|
3303
|
-
},
|
|
3304
|
-
function
|
|
3361
|
+
}, aa = 8 * 1024 * 1024;
|
|
3362
|
+
function oa(e, t) {
|
|
3305
3363
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3306
3364
|
}
|
|
3307
|
-
function
|
|
3365
|
+
function sa(e, t, n, r) {
|
|
3308
3366
|
let i = r - n;
|
|
3309
3367
|
return {
|
|
3310
3368
|
start: n + Math.floor(e * i / t),
|
|
3311
3369
|
end: n + Math.floor((e + 1) * i / t)
|
|
3312
3370
|
};
|
|
3313
3371
|
}
|
|
3314
|
-
function
|
|
3372
|
+
function ca(e, t) {
|
|
3315
3373
|
e[e.length - 1] !== t && e.push(t);
|
|
3316
3374
|
}
|
|
3317
|
-
function
|
|
3375
|
+
function la(e) {
|
|
3318
3376
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3319
3377
|
}
|
|
3320
|
-
function
|
|
3378
|
+
function ua(e, t) {
|
|
3321
3379
|
let n = 1;
|
|
3322
3380
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3323
3381
|
return n;
|
|
3324
3382
|
}
|
|
3325
|
-
var
|
|
3383
|
+
var da = class {
|
|
3326
3384
|
points;
|
|
3327
3385
|
extremaLayers = [];
|
|
3328
3386
|
sumLayers = [];
|
|
3329
3387
|
indexBytes = 0;
|
|
3330
3388
|
maxBytes;
|
|
3331
3389
|
constructor(e, t = {}) {
|
|
3332
|
-
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;
|
|
3333
3391
|
}
|
|
3334
3392
|
get byteLength() {
|
|
3335
3393
|
return this.indexBytes;
|
|
@@ -3338,7 +3396,7 @@ var Qi = class {
|
|
|
3338
3396
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3339
3397
|
}
|
|
3340
3398
|
sample(e, t, n, r) {
|
|
3341
|
-
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);
|
|
3342
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);
|
|
3343
3401
|
}
|
|
3344
3402
|
allIndexes(e, t) {
|
|
@@ -3358,24 +3416,24 @@ var Qi = class {
|
|
|
3358
3416
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3359
3417
|
let a = [e];
|
|
3360
3418
|
for (let n = 0; n < i; n += 1) {
|
|
3361
|
-
let o =
|
|
3419
|
+
let o = sa(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3362
3420
|
if (!s) return;
|
|
3363
|
-
if (r === "min")
|
|
3364
|
-
else if (r === "max")
|
|
3365
|
-
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));
|
|
3366
3424
|
else for (let e of [
|
|
3367
3425
|
o.start,
|
|
3368
3426
|
s.minimum,
|
|
3369
3427
|
s.maximum,
|
|
3370
3428
|
o.end - 1
|
|
3371
|
-
].sort((e, t) => e - t))
|
|
3429
|
+
].sort((e, t) => e - t)) ca(a, e);
|
|
3372
3430
|
}
|
|
3373
|
-
return
|
|
3431
|
+
return ca(a, t - 1), this.indexes(a);
|
|
3374
3432
|
}
|
|
3375
3433
|
aggregate(e, t, n, r) {
|
|
3376
3434
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3377
3435
|
for (let o = 0; o < n; o += 1) {
|
|
3378
|
-
let s =
|
|
3436
|
+
let s = sa(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3379
3437
|
if (!c || c.count === 0) return;
|
|
3380
3438
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3381
3439
|
}
|
|
@@ -3390,7 +3448,7 @@ var Qi = class {
|
|
|
3390
3448
|
if (!this.ensureExtrema(n)) return;
|
|
3391
3449
|
let r = e, i = e;
|
|
3392
3450
|
for (let n = e; n < t;) {
|
|
3393
|
-
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;
|
|
3394
3452
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3395
3453
|
}
|
|
3396
3454
|
return {
|
|
@@ -3403,7 +3461,7 @@ var Qi = class {
|
|
|
3403
3461
|
if (!this.ensureSum(n)) return;
|
|
3404
3462
|
let r = 0, i = 0, a = 0;
|
|
3405
3463
|
for (let n = e; n < t;) {
|
|
3406
|
-
let e =
|
|
3464
|
+
let e = ua(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3407
3465
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3408
3466
|
else {
|
|
3409
3467
|
let e = this.points[n];
|
|
@@ -3424,7 +3482,7 @@ var Qi = class {
|
|
|
3424
3482
|
minimumIndexes: new Uint32Array(e),
|
|
3425
3483
|
maximumIndexes: new Uint32Array(e)
|
|
3426
3484
|
};
|
|
3427
|
-
if (!this.reserve(
|
|
3485
|
+
if (!this.reserve(la(n))) return !1;
|
|
3428
3486
|
let r = this.extremaLayers[t - 1];
|
|
3429
3487
|
for (let t = 0; t < e; t += 1) {
|
|
3430
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;
|
|
@@ -3442,7 +3500,7 @@ var Qi = class {
|
|
|
3442
3500
|
y: new Float64Array(e),
|
|
3443
3501
|
count: new Uint32Array(e)
|
|
3444
3502
|
};
|
|
3445
|
-
if (!this.reserve(
|
|
3503
|
+
if (!this.reserve(la(n))) return !1;
|
|
3446
3504
|
let r = this.sumLayers[t - 1];
|
|
3447
3505
|
for (let t = 0; t < e; t += 1) {
|
|
3448
3506
|
let e = t * 2, i = e + 1;
|
|
@@ -3467,8 +3525,8 @@ var Qi = class {
|
|
|
3467
3525
|
let n = this.points[e], r = this.points[t];
|
|
3468
3526
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3469
3527
|
}
|
|
3470
|
-
},
|
|
3471
|
-
function
|
|
3528
|
+
}, fa = 1e3, pa = L((e) => e.x);
|
|
3529
|
+
function ma(e) {
|
|
3472
3530
|
let t = [], n = !0, r = -Infinity;
|
|
3473
3531
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3474
3532
|
x: i.x,
|
|
@@ -3479,7 +3537,7 @@ function ta(e) {
|
|
|
3479
3537
|
}));
|
|
3480
3538
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3481
3539
|
}
|
|
3482
|
-
function
|
|
3540
|
+
function ha(e, t) {
|
|
3483
3541
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3484
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);
|
|
3485
3543
|
return {
|
|
@@ -3489,7 +3547,7 @@ function na(e, t) {
|
|
|
3489
3547
|
yDomain: e.length ? [i, a] : null
|
|
3490
3548
|
};
|
|
3491
3549
|
}
|
|
3492
|
-
function
|
|
3550
|
+
function ga(e, t, n = e.length) {
|
|
3493
3551
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3494
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]);
|
|
3495
3553
|
return {
|
|
@@ -3499,39 +3557,39 @@ function ra(e, t, n = e.length) {
|
|
|
3499
3557
|
yDomain: e.length ? [a, o] : null
|
|
3500
3558
|
};
|
|
3501
3559
|
}
|
|
3502
|
-
function
|
|
3560
|
+
function _a(e, t) {
|
|
3503
3561
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3504
3562
|
}
|
|
3505
|
-
function
|
|
3563
|
+
function va(e) {
|
|
3506
3564
|
return e === "auto" ? "peak" : e;
|
|
3507
3565
|
}
|
|
3508
|
-
function
|
|
3566
|
+
function ya(e) {
|
|
3509
3567
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3510
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;
|
|
3511
3569
|
return Math.max(1, Math.floor(t * n));
|
|
3512
3570
|
}
|
|
3513
|
-
function
|
|
3571
|
+
function ba(e, t) {
|
|
3514
3572
|
if (e.mode === "raw") return !0;
|
|
3515
3573
|
if (e.mode !== "auto") return !1;
|
|
3516
|
-
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;
|
|
3517
3575
|
if (!e.previousSelectedMode) return t <= n;
|
|
3518
3576
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3519
3577
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3520
3578
|
}
|
|
3521
|
-
function
|
|
3579
|
+
function xa(e, t) {
|
|
3522
3580
|
let n = e[0], r = e.at(-1);
|
|
3523
|
-
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;
|
|
3524
3582
|
}
|
|
3525
|
-
function
|
|
3583
|
+
function Sa(e) {
|
|
3526
3584
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3527
3585
|
}
|
|
3528
|
-
function
|
|
3586
|
+
function Ca(e, t) {
|
|
3529
3587
|
return e.kind === "aggregates" ? e : {
|
|
3530
3588
|
kind: "source-indexes",
|
|
3531
3589
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3532
3590
|
};
|
|
3533
3591
|
}
|
|
3534
|
-
function
|
|
3592
|
+
function wa(e, t, n, r, i) {
|
|
3535
3593
|
return [
|
|
3536
3594
|
e.datasetId,
|
|
3537
3595
|
e.revision,
|
|
@@ -3551,14 +3609,14 @@ function da(e, t, n, r, i) {
|
|
|
3551
3609
|
e.errorBarMinSpacing ?? 0
|
|
3552
3610
|
].join("\0");
|
|
3553
3611
|
}
|
|
3554
|
-
function
|
|
3612
|
+
function Ta(e, t, n, r, i, a, o, s) {
|
|
3555
3613
|
return {
|
|
3556
3614
|
seriesId: e.seriesId,
|
|
3557
3615
|
datasetId: e.datasetId,
|
|
3558
3616
|
mode: e.mode,
|
|
3559
3617
|
selectedMode: i,
|
|
3560
3618
|
backend: r,
|
|
3561
|
-
strategy:
|
|
3619
|
+
strategy: va(e.strategy),
|
|
3562
3620
|
sourcePointCount: t,
|
|
3563
3621
|
visiblePointCount: n,
|
|
3564
3622
|
renderedPointCount: o,
|
|
@@ -3574,18 +3632,18 @@ function fa(e, t, n, r, i, a, o, s) {
|
|
|
3574
3632
|
}
|
|
3575
3633
|
//#endregion
|
|
3576
3634
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3577
|
-
function
|
|
3635
|
+
function Ea(e) {
|
|
3578
3636
|
return e?.y.length ?? 0;
|
|
3579
3637
|
}
|
|
3580
|
-
function
|
|
3638
|
+
function Da(e, t) {
|
|
3581
3639
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3582
3640
|
}
|
|
3583
|
-
function
|
|
3641
|
+
function Oa(e, t) {
|
|
3584
3642
|
let n = (t, n) => {
|
|
3585
|
-
let r = 0, i =
|
|
3643
|
+
let r = 0, i = Ea(e);
|
|
3586
3644
|
for (; r < i;) {
|
|
3587
3645
|
let a = r + Math.floor((i - r) / 2);
|
|
3588
|
-
(n ?
|
|
3646
|
+
(n ? Da(e, a) <= t : Da(e, a) < t) ? r = a + 1 : i = a;
|
|
3589
3647
|
}
|
|
3590
3648
|
return r;
|
|
3591
3649
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3594,13 +3652,13 @@ function ha(e, t) {
|
|
|
3594
3652
|
end: n(i, !0)
|
|
3595
3653
|
};
|
|
3596
3654
|
}
|
|
3597
|
-
function
|
|
3598
|
-
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));
|
|
3599
3657
|
}
|
|
3600
|
-
function
|
|
3658
|
+
function Aa(e) {
|
|
3601
3659
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3602
3660
|
}
|
|
3603
|
-
function
|
|
3661
|
+
function ja(e, t) {
|
|
3604
3662
|
let n = [], r = Math.min(e.length, t.length);
|
|
3605
3663
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3606
3664
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3608,14 +3666,14 @@ function va(e, t) {
|
|
|
3608
3666
|
y: Float64Array.from(n, (e) => t[e])
|
|
3609
3667
|
};
|
|
3610
3668
|
}
|
|
3611
|
-
function
|
|
3669
|
+
function Ma(e, t, n, r) {
|
|
3612
3670
|
if (t?.kind === "typed") {
|
|
3613
|
-
let e =
|
|
3671
|
+
let e = ja(t.x, t.y);
|
|
3614
3672
|
return {
|
|
3615
3673
|
x: e.x,
|
|
3616
3674
|
y: e.y,
|
|
3617
3675
|
revision: n,
|
|
3618
|
-
metrics:
|
|
3676
|
+
metrics: ga(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3619
3677
|
};
|
|
3620
3678
|
}
|
|
3621
3679
|
if (t?.kind === "samples") {
|
|
@@ -3649,35 +3707,35 @@ function ya(e, t, n, r) {
|
|
|
3649
3707
|
}
|
|
3650
3708
|
};
|
|
3651
3709
|
}
|
|
3652
|
-
let i =
|
|
3710
|
+
let i = ma(e ?? t?.points ?? []);
|
|
3653
3711
|
return {
|
|
3654
3712
|
x: Float64Array.from(i, (e) => e.x),
|
|
3655
3713
|
y: Float64Array.from(i, (e) => e.y),
|
|
3656
3714
|
points: i,
|
|
3657
3715
|
revision: n,
|
|
3658
|
-
metrics:
|
|
3659
|
-
index: new
|
|
3716
|
+
metrics: ha(i, e?.length ?? t?.points.length ?? 0),
|
|
3717
|
+
index: new da(i, { maxBytes: r })
|
|
3660
3718
|
};
|
|
3661
3719
|
}
|
|
3662
|
-
function
|
|
3663
|
-
!
|
|
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));
|
|
3664
3722
|
}
|
|
3665
|
-
function
|
|
3666
|
-
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);
|
|
3667
3725
|
}
|
|
3668
3726
|
//#endregion
|
|
3669
3727
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3670
|
-
var
|
|
3671
|
-
function
|
|
3728
|
+
var Fa = 96, Ia = 16 * 1024 * 1024;
|
|
3729
|
+
function La(e) {
|
|
3672
3730
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3673
3731
|
}
|
|
3674
|
-
var
|
|
3732
|
+
var Ra = class {
|
|
3675
3733
|
entries = /* @__PURE__ */ new Map();
|
|
3676
3734
|
bytes = 0;
|
|
3677
3735
|
maxEntries;
|
|
3678
3736
|
maxBytes;
|
|
3679
3737
|
constructor(e = {}) {
|
|
3680
|
-
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;
|
|
3681
3739
|
}
|
|
3682
3740
|
get metrics() {
|
|
3683
3741
|
return {
|
|
@@ -3692,7 +3750,7 @@ var Ta = class {
|
|
|
3692
3750
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3693
3751
|
}
|
|
3694
3752
|
set(e, t) {
|
|
3695
|
-
let n =
|
|
3753
|
+
let n = La(t);
|
|
3696
3754
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3697
3755
|
let r = this.entries.get(e);
|
|
3698
3756
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3712,14 +3770,14 @@ var Ta = class {
|
|
|
3712
3770
|
clear() {
|
|
3713
3771
|
this.entries.clear(), this.bytes = 0;
|
|
3714
3772
|
}
|
|
3715
|
-
},
|
|
3773
|
+
}, za = class {
|
|
3716
3774
|
datasets = /* @__PURE__ */ new Map();
|
|
3717
3775
|
javascriptBackend;
|
|
3718
3776
|
cache;
|
|
3719
3777
|
indexMaxBytes;
|
|
3720
3778
|
wasmBackend;
|
|
3721
3779
|
constructor(e = {}) {
|
|
3722
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3780
|
+
this.javascriptBackend = e.javascriptBackend ?? ia, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Ra({
|
|
3723
3781
|
maxEntries: e.cacheMaxEntries,
|
|
3724
3782
|
maxBytes: e.cacheMaxBytes
|
|
3725
3783
|
});
|
|
@@ -3732,9 +3790,9 @@ var Ta = class {
|
|
|
3732
3790
|
};
|
|
3733
3791
|
}
|
|
3734
3792
|
setWasmBackend(e) {
|
|
3735
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3793
|
+
this.wasmBackend && this.wasmBackend !== e && Aa(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3736
3794
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3737
|
-
})), this.wasmBackend = e,
|
|
3795
|
+
})), this.wasmBackend = e, Aa(e) && this.datasets.forEach((t) => Na(e, t, this.indexMaxBytes));
|
|
3738
3796
|
}
|
|
3739
3797
|
handle(e) {
|
|
3740
3798
|
switch (e.type) {
|
|
@@ -3750,15 +3808,15 @@ var Ta = class {
|
|
|
3750
3808
|
register(e, t, n, r) {
|
|
3751
3809
|
let i = this.datasets.get(e);
|
|
3752
3810
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3753
|
-
let a =
|
|
3754
|
-
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");
|
|
3755
3813
|
}
|
|
3756
3814
|
replace(e, t, n, r, i) {
|
|
3757
|
-
let a = this.datasets.get(e), o =
|
|
3815
|
+
let a = this.datasets.get(e), o = _a(a, n);
|
|
3758
3816
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3759
|
-
|
|
3760
|
-
let s =
|
|
3761
|
-
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");
|
|
3762
3820
|
}
|
|
3763
3821
|
sample(e) {
|
|
3764
3822
|
return {
|
|
@@ -3768,28 +3826,28 @@ var Ta = class {
|
|
|
3768
3826
|
};
|
|
3769
3827
|
}
|
|
3770
3828
|
sampleSeries(e, t) {
|
|
3771
|
-
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);
|
|
3772
3830
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3773
|
-
let a =
|
|
3774
|
-
if (
|
|
3831
|
+
let a = Oa(r, t.xDomain), o = a.end - a.start;
|
|
3832
|
+
if (ba(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3775
3833
|
kind: "source-indexes",
|
|
3776
3834
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3777
3835
|
}, "raw", "raw", o, n, !1);
|
|
3778
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);
|
|
3779
3837
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3780
|
-
let u =
|
|
3838
|
+
let u = va(t.strategy), d = ya(t), f = wa(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3781
3839
|
if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
|
|
3782
|
-
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 &&
|
|
3783
|
-
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),
|
|
3784
3842
|
y: r.y.subarray(a.start, a.end),
|
|
3785
3843
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3786
3844
|
strategy: u,
|
|
3787
3845
|
targetPointCount: d
|
|
3788
3846
|
}), a.start);
|
|
3789
|
-
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);
|
|
3790
3848
|
}
|
|
3791
3849
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3792
|
-
let l =
|
|
3850
|
+
let l = Ta(t, Ea(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Sa(r), c);
|
|
3793
3851
|
return l.requestId = e, {
|
|
3794
3852
|
seriesId: t.seriesId,
|
|
3795
3853
|
datasetId: t.datasetId,
|
|
@@ -3800,7 +3858,7 @@ var Ta = class {
|
|
|
3800
3858
|
};
|
|
3801
3859
|
}
|
|
3802
3860
|
findNearest(e, t, n, r) {
|
|
3803
|
-
let i = this.datasets.get(e), a =
|
|
3861
|
+
let i = this.datasets.get(e), a = _a(i, n);
|
|
3804
3862
|
return a !== "ok" || !i ? {
|
|
3805
3863
|
type: "find-nearest-point-response",
|
|
3806
3864
|
requestId: t,
|
|
@@ -3813,12 +3871,12 @@ var Ta = class {
|
|
|
3813
3871
|
datasetId: e,
|
|
3814
3872
|
revision: n,
|
|
3815
3873
|
status: a,
|
|
3816
|
-
point: i.points ?
|
|
3817
|
-
let e =
|
|
3818
|
-
if (!
|
|
3819
|
-
let t = Math.min(
|
|
3820
|
-
return Number.isFinite(r) &&
|
|
3821
|
-
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),
|
|
3822
3880
|
y: i.y[a]
|
|
3823
3881
|
} : void 0;
|
|
3824
3882
|
})()
|
|
@@ -3826,15 +3884,15 @@ var Ta = class {
|
|
|
3826
3884
|
}
|
|
3827
3885
|
metrics(e, t, n) {
|
|
3828
3886
|
let r = this.datasets.get(e);
|
|
3829
|
-
return this.datasetResponse(t, e, r,
|
|
3887
|
+
return this.datasetResponse(t, e, r, _a(r, n));
|
|
3830
3888
|
}
|
|
3831
3889
|
dispose(e, t, n) {
|
|
3832
|
-
let r = this.datasets.get(e), i =
|
|
3833
|
-
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);
|
|
3834
3892
|
}
|
|
3835
3893
|
disposeAll(e) {
|
|
3836
3894
|
let t = [...this.datasets.keys()];
|
|
3837
|
-
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(), {
|
|
3838
3896
|
type: "dispose-all-response",
|
|
3839
3897
|
requestId: e,
|
|
3840
3898
|
disposedDatasetIds: t
|
|
@@ -3856,10 +3914,10 @@ var Ta = class {
|
|
|
3856
3914
|
};
|
|
3857
3915
|
//#endregion
|
|
3858
3916
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3859
|
-
function
|
|
3917
|
+
function Ba(e, t, n, r) {
|
|
3860
3918
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3861
3919
|
}
|
|
3862
|
-
function
|
|
3920
|
+
function Va() {
|
|
3863
3921
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3864
3922
|
scheduled: 0,
|
|
3865
3923
|
coalesced: 0,
|
|
@@ -3898,12 +3956,12 @@ function Oa() {
|
|
|
3898
3956
|
}
|
|
3899
3957
|
//#endregion
|
|
3900
3958
|
//#region src/components/core/workerSamplingClient.ts
|
|
3901
|
-
function
|
|
3959
|
+
function Ha(e) {
|
|
3902
3960
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3903
3961
|
}
|
|
3904
|
-
function
|
|
3962
|
+
function Ua() {
|
|
3905
3963
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3906
|
-
t ??= new
|
|
3964
|
+
t ??= new za();
|
|
3907
3965
|
for (let [e, n] of i) {
|
|
3908
3966
|
t.handle({
|
|
3909
3967
|
type: "register-dataset",
|
|
@@ -3939,7 +3997,7 @@ function Aa() {
|
|
|
3939
3997
|
let t = a();
|
|
3940
3998
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3941
3999
|
}, c = (r) => {
|
|
3942
|
-
t || (n =
|
|
4000
|
+
t || (n = Ha(r), e?.terminate(), e = void 0, s());
|
|
3943
4001
|
};
|
|
3944
4002
|
try {
|
|
3945
4003
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3976,20 +4034,20 @@ function Aa() {
|
|
|
3976
4034
|
}
|
|
3977
4035
|
};
|
|
3978
4036
|
}
|
|
3979
|
-
function
|
|
4037
|
+
function Wa(e) {
|
|
3980
4038
|
return e.type === "dataset-response";
|
|
3981
4039
|
}
|
|
3982
4040
|
//#endregion
|
|
3983
4041
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3984
|
-
var
|
|
3985
|
-
function
|
|
4042
|
+
var Ga = 120;
|
|
4043
|
+
function Ka(e, t) {
|
|
3986
4044
|
let n = e.output;
|
|
3987
4045
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3988
4046
|
x: e,
|
|
3989
4047
|
y: n.y[t]
|
|
3990
4048
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3991
4049
|
}
|
|
3992
|
-
function
|
|
4050
|
+
function qa(e, t) {
|
|
3993
4051
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3994
4052
|
return {
|
|
3995
4053
|
seriesId: n.seriesId,
|
|
@@ -4011,7 +4069,7 @@ function Pa(e, t) {
|
|
|
4011
4069
|
maxPendingRequestCount: 0
|
|
4012
4070
|
};
|
|
4013
4071
|
}
|
|
4014
|
-
function
|
|
4072
|
+
function Ja(e) {
|
|
4015
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));
|
|
4016
4074
|
if (i <= a) return t.pointsInRange(n, r);
|
|
4017
4075
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -4022,7 +4080,7 @@ function Fa(e) {
|
|
|
4022
4080
|
}
|
|
4023
4081
|
return o;
|
|
4024
4082
|
}
|
|
4025
|
-
function
|
|
4083
|
+
function Ya(e, t, n, r) {
|
|
4026
4084
|
return {
|
|
4027
4085
|
message: e,
|
|
4028
4086
|
mode: t,
|
|
@@ -4030,8 +4088,8 @@ function Ia(e, t, n, r) {
|
|
|
4030
4088
|
seriesIds: r
|
|
4031
4089
|
};
|
|
4032
4090
|
}
|
|
4033
|
-
function
|
|
4034
|
-
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(() => {
|
|
4035
4093
|
let t = e.renderingOptions.value.sampling;
|
|
4036
4094
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
4037
4095
|
let r = n.xScale.domain();
|
|
@@ -4096,13 +4154,13 @@ function La(e) {
|
|
|
4096
4154
|
revision: 0,
|
|
4097
4155
|
dataset: t.source.toWorkerDataset()
|
|
4098
4156
|
});
|
|
4099
|
-
!u.isCurrent(n) || !
|
|
4157
|
+
!u.isCurrent(n) || !Wa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
4100
4158
|
}));
|
|
4101
4159
|
}, x = async (t, n = !1) => {
|
|
4102
4160
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
4103
4161
|
if (o.forEach((e) => {
|
|
4104
|
-
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" &&
|
|
4105
|
-
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({
|
|
4106
4164
|
...e,
|
|
4107
4165
|
request: {
|
|
4108
4166
|
...e.request,
|
|
@@ -4114,7 +4172,7 @@ function La(e) {
|
|
|
4114
4172
|
e.linePointOverrides.value = c, v(d);
|
|
4115
4173
|
return;
|
|
4116
4174
|
}
|
|
4117
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4175
|
+
if (e.linePointOverrides.value = c, r ??= Ua(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
4118
4176
|
let f = l.map((e) => ({
|
|
4119
4177
|
...e.request,
|
|
4120
4178
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4129,22 +4187,22 @@ function La(e) {
|
|
|
4129
4187
|
p = e;
|
|
4130
4188
|
} catch (n) {
|
|
4131
4189
|
if (!u.isCurrent(t)) return;
|
|
4132
|
-
y(
|
|
4190
|
+
y(Ya(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4133
4191
|
return;
|
|
4134
4192
|
}
|
|
4135
4193
|
if (!u.isCurrent(t)) return;
|
|
4136
4194
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4137
4195
|
p.results.forEach((e) => {
|
|
4138
|
-
let t = h.get(e.seriesId), n = t ?
|
|
4139
|
-
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(
|
|
4140
|
-
}), 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);
|
|
4141
4199
|
};
|
|
4142
4200
|
return k(h, () => {
|
|
4143
4201
|
f && clearTimeout(f);
|
|
4144
4202
|
let t = p;
|
|
4145
4203
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4146
4204
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4147
|
-
},
|
|
4205
|
+
}, Ga));
|
|
4148
4206
|
}, { immediate: !0 }), k(e.preparedSeries, () => {
|
|
4149
4207
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4150
4208
|
}, { flush: "sync" }), _(() => {
|
|
@@ -4153,10 +4211,10 @@ function La(e) {
|
|
|
4153
4211
|
}
|
|
4154
4212
|
//#endregion
|
|
4155
4213
|
//#region src/components/core/useWaveformChartController.ts
|
|
4156
|
-
function
|
|
4214
|
+
function Za(e, t) {
|
|
4157
4215
|
e.value = t instanceof Element ? t : void 0;
|
|
4158
4216
|
}
|
|
4159
|
-
function
|
|
4217
|
+
function Qa(e, t) {
|
|
4160
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({
|
|
4161
4219
|
points: [],
|
|
4162
4220
|
trackIndex: null,
|
|
@@ -4166,13 +4224,13 @@ function za(e, t) {
|
|
|
4166
4224
|
x: 0,
|
|
4167
4225
|
y: 0
|
|
4168
4226
|
}
|
|
4169
|
-
}), _ = 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();
|
|
4170
4228
|
k([() => e.yDomain, () => e.yDomains], () => {
|
|
4171
4229
|
m.value = {}, h.value = {};
|
|
4172
4230
|
}, { deep: !0 });
|
|
4173
|
-
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, () => {
|
|
4174
4232
|
R(), I();
|
|
4175
|
-
}, () => L()), B =
|
|
4233
|
+
}, () => L()), B = Ji({
|
|
4176
4234
|
props: e,
|
|
4177
4235
|
observedWidth: o,
|
|
4178
4236
|
observedHeight: s,
|
|
@@ -4180,7 +4238,7 @@ function za(e, t) {
|
|
|
4180
4238
|
measuredTitleHeight: l,
|
|
4181
4239
|
internalHiddenSeriesIds: T,
|
|
4182
4240
|
paginationBandHeight: u
|
|
4183
|
-
}), { 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({
|
|
4184
4242
|
props: e,
|
|
4185
4243
|
preparedSeries: z,
|
|
4186
4244
|
currentPage: v,
|
|
@@ -4195,7 +4253,7 @@ function za(e, t) {
|
|
|
4195
4253
|
annotationInteraction: d(D),
|
|
4196
4254
|
linePointOverrides: O
|
|
4197
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;
|
|
4198
|
-
|
|
4256
|
+
Xa({
|
|
4199
4257
|
props: e,
|
|
4200
4258
|
emit: t,
|
|
4201
4259
|
instanceId: S,
|
|
@@ -4206,7 +4264,7 @@ function za(e, t) {
|
|
|
4206
4264
|
}), A(() => {
|
|
4207
4265
|
u.value = le.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
|
|
4208
4266
|
});
|
|
4209
|
-
let Se =
|
|
4267
|
+
let Se = ni({
|
|
4210
4268
|
props: e,
|
|
4211
4269
|
emit: t,
|
|
4212
4270
|
svgElement: r,
|
|
@@ -4225,7 +4283,7 @@ function za(e, t) {
|
|
|
4225
4283
|
cancelPendingHover: () => we.cancelPendingHover()
|
|
4226
4284
|
});
|
|
4227
4285
|
R = Se.prepareForDataChange;
|
|
4228
|
-
let Ce =
|
|
4286
|
+
let Ce = jr({
|
|
4229
4287
|
props: e,
|
|
4230
4288
|
emit: t,
|
|
4231
4289
|
container: n,
|
|
@@ -4245,7 +4303,7 @@ function za(e, t) {
|
|
|
4245
4303
|
chartTopMargin: K,
|
|
4246
4304
|
activeInteractionMode: he,
|
|
4247
4305
|
isPresentationMode: W
|
|
4248
|
-
}), X =
|
|
4306
|
+
}), X = ei({
|
|
4249
4307
|
props: e,
|
|
4250
4308
|
emit: t,
|
|
4251
4309
|
selection: N,
|
|
@@ -4270,7 +4328,7 @@ function za(e, t) {
|
|
|
4270
4328
|
cancelPendingZoom: Se.cancelPendingZoom,
|
|
4271
4329
|
clearHover: () => we.clearHover(),
|
|
4272
4330
|
resolveTrackAtPointer: Ce.resolveTrackAtPointer
|
|
4273
|
-
}), we =
|
|
4331
|
+
}), we = Mr({
|
|
4274
4332
|
emit: t,
|
|
4275
4333
|
hoverState: g,
|
|
4276
4334
|
suppressHoverUntilMove: _,
|
|
@@ -4285,7 +4343,7 @@ function za(e, t) {
|
|
|
4285
4343
|
isPresentationMode: W,
|
|
4286
4344
|
updateViewportDrag: X.updateViewportDrag,
|
|
4287
4345
|
resolveTrackAtPointer: Ce.resolveTrackAtPointer
|
|
4288
|
-
}), Te =
|
|
4346
|
+
}), Te = ii({
|
|
4289
4347
|
props: e,
|
|
4290
4348
|
emit: t,
|
|
4291
4349
|
container: n,
|
|
@@ -4348,34 +4406,34 @@ function za(e, t) {
|
|
|
4348
4406
|
editorSeriesOptions: j,
|
|
4349
4407
|
clipPathId: S,
|
|
4350
4408
|
goToPage: Te.goToPage,
|
|
4351
|
-
setContainer: (e) =>
|
|
4352
|
-
setSvgElement: (e) =>
|
|
4353
|
-
setTitleMeasureElement: (e) =>
|
|
4354
|
-
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)
|
|
4355
4413
|
});
|
|
4356
4414
|
}
|
|
4357
4415
|
//#endregion
|
|
4358
4416
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4359
|
-
var
|
|
4417
|
+
var $a = ["id"], eo = { class: "waveform-annotation-editor__content" }, to = {
|
|
4360
4418
|
class: "waveform-annotation-editor__coordinates",
|
|
4361
4419
|
"aria-label": "标注坐标"
|
|
4362
|
-
},
|
|
4420
|
+
}, no = ["aria-invalid"], ro = {
|
|
4363
4421
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4364
4422
|
"aria-hidden": "true"
|
|
4365
|
-
},
|
|
4423
|
+
}, io = ["id"], ao = {
|
|
4366
4424
|
key: 0,
|
|
4367
4425
|
class: "waveform-annotation-editor__series",
|
|
4368
4426
|
"aria-label": "标注所属波形"
|
|
4369
|
-
},
|
|
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 = {
|
|
4370
4428
|
class: "waveform-annotation-editor__color-field",
|
|
4371
4429
|
title: "调整标注边框色和透明度"
|
|
4372
|
-
},
|
|
4430
|
+
}, go = {
|
|
4373
4431
|
class: "waveform-annotation-editor__color-field",
|
|
4374
4432
|
title: "调整标注文字色和透明度"
|
|
4375
|
-
},
|
|
4433
|
+
}, _o = {
|
|
4376
4434
|
class: "waveform-annotation-editor__color-field",
|
|
4377
4435
|
title: "调整标注背景色和透明度"
|
|
4378
|
-
},
|
|
4436
|
+
}, vo = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4379
4437
|
__name: "WaveformAnnotationEditor",
|
|
4380
4438
|
props: {
|
|
4381
4439
|
annotation: {},
|
|
@@ -4446,9 +4504,9 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4446
4504
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4447
4505
|
onOk: B
|
|
4448
4506
|
}, {
|
|
4449
|
-
title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
4450
|
-
default: j(() => [a("div",
|
|
4451
|
-
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, [
|
|
4452
4510
|
a("label", {
|
|
4453
4511
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4454
4512
|
"aria-invalid": !!N.value
|
|
@@ -4471,26 +4529,26 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4471
4529
|
"aria-invalid",
|
|
4472
4530
|
"aria-describedby"
|
|
4473
4531
|
]),
|
|
4474
|
-
a("code",
|
|
4475
|
-
], 8,
|
|
4532
|
+
a("code", ro, T(v.value), 1)
|
|
4533
|
+
], 8, no),
|
|
4476
4534
|
N.value ? (y(), i("p", {
|
|
4477
4535
|
key: 0,
|
|
4478
4536
|
id: `${D(g)}-time-error`,
|
|
4479
4537
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4480
4538
|
role: "alert"
|
|
4481
|
-
}, T(N.value), 9,
|
|
4539
|
+
}, T(N.value), 9, io)) : r("", !0),
|
|
4482
4540
|
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(At)(d.annotation.y)), 1)])
|
|
4483
4541
|
]),
|
|
4484
4542
|
o[13] ||= a("p", {
|
|
4485
4543
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4486
4544
|
role: "note"
|
|
4487
4545
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4488
|
-
I.value ? (y(), i("label",
|
|
4546
|
+
I.value ? (y(), i("label", ao, [
|
|
4489
4547
|
a("i", {
|
|
4490
4548
|
style: m({ backgroundColor: I.value.color }),
|
|
4491
4549
|
"aria-hidden": "true"
|
|
4492
4550
|
}, null, 4),
|
|
4493
|
-
a("span",
|
|
4551
|
+
a("span", oo, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
|
|
4494
4552
|
d.seriesOptions?.length ? (y(), i("select", {
|
|
4495
4553
|
key: 0,
|
|
4496
4554
|
value: d.annotation.seriesId,
|
|
@@ -4499,9 +4557,9 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4499
4557
|
}, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
|
|
4500
4558
|
key: e.seriesId,
|
|
4501
4559
|
value: e.seriesId
|
|
4502
|
-
}, 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)
|
|
4503
4561
|
])) : r("", !0),
|
|
4504
|
-
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", {
|
|
4505
4563
|
ref_key: "textarea",
|
|
4506
4564
|
ref: h,
|
|
4507
4565
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
@@ -4510,10 +4568,10 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4510
4568
|
"aria-label": "标注文本",
|
|
4511
4569
|
placeholder: "输入这处波形的说明",
|
|
4512
4570
|
onKeydown: V
|
|
4513
|
-
}, null, 40,
|
|
4514
|
-
a("fieldset",
|
|
4571
|
+
}, null, 40, po), [[O, _.value]])]),
|
|
4572
|
+
a("fieldset", mo, [
|
|
4515
4573
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4516
|
-
a("label",
|
|
4574
|
+
a("label", ho, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
|
|
4517
4575
|
"pure-color": C.value,
|
|
4518
4576
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4519
4577
|
"aria-label": "标注边框色",
|
|
@@ -4523,7 +4581,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4523
4581
|
"disable-alpha": !1,
|
|
4524
4582
|
"blur-close": !0
|
|
4525
4583
|
}, null, 8, ["pure-color"])]),
|
|
4526
|
-
a("label",
|
|
4584
|
+
a("label", go, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
|
|
4527
4585
|
"pure-color": w.value,
|
|
4528
4586
|
"onUpdate:pureColor": o[2] ||= (e) => w.value = e,
|
|
4529
4587
|
"aria-label": "标注文字色",
|
|
@@ -4533,7 +4591,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4533
4591
|
"disable-alpha": !1,
|
|
4534
4592
|
"blur-close": !0
|
|
4535
4593
|
}, null, 8, ["pure-color"])]),
|
|
4536
|
-
a("label",
|
|
4594
|
+
a("label", _o, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
|
|
4537
4595
|
"pure-color": E.value,
|
|
4538
4596
|
"onUpdate:pureColor": o[3] ||= (e) => E.value = e,
|
|
4539
4597
|
"aria-label": "标注背景色",
|
|
@@ -4548,13 +4606,13 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4548
4606
|
_: 1
|
|
4549
4607
|
}, 8, ["ok-button-props"]));
|
|
4550
4608
|
}
|
|
4551
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4609
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), yo = { class: "waveform-tooltip__series-content" }, bo = { class: "waveform-tooltip__series-label" }, xo = {
|
|
4552
4610
|
key: 0,
|
|
4553
4611
|
class: "waveform-tooltip__value"
|
|
4554
|
-
},
|
|
4612
|
+
}, So = {
|
|
4555
4613
|
key: 1,
|
|
4556
4614
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4557
|
-
},
|
|
4615
|
+
}, Co = 12, wo = 8, To = 560, Eo = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4558
4616
|
__name: "WaveformTooltip",
|
|
4559
4617
|
props: {
|
|
4560
4618
|
visible: { type: Boolean },
|
|
@@ -4584,12 +4642,12 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4584
4642
|
}, { flush: "post" }), v(u);
|
|
4585
4643
|
let d = t(() => {
|
|
4586
4644
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4587
|
-
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));
|
|
4588
4646
|
return {
|
|
4589
|
-
...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` },
|
|
4590
4648
|
maxWidth: `${n}px`,
|
|
4591
4649
|
visibility: l.value.width > 0 ? "visible" : "hidden",
|
|
4592
|
-
top: `${Math.max(
|
|
4650
|
+
top: `${Math.max(wo, Math.min(s.position.y - 18, s.containerHeight - l.value.height - wo))}px`
|
|
4593
4651
|
};
|
|
4594
4652
|
});
|
|
4595
4653
|
return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
|
|
@@ -4601,9 +4659,9 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4601
4659
|
}, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
|
|
4602
4660
|
key: `${t.trackIndex}-${t.name}`,
|
|
4603
4661
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4604
|
-
}, [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);
|
|
4605
4663
|
}
|
|
4606
|
-
}), [["__scopeId", "data-v-0d0d1d3c"]]),
|
|
4664
|
+
}), [["__scopeId", "data-v-0d0d1d3c"]]), Do = /* @__PURE__ */ l({
|
|
4607
4665
|
__name: "WaveformHoverHost",
|
|
4608
4666
|
props: {
|
|
4609
4667
|
state: {},
|
|
@@ -4614,7 +4672,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4614
4672
|
},
|
|
4615
4673
|
setup(e) {
|
|
4616
4674
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4617
|
-
return (t, r) => (y(), n(
|
|
4675
|
+
return (t, r) => (y(), n(Eo, {
|
|
4618
4676
|
visible: e.visible && i.value !== null,
|
|
4619
4677
|
position: e.state.position,
|
|
4620
4678
|
"time-unit": e.timeUnit,
|
|
@@ -4632,16 +4690,16 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4632
4690
|
"container-height"
|
|
4633
4691
|
]));
|
|
4634
4692
|
}
|
|
4635
|
-
}),
|
|
4693
|
+
}), Oo = 13, ko = 2, Ao = 14, jo = 8, Mo = 24, No = {
|
|
4636
4694
|
circle: te,
|
|
4637
4695
|
square: re,
|
|
4638
4696
|
triangle: K,
|
|
4639
4697
|
diamond: ne
|
|
4640
4698
|
};
|
|
4641
|
-
function
|
|
4642
|
-
return e === "none" ? null : ee().type(
|
|
4699
|
+
function Po(e, t = 48) {
|
|
4700
|
+
return e === "none" ? null : ee().type(No[e]).size(t)() ?? null;
|
|
4643
4701
|
}
|
|
4644
|
-
function
|
|
4702
|
+
function Fo(e, t, n = 48) {
|
|
4645
4703
|
if (e === "none" || t.length === 0) return null;
|
|
4646
4704
|
if (e === "circle") {
|
|
4647
4705
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4658,24 +4716,24 @@ function So(e, t, n = 48) {
|
|
|
4658
4716
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4659
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("");
|
|
4660
4718
|
}
|
|
4661
|
-
function
|
|
4719
|
+
function Io(e) {
|
|
4662
4720
|
return e === "none" ? null : "M1 8H25";
|
|
4663
4721
|
}
|
|
4664
|
-
function
|
|
4722
|
+
function Lo(e) {
|
|
4665
4723
|
if (e === "dashed") return "8 5";
|
|
4666
4724
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4667
4725
|
}
|
|
4668
|
-
function
|
|
4669
|
-
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;
|
|
4670
4728
|
return [
|
|
4671
|
-
`M${n} ${
|
|
4672
|
-
`M${
|
|
4673
|
-
`M${n} ${
|
|
4729
|
+
`M${n} ${ko}H${r}`,
|
|
4730
|
+
`M${Oo} ${ko}V${Ao}`,
|
|
4731
|
+
`M${n} ${Ao}H${r}`
|
|
4674
4732
|
].join("");
|
|
4675
4733
|
}
|
|
4676
4734
|
//#endregion
|
|
4677
4735
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4678
|
-
var
|
|
4736
|
+
var zo = ["clip-path"], Bo = ["data-series-id", "data-series-name"], Vo = [
|
|
4679
4737
|
"data-series-id",
|
|
4680
4738
|
"data-series-name",
|
|
4681
4739
|
"data-y-axis-index",
|
|
@@ -4684,11 +4742,11 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4684
4742
|
"d",
|
|
4685
4743
|
"stroke",
|
|
4686
4744
|
"stroke-dasharray"
|
|
4687
|
-
],
|
|
4745
|
+
], Ho = ["data-series-id"], Uo = [
|
|
4688
4746
|
"d",
|
|
4689
4747
|
"stroke",
|
|
4690
4748
|
"stroke-width"
|
|
4691
|
-
],
|
|
4749
|
+
], Wo = ["data-series-id", "data-point-type"], Go = ["d", "fill"], Ko = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4692
4750
|
__name: "WaveformSeriesLayer",
|
|
4693
4751
|
props: {
|
|
4694
4752
|
track: {},
|
|
@@ -4696,7 +4754,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4696
4754
|
},
|
|
4697
4755
|
setup(n) {
|
|
4698
4756
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4699
|
-
let t =
|
|
4757
|
+
let t = Fo(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4700
4758
|
x: a.track.xScale(t.x),
|
|
4701
4759
|
y: e.yScale(t.y)
|
|
4702
4760
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
@@ -4733,8 +4791,8 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4733
4791
|
"data-line-style": e.series.lineStyle,
|
|
4734
4792
|
d: e.path,
|
|
4735
4793
|
stroke: e.series.color,
|
|
4736
|
-
"stroke-dasharray": D(
|
|
4737
|
-
}, null, 8,
|
|
4794
|
+
"stroke-dasharray": D(Lo)(e.series.lineStyle)
|
|
4795
|
+
}, null, 8, Vo)) : r("", !0),
|
|
4738
4796
|
e.series.errorBar.visible ? (y(), i("g", {
|
|
4739
4797
|
key: 1,
|
|
4740
4798
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -4745,7 +4803,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4745
4803
|
d: e.errorBarPath,
|
|
4746
4804
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4747
4805
|
"stroke-width": e.series.errorBar.width
|
|
4748
|
-
}, null, 8,
|
|
4806
|
+
}, null, 8, Uo)) : r("", !0)], 8, Ho)) : r("", !0),
|
|
4749
4807
|
e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
|
|
4750
4808
|
key: 2,
|
|
4751
4809
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -4756,28 +4814,72 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4756
4814
|
class: "waveform-track__point waveform-chart__point",
|
|
4757
4815
|
d: e.pointPath,
|
|
4758
4816
|
fill: e.series.color
|
|
4759
|
-
}, null, 8,
|
|
4760
|
-
], 8,
|
|
4817
|
+
}, null, 8, Go)) : r("", !0)], 8, Wo))
|
|
4818
|
+
], 8, Bo))), 128))], 8, zo)) : r("", !0);
|
|
4761
4819
|
}
|
|
4762
|
-
}), [["__scopeId", "data-v-628502df"]]),
|
|
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 = {
|
|
4763
4865
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4764
4866
|
x: "0",
|
|
4765
4867
|
y: "7",
|
|
4766
4868
|
dy: "0.71em",
|
|
4767
4869
|
"text-anchor": "start"
|
|
4768
|
-
},
|
|
4870
|
+
}, $o = ["x"], es = [
|
|
4769
4871
|
"data-y-axis-index",
|
|
4770
4872
|
"data-y-axis-side",
|
|
4771
4873
|
"transform"
|
|
4772
|
-
],
|
|
4874
|
+
], ts = { key: 2 }, ns = [
|
|
4773
4875
|
"x",
|
|
4774
4876
|
"y",
|
|
4775
4877
|
"width"
|
|
4776
|
-
],
|
|
4878
|
+
], rs = ["fill", "transform"], is = ["data-y-axis-title-index"], as = [
|
|
4777
4879
|
"x",
|
|
4778
4880
|
"y",
|
|
4779
4881
|
"width"
|
|
4780
|
-
],
|
|
4882
|
+
], os = ["fill", "transform"], ss = /* @__PURE__ */ l({
|
|
4781
4883
|
__name: "WaveformTrackAxes",
|
|
4782
4884
|
props: {
|
|
4783
4885
|
track: {},
|
|
@@ -4806,13 +4908,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4806
4908
|
if (n.track.yAxes.forEach((e, t) => {
|
|
4807
4909
|
let r = s.value[t];
|
|
4808
4910
|
if (!r) return;
|
|
4809
|
-
let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) =>
|
|
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);
|
|
4810
4912
|
o.call(a);
|
|
4811
4913
|
let c = Math.min(...e.tickValues);
|
|
4812
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);
|
|
4813
4915
|
}), !o.value) return;
|
|
4814
4916
|
let e = G(o.value);
|
|
4815
|
-
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);
|
|
4816
4918
|
}
|
|
4817
4919
|
return g(async () => {
|
|
4818
4920
|
await f(), m();
|
|
@@ -4834,7 +4936,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4834
4936
|
ref: o,
|
|
4835
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 }]),
|
|
4836
4938
|
transform: `translate(0, ${t.track.height})`
|
|
4837
|
-
}, null, 10,
|
|
4939
|
+
}, null, 10, Xo)) : r("", !0),
|
|
4838
4940
|
t.track.showXAxis ? (y(), i("g", {
|
|
4839
4941
|
key: 1,
|
|
4840
4942
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -4842,13 +4944,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4842
4944
|
"font-family": "sans-serif",
|
|
4843
4945
|
"font-size": "10",
|
|
4844
4946
|
"aria-hidden": "true"
|
|
4845
|
-
}, [a("text",
|
|
4947
|
+
}, [a("text", Qo, T(t.track.endpointLabels.start), 1), a("text", {
|
|
4846
4948
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4847
4949
|
x: t.track.width ?? t.innerWidth,
|
|
4848
4950
|
y: "7",
|
|
4849
4951
|
dy: "0.71em",
|
|
4850
4952
|
"text-anchor": "end"
|
|
4851
|
-
}, T(t.track.endpointLabels.end), 9,
|
|
4953
|
+
}, T(t.track.endpointLabels.end), 9, $o)], 8, Zo)) : r("", !0),
|
|
4852
4954
|
(y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
|
|
4853
4955
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4854
4956
|
ref_for: !0,
|
|
@@ -4857,21 +4959,21 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4857
4959
|
"data-y-axis-index": e.index,
|
|
4858
4960
|
"data-y-axis-side": e.side,
|
|
4859
4961
|
transform: `translate(${e.x}, 0)`
|
|
4860
|
-
}, null, 10,
|
|
4861
|
-
!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", {
|
|
4862
4964
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4863
4965
|
x: t.track.yAxes[0].labelX - D(20) / 2,
|
|
4864
4966
|
y: t.track.height / 2 - 40,
|
|
4865
4967
|
width: D(20),
|
|
4866
4968
|
height: "80",
|
|
4867
4969
|
rx: "2"
|
|
4868
|
-
}, null, 8,
|
|
4970
|
+
}, null, 8, ns), a("text", {
|
|
4869
4971
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4870
4972
|
fill: t.track.series?.color,
|
|
4871
4973
|
transform: `translate(${t.track.yAxes[0].labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4872
4974
|
"text-anchor": "middle",
|
|
4873
4975
|
"dominant-baseline": "central"
|
|
4874
|
-
}, T(t.track.series ? c(t.track.series) : ""), 9,
|
|
4976
|
+
}, T(t.track.series ? c(t.track.series) : ""), 9, rs)])) : r("", !0),
|
|
4875
4977
|
(y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
|
|
4876
4978
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4877
4979
|
class: "waveform-track__multi-axis-title",
|
|
@@ -4883,48 +4985,40 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4883
4985
|
width: D(20),
|
|
4884
4986
|
height: "80",
|
|
4885
4987
|
rx: "2"
|
|
4886
|
-
}, null, 8,
|
|
4988
|
+
}, null, 8, as), a("text", {
|
|
4887
4989
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4888
4990
|
fill: e.seriesList[0].color,
|
|
4889
4991
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4890
4992
|
"text-anchor": "middle",
|
|
4891
4993
|
"dominant-baseline": "central"
|
|
4892
|
-
}, T(c(e.seriesList[0])), 9,
|
|
4994
|
+
}, T(c(e.seriesList[0])), 9, os)], 8, is))), 128))
|
|
4893
4995
|
], 64));
|
|
4894
4996
|
}
|
|
4895
|
-
}),
|
|
4997
|
+
}), cs = [
|
|
4896
4998
|
"width",
|
|
4897
4999
|
"height",
|
|
4898
5000
|
"fill"
|
|
4899
|
-
],
|
|
5001
|
+
], ls = ["clip-path"], us = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, ds = [
|
|
4900
5002
|
"stroke",
|
|
4901
5003
|
"x1",
|
|
4902
5004
|
"x2",
|
|
4903
5005
|
"y2"
|
|
4904
|
-
],
|
|
5006
|
+
], fs = [
|
|
4905
5007
|
"stroke",
|
|
4906
5008
|
"x2",
|
|
4907
5009
|
"y1",
|
|
4908
5010
|
"y2"
|
|
4909
|
-
],
|
|
5011
|
+
], ps = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, ms = [
|
|
4910
5012
|
"stroke",
|
|
4911
5013
|
"x1",
|
|
4912
5014
|
"x2",
|
|
4913
5015
|
"y2"
|
|
4914
|
-
],
|
|
5016
|
+
], hs = [
|
|
4915
5017
|
"stroke",
|
|
4916
5018
|
"x2",
|
|
4917
5019
|
"y1",
|
|
4918
5020
|
"y2"
|
|
4919
|
-
],
|
|
4920
|
-
"data-y-axis-index",
|
|
4921
|
-
"x2",
|
|
4922
|
-
"y1",
|
|
4923
|
-
"y2",
|
|
4924
|
-
"stroke",
|
|
4925
|
-
"stroke-width",
|
|
4926
|
-
"stroke-dasharray"
|
|
4927
|
-
], ns = ["x", "y"], rs = /* @__PURE__ */ l({
|
|
5021
|
+
], gs = ["x", "y"], _s = /* @__PURE__ */ l({
|
|
4928
5022
|
__name: "WaveformTrackBackdrop",
|
|
4929
5023
|
props: {
|
|
4930
5024
|
track: {},
|
|
@@ -4932,16 +5026,10 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4932
5026
|
innerWidth: {},
|
|
4933
5027
|
cleanView: { type: Boolean },
|
|
4934
5028
|
frameNumber: {},
|
|
4935
|
-
frameStyle: {}
|
|
4936
|
-
zeroLine: {}
|
|
5029
|
+
frameStyle: {}
|
|
4937
5030
|
},
|
|
4938
5031
|
setup(t) {
|
|
4939
|
-
|
|
4940
|
-
function o(e) {
|
|
4941
|
-
let [t, r] = e.scale.domain();
|
|
4942
|
-
return !n.zeroLine.visible || t > 0 || r < 0 ? null : e.scale(0);
|
|
4943
|
-
}
|
|
4944
|
-
return (n, s) => (y(), i(e, null, [
|
|
5032
|
+
return (n, o) => (y(), i(e, null, [
|
|
4945
5033
|
!t.track.isEmpty && !t.cleanView ? (y(), i("rect", {
|
|
4946
5034
|
key: 0,
|
|
4947
5035
|
class: "waveform-track__plot-background waveform-chart__plot-background",
|
|
@@ -4949,12 +5037,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4949
5037
|
height: t.track.height,
|
|
4950
5038
|
fill: t.frameStyle.backgroundColor,
|
|
4951
5039
|
"aria-hidden": "true"
|
|
4952
|
-
}, null, 8,
|
|
5040
|
+
}, null, 8, cs)) : r("", !0),
|
|
4953
5041
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
|
|
4954
5042
|
key: 1,
|
|
4955
5043
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4956
5044
|
"aria-hidden": "true"
|
|
4957
|
-
}, [a("g",
|
|
5045
|
+
}, [a("g", us, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
|
|
4958
5046
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4959
5047
|
"data-grid-direction": "vertical",
|
|
4960
5048
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4962,7 +5050,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4962
5050
|
x2: t.track.xScale(e),
|
|
4963
5051
|
y1: "0",
|
|
4964
5052
|
y2: t.track.height
|
|
4965
|
-
}, 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", {
|
|
4966
5054
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4967
5055
|
"data-grid-direction": "horizontal",
|
|
4968
5056
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4970,7 +5058,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4970
5058
|
x2: t.track.width ?? t.innerWidth,
|
|
4971
5059
|
y1: t.track.yScale(e),
|
|
4972
5060
|
y2: t.track.yScale(e)
|
|
4973
|
-
}, 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", {
|
|
4974
5062
|
key: `x-major-${t.track.index}-${e}`,
|
|
4975
5063
|
"data-grid-direction": "vertical",
|
|
4976
5064
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4978,7 +5066,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4978
5066
|
x2: t.track.xScale(e),
|
|
4979
5067
|
y1: "0",
|
|
4980
5068
|
y2: t.track.height
|
|
4981
|
-
}, 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", {
|
|
4982
5070
|
key: `y-major-${t.track.index}-${e}`,
|
|
4983
5071
|
"data-grid-direction": "horizontal",
|
|
4984
5072
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4986,26 +5074,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4986
5074
|
x2: t.track.width ?? t.innerWidth,
|
|
4987
5075
|
y1: t.track.yScale(e),
|
|
4988
5076
|
y2: t.track.yScale(e)
|
|
4989
|
-
}, null, 8,
|
|
4990
|
-
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
|
|
4991
|
-
key: 2,
|
|
4992
|
-
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
4993
|
-
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4994
|
-
"aria-hidden": "true"
|
|
4995
|
-
}, [(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", {
|
|
4996
|
-
key: 0,
|
|
4997
|
-
class: "waveform-track__zero-line waveform-chart__zero-line",
|
|
4998
|
-
"data-y-axis-index": n.index,
|
|
4999
|
-
x1: "0",
|
|
5000
|
-
x2: t.track.width ?? t.innerWidth,
|
|
5001
|
-
y1: o(n) ?? 0,
|
|
5002
|
-
y2: o(n) ?? 0,
|
|
5003
|
-
stroke: t.zeroLine.color,
|
|
5004
|
-
"stroke-width": t.zeroLine.width,
|
|
5005
|
-
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
5006
|
-
}, null, 8, ts))], 64))), 128))], 8, es)) : r("", !0),
|
|
5077
|
+
}, null, 8, hs))), 128)) : r("", !0)])], 8, ls)) : r("", !0),
|
|
5007
5078
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
|
|
5008
|
-
key:
|
|
5079
|
+
key: 2,
|
|
5009
5080
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
5010
5081
|
x: (t.track.width ?? t.innerWidth) / 2,
|
|
5011
5082
|
y: t.track.height / 2,
|
|
@@ -5013,10 +5084,10 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5013
5084
|
"text-anchor": "middle",
|
|
5014
5085
|
"dominant-baseline": "central",
|
|
5015
5086
|
"aria-hidden": "true"
|
|
5016
|
-
}, T(t.frameNumber), 13,
|
|
5087
|
+
}, T(t.frameNumber), 13, gs)) : r("", !0)
|
|
5017
5088
|
], 64));
|
|
5018
5089
|
}
|
|
5019
|
-
}),
|
|
5090
|
+
}), vs = [
|
|
5020
5091
|
"data-track-index",
|
|
5021
5092
|
"data-track-id",
|
|
5022
5093
|
"data-track-empty",
|
|
@@ -5026,19 +5097,19 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5026
5097
|
"data-track-top",
|
|
5027
5098
|
"data-track-height",
|
|
5028
5099
|
"transform"
|
|
5029
|
-
],
|
|
5100
|
+
], ys = [
|
|
5030
5101
|
"width",
|
|
5031
5102
|
"height",
|
|
5032
5103
|
"stroke",
|
|
5033
5104
|
"stroke-width",
|
|
5034
5105
|
"stroke-dasharray",
|
|
5035
5106
|
"stroke-linecap"
|
|
5036
|
-
],
|
|
5107
|
+
], bs = [
|
|
5037
5108
|
"data-interactive",
|
|
5038
5109
|
"data-independent-overlay-index",
|
|
5039
5110
|
"width",
|
|
5040
5111
|
"height"
|
|
5041
|
-
],
|
|
5112
|
+
], xs = ["x", "y"], Ss = /* @__PURE__ */ l({
|
|
5042
5113
|
__name: "WaveformTrack",
|
|
5043
5114
|
props: {
|
|
5044
5115
|
track: {},
|
|
@@ -5064,7 +5135,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5064
5135
|
visible: !0,
|
|
5065
5136
|
color: Gt.COLOR,
|
|
5066
5137
|
width: Gt.WIDTH,
|
|
5067
|
-
dash: Gt.DASH
|
|
5138
|
+
dash: Gt.DASH,
|
|
5139
|
+
opacity: Gt.OPACITY,
|
|
5140
|
+
boundaryThreshold: Gt.BOUNDARY_THRESHOLD
|
|
5068
5141
|
}) }
|
|
5069
5142
|
},
|
|
5070
5143
|
emits: [
|
|
@@ -5098,24 +5171,22 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5098
5171
|
"data-track-height": e.track.height,
|
|
5099
5172
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
5100
5173
|
}, [
|
|
5101
|
-
s(
|
|
5174
|
+
s(_s, {
|
|
5102
5175
|
track: e.track,
|
|
5103
5176
|
"clip-path-id": e.clipPathId,
|
|
5104
5177
|
"inner-width": e.innerWidth,
|
|
5105
5178
|
"clean-view": e.cleanView,
|
|
5106
5179
|
"frame-number": e.frameNumber,
|
|
5107
|
-
"frame-style": c.value
|
|
5108
|
-
"zero-line": e.zeroLine
|
|
5180
|
+
"frame-style": c.value
|
|
5109
5181
|
}, null, 8, [
|
|
5110
5182
|
"track",
|
|
5111
5183
|
"clip-path-id",
|
|
5112
5184
|
"inner-width",
|
|
5113
5185
|
"clean-view",
|
|
5114
5186
|
"frame-number",
|
|
5115
|
-
"frame-style"
|
|
5116
|
-
"zero-line"
|
|
5187
|
+
"frame-style"
|
|
5117
5188
|
]),
|
|
5118
|
-
s(
|
|
5189
|
+
s(ss, {
|
|
5119
5190
|
track: e.track,
|
|
5120
5191
|
"inner-width": e.innerWidth,
|
|
5121
5192
|
"clean-view": e.cleanView,
|
|
@@ -5141,11 +5212,24 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5141
5212
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5142
5213
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5143
5214
|
"aria-hidden": "true"
|
|
5144
|
-
}, null, 8,
|
|
5145
|
-
s(
|
|
5215
|
+
}, null, 8, ys)),
|
|
5216
|
+
s(Ko, {
|
|
5146
5217
|
track: e.track,
|
|
5147
5218
|
"clip-path-id": e.clipPathId
|
|
5148
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
|
+
]),
|
|
5149
5233
|
!e.track.isEmpty && e.track.hasVisibleSeries && e.displayMode === "independent" ? (y(), i("rect", {
|
|
5150
5234
|
key: 1,
|
|
5151
5235
|
class: p(["waveform-track__overlay waveform-track__overlay--independent waveform-chart__overlay waveform-chart__overlay--independent", {
|
|
@@ -5164,7 +5248,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5164
5248
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5165
5249
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5166
5250
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5167
|
-
}, null, 42,
|
|
5251
|
+
}, null, 42, bs)) : r("", !0),
|
|
5168
5252
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
|
|
5169
5253
|
key: 2,
|
|
5170
5254
|
class: "waveform-track__no-visible-series",
|
|
@@ -5172,33 +5256,33 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5172
5256
|
y: e.track.height / 2,
|
|
5173
5257
|
"text-anchor": "middle",
|
|
5174
5258
|
"dominant-baseline": "central"
|
|
5175
|
-
}, " 暂无可见曲线 ", 8,
|
|
5176
|
-
], 10,
|
|
5259
|
+
}, " 暂无可见曲线 ", 8, xs)) : r("", !0)
|
|
5260
|
+
], 10, vs));
|
|
5177
5261
|
}
|
|
5178
|
-
}),
|
|
5262
|
+
}), Cs = [
|
|
5179
5263
|
"width",
|
|
5180
5264
|
"height",
|
|
5181
5265
|
"data-position",
|
|
5182
5266
|
"data-orientation"
|
|
5183
|
-
],
|
|
5267
|
+
], ws = [
|
|
5184
5268
|
"disabled",
|
|
5185
5269
|
"aria-pressed",
|
|
5186
5270
|
"aria-label",
|
|
5187
5271
|
"onClick"
|
|
5188
|
-
],
|
|
5272
|
+
], Ts = [
|
|
5189
5273
|
"data-line-type",
|
|
5190
5274
|
"data-line-style",
|
|
5191
5275
|
"data-point-type",
|
|
5192
5276
|
"data-error-bar-visible"
|
|
5193
|
-
],
|
|
5277
|
+
], Es = [
|
|
5194
5278
|
"d",
|
|
5195
5279
|
"stroke",
|
|
5196
5280
|
"stroke-dasharray"
|
|
5197
|
-
],
|
|
5281
|
+
], Ds = [
|
|
5198
5282
|
"d",
|
|
5199
5283
|
"stroke",
|
|
5200
5284
|
"stroke-width"
|
|
5201
|
-
],
|
|
5285
|
+
], Os = ["d", "fill"], ks = ["title"], As = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
5202
5286
|
__name: "WaveformLegend",
|
|
5203
5287
|
props: {
|
|
5204
5288
|
series: {},
|
|
@@ -5256,45 +5340,45 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5256
5340
|
"data-point-type": e.pointType,
|
|
5257
5341
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5258
5342
|
}, [
|
|
5259
|
-
D(
|
|
5343
|
+
D(Io)(e.lineType) ? (y(), i("path", {
|
|
5260
5344
|
key: 0,
|
|
5261
5345
|
class: "waveform-legend__line",
|
|
5262
|
-
d: D(
|
|
5346
|
+
d: D(Io)(e.lineType) ?? void 0,
|
|
5263
5347
|
stroke: e.color,
|
|
5264
|
-
"stroke-dasharray": D(
|
|
5348
|
+
"stroke-dasharray": D(Lo)(e.lineStyle),
|
|
5265
5349
|
"stroke-width": "1",
|
|
5266
5350
|
fill: "none"
|
|
5267
|
-
}, null, 8,
|
|
5351
|
+
}, null, 8, Es)) : r("", !0),
|
|
5268
5352
|
e.errorBar.visible ? (y(), i("path", {
|
|
5269
5353
|
key: 1,
|
|
5270
5354
|
class: "waveform-legend__error-bar",
|
|
5271
|
-
d: D(
|
|
5355
|
+
d: D(Ro)(e.errorBar.capWidth),
|
|
5272
5356
|
stroke: e.errorBar.color || e.color,
|
|
5273
5357
|
"stroke-width": e.errorBar.width,
|
|
5274
5358
|
"stroke-linecap": "butt",
|
|
5275
5359
|
fill: "none"
|
|
5276
|
-
}, null, 8,
|
|
5360
|
+
}, null, 8, Ds)) : r("", !0),
|
|
5277
5361
|
e.pointType === "none" ? r("", !0) : (y(), i("path", {
|
|
5278
5362
|
key: 2,
|
|
5279
5363
|
class: "waveform-legend__point",
|
|
5280
|
-
d: D(
|
|
5364
|
+
d: D(Po)(e.pointType, 30) ?? void 0,
|
|
5281
5365
|
fill: e.color,
|
|
5282
5366
|
transform: "translate(13 8)"
|
|
5283
|
-
}, null, 8,
|
|
5284
|
-
], 8,
|
|
5367
|
+
}, null, 8, Os))
|
|
5368
|
+
], 8, Ts)), a("span", {
|
|
5285
5369
|
class: "waveform-legend__label",
|
|
5286
5370
|
title: e.name
|
|
5287
|
-
}, T(e.name), 9,
|
|
5371
|
+
}, T(e.name), 9, ks)], 10, ws))), 128))], 6)], 2)], 8, Cs));
|
|
5288
5372
|
}
|
|
5289
|
-
}), [["__scopeId", "data-v-3af7ebae"]]),
|
|
5373
|
+
}), [["__scopeId", "data-v-3af7ebae"]]), js = {
|
|
5290
5374
|
class: "waveform-chart__hover-layer",
|
|
5291
5375
|
"pointer-events": "none",
|
|
5292
5376
|
"aria-hidden": "true"
|
|
5293
|
-
},
|
|
5377
|
+
}, Ms = ["clip-path", "transform"], Ns = [
|
|
5294
5378
|
"x1",
|
|
5295
5379
|
"x2",
|
|
5296
5380
|
"y2"
|
|
5297
|
-
],
|
|
5381
|
+
], Ps = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
5298
5382
|
__name: "WaveformHoverLayer",
|
|
5299
5383
|
props: {
|
|
5300
5384
|
state: {},
|
|
@@ -5310,7 +5394,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5310
5394
|
x: e.xScale(n)
|
|
5311
5395
|
}] : [];
|
|
5312
5396
|
}));
|
|
5313
|
-
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", {
|
|
5314
5398
|
key: e.track.index,
|
|
5315
5399
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5316
5400
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5320,9 +5404,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5320
5404
|
x2: e.x,
|
|
5321
5405
|
y1: "0",
|
|
5322
5406
|
y2: e.track.height
|
|
5323
|
-
}, null, 8,
|
|
5407
|
+
}, null, 8, Ns)], 8, Ms))), 128))]));
|
|
5324
5408
|
}
|
|
5325
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5409
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), Fs = [
|
|
5326
5410
|
"data-display-mode",
|
|
5327
5411
|
"data-interaction-mode",
|
|
5328
5412
|
"data-presentation-mode",
|
|
@@ -5331,31 +5415,31 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5331
5415
|
"data-plot-margin-top",
|
|
5332
5416
|
"data-plot-margin-bottom",
|
|
5333
5417
|
"data-title-area-height"
|
|
5334
|
-
],
|
|
5418
|
+
], Is = [
|
|
5335
5419
|
"role",
|
|
5336
5420
|
"aria-level",
|
|
5337
5421
|
"aria-hidden"
|
|
5338
|
-
],
|
|
5422
|
+
], Ls = ["data-title-scale", "data-title-wrapped"], Rs = [
|
|
5339
5423
|
"width",
|
|
5340
5424
|
"height",
|
|
5341
5425
|
"aria-label"
|
|
5342
|
-
],
|
|
5426
|
+
], zs = ["id"], Bs = ["width", "height"], Vs = ["transform"], Hs = {
|
|
5343
5427
|
key: 0,
|
|
5344
5428
|
class: "waveform-chart__grid-slots",
|
|
5345
5429
|
"aria-hidden": "true"
|
|
5346
|
-
},
|
|
5430
|
+
}, Us = ["transform"], Ws = ["width", "height"], Gs = ["width", "height"], Ks = [
|
|
5347
5431
|
"x",
|
|
5348
5432
|
"y",
|
|
5349
5433
|
"width",
|
|
5350
5434
|
"height"
|
|
5351
|
-
],
|
|
5435
|
+
], qs = {
|
|
5352
5436
|
key: 4,
|
|
5353
5437
|
class: "waveform-chart__legend-layer"
|
|
5354
|
-
},
|
|
5438
|
+
}, Js = [
|
|
5355
5439
|
"data-legend-track-index",
|
|
5356
5440
|
"data-legend-track-id",
|
|
5357
5441
|
"transform"
|
|
5358
|
-
],
|
|
5442
|
+
], Ys = ["x", "y"], Xs = ["x", "y"], Zs = /* @__PURE__ */ l({
|
|
5359
5443
|
__name: "WaveformChartView",
|
|
5360
5444
|
props: { controller: {} },
|
|
5361
5445
|
setup(t) {
|
|
@@ -5408,7 +5492,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5408
5492
|
style: m(D(M)),
|
|
5409
5493
|
"data-title-scale": D(N).scale,
|
|
5410
5494
|
"data-title-wrapped": D(N).wrapped || void 0
|
|
5411
|
-
}, T(D(A)), 13,
|
|
5495
|
+
}, T(D(A)), 13, Ls)], 4)) : r("", !0)], 12, Is)) : r("", !0),
|
|
5412
5496
|
(y(), i("svg", {
|
|
5413
5497
|
ref: D(Xe),
|
|
5414
5498
|
class: "waveform-chart__svg",
|
|
@@ -5425,9 +5509,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5425
5509
|
}, [a("rect", {
|
|
5426
5510
|
width: e.width,
|
|
5427
5511
|
height: e.height
|
|
5428
|
-
}, null, 8,
|
|
5512
|
+
}, null, 8, Bs)], 8, zs))), 128))]),
|
|
5429
5513
|
a("g", { transform: `translate(${D(g)}, ${D(B)})` }, [
|
|
5430
|
-
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", {
|
|
5431
5515
|
key: `grid-slot-${e.slotIndex}`,
|
|
5432
5516
|
transform: `translate(${e.left}, ${e.top})`
|
|
5433
5517
|
}, [e.series ? r("", !0) : (y(), i("rect", {
|
|
@@ -5435,7 +5519,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5435
5519
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5436
5520
|
width: e.width,
|
|
5437
5521
|
height: e.cellHeight
|
|
5438
|
-
}, null, 8,
|
|
5522
|
+
}, null, 8, Ws))], 8, Us))), 128))])) : r("", !0),
|
|
5439
5523
|
D(o) !== "independent" && D(R).length && D(H) ? (y(), i("rect", {
|
|
5440
5524
|
key: 1,
|
|
5441
5525
|
ref: D(Qe),
|
|
@@ -5452,8 +5536,8 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5452
5536
|
onPointerleave: E[4] ||= (...e) => D(q) && D(q)(...e),
|
|
5453
5537
|
onClick: E[5] ||= (...e) => D(ie) && D(ie)(...e),
|
|
5454
5538
|
onContextmenu: E[6] ||= (...e) => D(J) && D(J)(...e)
|
|
5455
|
-
}, null, 42,
|
|
5456
|
-
(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), {
|
|
5457
5541
|
key: `${e.index}-${e.id}`,
|
|
5458
5542
|
track: e,
|
|
5459
5543
|
"clip-path-id": D(z),
|
|
@@ -5499,7 +5583,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5499
5583
|
"onClick",
|
|
5500
5584
|
"onContextmenu"
|
|
5501
5585
|
]))), 128)),
|
|
5502
|
-
s(D(
|
|
5586
|
+
s(D(Ps), {
|
|
5503
5587
|
state: D(pe),
|
|
5504
5588
|
tracks: D(R),
|
|
5505
5589
|
"clip-path-id": D(z),
|
|
@@ -5518,7 +5602,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5518
5602
|
width: D(he).width,
|
|
5519
5603
|
height: D(he).height,
|
|
5520
5604
|
"aria-hidden": "true"
|
|
5521
|
-
}, null, 8,
|
|
5605
|
+
}, null, 8, Ks)) : r("", !0),
|
|
5522
5606
|
D(l) ? r("", !0) : (y(), n(D(rt), {
|
|
5523
5607
|
key: 3,
|
|
5524
5608
|
annotations: D(ge),
|
|
@@ -5537,13 +5621,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5537
5621
|
"onMove",
|
|
5538
5622
|
"onDragEnd"
|
|
5539
5623
|
])),
|
|
5540
|
-
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", {
|
|
5541
5625
|
key: `legend-${e.index}-${e.id}`,
|
|
5542
5626
|
class: "waveform-chart__legend-track",
|
|
5543
5627
|
"data-legend-track-index": e.index,
|
|
5544
5628
|
"data-legend-track-id": e.id,
|
|
5545
5629
|
transform: `translate(${e.left}, ${e.top})`
|
|
5546
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(
|
|
5630
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(As), {
|
|
5547
5631
|
key: 0,
|
|
5548
5632
|
series: e.legendSeries,
|
|
5549
5633
|
position: D(Se)(e.id),
|
|
@@ -5564,23 +5648,23 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5564
5648
|
"width",
|
|
5565
5649
|
"height",
|
|
5566
5650
|
"onToggle"
|
|
5567
|
-
])) : r("", !0)], 8,
|
|
5568
|
-
], 8,
|
|
5651
|
+
])) : r("", !0)], 8, Js))), 128))]))
|
|
5652
|
+
], 8, Vs),
|
|
5569
5653
|
D(De) && !D(l) ? (y(), i("text", {
|
|
5570
5654
|
key: 0,
|
|
5571
5655
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5572
5656
|
x: D(g) + D(G) / 2,
|
|
5573
5657
|
y: D(Oe),
|
|
5574
5658
|
"text-anchor": "middle"
|
|
5575
|
-
}, T(D(De)), 9,
|
|
5659
|
+
}, T(D(De)), 9, Ys)) : r("", !0),
|
|
5576
5660
|
D(ke) && !D(I) ? (y(), i("text", {
|
|
5577
5661
|
key: 1,
|
|
5578
5662
|
class: "waveform-chart__empty",
|
|
5579
5663
|
x: D(P) / 2,
|
|
5580
5664
|
y: D(F) / 2,
|
|
5581
5665
|
"text-anchor": "middle"
|
|
5582
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5583
|
-
], 40,
|
|
5666
|
+
}, " 暂无有效波形数据 ", 8, Xs)) : r("", !0)
|
|
5667
|
+
], 40, Rs)),
|
|
5584
5668
|
D(Ae).showPagination && D(je) > 1 && !D(l) ? (y(), n(D(ce), {
|
|
5585
5669
|
key: 1,
|
|
5586
5670
|
class: "waveform-chart__pagination",
|
|
@@ -5597,7 +5681,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5597
5681
|
"total",
|
|
5598
5682
|
"onChange"
|
|
5599
5683
|
])) : r("", !0),
|
|
5600
|
-
D(Le) && !D(l) && !D(u) ? (y(), n(
|
|
5684
|
+
D(Le) && !D(l) && !D(u) ? (y(), n(vo, {
|
|
5601
5685
|
key: 2,
|
|
5602
5686
|
annotation: D(Le).annotation,
|
|
5603
5687
|
mode: D(Le).mode,
|
|
@@ -5639,7 +5723,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5639
5723
|
"onDelete",
|
|
5640
5724
|
"onClose"
|
|
5641
5725
|
])) : r("", !0),
|
|
5642
|
-
s(D(
|
|
5726
|
+
s(D(Do), {
|
|
5643
5727
|
state: D(pe),
|
|
5644
5728
|
visible: D(me) && !D(u),
|
|
5645
5729
|
"time-unit": D(ue),
|
|
@@ -5652,9 +5736,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5652
5736
|
"container-width",
|
|
5653
5737
|
"container-height"
|
|
5654
5738
|
])
|
|
5655
|
-
], 46,
|
|
5739
|
+
], 46, Fs));
|
|
5656
5740
|
}
|
|
5657
|
-
}),
|
|
5741
|
+
}), Qs = /* @__PURE__ */ l({
|
|
5658
5742
|
__name: "WaveformChart",
|
|
5659
5743
|
props: {
|
|
5660
5744
|
data: {},
|
|
@@ -5673,6 +5757,10 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5673
5757
|
type: Boolean,
|
|
5674
5758
|
default: !0
|
|
5675
5759
|
},
|
|
5760
|
+
integerZoom: {
|
|
5761
|
+
type: Boolean,
|
|
5762
|
+
default: !1
|
|
5763
|
+
},
|
|
5676
5764
|
pannable: {
|
|
5677
5765
|
type: Boolean,
|
|
5678
5766
|
default: !1
|
|
@@ -5738,12 +5826,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5738
5826
|
"sampling-error"
|
|
5739
5827
|
],
|
|
5740
5828
|
setup(e, { expose: t, emit: r }) {
|
|
5741
|
-
let i =
|
|
5829
|
+
let i = Qa(e, r);
|
|
5742
5830
|
return t({
|
|
5743
5831
|
resetViewport: i.resetViewport,
|
|
5744
5832
|
setViewportDomain: i.setViewportDomain
|
|
5745
|
-
}), (e, t) => (y(), n(
|
|
5833
|
+
}), (e, t) => (y(), n(Zs, { controller: D(i) }, null, 8, ["controller"]));
|
|
5746
5834
|
}
|
|
5747
5835
|
});
|
|
5748
5836
|
//#endregion
|
|
5749
|
-
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 };
|