waveform-analysis 0.1.63 → 0.1.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +21 -5
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +986 -964
  4. package/dist/style.css +1 -1
  5. package/dist/types/components/core/constants.d.ts +1 -1
  6. package/dist/types/components/core/trackLayoutBuilder.d.ts +1 -0
  7. package/dist/types/components/core/yAxisConstants.d.ts +1 -1
  8. package/dist/types/types/chart.d.ts +6 -1
  9. package/package.json +1 -1
  10. package/src/App.vue +2 -2
  11. package/src/components/WaveformChart.css +4 -0
  12. package/src/components/WaveformChart.vue +2 -2
  13. package/src/components/core/constants.ts +3 -3
  14. package/src/components/core/layout.ts +1 -1
  15. package/src/components/core/trackLayoutBuilder.ts +42 -1
  16. package/src/components/core/useWaveformLayout.ts +2 -1
  17. package/src/components/core/useWaveformPresentation.ts +1 -1
  18. package/src/components/core/xDomain.ts +26 -2
  19. package/src/components/core/yAxisConstants.ts +1 -1
  20. package/src/components/rendering/WaveformLegend.vue +1 -1
  21. package/src/components/rendering/WaveformSeriesLayer.vue +1 -1
  22. package/src/components/rendering/WaveformTrack.css +5 -2
  23. package/src/components/rendering/WaveformTrack.vue +7 -1
  24. package/src/components/rendering/WaveformTrackAxes.vue +8 -2
  25. package/src/demo/DemoChartHost.vue +1 -0
  26. package/src/types/chart.ts +6 -1
  27. package/src/App.test.ts +0 -400
  28. package/src/components/annotation/components.test.ts +0 -372
  29. package/src/components/annotation/markup.test.ts +0 -371
  30. package/src/components/annotation/serialization.test.ts +0 -114
  31. package/src/components/core/constants.test.ts +0 -29
  32. package/src/components/core/fixedYDomainLayout.test.ts +0 -204
  33. package/src/components/core/grid.test.ts +0 -197
  34. package/src/components/core/latestTaskScheduler.test.ts +0 -51
  35. package/src/components/core/layout.test.ts +0 -373
  36. package/src/components/core/title.test.ts +0 -76
  37. package/src/components/core/useWaveformData.test.ts +0 -95
  38. package/src/components/core/useWaveformRenderSampling.test.ts +0 -17
  39. package/src/components/core/xDomain.test.ts +0 -28
  40. package/src/components/core/yAxisNice.test.ts +0 -174
  41. package/src/components/core/yAxisSlotLayout.test.ts +0 -165
  42. package/src/components/core/yDomain.test.ts +0 -56
  43. package/src/components/interaction/WaveformTooltip.test.ts +0 -276
  44. package/src/components/interaction/viewportInteractionState.test.ts +0 -101
  45. package/src/components/utils/useAnimationFrameThrottle.test.ts +0 -53
  46. package/src/components/waveformChartCases/annotationEditingAndReprojection.test.ts +0 -257
  47. package/src/components/waveformChartCases/compactAndSharedHover.test.ts +0 -358
  48. package/src/components/waveformChartCases/dataAndHoverPerformance.test.ts +0 -358
  49. package/src/components/waveformChartCases/dataLifecycle.test.ts +0 -310
  50. package/src/components/waveformChartCases/frameGridAndFormatting.test.ts +0 -389
  51. package/src/components/waveformChartCases/gridFill.test.ts +0 -95
  52. package/src/components/waveformChartCases/incompleteDataHover.test.ts +0 -155
  53. package/src/components/waveformChartCases/interactionAndAnnotationCreation.test.ts +0 -328
  54. package/src/components/waveformChartCases/layoutAndDomains.test.ts +0 -371
  55. package/src/components/waveformChartCases/legendVisibility.test.ts +0 -350
  56. package/src/components/waveformChartCases/multiAxisAndPagination.test.ts +0 -400
  57. package/src/components/waveformChartCases/multiAxisLabelAlignment.test.ts +0 -61
  58. package/src/components/waveformChartCases/presentationAndAxes.test.ts +0 -345
  59. package/src/components/waveformChartCases/presentationMode.test.ts +0 -327
  60. package/src/components/waveformChartCases/renderingStyles.test.ts +0 -283
  61. package/src/components/waveformChartCases/sizingAndTitles.test.ts +0 -370
  62. package/src/components/waveformChartCases/trackOrder.test.ts +0 -323
  63. package/src/components/waveformChartCases/viewportBoxAndPan.test.ts +0 -365
  64. package/src/components/waveformChartCases/viewportConstraintsAndReset.test.ts +0 -311
  65. package/src/components/waveformChartCases/viewportLifecycle.test.ts +0 -132
  66. package/src/components/waveformChartCases/viewportReset.test.ts +0 -251
  67. package/src/components/waveformChartCases/wheelZoomOut.test.ts +0 -114
  68. package/src/components/waveformChartCases/workerSamplingIntegration.test.ts +0 -117
  69. package/src/components/waveformChartCases/xDomainStrategy.test.ts +0 -168
  70. package/src/components/waveformChartCases/yAxisLayout.test.ts +0 -103
  71. package/src/components/waveformChartCases/zoomIntentAndDataRebind.test.ts +0 -213
  72. package/src/components/waveformChartCases/zoomPointConstraints.test.ts +0 -308
  73. package/src/components/waveformLegendGeometry.test.ts +0 -21
  74. package/src/components/waveformNormalization.test.ts +0 -170
  75. package/src/core/data.test.ts +0 -241
  76. package/src/core/rendering.test.ts +0 -267
  77. package/src/core/renderingStrategies.test.ts +0 -90
  78. package/src/core/samplingReference.test.ts +0 -124
  79. package/src/core/wasmSampling.test.ts +0 -205
  80. package/src/core/workerSampling/multiresolution.test.ts +0 -69
  81. package/src/core/workerSampling/protocol.test.ts +0 -34
  82. package/src/core/workerSampling/repository.test.ts +0 -400
  83. package/src/core/workerSampling/repositoryCache.test.ts +0 -163
  84. package/src/core/workerSampling/repositorySampling.test.ts +0 -106
  85. package/src/core/workerSampling/repositoryTypedDataset.test.ts +0 -89
  86. package/src/core/workerSampling/repositoryWasmDataset.test.ts +0 -70
  87. package/src/data/simulatedWaveforms.test.ts +0 -60
  88. package/src/demo/plotMarginControls.test.ts +0 -29
  89. package/src/demo/xAxisLabelControls.test.ts +0 -86
  90. package/src/test/setup.ts +0 -82
  91. package/src/test/waveformChart.ts +0 -75
  92. package/src/utils/domain.test.ts +0 -28
  93. package/src/utils/formatters.test.ts +0 -131
  94. package/src/utils/sampling.test.ts +0 -226
  95. package/src/views/FixedYDomainDemo.test.ts +0 -44
  96. package/src/views/WasmSamplingDemo.test.ts +0 -13
  97. package/src/views/wasmSamplingDemoSampling.test.ts +0 -27
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, onUpdated as v, openBlock as y, reactive as b, ref as x, renderList as S, shallowReactive as C, shallowRef as w, toDisplayString as T, toRefs as E, unref as D, vModelText as O, watch as k, watchEffect as A, withCtx as j, withDirectives as M, withModifiers as N } from "vue";
2
- import { axisBottom as P, axisLeft as F, axisRight as I, bisector as L, curveStep as R, curveStepAfter as z, curveStepBefore as B, extent as V, line as H, pointer as U, scaleLinear as W, select as G, symbol as ee, symbolCircle as te, symbolDiamond as ne, symbolSquare as re, symbolTriangle as K, zoom as q, zoomIdentity as J, zoomTransform as ie } from "d3";
3
- import { InputNumber as ae, Modal as oe, Pagination as se } from "ant-design-vue";
2
+ import { axisBottom as P, axisLeft as F, axisRight as I, bisector as L, curveStep as R, curveStepAfter as z, curveStepBefore as B, extent as V, line as H, pointer as U, scaleLinear as W, select as G, symbol as ee, symbolCircle as te, symbolDiamond as ne, symbolSquare as re, symbolTriangle as K, tickStep as q, zoom as ie, zoomIdentity as J, zoomTransform as ae } from "d3";
3
+ import { InputNumber as oe, Modal as se, Pagination as ce } from "ant-design-vue";
4
4
  //#region src/utils/waveformId.ts
5
- var ce = 0;
6
- function le(e = "waveform") {
5
+ var le = 0;
6
+ function ue(e = "waveform") {
7
7
  let t = u();
8
- return `${e}-${t ? `v${t.uid}` : `f${++ce}`}`;
8
+ return `${e}-${t ? `v${t.uid}` : `f${++le}`}`;
9
9
  }
10
10
  //#endregion
11
11
  //#region src/core/compactSamplePointSource.ts
12
- function ue(e, t, n, r) {
12
+ function de(e, t, n, r) {
13
13
  let i = 0, a = e;
14
14
  for (; i < a;) {
15
15
  let e = i + Math.floor((a - i) / 2);
@@ -17,7 +17,7 @@ function ue(e, t, n, r) {
17
17
  }
18
18
  return i;
19
19
  }
20
- function de(e, t, n, r) {
20
+ function fe(e, t, n, r) {
21
21
  let i = (e) => n + (r?.[e] ?? e) / t, a = (t) => t < 0 || t >= e.length ? void 0 : {
22
22
  x: i(t),
23
23
  y: e[t]
@@ -33,15 +33,15 @@ function de(e, t, n, r) {
33
33
  visibleRange(t) {
34
34
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
35
35
  return {
36
- start: ue(e.length, i, n, !1),
37
- end: ue(e.length, i, r, !0)
36
+ start: de(e.length, i, n, !1),
37
+ end: de(e.length, i, r, !0)
38
38
  };
39
39
  },
40
40
  nearestPoint(t) {
41
41
  if (!Number.isFinite(t) || !e.length) return;
42
42
  if (t <= i(0)) return a(0);
43
43
  if (t >= i(e.length - 1)) return a(e.length - 1);
44
- let n = ue(e.length, i, t, !1), r = Math.max(0, n - 1);
44
+ let n = de(e.length, i, t, !1), r = Math.max(0, n - 1);
45
45
  return Math.abs(t - i(r)) < Math.abs(i(n) - t) ? a(r) : a(n);
46
46
  },
47
47
  metrics() {
@@ -71,14 +71,14 @@ function de(e, t, n, r) {
71
71
  function Y(e) {
72
72
  return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
73
73
  }
74
- function fe(e, t, n) {
74
+ function pe(e, t, n) {
75
75
  let r = Math.max(0, Math.min(n, Math.floor(e)));
76
76
  return {
77
77
  start: r,
78
78
  end: Math.max(r, Math.min(n, Math.floor(t)))
79
79
  };
80
80
  }
81
- function X(e, t, n) {
81
+ function me(e, t, n) {
82
82
  let r = 0, i = e;
83
83
  for (; r < i;) {
84
84
  let e = r + Math.floor((i - r) / 2);
@@ -86,7 +86,7 @@ function X(e, t, n) {
86
86
  }
87
87
  return r;
88
88
  }
89
- function pe(e, t, n) {
89
+ function he(e, t, n) {
90
90
  let r = 0, i = e;
91
91
  for (; r < i;) {
92
92
  let e = r + Math.floor((i - r) / 2);
@@ -94,7 +94,7 @@ function pe(e, t, n) {
94
94
  }
95
95
  return r;
96
96
  }
97
- function me(e, t, n) {
97
+ function ge(e, t, n) {
98
98
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity, s = !1;
99
99
  for (let c = 0; c < e; c += 1) {
100
100
  let e = t(c);
@@ -110,7 +110,7 @@ function me(e, t, n) {
110
110
  hasErrorPoints: s
111
111
  };
112
112
  }
113
- var he = class {
113
+ var _e = class {
114
114
  sourcePoints;
115
115
  isCompact = !1;
116
116
  constructor(e) {
@@ -123,14 +123,14 @@ var he = class {
123
123
  return this.sourcePoints[e];
124
124
  }
125
125
  pointsInRange(e = 0, t = this.length) {
126
- let n = fe(e, t, this.length);
126
+ let n = pe(e, t, this.length);
127
127
  return this.sourcePoints.slice(n.start, n.end);
128
128
  }
129
129
  visibleRange(e) {
130
130
  let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
131
131
  return {
132
- start: X(this.length, (e) => this.sourcePoints[e].x, t),
133
- end: pe(this.length, (e) => this.sourcePoints[e].x, n)
132
+ start: me(this.length, (e) => this.sourcePoints[e].x, t),
133
+ end: he(this.length, (e) => this.sourcePoints[e].x, n)
134
134
  };
135
135
  }
136
136
  nearestPoint(e) {
@@ -138,11 +138,11 @@ var he = class {
138
138
  let t = this.sourcePoints[0], n = this.sourcePoints[this.length - 1];
139
139
  if (e <= t.x) return t;
140
140
  if (e >= n.x) return n;
141
- let r = X(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
141
+ let r = me(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
142
142
  return Math.abs(e - a.x) < Math.abs(i.x - e) ? a : i;
143
143
  }
144
144
  metrics(e = !1) {
145
- return me(this.length, (e) => this.sourcePoints[e], e);
145
+ return ge(this.length, (e) => this.sourcePoints[e], e);
146
146
  }
147
147
  toWorkerDataset() {
148
148
  return {
@@ -150,7 +150,7 @@ var he = class {
150
150
  points: this.sourcePoints
151
151
  };
152
152
  }
153
- }, ge = class {
153
+ }, ve = class {
154
154
  x;
155
155
  y;
156
156
  error;
@@ -175,22 +175,22 @@ var he = class {
175
175
  };
176
176
  }
177
177
  pointsInRange(e = 0, t = this.length) {
178
- let n = fe(e, t, this.length), r = [];
178
+ let n = pe(e, t, this.length), r = [];
179
179
  for (let e = n.start; e < n.end; e += 1) r.push(this.pointAt(e));
180
180
  return r;
181
181
  }
182
182
  visibleRange(e) {
183
183
  let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
184
184
  return {
185
- start: X(this.length, (e) => this.x[e], t),
186
- end: pe(this.length, (e) => this.x[e], n)
185
+ start: me(this.length, (e) => this.x[e], t),
186
+ end: he(this.length, (e) => this.x[e], n)
187
187
  };
188
188
  }
189
189
  nearestPoint(e) {
190
190
  if (!Number.isFinite(e) || !this.length) return;
191
191
  if (e <= this.x[0]) return this.pointAt(0);
192
192
  if (e >= this.x[this.length - 1]) return this.pointAt(this.length - 1);
193
- let t = X(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
193
+ let t = me(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
194
194
  return Math.abs(e - this.x[r]) < Math.abs(this.x[n] - e) ? this.pointAt(r) : this.pointAt(n);
195
195
  }
196
196
  metrics(e = !1) {
@@ -217,20 +217,20 @@ var he = class {
217
217
  };
218
218
  }
219
219
  };
220
- function _e(e) {
220
+ function ye(e) {
221
221
  return e instanceof Float32Array || e instanceof Float64Array;
222
222
  }
223
- function ve(e) {
223
+ function be(e) {
224
224
  let t = [
225
225
  e.y,
226
226
  e.error,
227
227
  e.lowerError,
228
228
  e.upperError
229
229
  ];
230
- return e.x instanceof Float64Array && t.every((t) => t === void 0 || _e(t) && t.length === e.x.length);
230
+ return e.x instanceof Float64Array && t.every((t) => t === void 0 || ye(t) && t.length === e.x.length);
231
231
  }
232
- function ye(e) {
233
- if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return de(/* @__PURE__ */ new Float64Array(), 1, 0);
232
+ function xe(e) {
233
+ if (!ye(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return fe(/* @__PURE__ */ new Float64Array(), 1, 0);
234
234
  let t = e.startTime ?? 0, n = 0;
235
235
  for (let t = 0; t < e.values.length; t += 1) n += +!!Number.isFinite(e.values[t]);
236
236
  let r = e.values instanceof Float32Array ? new Float32Array(n) : new Float64Array(n), i = n === e.values.length ? void 0 : new Uint32Array(n);
@@ -238,10 +238,10 @@ function ye(e) {
238
238
  let a = e.values[t];
239
239
  Number.isFinite(a) && (r[n] = a, i && (i[n] = t), n += 1);
240
240
  }
241
- return de(r, e.sampleRate, t, i);
241
+ return fe(r, e.sampleRate, t, i);
242
242
  }
243
- function be(e) {
244
- if (!ve(e)) return new ge(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
243
+ function Se(e) {
244
+ if (!be(e)) return new ve(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
245
245
  let t = [], n = !0, r = -Infinity;
246
246
  for (let i = 0; i < e.x.length; i += 1) {
247
247
  let a = e.x[i], o = e.y[i];
@@ -251,15 +251,15 @@ function be(e) {
251
251
  let i = new Float64Array(t.length), a = e.y instanceof Float32Array ? new Float32Array(t.length) : new Float64Array(t.length), o = (e) => e ? e instanceof Float32Array ? new Float32Array(t.length) : new Float64Array(t.length) : void 0, s = o(e.error), c = o(e.lowerError), l = o(e.upperError);
252
252
  return t.forEach((t, n) => {
253
253
  i[n] = e.x[t], a[n] = e.y[t], s && (s[n] = e.error[t]), c && (c[n] = e.lowerError[t]), l && (l[n] = e.upperError[t]);
254
- }), new ge(i, a, s, c, l);
254
+ }), new ve(i, a, s, c, l);
255
255
  }
256
- function xe(e, t) {
257
- return e.kind === "typed-samples" ? ye(e) : e.kind === "typed-points" ? be(e) : new he(t(e));
256
+ function Ce(e, t) {
257
+ return e.kind === "typed-samples" ? xe(e) : e.kind === "typed-points" ? Se(e) : new _e(t(e));
258
258
  }
259
- function Z(e) {
260
- return new he(e);
259
+ function X(e) {
260
+ return new _e(e);
261
261
  }
262
- function Se(e) {
262
+ function we(e) {
263
263
  if (!e.isCompact) return e.pointsInRange();
264
264
  let t = /* @__PURE__ */ new Map(), n = (n) => {
265
265
  let r = t.get(n);
@@ -295,15 +295,15 @@ function Se(e) {
295
295
  }
296
296
  });
297
297
  }
298
- function Ce(e) {
298
+ function Te(e) {
299
299
  return typeof e == "object" && !!e && "pointAt" in e && "visibleRange" in e;
300
300
  }
301
301
  //#endregion
302
302
  //#region src/components/annotation/annotationLayout.ts
303
- function we(e, t) {
303
+ function Ee(e, t) {
304
304
  return e >= Math.min(t[0], t[1]) && e <= Math.max(t[0], t[1]);
305
305
  }
306
- function Te(e, t, n) {
306
+ function De(e, t, n) {
307
307
  let r = Math.max(0, Math.min(e.x, Math.max(0, t - e.width))), i = Math.max(0, Math.min(e.y, Math.max(0, n - e.height)));
308
308
  return {
309
309
  ...e,
@@ -313,11 +313,11 @@ function Te(e, t, n) {
313
313
  lineEndY: Math.max(i, Math.min(e.lineEndY, i + e.height))
314
314
  };
315
315
  }
316
- function Ee(e, t, n, r, i, a, o) {
317
- let s = ke(e, t, n, r, i);
316
+ function Oe(e, t, n, r, i, a, o) {
317
+ let s = je(e, t, n, r, i);
318
318
  return s.x >= 0 && s.y >= 0 && s.x + n <= a && s.y + r <= o;
319
319
  }
320
- function De(e, t, n, r, i, a) {
320
+ function ke(e, t, n, r, i, a) {
321
321
  for (let o of [
322
322
  "top",
323
323
  "bottom",
@@ -327,10 +327,10 @@ function De(e, t, n, r, i, a) {
327
327
  "top-left",
328
328
  "bottom-right",
329
329
  "bottom-left"
330
- ]) if (Ee(e, t, n, r, o, i, a)) return o;
330
+ ]) if (Oe(e, t, n, r, o, i, a)) return o;
331
331
  return "top";
332
332
  }
333
- function Oe(e, t, n) {
333
+ function Ae(e, t, n) {
334
334
  let r = e.x + e.width / 2, i = e.y + e.height / 2, a = t - r, o = n - i;
335
335
  if (Math.abs(a) * e.height > Math.abs(o) * e.width) {
336
336
  let t = a >= 0 ? e.x + e.width : e.x, n = a === 0 ? 0 : (t - r) / a;
@@ -345,7 +345,7 @@ function Oe(e, t, n) {
345
345
  y: s
346
346
  };
347
347
  }
348
- function ke(e, t, n, r, i) {
348
+ function je(e, t, n, r, i) {
349
349
  let a = e - n / 2, o = t - r / 2, s = e + 32, c = e - n - 32, l = t - r - 32, u = t + 32;
350
350
  switch (i) {
351
351
  case "top": return {
@@ -382,36 +382,36 @@ function ke(e, t, n, r, i) {
382
382
  };
383
383
  }
384
384
  }
385
- function Ae(e, t, n) {
385
+ function Me(e, t, n) {
386
386
  return {
387
- width: Math.min(t, Math.max(16, Math.min(240, Math.ceil(Math.max(...e.map(He), 0)) + 16))),
387
+ width: Math.min(t, Math.max(16, Math.min(240, Math.ceil(Math.max(...e.map(We), 0)) + 16))),
388
388
  height: Math.min(n, Math.max(26, (e.length - 1) * 16 + 14 + 16))
389
389
  };
390
390
  }
391
- function je(e, t, n, r, i, a, o = 0, s = 0) {
392
- let { width: c, height: l } = Ae(n, r, i), u = ke(e, t, c, l, a), d = Te({
391
+ function Ne(e, t, n, r, i, a, o = 0, s = 0) {
392
+ let { width: c, height: l } = Me(n, r, i), u = je(e, t, c, l, a), d = De({
393
393
  x: u.x + o,
394
394
  y: u.y + s,
395
395
  width: c,
396
396
  height: l,
397
397
  lineEndX: e,
398
398
  lineEndY: t
399
- }, r, i), f = Oe(d, e, t);
399
+ }, r, i), f = Ae(d, e, t);
400
400
  return {
401
401
  ...d,
402
402
  lineEndX: f.x,
403
403
  lineEndY: f.y
404
404
  };
405
405
  }
406
- function Me(e, t, n, r) {
406
+ function Pe(e, t, n, r) {
407
407
  let i = [];
408
408
  return e.forEach((e) => {
409
- if (!We(e)) return;
409
+ if (!Ke(e)) return;
410
410
  let a = t.find((t) => t.series.id === e.seriesId);
411
411
  if (!a) return;
412
412
  let o = a.xScale.domain(), s = a.yScale.domain();
413
- if (!we(e.x, o) || !we(e.y, s)) return;
414
- let c = Ge(e.text), l = a.left ?? 0, u = a.width ?? n, d = a.xScale(e.x), f = l + d, p = a.yScale(e.y) + a.top, m = Math.min(a.height, Math.max(0, r - a.top)), h = p - a.top, g = Number.isFinite(e.labelOffsetX) && e.labelOffsetX !== 0 || Number.isFinite(e.labelOffsetY) && e.labelOffsetY !== 0, { width: _, height: v } = Ae(c, u, m), y = g ? "top" : De(d, h, _, v, u, m), b = je(d, h, c, u, m, y, Number.isFinite(e.labelOffsetX) ? e.labelOffsetX : 0, Number.isFinite(e.labelOffsetY) ? e.labelOffsetY : 0), x = {
413
+ if (!Ee(e.x, o) || !Ee(e.y, s)) return;
414
+ let c = qe(e.text), l = a.left ?? 0, u = a.width ?? n, d = a.xScale(e.x), f = l + d, p = a.yScale(e.y) + a.top, m = Math.min(a.height, Math.max(0, r - a.top)), h = p - a.top, g = Number.isFinite(e.labelOffsetX) && e.labelOffsetX !== 0 || Number.isFinite(e.labelOffsetY) && e.labelOffsetY !== 0, { width: _, height: v } = Me(c, u, m), y = g ? "top" : ke(d, h, _, v, u, m), b = Ne(d, h, c, u, m, y, Number.isFinite(e.labelOffsetX) ? e.labelOffsetX : 0, Number.isFinite(e.labelOffsetY) ? e.labelOffsetY : 0), x = {
415
415
  ...b,
416
416
  x: b.x + l,
417
417
  y: b.y + a.top,
@@ -426,22 +426,22 @@ function Me(e, t, n, r) {
426
426
  placement: y,
427
427
  lines: c,
428
428
  box: { ...x },
429
- style: Ue(e.style)
429
+ style: Ge(e.style)
430
430
  });
431
431
  }), i;
432
432
  }
433
433
  //#endregion
434
434
  //#region src/components/annotation/markup.ts
435
- var Ne = {
435
+ var Fe = {
436
436
  borderColor: "#1677ff",
437
437
  textColor: "#333333",
438
438
  backgroundColor: "rgba(255, 255, 255, 0.92)"
439
- }, Pe = "12px Arial, sans-serif";
440
- function Fe(e) {
441
- return Ce(e) ? e : Z(e);
439
+ }, Ie = "12px Arial, sans-serif";
440
+ function Le(e) {
441
+ return Te(e) ? e : X(e);
442
442
  }
443
- function Ie(e, t, n) {
444
- let r = null, i = e.series.source ?? Z(e.series.points);
443
+ function Re(e, t, n) {
444
+ let r = null, i = e.series.source ?? X(e.series.points);
445
445
  for (let a = 0; a < i.length; a += 1) {
446
446
  let o = i.pointAt(a);
447
447
  if (!Number.isFinite(o.x) || !Number.isFinite(o.y)) continue;
@@ -455,14 +455,14 @@ function Ie(e, t, n) {
455
455
  }
456
456
  return r;
457
457
  }
458
- function Le(e, t) {
459
- let n = Fe(e);
458
+ function ze(e, t) {
459
+ let n = Le(e);
460
460
  if (!n.length || !Number.isFinite(t)) return null;
461
461
  let r = n.visibleRange([t, t]).start, i = n.pointAt(Math.min(r, n.length - 1)), a = n.pointAt(Math.max(0, r - 1));
462
462
  return Math.abs(t - a.x) < Math.abs(i.x - t) ? a : i;
463
463
  }
464
- function Re(e, t, n = "linear") {
465
- let r = Fe(e);
464
+ function Be(e, t, n = "linear") {
465
+ let r = Le(e);
466
466
  if (!r.length || !Number.isFinite(t)) return null;
467
467
  let i = r.pointAt(0), a = r.pointAt(r.length - 1);
468
468
  if (t < i.x || t > a.x) return null;
@@ -497,29 +497,29 @@ function Re(e, t, n = "linear") {
497
497
  y: c.y + (s.y - c.y) * u
498
498
  };
499
499
  }
500
- function ze(e, t, n, r) {
500
+ function Ve(e, t, n, r) {
501
501
  return e.flatMap((e) => {
502
502
  if (e.series.lineType === "none") {
503
- let t = Ie(e, n, r);
503
+ let t = Re(e, n, r);
504
504
  return t ? [{
505
505
  trackIndex: e.index,
506
506
  seriesId: e.series.id,
507
507
  name: e.series.name?.trim() || e.series.id,
508
- color: e.series.color || Ne.borderColor,
508
+ color: e.series.color || Fe.borderColor,
509
509
  unit: e.series.unit,
510
510
  ...t
511
511
  }] : [];
512
512
  }
513
- let i = Re(e.series.source ?? Z(e.series.points), t, e.series.lineType);
513
+ let i = Be(e.series.source ?? X(e.series.points), t, e.series.lineType);
514
514
  if (!i) return [];
515
- let a = Le(e.series.source ?? Z(e.series.points), t);
515
+ let a = ze(e.series.source ?? X(e.series.points), t);
516
516
  if (!a) return [];
517
517
  let o = e.xScale(i.x), s = e.top + e.yScale(i.y), c = e.xScale(a.x), l = e.top + e.yScale(a.y);
518
518
  return [{
519
519
  trackIndex: e.index,
520
520
  seriesId: e.series.id,
521
521
  name: e.series.name?.trim() || e.series.id,
522
- color: e.series.color || Ne.borderColor,
522
+ color: e.series.color || Fe.borderColor,
523
523
  unit: e.series.unit,
524
524
  point: a,
525
525
  screenX: c,
@@ -528,24 +528,24 @@ function ze(e, t, n, r) {
528
528
  }];
529
529
  }).sort((e, t) => e.distance - t.distance || e.trackIndex - t.trackIndex);
530
530
  }
531
- var Be;
532
- function Ve(e) {
531
+ var He;
532
+ function Ue(e) {
533
533
  return Array.from(e).reduce((e, t) => e + (t.codePointAt(0) > 255 ? 12 : 6.7), 0);
534
534
  }
535
- function He(e) {
536
- return Be === void 0 && (Be = null, typeof document < "u" && typeof CanvasRenderingContext2D < "u" && (Be = document.createElement("canvas").getContext("2d"), Be && (Be.font = Pe))), Be?.measureText(e).width ?? Ve(e);
535
+ function We(e) {
536
+ return He === void 0 && (He = null, typeof document < "u" && typeof CanvasRenderingContext2D < "u" && (He = document.createElement("canvas").getContext("2d"), He && (He.font = Ie))), He?.measureText(e).width ?? Ue(e);
537
537
  }
538
- function Ue(e) {
538
+ function Ge(e) {
539
539
  return {
540
- borderColor: e?.borderColor || Ne.borderColor,
541
- textColor: e?.textColor || Ne.textColor,
542
- backgroundColor: e?.backgroundColor || Ne.backgroundColor
540
+ borderColor: e?.borderColor || Fe.borderColor,
541
+ textColor: e?.textColor || Fe.textColor,
542
+ backgroundColor: e?.backgroundColor || Fe.backgroundColor
543
543
  };
544
544
  }
545
- function We(e) {
545
+ function Ke(e) {
546
546
  return !!(e.id && e.seriesId) && Number.isFinite(e.x) && Number.isFinite(e.y) && typeof e.text == "string" && e.text.trim().length > 0;
547
547
  }
548
- function Ge(e, t = 10) {
548
+ function qe(e, t = 10) {
549
549
  let n = [];
550
550
  return e.split(/\r?\n/).forEach((e) => {
551
551
  let r = Array.from(e);
@@ -558,30 +558,30 @@ function Ge(e, t = 10) {
558
558
  }
559
559
  //#endregion
560
560
  //#region src/components/annotation/WaveformAnnotationLayer.vue?vue&type=script&setup=true&lang.ts
561
- var Ke = [
561
+ var Je = [
562
562
  "data-annotation-id",
563
563
  "data-placement",
564
564
  "onPointerdown",
565
565
  "onContextmenu"
566
- ], qe = ["id"], Je = ["fill"], Ye = [
566
+ ], Ye = ["id"], Xe = ["fill"], Ze = [
567
567
  "x1",
568
568
  "y1",
569
569
  "x2",
570
570
  "y2",
571
571
  "stroke",
572
572
  "marker-end"
573
- ], Xe = [
573
+ ], Qe = [
574
574
  "x",
575
575
  "y",
576
576
  "width",
577
577
  "height",
578
578
  "fill",
579
579
  "stroke"
580
- ], Ze = [
580
+ ], $e = [
581
581
  "x",
582
582
  "y",
583
583
  "fill"
584
- ], Qe = ["x", "dy"], $e = /*@__PURE__*/ l({
584
+ ], et = ["x", "dy"], tt = /*@__PURE__*/ l({
585
585
  __name: "WaveformAnnotationLayer",
586
586
  props: {
587
587
  annotations: {},
@@ -721,7 +721,7 @@ var Ke = [
721
721
  }, [a("path", {
722
722
  d: "M0,0 L8,4 L0,8 Z",
723
723
  fill: t.style.borderColor
724
- }, null, 8, Je)], 8, qe)]),
724
+ }, null, 8, Xe)], 8, Ye)]),
725
725
  a("line", {
726
726
  class: "waveform-annotation__arrow",
727
727
  x1: _(t).lineEndX,
@@ -730,7 +730,7 @@ var Ke = [
730
730
  y2: t.anchorY,
731
731
  stroke: t.style.borderColor,
732
732
  "marker-end": `url(#${M(t.annotation.id)})`
733
- }, null, 8, Ye),
733
+ }, null, 8, Ze),
734
734
  a("rect", {
735
735
  class: "waveform-annotation__box",
736
736
  x: _(t).x,
@@ -739,27 +739,27 @@ var Ke = [
739
739
  height: _(t).height,
740
740
  fill: t.style.backgroundColor,
741
741
  stroke: t.style.borderColor
742
- }, null, 8, Xe),
742
+ }, null, 8, Qe),
743
743
  a("text", {
744
744
  class: "waveform-annotation__text",
745
745
  x: _(t).x + _(t).width / 2,
746
746
  y: _(t).y + _(t).height / 2 - (t.lines.length - 1) * D(16) / 2,
747
747
  fill: t.style.textColor,
748
- style: m({ font: D(Pe) }),
748
+ style: m({ font: D(Ie) }),
749
749
  "text-anchor": "middle",
750
750
  "dominant-baseline": "central"
751
751
  }, [(y(!0), i(e, null, S(t.lines, (e, n) => (y(), i("tspan", {
752
752
  key: `${t.annotation.id}-${n}`,
753
753
  x: _(t).x + _(t).width / 2,
754
754
  dy: n === 0 ? 0 : D(16)
755
- }, T(e), 9, Qe))), 128))], 12, Ze)
756
- ], 40, Ke))), 128))], 2)) : r("", !0);
755
+ }, T(e), 9, et))), 128))], 12, $e)
756
+ ], 40, Je))), 128))], 2)) : r("", !0);
757
757
  }
758
- }), et = (e, t) => {
758
+ }), nt = (e, t) => {
759
759
  let n = e.__vccOpts || e;
760
760
  for (let [e, r] of t) n[e] = r;
761
761
  return n;
762
- }, tt = /*#__PURE__*/ et($e, [["__scopeId", "data-v-7254383e"]]), nt = /*#__PURE__*/ et(/* @__PURE__ */ l({
762
+ }, rt = /*#__PURE__*/ nt(tt, [["__scopeId", "data-v-7254383e"]]), it = /*#__PURE__*/ nt(/* @__PURE__ */ l({
763
763
  __name: "WaveformAnnotationContextMenu",
764
764
  props: {
765
765
  visible: { type: Boolean },
@@ -801,50 +801,50 @@ var Ke = [
801
801
  }, "取消")
802
802
  ], 36)) : r("", !0);
803
803
  }
804
- }), [["__scopeId", "data-v-c70c98a1"]]), rt = 1;
805
- function Q(e) {
804
+ }), [["__scopeId", "data-v-c70c98a1"]]), at = 1;
805
+ function Z(e) {
806
806
  throw TypeError(`Invalid waveform annotation file: ${e}`);
807
807
  }
808
- function it(e) {
808
+ function ot(e) {
809
809
  return typeof e == "object" && !!e && !Array.isArray(e);
810
810
  }
811
- function at(e, t, n) {
811
+ function st(e, t, n) {
812
812
  let r = e[t];
813
- return (typeof r != "string" || r.trim().length === 0) && Q(`${n}.${t} must be a non-empty string`), r;
813
+ return (typeof r != "string" || r.trim().length === 0) && Z(`${n}.${t} must be a non-empty string`), r;
814
814
  }
815
- function ot(e, t, n) {
815
+ function ct(e, t, n) {
816
816
  let r = e[t];
817
- if (r !== void 0) return typeof r != "string" && Q(`${n}.${t} must be a string`), r;
817
+ if (r !== void 0) return typeof r != "string" && Z(`${n}.${t} must be a string`), r;
818
818
  }
819
- function st(e, t, n) {
819
+ function lt(e, t, n) {
820
820
  let r = e[t];
821
- return (typeof r != "number" || !Number.isFinite(r)) && Q(`${n}.${t} must be a finite number`), r;
821
+ return (typeof r != "number" || !Number.isFinite(r)) && Z(`${n}.${t} must be a finite number`), r;
822
822
  }
823
- function ct(e, t, n) {
823
+ function ut(e, t, n) {
824
824
  let r = e[t];
825
- if (r !== void 0) return (typeof r != "number" || !Number.isFinite(r)) && Q(`${n}.${t} must be a finite number`), r;
825
+ if (r !== void 0) return (typeof r != "number" || !Number.isFinite(r)) && Z(`${n}.${t} must be a finite number`), r;
826
826
  }
827
- function lt(e, t) {
827
+ function dt(e, t) {
828
828
  if (e === void 0) return;
829
- it(e) || Q(`${t} must be an object`);
830
- let n = ot(e, "borderColor", t), r = ot(e, "textColor", t), i = ot(e, "backgroundColor", t);
829
+ ot(e) || Z(`${t} must be an object`);
830
+ let n = ct(e, "borderColor", t), r = ct(e, "textColor", t), i = ct(e, "backgroundColor", t);
831
831
  return {
832
832
  ...n !== void 0 && { borderColor: n },
833
833
  ...r !== void 0 && { textColor: r },
834
834
  ...i !== void 0 && { backgroundColor: i }
835
835
  };
836
836
  }
837
- function ut(e, t) {
837
+ function ft(e, t) {
838
838
  let n = `annotations[${t}]`;
839
- it(e) || Q(`${n} must be an object`);
840
- let r = at(e, "text", n);
841
- r.length > 40 && Q(`${n}.text must not exceed 40 characters`);
842
- let i = ct(e, "labelOffsetX", n), a = ct(e, "labelOffsetY", n), o = ot(e, "createdAt", n), s = lt(e.style, `${n}.style`);
839
+ ot(e) || Z(`${n} must be an object`);
840
+ let r = st(e, "text", n);
841
+ r.length > 40 && Z(`${n}.text must not exceed 40 characters`);
842
+ let i = ut(e, "labelOffsetX", n), a = ut(e, "labelOffsetY", n), o = ct(e, "createdAt", n), s = dt(e.style, `${n}.style`);
843
843
  return {
844
- id: at(e, "id", n),
845
- seriesId: at(e, "seriesId", n),
846
- x: st(e, "x", n),
847
- y: st(e, "y", n),
844
+ id: st(e, "id", n),
845
+ seriesId: st(e, "seriesId", n),
846
+ x: lt(e, "x", n),
847
+ y: lt(e, "y", n),
848
848
  text: r,
849
849
  ...i !== void 0 && { labelOffsetX: i },
850
850
  ...a !== void 0 && { labelOffsetY: a },
@@ -852,31 +852,31 @@ function ut(e, t) {
852
852
  ...o !== void 0 && { createdAt: o }
853
853
  };
854
854
  }
855
- function dt(e) {
856
- let t = e.map(ut), n = /* @__PURE__ */ new Set();
855
+ function pt(e) {
856
+ let t = e.map(ft), n = /* @__PURE__ */ new Set();
857
857
  return t.forEach((e, t) => {
858
- n.has(e.id) && Q(`annotations[${t}].id must be unique`), n.add(e.id);
858
+ n.has(e.id) && Z(`annotations[${t}].id must be unique`), n.add(e.id);
859
859
  }), t;
860
860
  }
861
- function ft(e) {
861
+ function mt(e) {
862
862
  return JSON.stringify({
863
- version: rt,
864
- annotations: dt(e)
863
+ version: at,
864
+ annotations: pt(e)
865
865
  }, null, 2);
866
866
  }
867
- function pt(e) {
868
- typeof e != "string" && Q("input must be a JSON string");
867
+ function ht(e) {
868
+ typeof e != "string" && Z("input must be a JSON string");
869
869
  let t;
870
870
  try {
871
871
  t = JSON.parse(e);
872
872
  } catch {
873
- Q("input is not valid JSON");
873
+ Z("input is not valid JSON");
874
874
  }
875
- return it(t) || Q("root must be an object"), t.version !== rt && Q(`version must be ${rt}`), Array.isArray(t.annotations) || Q("annotations must be an array"), dt(t.annotations);
875
+ return ot(t) || Z("root must be an object"), t.version !== at && Z(`version must be ${at}`), Array.isArray(t.annotations) || Z("annotations must be an array"), pt(t.annotations);
876
876
  }
877
877
  //#endregion
878
878
  //#region src/components/annotation/useWaveformAnnotationInteraction.ts
879
- function mt() {
879
+ function gt() {
880
880
  let e = x(null), t = x(null);
881
881
  return {
882
882
  editorDraft: e,
@@ -916,14 +916,14 @@ function mt() {
916
916
  }
917
917
  //#endregion
918
918
  //#region src/utils/domain.ts
919
- function ht(e) {
919
+ function _t(e) {
920
920
  if (e.length === 0) return [0, 1];
921
921
  let [t = 0, n = 1] = V(e);
922
922
  if (t !== n) return [t, n];
923
923
  let r = Math.abs(t) * .05 || .5;
924
924
  return [t - r, n + r];
925
925
  }
926
- function gt(e, t = 5, n) {
926
+ function vt(e, t = 5, n) {
927
927
  let r = e;
928
928
  if (n && e.length >= 2) {
929
929
  let t = e[0], n = e[1], i = e[e.length - 1], a = e[e.length - 2];
@@ -945,71 +945,71 @@ function gt(e, t = 5, n) {
945
945
  }
946
946
  //#endregion
947
947
  //#region src/utils/formatters.ts
948
- var _t = .001, vt = 1e3, yt = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), bt = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 });
949
- function xt(e, t) {
948
+ var yt = .001, bt = 1e3, xt = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), St = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 });
949
+ function Ct(e, t) {
950
950
  let n = e.toFixed(Math.max(0, t));
951
951
  return /^-0(?:\.0+)?$/.test(n) ? n.slice(1) : n;
952
952
  }
953
- function St(e) {
954
- return Number.isFinite(e) && (e >= vt || e > 0 && e < _t);
953
+ function wt(e) {
954
+ return Number.isFinite(e) && (e >= bt || e > 0 && e < yt);
955
955
  }
956
- function Ct(e, t) {
956
+ function Tt(e, t) {
957
957
  if (typeof e != "number" || typeof t != "number") return null;
958
958
  let n = Math.max(Math.abs(e), Math.abs(t));
959
- return St(n) ? Math.floor(Math.log10(n)) : null;
959
+ return wt(n) ? Math.floor(Math.log10(n)) : null;
960
960
  }
961
- function wt(e) {
961
+ function Et(e) {
962
962
  return `E${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
963
963
  }
964
- function Tt(e) {
964
+ function Dt(e) {
965
965
  if (Object.is(e, -0)) return "0";
966
- let t = e === 0 ? 0 : Number(e.toPrecision(5)), n = yt.format(t);
966
+ let t = e === 0 ? 0 : Number(e.toPrecision(5)), n = xt.format(t);
967
967
  return n === "-0" ? "0" : n;
968
968
  }
969
- function Et(e, t = {}) {
969
+ function Ot(e, t = {}) {
970
970
  if (!Number.isFinite(e)) return String(e);
971
- let n = Ct(t.axisMin, t.axisMax), r = Tt(n === null ? e : e / 10 ** n);
971
+ let n = Tt(t.axisMin, t.axisMax), r = Dt(n === null ? e : e / 10 ** n);
972
972
  if (e !== (t.topTickValue ?? t.axisMax)) return r;
973
973
  let i = t.unit?.trim(), a = i ? `(${i}) ` : "";
974
- return `${n === null ? "" : `${wt(n)} `}${a}${r}`;
974
+ return `${n === null ? "" : `${Et(n)} `}${a}${r}`;
975
975
  }
976
- function Dt(e) {
977
- return Number.isFinite(e) ? Object.is(e, -0) ? "0" : bt.format(e) : String(e);
976
+ function kt(e) {
977
+ return Number.isFinite(e) ? Object.is(e, -0) ? "0" : St.format(e) : String(e);
978
978
  }
979
- function Ot(e) {
979
+ function At(e) {
980
980
  if (!Number.isFinite(e)) return String(e);
981
981
  if (Object.is(e, -0)) return "0";
982
982
  let [t, n] = e.toExponential().split("e"), r = Number(n), i = t.startsWith("-"), a = t.replace("-", "").replace(".", ""), o = r + 1, s;
983
983
  return s = o <= 0 ? `0.${"0".repeat(Math.abs(o))}${a}` : o >= a.length ? `${a}${"0".repeat(o - a.length)}` : `${a.slice(0, o)}.${a.slice(o)}`, `${i ? "-" : ""}${s}`;
984
984
  }
985
- function kt(e, t) {
985
+ function jt(e, t) {
986
986
  return t === "ms" ? e * 1e3 : e;
987
987
  }
988
- function At(e, t, n, r, i) {
989
- let a = kt(e, n);
988
+ function Mt(e, t, n, r, i) {
989
+ let a = jt(e, n);
990
990
  return i ? i(a, {
991
991
  kind: r,
992
992
  rawValue: e,
993
993
  timeUnit: n,
994
994
  domain: [t[0], t[1]],
995
- displayDomain: [kt(t[0], n), kt(t[1], n)]
996
- }) : Ot(a);
995
+ displayDomain: [jt(t[0], n), jt(t[1], n)]
996
+ }) : At(a);
997
997
  }
998
- function jt(e, t, n) {
999
- return At(e, t, n, "end");
998
+ function Nt(e, t, n) {
999
+ return Mt(e, t, n, "end");
1000
1000
  }
1001
- function Mt(e, t, n) {
1002
- return At(e, n ?? [e, e], t, "tick");
1001
+ function Pt(e, t, n) {
1002
+ return Mt(e, n ?? [e, e], t, "tick");
1003
1003
  }
1004
- function Nt(e, t) {
1005
- return Dt(kt(e, t));
1004
+ function Ft(e, t) {
1005
+ return kt(jt(e, t));
1006
1006
  }
1007
- function Pt(e, t) {
1008
- return Number.isFinite(e) ? xt(kt(e, t), 3) : String(e);
1007
+ function It(e, t) {
1008
+ return Number.isFinite(e) ? Ct(jt(e, t), 3) : String(e);
1009
1009
  }
1010
1010
  //#endregion
1011
1011
  //#region src/utils/geometry.ts
1012
- function Ft(e, t, n) {
1012
+ function Lt(e, t, n) {
1013
1013
  if (e <= 0) return {
1014
1014
  gap: 0,
1015
1015
  axisBand: 0,
@@ -1022,55 +1022,55 @@ function Ft(e, t, n) {
1022
1022
  height: Math.max(1, (n - (e - 1) * (c + l)) / e)
1023
1023
  };
1024
1024
  }
1025
- function It(e, t, n) {
1025
+ function Rt(e, t, n) {
1026
1026
  return Math.min(Math.max(e, t), n);
1027
1027
  }
1028
1028
  //#endregion
1029
1029
  //#region src/components/core/constants.ts
1030
- var Lt = {
1030
+ var zt = {
1031
1031
  top: 18,
1032
1032
  right: 24,
1033
1033
  bottom: 52,
1034
- left: 80
1035
- }, Rt = {
1034
+ left: 48
1035
+ }, Bt = {
1036
1036
  DEFAULT_MAX_SCALE: 40,
1037
1037
  MIN_SCALE: 1
1038
- }, zt = .62, Bt = 1.2, Vt = /* @__PURE__ */ "#0960bd.#ff7f0e.#2ca02c.#d62728.#9467bd.#8c564b.#e377c2.#7f7f7f.#bcbd22.#17becf.#005f73.#0a9396.#ae2012.#bb3e03.#ca6702.#ee9b00.#9b2226.#3a0ca3.#4361ee.#4895ef.#560bad.#7209b7.#b5179e.#f72585.#006d77.#2f3e46.#354f52.#52796f.#800f2f.#31572c".split("."), Ht = {
1038
+ }, Vt = .62, Ht = 1.2, Ut = /* @__PURE__ */ "#0960bd.#ff7f0e.#2ca02c.#d62728.#9467bd.#8c564b.#e377c2.#7f7f7f.#bcbd22.#17becf.#005f73.#0a9396.#ae2012.#bb3e03.#ca6702.#ee9b00.#9b2226.#3a0ca3.#4361ee.#4895ef.#560bad.#7209b7.#b5179e.#f72585.#006d77.#2f3e46.#354f52.#52796f.#800f2f.#31572c".split("."), Wt = {
1039
1039
  WIDTH: 1.5,
1040
1040
  CAP_WIDTH: 8
1041
- }, Ut = {
1042
- COLOR: "#98a2b3",
1041
+ }, Gt = {
1042
+ COLOR: "#ff0000",
1043
1043
  WIDTH: 1,
1044
1044
  DASH: "6 4"
1045
1045
  };
1046
1046
  //#endregion
1047
1047
  //#region src/components/core/yDomain.ts
1048
- function Wt(e) {
1048
+ function Kt(e) {
1049
1049
  if (!(!e || !Number.isFinite(e[0]) || !Number.isFinite(e[1]) || e[0] === e[1])) return e[0] < e[1] ? [e[0], e[1]] : [e[1], e[0]];
1050
1050
  }
1051
- function Gt(e, t) {
1052
- return Wt(t?.[e.id]);
1051
+ function qt(e, t) {
1052
+ return Kt(t?.[e.id]);
1053
1053
  }
1054
- function Kt(e, t, n) {
1055
- return Wt(n?.[e.id]) ?? Wt(t);
1054
+ function Jt(e, t, n) {
1055
+ return Kt(n?.[e.id]) ?? Kt(t);
1056
1056
  }
1057
- function qt(e, t, n) {
1058
- return !!(Gt(e, n) || e.visibleSeries.some((e) => Kt(e, t, n)));
1057
+ function Yt(e, t, n) {
1058
+ return !!(qt(e, n) || e.visibleSeries.some((e) => Jt(e, t, n)));
1059
1059
  }
1060
- function Jt(e) {
1060
+ function Xt(e) {
1061
1061
  return [Math.min(...e.map((e) => e[0])), Math.max(...e.map((e) => e[1]))];
1062
1062
  }
1063
1063
  //#endregion
1064
1064
  //#region src/core/data.ts
1065
- var Yt = Ht.WIDTH, Xt = Ht.CAP_WIDTH;
1066
- function Zt(e) {
1065
+ var Zt = Wt.WIDTH, Qt = Wt.CAP_WIDTH;
1066
+ function $t(e) {
1067
1067
  return e === "dashed" || e === "dash-dot" ? e : "solid";
1068
1068
  }
1069
- function Qt(e) {
1069
+ function en(e) {
1070
1070
  return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
1071
1071
  }
1072
- function $t(e) {
1073
- let t = Qt(e.error), n = Qt(e.lowerError), r = Qt(e.upperError);
1072
+ function tn(e) {
1073
+ let t = en(e.error), n = en(e.lowerError), r = en(e.upperError);
1074
1074
  return {
1075
1075
  x: e.x,
1076
1076
  y: e.y,
@@ -1079,10 +1079,10 @@ function $t(e) {
1079
1079
  ...r === void 0 ? {} : { upperError: r }
1080
1080
  };
1081
1081
  }
1082
- function en(e) {
1082
+ function nn(e) {
1083
1083
  return e instanceof Float32Array || e instanceof Float64Array;
1084
1084
  }
1085
- function tn(e, t, n) {
1085
+ function rn(e, t, n) {
1086
1086
  if (!Number.isFinite(t) || t <= 0) return [];
1087
1087
  let r = Number.isFinite(n) ? n ?? 0 : 0, i = [];
1088
1088
  for (let n = 0; n < e.length; n += 1) {
@@ -1094,24 +1094,24 @@ function tn(e, t, n) {
1094
1094
  }
1095
1095
  return i;
1096
1096
  }
1097
- function nn(e) {
1098
- return !en(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime) ? [] : tn(e.values, e.sampleRate, e.startTime);
1097
+ function an(e) {
1098
+ return !nn(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime) ? [] : rn(e.values, e.sampleRate, e.startTime);
1099
1099
  }
1100
- function rn(e) {
1101
- if (!(e.x instanceof Float64Array) || !en(e.y)) return !1;
1100
+ function on(e) {
1101
+ if (!(e.x instanceof Float64Array) || !nn(e.y)) return !1;
1102
1102
  let t = e.x.length;
1103
1103
  return [
1104
1104
  e.error,
1105
1105
  e.lowerError,
1106
1106
  e.upperError
1107
- ].every((e) => e === void 0 || en(e) && e.length === t) && e.y.length === t;
1107
+ ].every((e) => e === void 0 || nn(e) && e.length === t) && e.y.length === t;
1108
1108
  }
1109
- function an(e) {
1109
+ function sn(e) {
1110
1110
  let t = [], n = -Infinity, r = !0;
1111
1111
  for (let i = 0; i < e.x.length; i += 1) {
1112
1112
  let a = e.x[i], o = e.y[i];
1113
1113
  if (!Number.isFinite(a) || !Number.isFinite(o)) continue;
1114
- let s = $t({
1114
+ let s = tn({
1115
1115
  x: a,
1116
1116
  y: o,
1117
1117
  error: e.error?.[i],
@@ -1122,27 +1122,27 @@ function an(e) {
1122
1122
  }
1123
1123
  return r || t.sort((e, t) => e.x - t.x), t;
1124
1124
  }
1125
- function on(e) {
1126
- let t = Qt(e.error) ?? 0;
1125
+ function cn(e) {
1126
+ let t = en(e.error) ?? 0;
1127
1127
  return {
1128
- lower: Qt(e.lowerError) ?? t,
1129
- upper: Qt(e.upperError) ?? t
1128
+ lower: en(e.lowerError) ?? t,
1129
+ upper: en(e.upperError) ?? t
1130
1130
  };
1131
1131
  }
1132
- function sn(e) {
1133
- if (e.kind === "samples") return tn(e.values, e.sampleRate, e.startTime);
1134
- if (e.kind === "typed-samples") return nn(e);
1135
- if (e.kind === "typed-points") return rn(e) ? an(e) : [];
1132
+ function ln(e) {
1133
+ if (e.kind === "samples") return rn(e.values, e.sampleRate, e.startTime);
1134
+ if (e.kind === "typed-samples") return an(e);
1135
+ if (e.kind === "typed-points") return on(e) ? sn(e) : [];
1136
1136
  let t = [], n = -Infinity, r = !0;
1137
1137
  for (let i of e.points) {
1138
1138
  if (!Number.isFinite(i.x) || !Number.isFinite(i.y)) continue;
1139
- let e = $t(i);
1139
+ let e = tn(i);
1140
1140
  e.x < n && (r = !1), n = e.x, t.push(e);
1141
1141
  }
1142
1142
  return r || t.sort((e, t) => e.x - t.x), t;
1143
1143
  }
1144
- function cn(e, t) {
1145
- let n = t.lineType ?? "linear", r = Zt(t.lineStyle), i = t.pointType ?? "none", a = t.errorBar?.visible === !0, o = n === "none" && i === "none" && !a ? "linear" : n, s = Number(t.errorBar?.width), c = Number(t.errorBar?.capWidth);
1144
+ function un(e, t) {
1145
+ let n = t.lineType ?? "linear", r = $t(t.lineStyle), i = t.pointType ?? "none", a = t.errorBar?.visible === !0, o = n === "none" && i === "none" && !a ? "linear" : n, s = Number(t.errorBar?.width), c = Number(t.errorBar?.capWidth);
1146
1146
  return {
1147
1147
  id: e,
1148
1148
  shotNo: t.shotNo?.trim() || void 0,
@@ -1156,16 +1156,16 @@ function cn(e, t) {
1156
1156
  errorBar: {
1157
1157
  visible: a,
1158
1158
  color: t.errorBar?.color,
1159
- width: Number.isFinite(s) && s > 0 ? s : Yt,
1160
- capWidth: Number.isFinite(c) && c > 0 ? c : Xt
1159
+ width: Number.isFinite(s) && s > 0 ? s : Zt,
1160
+ capWidth: Number.isFinite(c) && c > 0 ? c : Qt
1161
1161
  }
1162
1162
  };
1163
1163
  }
1164
- function ln(e) {
1164
+ function dn(e) {
1165
1165
  if (e.kind !== "series") {
1166
- let t = xe(e, sn);
1166
+ let t = Ce(e, ln);
1167
1167
  return t.length ? [{
1168
- ...cn("series-0", { name: "" }),
1168
+ ...un("series-0", { name: "" }),
1169
1169
  source: t
1170
1170
  }] : [];
1171
1171
  }
@@ -1174,35 +1174,35 @@ function ln(e) {
1174
1174
  let r = e.id?.trim() || `series-${n}`, i = r, a = 1;
1175
1175
  for (; t.has(i);) i = `${r}-${a}`, a += 1;
1176
1176
  t.add(i);
1177
- let o = xe(e.data, sn);
1177
+ let o = Ce(e.data, ln);
1178
1178
  return o.length ? [{
1179
- ...cn(i, e),
1179
+ ...un(i, e),
1180
1180
  source: o
1181
1181
  }] : [];
1182
1182
  });
1183
1183
  }
1184
- function un(e) {
1185
- return ln(e).map(({ source: e, ...t }) => ({
1184
+ function fn(e) {
1185
+ return dn(e).map(({ source: e, ...t }) => ({
1186
1186
  ...t,
1187
1187
  points: e.pointsInRange()
1188
1188
  }));
1189
1189
  }
1190
1190
  //#endregion
1191
1191
  //#region src/core/renderingStrategies.ts
1192
- function dn(e, t) {
1192
+ function pn(e, t) {
1193
1193
  return {
1194
1194
  start: Math.max(0, e.start - 1),
1195
1195
  end: Math.min(t, e.end + 1)
1196
1196
  };
1197
1197
  }
1198
- function fn(e, t) {
1198
+ function mn(e, t) {
1199
1199
  t && e[e.length - 1] !== t && e.push(t);
1200
1200
  }
1201
- var pn = (e) => {
1202
- let { start: t, end: n } = dn(e.range, e.points.length);
1201
+ var hn = (e) => {
1202
+ let { start: t, end: n } = pn(e.range, e.points.length);
1203
1203
  return e.points.slice(t, n);
1204
- }, mn = (e) => {
1205
- let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } = dn(n, t.length);
1204
+ }, gn = (e) => {
1205
+ let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } = pn(n, t.length);
1206
1206
  if (s - o <= 0) return [];
1207
1207
  let c = Math.min(r[0], r[1]), l = Math.max(r[0], r[1]), u = Math.max(4, a.sampling.maxPointCount ?? Math.floor(i * a.maxPointsPerPixel)), d = Math.max(1, Math.floor(u / 4)), f = [], p = l - c || 1, m = Array.from({ length: 4 }, () => -1), h = -1, g = -1, _ = -1, v = -1, y = -1, b = (e, t) => {
1208
1208
  if (e < 0) return t;
@@ -1217,9 +1217,9 @@ var pn = (e) => {
1217
1217
  for (; n >= 0 && m[n] > e;) m[n + 1] = m[n], --n;
1218
1218
  m[n + 1] = e;
1219
1219
  }
1220
- for (let n = 0; n < e; n += 1) fn(f, t[m[n]]);
1220
+ for (let n = 0; n < e; n += 1) mn(f, t[m[n]]);
1221
1221
  };
1222
- fn(f, t[o]);
1222
+ mn(f, t[o]);
1223
1223
  for (let e = n.start; e < n.end; e += 1) {
1224
1224
  let n = t[e], r = Math.min(d - 1, Math.max(0, Math.floor((n.x - c) / p * d)));
1225
1225
  if (r !== h) {
@@ -1228,15 +1228,15 @@ var pn = (e) => {
1228
1228
  }
1229
1229
  _ = e, n.y < t[v].y && (v = e), n.y > t[y].y && (y = e);
1230
1230
  }
1231
- return x(), fn(f, t[s - 1]), f;
1231
+ return x(), mn(f, t[s - 1]), f;
1232
1232
  };
1233
- function hn(e) {
1233
+ function _n(e) {
1234
1234
  let t = Math.max(4, e.options.sampling.maxPointCount ?? Math.floor(e.width * e.options.maxPointsPerPixel));
1235
- return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ? pn : mn;
1235
+ return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ? hn : gn;
1236
1236
  }
1237
1237
  //#endregion
1238
1238
  //#region src/core/renderingOptions.ts
1239
- var gn = {
1239
+ var Q = {
1240
1240
  downsample: !0,
1241
1241
  downsampleThreshold: 2e3,
1242
1242
  maxPointsPerPixel: 4,
@@ -1252,11 +1252,11 @@ var gn = {
1252
1252
  rawPointLimit: 1e5,
1253
1253
  wasmFailureFallback: "error"
1254
1254
  }
1255
- }, _n = [
1255
+ }, vn = [
1256
1256
  "auto",
1257
1257
  "wasm",
1258
1258
  "raw"
1259
- ], vn = [
1259
+ ], yn = [
1260
1260
  "auto",
1261
1261
  "none",
1262
1262
  "peak",
@@ -1267,70 +1267,70 @@ var gn = {
1267
1267
  "minmax",
1268
1268
  "sum"
1269
1269
  ];
1270
- function yn(e) {
1271
- return typeof e == "string" && _n.includes(e);
1272
- }
1273
1270
  function bn(e) {
1274
1271
  return typeof e == "string" && vn.includes(e);
1275
1272
  }
1276
- function xn(e, t, n) {
1273
+ function xn(e) {
1274
+ return typeof e == "string" && yn.includes(e);
1275
+ }
1276
+ function Sn(e, t, n) {
1277
1277
  return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : n;
1278
1278
  }
1279
- function Sn(e, t) {
1279
+ function Cn(e, t) {
1280
1280
  return typeof e == "number" && Number.isFinite(e) && e > 0 ? e : t;
1281
1281
  }
1282
- function Cn(e, t) {
1282
+ function wn(e, t) {
1283
1283
  return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : void 0;
1284
1284
  }
1285
- function wn(e, t) {
1285
+ function Tn(e, t) {
1286
1286
  return Number.isFinite(e) && e >= 0 ? e : t;
1287
1287
  }
1288
- function Tn(e, t, n) {
1289
- let r = yn(e?.mode) ? e.mode : t === !1 ? "raw" : gn.sampling.mode, i = Sn(e?.maxPointsPerPixel, n);
1288
+ function En(e, t, n) {
1289
+ let r = bn(e?.mode) ? e.mode : t === !1 ? "raw" : Q.sampling.mode, i = Cn(e?.maxPointsPerPixel, n);
1290
1290
  return {
1291
1291
  mode: r,
1292
- autoThreshold: xn(e?.autoThreshold, 1, gn.sampling.autoThreshold),
1293
- autoHysteresis: xn(e?.autoHysteresis, 0, gn.sampling.autoHysteresis),
1294
- strategy: bn(e?.strategy) ? e.strategy : gn.sampling.strategy,
1292
+ autoThreshold: Sn(e?.autoThreshold, 1, Q.sampling.autoThreshold),
1293
+ autoHysteresis: Sn(e?.autoHysteresis, 0, Q.sampling.autoHysteresis),
1294
+ strategy: xn(e?.strategy) ? e.strategy : Q.sampling.strategy,
1295
1295
  maxPointsPerPixel: i,
1296
- maxPointCount: Cn(e?.maxPointCount, 1),
1297
- rawPointLimit: xn(e?.rawPointLimit, 1, gn.sampling.rawPointLimit),
1298
- wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback : gn.sampling.wasmFailureFallback
1296
+ maxPointCount: wn(e?.maxPointCount, 1),
1297
+ rawPointLimit: Sn(e?.rawPointLimit, 1, Q.sampling.rawPointLimit),
1298
+ wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback : Q.sampling.wasmFailureFallback
1299
1299
  };
1300
1300
  }
1301
- function En(e) {
1302
- let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n : gn.maxPointsPerPixel, o = Tn(e?.sampling, typeof e?.downsample == "boolean" ? e.downsample : void 0, a);
1301
+ function Dn(e) {
1302
+ let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n : Q.maxPointsPerPixel, o = En(e?.sampling, typeof e?.downsample == "boolean" ? e.downsample : void 0, a);
1303
1303
  return {
1304
1304
  downsample: o.mode !== "raw",
1305
- downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : gn.downsampleThreshold,
1305
+ downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Q.downsampleThreshold,
1306
1306
  maxPointsPerPixel: o.maxPointsPerPixel,
1307
- pointMinSpacing: wn(r, gn.pointMinSpacing),
1308
- errorBarMinSpacing: wn(i, gn.errorBarMinSpacing),
1307
+ pointMinSpacing: Tn(r, Q.pointMinSpacing),
1308
+ errorBarMinSpacing: Tn(i, Q.errorBarMinSpacing),
1309
1309
  sampling: o
1310
1310
  };
1311
1311
  }
1312
1312
  //#endregion
1313
1313
  //#region src/core/rendering.ts
1314
- var Dn = L((e) => e.x), On = () => !0;
1315
- function kn(e, t) {
1314
+ var On = L((e) => e.x), kn = () => !0;
1315
+ function An(e, t) {
1316
1316
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
1317
1317
  return {
1318
- start: Dn.left(e, n),
1319
- end: Dn.right(e, r)
1318
+ start: On.left(e, n),
1319
+ end: On.right(e, r)
1320
1320
  };
1321
1321
  }
1322
- function An(e, t, n) {
1322
+ function jn(e, t, n) {
1323
1323
  if (!Number.isFinite(n) || n <= 0) return !0;
1324
1324
  let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
1325
1325
  for (let n of e) {
1326
- let e = kn(n.points, t);
1326
+ let e = An(n.points, t);
1327
1327
  for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
1328
1328
  }
1329
1329
  return !1;
1330
1330
  }
1331
- function jn(e, t, n, r, i) {
1331
+ function Mn(e, t, n, r, i) {
1332
1332
  let a = Math.max(0, t.start - 1), o = Math.min(e.length, t.end + 1) - a;
1333
- return o <= 0 ? [] : hn({
1333
+ return o <= 0 ? [] : _n({
1334
1334
  visibleCount: o,
1335
1335
  width: r,
1336
1336
  options: i
@@ -1342,10 +1342,10 @@ function jn(e, t, n, r, i) {
1342
1342
  options: i
1343
1343
  });
1344
1344
  }
1345
- function Mn(e, t) {
1345
+ function Nn(e, t) {
1346
1346
  return t.sampling.mode === "wasm" || t.sampling.mode === "auto" && e > t.sampling.autoThreshold;
1347
1347
  }
1348
- function Nn(e, t, n, r) {
1348
+ function Pn(e, t, n, r) {
1349
1349
  let i = Math.max(0, t.start - 1), a = Math.min(e.length, t.end + 1), o = a - i;
1350
1350
  if (o <= 0) return [];
1351
1351
  if (r.sampling.strategy === "none") return e.slice(i, a);
@@ -1355,12 +1355,12 @@ function Nn(e, t, n, r) {
1355
1355
  return e[i + r];
1356
1356
  });
1357
1357
  }
1358
- function Pn(e, t, n, r) {
1359
- return !e.length || n <= 0 ? [] : jn(e, kn(e, t), t, n, r);
1358
+ function Fn(e, t, n, r) {
1359
+ return !e.length || n <= 0 ? [] : Mn(e, An(e, t), t, n, r);
1360
1360
  }
1361
- function Fn(e, t, n, r, i, a, o, s) {
1361
+ function In(e, t, n, r, i, a, o, s) {
1362
1362
  if (!a || i === 0) {
1363
- if (o === On) return e.slice(t.start, t.end);
1363
+ if (o === kn) return e.slice(t.start, t.end);
1364
1364
  let n = [];
1365
1365
  for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
1366
1366
  return n;
@@ -1393,40 +1393,40 @@ function Fn(e, t, n, r, i, a, o, s) {
1393
1393
  let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
1394
1394
  return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
1395
1395
  }
1396
- function In(e) {
1397
- let { lower: t, upper: n } = on(e);
1396
+ function Ln(e) {
1397
+ let { lower: t, upper: n } = cn(e);
1398
1398
  return t !== 0 || n !== 0;
1399
1399
  }
1400
- function Ln(e, t, n, r, i) {
1400
+ function Rn(e, t, n, r, i) {
1401
1401
  if (!e.length || n <= 0) return {
1402
1402
  linePoints: [],
1403
1403
  pointRenderPoints: [],
1404
1404
  errorBarRenderPoints: []
1405
1405
  };
1406
- let a = kn(e, t), o = i.lineVisible ? i.linePointOverride ?? (Mn(a.end - a.start, r) ? Nn(e, a, n, r) : jn(e, a, t, n, r)) : [], s = i.errorBarVisible && i.hasErrorPoints;
1406
+ let a = An(e, t), o = i.lineVisible ? i.linePointOverride ?? (Nn(a.end - a.start, r) ? Pn(e, a, n, r) : Mn(e, a, t, n, r)) : [], s = i.errorBarVisible && i.hasErrorPoints;
1407
1407
  if (i.pointVisible && s) {
1408
- let i = Fn(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, On, In);
1408
+ let i = In(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, kn, Ln);
1409
1409
  return {
1410
1410
  linePoints: o,
1411
1411
  pointRenderPoints: i,
1412
- errorBarRenderPoints: i.filter(In)
1412
+ errorBarRenderPoints: i.filter(Ln)
1413
1413
  };
1414
1414
  }
1415
1415
  return {
1416
1416
  linePoints: o,
1417
- pointRenderPoints: i.pointVisible ? Fn(e, a, t, n, r.pointMinSpacing, r.downsample, On) : [],
1418
- errorBarRenderPoints: s ? Fn(e, a, t, n, r.errorBarMinSpacing, r.downsample, In) : []
1417
+ pointRenderPoints: i.pointVisible ? In(e, a, t, n, r.pointMinSpacing, r.downsample, kn) : [],
1418
+ errorBarRenderPoints: s ? In(e, a, t, n, r.errorBarMinSpacing, r.downsample, Ln) : []
1419
1419
  };
1420
1420
  }
1421
- var Rn = (e, t) => {
1421
+ var zn = (e, t) => {
1422
1422
  let n = typeof e == "number" ? e : Number(e);
1423
1423
  return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
1424
- }, zn = (e) => {
1424
+ }, Bn = (e) => {
1425
1425
  if (!Array.isArray(e)) return [];
1426
1426
  let t = e.filter((e) => typeof e == "string").map((e) => e.trim()).filter(Boolean);
1427
1427
  return Array.from(new Set(t));
1428
1428
  };
1429
- function Bn(e) {
1429
+ function Vn(e) {
1430
1430
  let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
1431
1431
  horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
1432
1432
  vertical: typeof t?.vertical != "boolean" || t.vertical,
@@ -1434,34 +1434,34 @@ function Bn(e) {
1434
1434
  verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
1435
1435
  }]));
1436
1436
  return {
1437
- rowCount: Rn(e?.rowCount, 2),
1438
- columnCount: Rn(e?.columnCount, 1),
1437
+ rowCount: zn(e?.rowCount, 2),
1438
+ columnCount: zn(e?.columnCount, 1),
1439
1439
  showPagination: e?.showPagination ?? !0,
1440
1440
  fillIncompleteLastRow: e?.fillIncompleteLastRow ?? !1,
1441
- trackOrder: zn(e?.trackOrder),
1441
+ trackOrder: Bn(e?.trackOrder),
1442
1442
  hideEmptyTracks: e?.hideEmptyTracks ?? !1,
1443
1443
  trackLines: t
1444
1444
  };
1445
1445
  }
1446
- function Vn(e) {
1446
+ function Hn(e) {
1447
1447
  return e.rowCount * e.columnCount;
1448
1448
  }
1449
- function Hn(e, t) {
1450
- return Math.max(1, Math.ceil(Math.max(0, e) / Vn(t)));
1449
+ function Un(e, t) {
1450
+ return Math.max(1, Math.ceil(Math.max(0, e) / Hn(t)));
1451
1451
  }
1452
- function Un(e, t, n) {
1453
- let r = Hn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * Vn(n);
1454
- return e.slice(i, i + Vn(n));
1452
+ function Wn(e, t, n) {
1453
+ let r = Un(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * Hn(n);
1454
+ return e.slice(i, i + Hn(n));
1455
1455
  }
1456
- function Wn(e) {
1456
+ function Gn(e) {
1457
1457
  return e === "compact" ? 0 : e === "separated" ? 16 : 14;
1458
1458
  }
1459
- function Gn(e, t, n, r, i = [], a, o = !0) {
1460
- let s = Vn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = Wn(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
1459
+ function Kn(e, t, n, r, i = [], a, o = !0) {
1460
+ let s = Hn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = Gn(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
1461
1461
  if (o) {
1462
1462
  if (r === "independent") for (let e = 0; e < u; e += 1) p.add(e);
1463
1463
  else if (r === "compact") p.add(u - 1);
1464
- else for (let e = 0; e < n.columnCount; e += 1) for (let t = Vn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1464
+ else for (let e = 0; e < n.columnCount; e += 1) for (let t = Hn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1465
1465
  p.add(Math.floor(t / n.columnCount));
1466
1466
  break;
1467
1467
  }
@@ -1487,7 +1487,7 @@ function Gn(e, t, n, r, i = [], a, o = !0) {
1487
1487
  };
1488
1488
  });
1489
1489
  }
1490
- function Kn(e, t) {
1490
+ function qn(e, t) {
1491
1491
  let n = /* @__PURE__ */ new Set();
1492
1492
  for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
1493
1493
  let i = e[t];
@@ -1500,27 +1500,33 @@ function Kn(e, t) {
1500
1500
  }
1501
1501
  //#endregion
1502
1502
  //#region src/components/core/xDomain.ts
1503
- var qn = 10;
1504
- function Jn(e) {
1505
- return !Number.isFinite(e) || (e ?? 0) < 1 ? qn : Math.max(1, Math.trunc(e));
1506
- }
1507
- function Yn(e, t, n = !1) {
1508
- if (t.type !== "nice" || n && !t.includeExplicit) return [...e];
1509
- let r = W().domain(e).nice(Jn(t.tickCount)).domain();
1503
+ var Jn = 10, Yn = 1e3, Xn = 100;
1504
+ function Zn(e) {
1505
+ return !Number.isFinite(e) || (e ?? 0) < 1 ? Jn : Math.max(1, Math.trunc(e));
1506
+ }
1507
+ function Qn(e, t, n = !1) {
1508
+ if (n && !t.includeExplicit) return [...e];
1509
+ if (t.type === "integer-ms") {
1510
+ let t = e[0] * Yn, n = e[1] * Yn;
1511
+ if (!Number.isSafeInteger(Math.ceil(Math.abs(t))) || !Number.isSafeInteger(Math.ceil(Math.abs(n))) || n - t < 1) return [...e];
1512
+ let r = n - t >= Xn ? Math.max(10, q(t, n, Jn) / 10) : 1;
1513
+ return [Math.floor(t / r) * r / Yn, Math.ceil(n / r) * r / Yn];
1514
+ }
1515
+ if (t.type !== "nice") return [...e];
1516
+ let r = W().domain(e).nice(Zn(t.tickCount)).domain();
1510
1517
  return t.bounds === "end" ? [e[0], r[1]] : r;
1511
1518
  }
1512
1519
  //#endregion
1513
1520
  //#region src/components/core/trackLayoutBuilder.ts
1514
- function Xn(e, t, n) {
1521
+ function $n(e, t, n) {
1515
1522
  let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
1516
- return i ? Yn(i, r, !0) : Yn(e.xDomain, r);
1523
+ return i ? Qn(i, r, !0) : Qn(e.xDomain, r);
1517
1524
  }
1518
- function Zn(e) {
1525
+ function er(e) {
1519
1526
  let t = e.cells.map((e) => ({
1520
1527
  ...e,
1521
1528
  hasSeries: !!e.series
1522
- })), n = Kn(t, e.grid.columnCount);
1523
- return t.flatMap((t, r) => {
1529
+ })), n = qn(t, e.grid.columnCount), r = t.flatMap((t, r) => {
1524
1530
  let i = !t.series || t.series.series.length === 0;
1525
1531
  if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
1526
1532
  let a = t.series ?? {
@@ -1529,14 +1535,14 @@ function Zn(e) {
1529
1535
  visibleSeries: [],
1530
1536
  xDomain: [0, 1],
1531
1537
  yDomain: [0, 1]
1532
- }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W(Xn(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? J : J).rescaleX(c), u = ur(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
1538
+ }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W($n(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? J : J).rescaleX(c), u = pr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
1533
1539
  left: 0,
1534
1540
  right: 0
1535
1541
  }, f = {
1536
1542
  left: 0,
1537
1543
  right: 0
1538
1544
  }, p = u.map((n) => {
1539
- let r = d[n.side]++, i = rr(t.plotHeight, e.yAxisSplitNumber), a = ir(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 } = dr(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 12 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 12 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
1545
+ let r = d[n.side]++, i = or(t.plotHeight, e.yAxisSplitNumber), a = sr(n.domain, i, e.yAxisNice !== !1), o = W(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = mr(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 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);
1540
1546
  return p || (f[n.side] += u), {
1541
1547
  index: n.index,
1542
1548
  side: n.side,
@@ -1544,20 +1550,20 @@ function Zn(e) {
1544
1550
  labelX: g,
1545
1551
  scale: o,
1546
1552
  majorTicks: s,
1547
- minorTicks: gt(s, 2),
1553
+ minorTicks: vt(s, 2),
1548
1554
  tickValues: c,
1549
1555
  seriesList: n.seriesList
1550
1556
  };
1551
1557
  }), m = W(a.yDomain, [t.plotHeight, 0]);
1552
1558
  e.yAxisNice !== !1 && m.nice();
1553
1559
  let h = p[0]?.scale ?? m, g = l.ticks(Math.max(2, Math.floor(t.width / 100))), _ = p[0]?.majorTicks ?? [], v = p[0]?.tickValues ?? [], y = l.domain(), b = {
1554
- start: At(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1555
- end: At(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1560
+ start: Mt(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1561
+ end: Mt(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1556
1562
  }, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
1557
1563
  let n = l(e);
1558
1564
  return n > x && n < t.width - S;
1559
1565
  }), w = a.visibleSeries.map((n) => {
1560
- let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Ln(n.points, y, t.width, e.rendering, {
1566
+ let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Rn(n.points, y, t.width, e.rendering, {
1561
1567
  lineVisible: !i && n.lineType !== "none",
1562
1568
  linePointOverride: e.linePointOverrides?.[n.id],
1563
1569
  pointVisible: n.pointType !== "none",
@@ -1592,7 +1598,7 @@ function Zn(e) {
1592
1598
  yScale: h,
1593
1599
  yAxes: p,
1594
1600
  xMajorTicks: g,
1595
- xMinorTicks: gt(g, 3, y),
1601
+ xMinorTicks: vt(g, 3, y),
1596
1602
  yMajorTicks: _,
1597
1603
  yMinorTicks: p[0]?.minorTicks ?? [],
1598
1604
  yAxisTickValues: v,
@@ -1606,15 +1612,28 @@ function Zn(e) {
1606
1612
  },
1607
1613
  showXAxis: (i || o) && (e.displayMode === "independent" || (e.displayMode === "compact" ? t.isLastRow ?? t.row === e.grid.rowCount - 1 : n.has(t.slotIndex)))
1608
1614
  };
1609
- });
1615
+ }), i = /* @__PURE__ */ new Map();
1616
+ for (let t of r) {
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;
1610
1629
  }
1611
1630
  //#endregion
1612
1631
  //#region src/components/core/layout.ts
1613
- var Qn = 7, $n = 7, er = 4, tr = 0, nr = 12;
1614
- function rr(e, t) {
1632
+ var tr = 7, nr = 7, rr = 4, ir = 0, ar = 20;
1633
+ function or(e, t) {
1615
1634
  return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
1616
1635
  }
1617
- function ir(e, t = 5, n = !0) {
1636
+ function sr(e, t = 5, n = !0) {
1618
1637
  let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
1619
1638
  n && i.nice(Math.max(1, r - 1));
1620
1639
  let a = i.domain(), [o, s] = a;
@@ -1623,15 +1642,15 @@ function ir(e, t = 5, n = !0) {
1623
1642
  values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
1624
1643
  };
1625
1644
  }
1626
- function ar(e, t, n, r) {
1627
- return Et(e, {
1645
+ function cr(e, t, n, r) {
1646
+ return Ot(e, {
1628
1647
  axisMin: t[0],
1629
1648
  axisMax: t[1],
1630
1649
  topTickValue: Math.max(...n),
1631
1650
  unit: r
1632
1651
  });
1633
1652
  }
1634
- function or(e) {
1653
+ function lr(e) {
1635
1654
  return e >= 4 ? [
1636
1655
  "left",
1637
1656
  "left",
@@ -1643,13 +1662,13 @@ function or(e) {
1643
1662
  "right"
1644
1663
  ] : e === 2 ? ["left", "right"] : ["left"];
1645
1664
  }
1646
- var sr = /* @__PURE__ */ new WeakMap();
1647
- function cr(e, t) {
1648
- let n = sr.get(e);
1649
- n || (n = /* @__PURE__ */ new Map(), sr.set(e, n));
1665
+ var ur = /* @__PURE__ */ new WeakMap();
1666
+ function dr(e, t) {
1667
+ let n = ur.get(e);
1668
+ n || (n = /* @__PURE__ */ new Map(), ur.set(e, n));
1650
1669
  let r = n.get(t);
1651
1670
  if (r) return r;
1652
- let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = or(i), o = Array.from({ length: i }, (e, t) => ({
1671
+ let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = lr(i), o = Array.from({ length: i }, (e, t) => ({
1653
1672
  index: t,
1654
1673
  side: a[t],
1655
1674
  seriesList: [],
@@ -1662,50 +1681,50 @@ function cr(e, t) {
1662
1681
  if (t === "single-axis") n.domain = e.yDomain;
1663
1682
  else {
1664
1683
  let t = n.seriesList.flatMap((e) => e.yDomain);
1665
- n.domain = t.length > 0 ? ht(t) : e.yDomain;
1684
+ n.domain = t.length > 0 ? _t(t) : e.yDomain;
1666
1685
  }
1667
1686
  }), n.set(t, o), o;
1668
1687
  }
1669
- function lr(e, t, n, r) {
1670
- let i = Gt(e, r);
1671
- return cr(e, t).map((e) => {
1688
+ function fr(e, t, n, r) {
1689
+ let i = qt(e, r);
1690
+ return dr(e, t).map((e) => {
1672
1691
  if (i) return {
1673
1692
  ...e,
1674
1693
  domain: i,
1675
1694
  fixed: !0
1676
1695
  };
1677
- let t = e.seriesList.map((e) => Kt(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Kt(e, n, r));
1696
+ let t = e.seriesList.map((e) => Jt(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Jt(e, n, r));
1678
1697
  return a ? {
1679
1698
  ...e,
1680
- domain: Jt(t),
1699
+ domain: Xt(t),
1681
1700
  fixed: a
1682
1701
  } : e;
1683
1702
  });
1684
1703
  }
1685
- function ur(e, t, n, r, i) {
1704
+ function pr(e, t, n, r, i) {
1686
1705
  let a = i?.[e.id];
1687
- return lr(e, t, n, r).map((e) => !e.fixed && a ? {
1706
+ return fr(e, t, n, r).map((e) => !e.fixed && a ? {
1688
1707
  ...e,
1689
1708
  domain: a
1690
1709
  } : e);
1691
1710
  }
1692
- function dr(e, t = !0, n, r, i = 5, a = !1) {
1711
+ function mr(e, t = !0, n, r, i = 5, a = !1) {
1693
1712
  let o = n ? {
1694
1713
  domain: e,
1695
1714
  values: n
1696
- } : ir(e, i, t), s = [o.values];
1697
- return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => ar(t, o.domain, e, r).length))) * Qn };
1715
+ } : sr(e, i, t), s = [o.values];
1716
+ return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => cr(t, o.domain, e, r).length))) * tr };
1698
1717
  }
1699
- function fr(e, t, n, r, i, a = !0, o = !1, s) {
1718
+ function hr(e, t, n, r, i, a = !0, o = !1, s) {
1700
1719
  let c = /* @__PURE__ */ new Map();
1701
1720
  e.forEach((e) => {
1702
1721
  let l = {
1703
1722
  left: 0,
1704
1723
  right: 0
1705
1724
  };
1706
- ur(e, t, n, r, s).forEach((e) => {
1707
- let t = l[e.side]++, n = `${e.side}:${t}`, r = dr(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
1708
- c.set(n, Math.max(c.get(n) ?? Qn, r));
1725
+ pr(e, t, n, r, s).forEach((e) => {
1726
+ let t = l[e.side]++, n = `${e.side}:${t}`, r = mr(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
1727
+ c.set(n, Math.max(c.get(n) ?? tr, r));
1709
1728
  });
1710
1729
  });
1711
1730
  let l = [], u = {
@@ -1714,7 +1733,7 @@ function fr(e, t, n, r, i, a = !0, o = !1, s) {
1714
1733
  };
1715
1734
  return ["left", "right"].forEach((e) => {
1716
1735
  Array.from(c.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
1717
- let n = c.get(`${e}:${t}`) ?? Qn, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + $n + tr + nr / 2) * (e === "left" ? -1 : 1), a = n + $n + tr + nr + er;
1736
+ let n = c.get(`${e}:${t}`) ?? tr, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + nr + ir + ar / 2) * (e === "left" ? -1 : 1), a = n + nr + ir + ar + rr;
1718
1737
  l.push({
1719
1738
  side: e,
1720
1739
  sideIndex: t,
@@ -1728,7 +1747,7 @@ function fr(e, t, n, r, i, a = !0, o = !1, s) {
1728
1747
  clearance: u
1729
1748
  };
1730
1749
  }
1731
- function pr(e, t, n) {
1750
+ function gr(e, t, n) {
1732
1751
  let r = (e) => {
1733
1752
  let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
1734
1753
  return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
@@ -1747,11 +1766,11 @@ function pr(e, t, n) {
1747
1766
  }
1748
1767
  //#endregion
1749
1768
  //#region src/components/annotation/useWaveformChartAnnotations.ts
1750
- var mr = 0;
1751
- function hr() {
1752
- return mr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${mr}`;
1769
+ var _r = 0;
1770
+ function vr() {
1771
+ return _r += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${_r}`;
1753
1772
  }
1754
- function gr(e) {
1773
+ function yr(e) {
1755
1774
  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("");
1756
1775
  function S(e) {
1757
1776
  if (!i.value.some((t) => t.id === e)) return;
@@ -1784,7 +1803,7 @@ function gr(e) {
1784
1803
  };
1785
1804
  }
1786
1805
  function T(e, t, n) {
1787
- b.value = "", s.openCreate(e, hr, t), c.value = n;
1806
+ b.value = "", s.openCreate(e, vr, t), c.value = n;
1788
1807
  let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
1789
1808
  r?.mode === "add" && (r.annotation.style = {
1790
1809
  borderColor: i?.color || "#1677ff",
@@ -1844,7 +1863,7 @@ function gr(e) {
1844
1863
  let e = l.value[n];
1845
1864
  return e?.hasVisibleSeries ? e : void 0;
1846
1865
  }
1847
- return pr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1866
+ return gr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1848
1867
  }
1849
1868
  function A(e, t) {
1850
1869
  let n = e.currentTarget;
@@ -1853,7 +1872,7 @@ function gr(e) {
1853
1872
  if (!o) return null;
1854
1873
  let s = Math.max(0, Math.min(m.value, r)), c = Math.max(0, Math.min(o.width, s - o.left)), d = o.xScale.invert(c);
1855
1874
  return {
1856
- candidates: ze(u(o), d, c, a),
1875
+ candidates: Ve(u(o), d, c, a),
1857
1876
  editorAnchor: C(e, t)
1858
1877
  };
1859
1878
  }
@@ -1904,7 +1923,7 @@ function gr(e) {
1904
1923
  let e = s.contextMenu.value, n = t.annotations.find((t) => t.id === e?.annotationId);
1905
1924
  if (!n) return;
1906
1925
  let r = l.value.find((e) => e.seriesList.some((e) => e.id === n.seriesId));
1907
- c.value = r ? ze(u(r), n.x, r.xScale(n.x), r.top + d(r, n.seriesId)(n.y)) : [], s.openEdit(n, e?.editorAnchor ?? w(n));
1926
+ c.value = r ? Ve(u(r), n.x, r.xScale(n.x), r.top + d(r, n.seriesId)(n.y)) : [], s.openEdit(n, e?.editorAnchor ?? w(n));
1908
1927
  }
1909
1928
  function R() {
1910
1929
  if (y.value) return;
@@ -1935,7 +1954,7 @@ function gr(e) {
1935
1954
  }
1936
1955
  //#endregion
1937
1956
  //#region src/components/interaction/useWaveformHover.ts
1938
- function _r(e) {
1957
+ function br(e) {
1939
1958
  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) => {
1940
1959
  let r = n.points[t];
1941
1960
  return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
@@ -1958,12 +1977,12 @@ function _r(e) {
1958
1977
  }, C = (e = !1) => {
1959
1978
  r.value = !e, y();
1960
1979
  }, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => {
1961
- let n = e.source ?? Z(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
1980
+ let n = e.source ?? X(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
1962
1981
  if (!(!r || !i)) return t <= r.x ? r : t >= i.x ? i : n.nearestPoint(t);
1963
1982
  }, E = (e, t) => {
1964
1983
  let n, r = -Infinity;
1965
1984
  if (e.seriesList.forEach((e) => {
1966
- let t = e.source ?? Z(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
1985
+ let t = e.source ?? X(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
1967
1986
  if (!i || !a) return;
1968
1987
  let o = a.x - i.x;
1969
1988
  o > r && (r = o, n = [i.x, a.x]);
@@ -2020,14 +2039,14 @@ function _r(e) {
2020
2039
  }
2021
2040
  //#endregion
2022
2041
  //#region src/components/interaction/pointerCapture.ts
2023
- function vr(e, t) {
2042
+ function xr(e, t) {
2024
2043
  try {
2025
2044
  e?.releasePointerCapture?.(t);
2026
2045
  } catch {}
2027
2046
  }
2028
2047
  //#endregion
2029
2048
  //#region src/components/interaction/viewportInteractionState.ts
2030
- function yr(e) {
2049
+ function Sr(e) {
2031
2050
  return {
2032
2051
  ...e,
2033
2052
  currentX: e.startX,
@@ -2036,37 +2055,37 @@ function yr(e) {
2036
2055
  yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
2037
2056
  };
2038
2057
  }
2039
- function br(e, t) {
2058
+ function Cr(e, t) {
2040
2059
  return {
2041
2060
  ...e,
2042
2061
  ...t
2043
2062
  };
2044
2063
  }
2045
- function xr(e) {
2064
+ function wr(e) {
2046
2065
  return {
2047
2066
  state: e,
2048
2067
  accepted: !1,
2049
2068
  completed: null
2050
2069
  };
2051
2070
  }
2052
- function Sr(e, t) {
2071
+ function Tr(e, t) {
2053
2072
  switch (t.type) {
2054
- case "begin": return e ? xr(e) : {
2055
- state: yr(t.gesture),
2073
+ case "begin": return e ? wr(e) : {
2074
+ state: Sr(t.gesture),
2056
2075
  accepted: !0,
2057
2076
  completed: null
2058
2077
  };
2059
- case "move": return !e || e.pointerId !== t.pointerId ? xr(e) : {
2060
- state: br(e, t.position),
2078
+ case "move": return !e || e.pointerId !== t.pointerId ? wr(e) : {
2079
+ state: Cr(e, t.position),
2061
2080
  accepted: !0,
2062
2081
  completed: null
2063
2082
  };
2064
- case "finish": return !e || e.pointerId !== t.pointerId ? xr(e) : {
2083
+ case "finish": return !e || e.pointerId !== t.pointerId ? wr(e) : {
2065
2084
  state: null,
2066
2085
  accepted: !0,
2067
- completed: br(e, t.position)
2086
+ completed: Cr(e, t.position)
2068
2087
  };
2069
- case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? xr(e) : {
2088
+ case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? wr(e) : {
2070
2089
  state: null,
2071
2090
  accepted: !0,
2072
2091
  completed: null
@@ -2080,32 +2099,32 @@ function Sr(e, t) {
2080
2099
  }
2081
2100
  //#endregion
2082
2101
  //#region src/components/interaction/zoomConstraints.ts
2083
- var Cr = /* @__PURE__ */ new WeakMap();
2084
- function wr(e) {
2102
+ var Er = /* @__PURE__ */ new WeakMap();
2103
+ function Dr(e) {
2085
2104
  return e[0] <= e[1] ? [...e] : [e[1], e[0]];
2086
2105
  }
2087
- function Tr(e) {
2106
+ function Or(e) {
2088
2107
  return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
2089
2108
  }
2090
- function Er(e, t) {
2091
- let n = `${t[0]}\u0000${t[1]}`, r = Cr.get(e)?.get(n);
2109
+ function kr(e, t) {
2110
+ let n = `${t[0]}\u0000${t[1]}`, r = Er.get(e)?.get(n);
2092
2111
  if (r) return r;
2093
2112
  let i = /* @__PURE__ */ new Set();
2094
2113
  for (let n of e) {
2095
- let e = n.source ?? Z(n.points);
2114
+ let e = n.source ?? X(n.points);
2096
2115
  for (let n = 0; n < e.length; n += 1) {
2097
2116
  let r = e.pointAt(n);
2098
2117
  r.x >= t[0] && r.x <= t[1] && i.add(r.x);
2099
2118
  }
2100
2119
  }
2101
- let a = Array.from(i).sort((e, t) => e - t), o = Cr.get(e) ?? /* @__PURE__ */ new Map();
2102
- return o.set(n, a), Cr.set(e, o), a;
2120
+ let a = Array.from(i).sort((e, t) => e - t), o = Er.get(e) ?? /* @__PURE__ */ new Map();
2121
+ return o.set(n, a), Er.set(e, o), a;
2103
2122
  }
2104
- function Dr(e, t, n) {
2123
+ function Ar(e, t, n) {
2105
2124
  if (n <= 1) return 0;
2106
2125
  let r = 0;
2107
2126
  for (let i of e) {
2108
- let e = Er(i, t);
2127
+ let e = kr(i, t);
2109
2128
  if (e.length < n) return t[1] - t[0];
2110
2129
  let a = Infinity;
2111
2130
  for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
@@ -2114,17 +2133,17 @@ function Dr(e, t, n) {
2114
2133
  }
2115
2134
  return r;
2116
2135
  }
2117
- function Or(e, t, n) {
2118
- let r = wr(e), i = r[1] - r[0];
2136
+ function jr(e, t, n) {
2137
+ let r = Dr(e), i = r[1] - r[0];
2119
2138
  if (!Number.isFinite(i) || i <= 0) return 0;
2120
- let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Tr(n.minVisiblePoints), s = Dr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
2139
+ let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Or(n.minVisiblePoints), s = Ar(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Bt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Bt.DEFAULT_MAX_SCALE : 0;
2121
2140
  return Math.max(a, s, l);
2122
2141
  }
2123
- function kr(e, t, n, r) {
2142
+ function Mr(e, t, n, r) {
2124
2143
  if (r <= 0) return e;
2125
2144
  let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
2126
2145
  for (let e of n) {
2127
- let n = Er(e, t);
2146
+ let n = kr(e, t);
2128
2147
  if (n.length < r) return [...t];
2129
2148
  if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
2130
2149
  let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
@@ -2136,13 +2155,13 @@ function kr(e, t, n, r) {
2136
2155
  }
2137
2156
  return a;
2138
2157
  }
2139
- function Ar(e, t, n, r) {
2140
- let i = wr(t), a = i[1] - i[0];
2158
+ function Nr(e, t, n, r) {
2159
+ let i = Dr(t), a = i[1] - i[0];
2141
2160
  if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
2142
- let o = kr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Tr(r.minVisiblePoints)), s = Or(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));
2161
+ let o = Mr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Or(r.minVisiblePoints)), s = jr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2143
2162
  return [u, u + c];
2144
2163
  }
2145
- function jr(e, t, n) {
2164
+ function Pr(e, t, n) {
2146
2165
  let r = t[1] - t[0], i = e[1] - e[0];
2147
2166
  if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return J;
2148
2167
  let a = r / i, o = W(t, [0, n]);
@@ -2150,7 +2169,7 @@ function jr(e, t, n) {
2150
2169
  }
2151
2170
  //#endregion
2152
2171
  //#region src/components/interaction/viewportDomain.ts
2153
- function Mr(e) {
2172
+ function Fr(e) {
2154
2173
  return (t, n) => {
2155
2174
  if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
2156
2175
  if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
@@ -2158,12 +2177,12 @@ function Mr(e) {
2158
2177
  r.forEach((n) => {
2159
2178
  let r = e.trackLayouts.value.find((e) => e.index === n);
2160
2179
  if (!r) return;
2161
- let a = e.resolveInitialTrackDomain(r), o = Ar(t, a, [r.seriesList], e.props);
2162
- i[n] = jr(o, a, r.width);
2180
+ let a = e.resolveInitialTrackDomain(r), o = Nr(t, a, [r.seriesList], e.props);
2181
+ i[n] = Pr(o, a, r.width);
2163
2182
  }), e.independentTransforms.value = i;
2164
2183
  } else {
2165
- let n = e.initialXDomain.value, r = Ar(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2166
- e.sharedTransform.value = jr(r, n, e.innerWidth.value);
2184
+ let n = e.initialXDomain.value, r = Nr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2185
+ e.sharedTransform.value = Pr(r, n, e.innerWidth.value);
2167
2186
  }
2168
2187
  e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
2169
2188
  }
@@ -2171,14 +2190,14 @@ function Mr(e) {
2171
2190
  }
2172
2191
  //#endregion
2173
2192
  //#region src/components/interaction/zoomEventPayload.ts
2174
- function Nr(e) {
2193
+ function Ir(e) {
2175
2194
  return [...e].sort().join("\0");
2176
2195
  }
2177
- function Pr(e, t) {
2178
- let n = Nr(t);
2179
- return e.find((e) => Nr(e.seriesList.map((e) => e.id)) === n);
2196
+ function Lr(e, t) {
2197
+ let n = Ir(t);
2198
+ return e.find((e) => Ir(e.seriesList.map((e) => e.id)) === n);
2180
2199
  }
2181
- function Fr(e, t, n, r) {
2200
+ function Rr(e, t, n, r) {
2182
2201
  e("zoom-intent", r ? {
2183
2202
  start: t[0],
2184
2203
  end: t[1],
@@ -2191,9 +2210,9 @@ function Fr(e, t, n, r) {
2191
2210
  gesture: "box"
2192
2211
  });
2193
2212
  }
2194
- function Ir(e, t, n) {
2213
+ function zr(e, t, n) {
2195
2214
  for (let r of n) {
2196
- let n = Pr(t, r);
2215
+ let n = Lr(t, r);
2197
2216
  if (!n) continue;
2198
2217
  let i = n.xScale.domain(), a = n.yScale.domain();
2199
2218
  e("zoom-end", {
@@ -2207,7 +2226,7 @@ function Ir(e, t, n) {
2207
2226
  });
2208
2227
  }
2209
2228
  }
2210
- function Lr(e, t, n) {
2229
+ function Br(e, t, n) {
2211
2230
  let r = n.filter((e) => e.hasVisibleSeries);
2212
2231
  if (r.length === 1) {
2213
2232
  let n = r[0]?.yScale.domain();
@@ -2229,13 +2248,13 @@ function Lr(e, t, n) {
2229
2248
  }
2230
2249
  //#endregion
2231
2250
  //#region src/components/interaction/useWaveformViewport.ts
2232
- function Rr(e) {
2251
+ function Vr(e) {
2233
2252
  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) => {
2234
2253
  let n = O.value, r = t?.currentTarget;
2235
- vr(n, e), r && r !== n && vr(r, e);
2254
+ xr(n, e), r && r !== n && xr(r, e);
2236
2255
  }, A = (e, t) => {
2237
2256
  let n = i.value;
2238
- !n || n.pointerId !== e || (k(e, t), i.value = Sr(i.value, {
2257
+ !n || n.pointerId !== e || (k(e, t), i.value = Tr(i.value, {
2239
2258
  type: "cancel",
2240
2259
  pointerId: e
2241
2260
  }).state, O.value = void 0);
@@ -2258,7 +2277,7 @@ function Rr(e) {
2258
2277
  if (!n.zoomable && !s || !_.value || e.button !== 0) return;
2259
2278
  let c = e.currentTarget, d = o.value.find((e) => e.index === t);
2260
2279
  if (!d) return;
2261
- 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 = Sr(i.value, {
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 = Tr(i.value, {
2262
2281
  type: "begin",
2263
2282
  gesture: {
2264
2283
  trackIndex: t,
@@ -2280,12 +2299,12 @@ function Rr(e) {
2280
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 = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
2281
2300
  if (e.independent) {
2282
2301
  let e = [...m.value];
2283
- e[t.index] = jr(v, _, i), m.value = e;
2284
- } else p.value = jr(v, _, l.value);
2302
+ e[t.index] = Pr(v, _, i), m.value = e;
2303
+ } else p.value = Pr(v, _, l.value);
2285
2304
  let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
2286
2305
  y.forEach((t) => {
2287
2306
  let r = s.value.find((e) => e.id === t.id);
2288
- if (r && qt(r, n.yDomain, n.yDomains)) return;
2307
+ if (r && Yt(r, n.yDomain, n.yDomains)) return;
2289
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 = M([o[0] + d / a * l, o[1] + d / a * l], c);
2290
2309
  e.independent ? x[t.index] = u : S[i] = u;
2291
2310
  }), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
@@ -2295,7 +2314,7 @@ function Rr(e) {
2295
2314
  if (!t || !n || e.pointerId !== t.pointerId) return;
2296
2315
  let r = o.value.find((e) => e.index === t.trackIndex);
2297
2316
  if (!r) return;
2298
- 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 = Sr(i.value, {
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 = Tr(i.value, {
2299
2318
  type: "move",
2300
2319
  pointerId: e.pointerId,
2301
2320
  position: {
@@ -2314,12 +2333,12 @@ function Rr(e) {
2314
2333
  if (!t || (e.independent ? !x(t) : !S())) return;
2315
2334
  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));
2316
2335
  if (s - a < 6) return;
2317
- let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Ar([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
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 = Nr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2318
2337
  if (e.independent) {
2319
2338
  let e = [...m.value];
2320
- e[t.index] = jr(h, u, t.width), m.value = e;
2321
- } else p.value = jr(h, u, l.value);
2322
- Fr(r, h, t, e.independent);
2339
+ e[t.index] = Pr(h, u, t.width), m.value = e;
2340
+ } else p.value = Pr(h, u, l.value);
2341
+ Rr(r, h, t, e.independent);
2323
2342
  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()]));
2324
2343
  if (r("zoom-change", h), e.independent) {
2325
2344
  let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
@@ -2360,7 +2379,7 @@ function Rr(e) {
2360
2379
  A(t.pointerId, e);
2361
2380
  return;
2362
2381
  }
2363
- 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 = Sr(i.value, {
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 = Tr(i.value, {
2364
2383
  type: "finish",
2365
2384
  pointerId: e.pointerId,
2366
2385
  position: {
@@ -2392,7 +2411,7 @@ function Rr(e) {
2392
2411
  finishViewportDrag: B,
2393
2412
  cancelViewportDrag: R,
2394
2413
  resetViewport: V,
2395
- setViewportDomain: Mr({
2414
+ setViewportDomain: Fr({
2396
2415
  props: n,
2397
2416
  trackLayouts: o,
2398
2417
  initialXDomain: c,
@@ -2424,7 +2443,7 @@ function Rr(e) {
2424
2443
  }
2425
2444
  //#endregion
2426
2445
  //#region src/components/utils/useAnimationFrameThrottle.ts
2427
- function zr() {
2446
+ function Hr() {
2428
2447
  let e = null, t = null;
2429
2448
  function n(n) {
2430
2449
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -2453,8 +2472,8 @@ function zr() {
2453
2472
  }
2454
2473
  //#endregion
2455
2474
  //#region src/components/interaction/useWaveformZoom.ts
2456
- function Br(e) {
2457
- 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 = zr(), 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) => {
2475
+ function Ur(e) {
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 = Hr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
2458
2477
  if (y || m.value) return;
2459
2478
  g(), b = e.transform, x = "wheel", I();
2460
2479
  let t = e.transform.rescaleX(W(c.value, [0, u.value])).domain();
@@ -2501,7 +2520,7 @@ function Br(e) {
2501
2520
  if (!t) return;
2502
2521
  if (r.get(e) === "wheel") {
2503
2522
  let e = t.seriesList.map((e) => e.id);
2504
- T.set(Nr(e), e);
2523
+ T.set(Ir(e), e);
2505
2524
  }
2506
2525
  let a = t.xScale.domain();
2507
2526
  n("zoom-change", [a[0], a[1]]);
@@ -2509,14 +2528,14 @@ function Br(e) {
2509
2528
  }
2510
2529
  let N = () => {
2511
2530
  if (t.displayMode === "independent") {
2512
- Ir(n, s.value, T.values()), T.clear();
2531
+ zr(n, s.value, T.values()), T.clear();
2513
2532
  return;
2514
2533
  }
2515
2534
  if (S !== "wheel") {
2516
2535
  S = null;
2517
2536
  return;
2518
2537
  }
2519
- Lr(n, l.value, s.value), S = null;
2538
+ Br(n, l.value, s.value), S = null;
2520
2539
  }, P = () => {
2521
2540
  v.flush(), M(), !(S === "wheel" || T.size) && N();
2522
2541
  }, F = (e) => {
@@ -2535,19 +2554,19 @@ function Br(e) {
2535
2554
  O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => G(e).on(".zoom", null)), _.clear();
2536
2555
  }, B = (e, n) => {
2537
2556
  let r = Math.abs(e[1] - e[0]);
2538
- if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
2539
- let i = Or(e, n, t);
2540
- return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
2541
- }, V = (e, n, r, i) => jr(Ar(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2557
+ if (!Number.isFinite(r) || r <= 0) return Bt.MIN_SCALE;
2558
+ let i = jr(e, n, t);
2559
+ return Math.max(Bt.MIN_SCALE, i > 0 ? r / i : Infinity);
2560
+ }, V = (e, n, r, i) => Pr(Nr(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2542
2561
  let n = Number(t.minVisiblePoints);
2543
- return An(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2562
+ return jn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2544
2563
  }, U = () => {
2545
2564
  let e = s.value.filter((e) => e.hasVisibleSeries);
2546
2565
  return e.length > 0 && e.every(H);
2547
2566
  }, ee = (e, t) => {
2548
2567
  if (e.type !== "wheel") return !1;
2549
2568
  let n = e.deltaY;
2550
- return n < 0 ? t : n > 0 && ie(e.currentTarget).k > Rt.MIN_SCALE;
2569
+ return n < 0 ? t : n > 0 && ae(e.currentTarget).k > Bt.MIN_SCALE;
2551
2570
  };
2552
2571
  return {
2553
2572
  cancelPendingZoom: R,
@@ -2562,7 +2581,7 @@ function Br(e) {
2562
2581
  s.value.forEach((t) => {
2563
2582
  let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
2564
2583
  if (!n) return;
2565
- let i = h(t), a = [t.seriesList], c = q().filter((e) => {
2584
+ let i = h(t), a = [t.seriesList], c = ie().filter((e) => {
2566
2585
  let n = s.value.find((e) => e.index === t.index) ?? t;
2567
2586
  return ee(e, H(n));
2568
2587
  }).scaleExtent([1, B(i, a)]).constrain((e) => V(e, i, t.width, a)).extent([[0, 0], [t.width, t.height]]).translateExtent([[0, 0], [t.width, t.height]]).on("zoom", (e) => j(e, t.index)).on("end", () => F(e));
@@ -2577,7 +2596,7 @@ function Br(e) {
2577
2596
  }
2578
2597
  let n = i.value;
2579
2598
  if (!n) return;
2580
- let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = q().filter((e) => ee(e, U())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
2599
+ let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = ie().filter((e) => ee(e, U())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
2581
2600
  _.set("shared", g), y = !0;
2582
2601
  try {
2583
2602
  G(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
@@ -2590,13 +2609,13 @@ function Br(e) {
2590
2609
  }
2591
2610
  //#endregion
2592
2611
  //#region src/components/core/useWaveformChartLifecycle.ts
2593
- function Vr(e) {
2612
+ function Wr(e) {
2594
2613
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2595
2614
  }
2596
- function Hr(e) {
2615
+ function Gr(e) {
2597
2616
  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;
2598
2617
  function te(e) {
2599
- z.value || e.code !== "Space" || !t.pannable || !_.value || Vr(e.target) || (m.value = !0, e.preventDefault());
2618
+ z.value || e.code !== "Space" || !t.pannable || !_.value || Wr(e.target) || (m.value = !0, e.preventDefault());
2600
2619
  }
2601
2620
  function ne(e) {
2602
2621
  e.code === "Space" && (m.value = !1);
@@ -2610,7 +2629,7 @@ function Hr(e) {
2610
2629
  if (t.displayMode === "independent") {
2611
2630
  K = void 0, q = new Map(w.value.flatMap((e) => {
2612
2631
  let t = e.xScale.domain(), n = I(e);
2613
- return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Nr(e.seriesList.map((e) => e.id)), t]] : [];
2632
+ return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Ir(e.seriesList.map((e) => e.id)), t]] : [];
2614
2633
  }));
2615
2634
  return;
2616
2635
  }
@@ -2627,14 +2646,14 @@ function Hr(e) {
2627
2646
  if (t.displayMode === "independent" && q) {
2628
2647
  let e = C.value.map(() => J);
2629
2648
  w.value.forEach((n) => {
2630
- let r = q?.get(Nr(n.seriesList.map((e) => e.id)));
2649
+ let r = q?.get(Ir(n.seriesList.map((e) => e.id)));
2631
2650
  if (!r) return;
2632
- let i = I(n), a = Ar(r, i, [n.seriesList], t);
2633
- e[n.index] = jr(a, i, n.width);
2651
+ let i = I(n), a = Nr(r, i, [n.seriesList], t);
2652
+ e[n.index] = Pr(a, i, n.width);
2634
2653
  }), P.value = e, q = void 0;
2635
2654
  } else if (t.displayMode !== "independent" && K) {
2636
- let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Ar(K, e, n, t);
2637
- A.value = jr(r, e, T.value), K = void 0;
2655
+ let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Nr(K, e, n, t);
2656
+ A.value = Pr(r, e, T.value), K = void 0;
2638
2657
  }
2639
2658
  H();
2640
2659
  });
@@ -2720,58 +2739,58 @@ function Hr(e) {
2720
2739
  }
2721
2740
  //#endregion
2722
2741
  //#region src/components/core/useWaveformData.ts
2723
- function Ur(e) {
2724
- return ln(e).map(({ source: e, ...t }) => {
2742
+ function Kr(e) {
2743
+ return dn(e).map(({ source: e, ...t }) => {
2725
2744
  let n = e.metrics(t.errorBar.visible);
2726
2745
  return {
2727
2746
  ...t,
2728
2747
  source: e,
2729
- points: Se(e),
2730
- xDomain: ht(Number.isFinite(n.xMinimum) ? [n.xMinimum, n.xMaximum] : []),
2731
- yDomain: ht(Number.isFinite(n.yMinimum) ? [n.yMinimum, n.yMaximum] : []),
2748
+ points: we(e),
2749
+ xDomain: _t(Number.isFinite(n.xMinimum) ? [n.xMinimum, n.xMaximum] : []),
2750
+ yDomain: _t(Number.isFinite(n.yMinimum) ? [n.yMinimum, n.yMaximum] : []),
2732
2751
  hasErrorPoints: n.hasErrorPoints
2733
2752
  };
2734
2753
  });
2735
2754
  }
2736
- function Wr(e, t, n) {
2737
- let r = w(Ur(e()));
2755
+ function qr(e, t, n) {
2756
+ let r = w(Kr(e()));
2738
2757
  return k(e, (e) => {
2739
- t(), r.value = Ur(e), n();
2758
+ t(), r.value = Kr(e), n();
2740
2759
  }), r;
2741
2760
  }
2742
2761
  //#endregion
2743
2762
  //#region wasm/pkg/waveform_sampling_wasm.js
2744
- function Gr(e, t) {
2745
- let n = ai(e, $.__wbindgen_malloc), r = di, i = ai(t, $.__wbindgen_malloc), a = di, o = $.calculate_range(n, r, i, a);
2746
- if (o[3]) throw oi(o[2]);
2747
- var s = Xr(o[0], o[1]).slice();
2763
+ function Jr(e, t) {
2764
+ let n = ci(e, $.__wbindgen_malloc), r = mi, i = ci(t, $.__wbindgen_malloc), a = mi, o = $.calculate_range(n, r, i, a);
2765
+ if (o[3]) throw li(o[2]);
2766
+ var s = $r(o[0], o[1]).slice();
2748
2767
  return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
2749
2768
  }
2750
- function Kr(e, t, n, r) {
2751
- let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.find_visible_range(i, a, o, s, n, r);
2752
- if (c[3]) throw oi(c[2]);
2753
- var l = Zr(c[0], c[1]).slice();
2769
+ function Yr(e, t, n, r) {
2770
+ let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.find_visible_range(i, a, o, s, n, r);
2771
+ if (c[3]) throw li(c[2]);
2772
+ var l = ei(c[0], c[1]).slice();
2754
2773
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2755
2774
  }
2756
- function qr(e, t, n, r) {
2757
- let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.sample_aggregates(i, a, o, s, n, r);
2758
- if (c[3]) throw oi(c[2]);
2759
- var l = Xr(c[0], c[1]).slice();
2775
+ function Xr(e, t, n, r) {
2776
+ let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_aggregates(i, a, o, s, n, r);
2777
+ if (c[3]) throw li(c[2]);
2778
+ var l = $r(c[0], c[1]).slice();
2760
2779
  return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2761
2780
  }
2762
- function Jr(e, t, n, r) {
2763
- let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.sample_indexes(i, a, o, s, n, r);
2764
- if (c[3]) throw oi(c[2]);
2765
- var l = Zr(c[0], c[1]).slice();
2781
+ function Zr(e, t, n, r) {
2782
+ let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_indexes(i, a, o, s, n, r);
2783
+ if (c[3]) throw li(c[2]);
2784
+ var l = ei(c[0], c[1]).slice();
2766
2785
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2767
2786
  }
2768
- function Yr() {
2787
+ function Qr() {
2769
2788
  return {
2770
2789
  __proto__: null,
2771
2790
  "./waveform_sampling_wasm_bg.js": {
2772
2791
  __proto__: null,
2773
2792
  __wbindgen_cast_0000000000000001: function(e, t) {
2774
- return ei(e, t);
2793
+ return ri(e, t);
2775
2794
  },
2776
2795
  __wbindgen_init_externref_table: function() {
2777
2796
  let e = $.__wbindgen_externrefs, t = e.grow(4);
@@ -2780,52 +2799,52 @@ function Yr() {
2780
2799
  }
2781
2800
  };
2782
2801
  }
2783
- function Xr(e, t) {
2784
- return e >>>= 0, $r().subarray(e / 8, e / 8 + t);
2785
- }
2786
- function Zr(e, t) {
2787
- return e >>>= 0, ni().subarray(e / 4, e / 4 + t);
2788
- }
2789
- var Qr = null;
2790
- function $r() {
2791
- return (Qr === null || Qr.byteLength === 0) && (Qr = new Float64Array($.memory.buffer)), Qr;
2802
+ function $r(e, t) {
2803
+ return e >>>= 0, ni().subarray(e / 8, e / 8 + t);
2792
2804
  }
2793
2805
  function ei(e, t) {
2794
- return e >>>= 0, ui(e, t);
2806
+ return e >>>= 0, ai().subarray(e / 4, e / 4 + t);
2795
2807
  }
2796
2808
  var ti = null;
2797
2809
  function ni() {
2798
- return (ti === null || ti.byteLength === 0) && (ti = new Uint32Array($.memory.buffer)), ti;
2810
+ return (ti === null || ti.byteLength === 0) && (ti = new Float64Array($.memory.buffer)), ti;
2799
2811
  }
2800
- var ri = null;
2801
- function ii() {
2802
- return (ri === null || ri.byteLength === 0) && (ri = new Uint8Array($.memory.buffer)), ri;
2812
+ function ri(e, t) {
2813
+ return e >>>= 0, pi(e, t);
2803
2814
  }
2804
- function ai(e, t) {
2815
+ var ii = null;
2816
+ function ai() {
2817
+ return (ii === null || ii.byteLength === 0) && (ii = new Uint32Array($.memory.buffer)), ii;
2818
+ }
2819
+ var oi = null;
2820
+ function si() {
2821
+ return (oi === null || oi.byteLength === 0) && (oi = new Uint8Array($.memory.buffer)), oi;
2822
+ }
2823
+ function ci(e, t) {
2805
2824
  let n = t(e.length * 8, 8) >>> 0;
2806
- return $r().set(e, n / 8), di = e.length, n;
2825
+ return ni().set(e, n / 8), mi = e.length, n;
2807
2826
  }
2808
- function oi(e) {
2827
+ function li(e) {
2809
2828
  let t = $.__wbindgen_externrefs.get(e);
2810
2829
  return $.__externref_table_dealloc(e), t;
2811
2830
  }
2812
- var si = new TextDecoder("utf-8", {
2831
+ var ui = new TextDecoder("utf-8", {
2813
2832
  ignoreBOM: !0,
2814
2833
  fatal: !0
2815
2834
  });
2816
- si.decode();
2817
- var ci = 2146435072, li = 0;
2818
- function ui(e, t) {
2819
- return li += t, li >= ci && (si = new TextDecoder("utf-8", {
2835
+ ui.decode();
2836
+ var di = 2146435072, fi = 0;
2837
+ function pi(e, t) {
2838
+ return fi += t, fi >= di && (ui = new TextDecoder("utf-8", {
2820
2839
  ignoreBOM: !0,
2821
2840
  fatal: !0
2822
- }), si.decode(), li = t), si.decode(ii().subarray(e, e + t));
2841
+ }), ui.decode(), fi = t), ui.decode(si().subarray(e, e + t));
2823
2842
  }
2824
- var di = 0, $;
2825
- function fi(e, t) {
2826
- return $ = e.exports, Qr = null, ti = null, ri = null, $.__wbindgen_start(), $;
2843
+ var mi = 0, $;
2844
+ function hi(e, t) {
2845
+ return $ = e.exports, ti = null, ii = null, oi = null, $.__wbindgen_start(), $;
2827
2846
  }
2828
- async function pi(e, t) {
2847
+ async function gi(e, t) {
2829
2848
  if (typeof Response == "function" && e instanceof Response) {
2830
2849
  if (typeof WebAssembly.instantiateStreaming == "function") try {
2831
2850
  return await WebAssembly.instantiateStreaming(e, t);
@@ -2851,17 +2870,17 @@ async function pi(e, t) {
2851
2870
  return !1;
2852
2871
  }
2853
2872
  }
2854
- async function mi(e) {
2873
+ async function _i(e) {
2855
2874
  if ($ !== void 0) return $;
2856
2875
  e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,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kkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYC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ZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
2857
- let t = Yr();
2876
+ let t = Qr();
2858
2877
  (typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
2859
- let { instance: n, module: r } = await pi(await e, t);
2860
- return fi(n, r);
2878
+ let { instance: n, module: r } = await gi(await e, t);
2879
+ return hi(n, r);
2861
2880
  }
2862
2881
  //#endregion
2863
2882
  //#region src/core/wasmSampling.ts
2864
- var hi = {
2883
+ var vi = {
2865
2884
  none: 0,
2866
2885
  peak: 1,
2867
2886
  lttb: 2,
@@ -2870,24 +2889,24 @@ var hi = {
2870
2889
  max: 5,
2871
2890
  minmax: 6,
2872
2891
  sum: 7
2873
- }, gi;
2874
- function _i(e, t) {
2892
+ }, yi;
2893
+ function bi(e, t) {
2875
2894
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
2876
2895
  }
2877
- function vi(e) {
2896
+ function xi(e) {
2878
2897
  if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
2879
2898
  }
2880
- function yi(e) {
2881
- return gi ??= Promise.resolve(mi(e)).then(() => void 0), gi;
2899
+ function Si(e) {
2900
+ return yi ??= Promise.resolve(_i(e)).then(() => void 0), yi;
2882
2901
  }
2883
- async function bi(e) {
2884
- vi(e), await yi();
2885
- let t = _i(e.targetPointCount, e.x.length), n = hi[e.strategy];
2902
+ async function Ci(e) {
2903
+ xi(e), await Si();
2904
+ let t = bi(e.targetPointCount, e.x.length), n = vi[e.strategy];
2886
2905
  if (e.strategy !== "average" && e.strategy !== "sum") return {
2887
2906
  kind: "source-indexes",
2888
- sourceIndexes: Jr(e.x, e.y, n, t)
2907
+ sourceIndexes: Zr(e.x, e.y, n, t)
2889
2908
  };
2890
- let r = qr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2909
+ let r = Xr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2891
2910
  for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
2892
2911
  return {
2893
2912
  kind: "aggregates",
@@ -2895,54 +2914,54 @@ async function bi(e) {
2895
2914
  y: a
2896
2915
  };
2897
2916
  }
2898
- async function xi(e, t) {
2917
+ async function wi(e, t) {
2899
2918
  if (e.length !== t.length) throw Error("x and y must have the same length");
2900
- await yi();
2901
- let n = Gr(e, t);
2919
+ await Si();
2920
+ let n = Jr(e, t);
2902
2921
  return n.length === 4 ? {
2903
2922
  x: [n[0], n[1]],
2904
2923
  y: [n[2], n[3]]
2905
2924
  } : void 0;
2906
2925
  }
2907
- async function Si(e, t, n) {
2926
+ async function Ti(e, t, n) {
2908
2927
  if (e.length !== t.length) throw Error("x and y must have the same length");
2909
- await yi();
2910
- let r = Kr(e, t, n[0], n[1]);
2928
+ await Si();
2929
+ let r = Yr(e, t, n[0], n[1]);
2911
2930
  return [r[0], r[1]];
2912
2931
  }
2913
2932
  //#endregion
2914
2933
  //#region src/components/core/trackPagination.ts
2915
- var Ci = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, wi = (e, t, n, r, i) => {
2934
+ var Ei = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Di = (e, t, n, r, i) => {
2916
2935
  let a = t?.[i];
2917
2936
  if (a !== void 0) return a;
2918
2937
  if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
2919
- }, Ti = (e, t, n) => (r) => {
2938
+ }, Oi = (e, t, n) => (r) => {
2920
2939
  let i = n(), a = i.findIndex((e) => e.id === r);
2921
- return wi(e(), t(), i.length, a >= 0 ? a : 0, r);
2940
+ return Di(e(), t(), i.length, a >= 0 ? a : 0, r);
2922
2941
  };
2923
2942
  //#endregion
2924
2943
  //#region src/components/core/yAxisLayoutMetrics.ts
2925
- function Ei(e, t, n, r) {
2944
+ function ki(e, t, n, r) {
2926
2945
  return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
2927
2946
  let n = r[t];
2928
2947
  return n ? [[e.id, n]] : [];
2929
2948
  })) : n;
2930
2949
  }
2931
- function Di(e, t, n, r, i, a, o, s) {
2932
- let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => ur(e, t, n, r, i)).map((e) => dr(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 12 / 2);
2950
+ function Ai(e, t, n, r, i, a, o, s) {
2951
+ let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => pr(e, t, n, r, i)).map((e) => mr(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 20 / 2);
2933
2952
  return {
2934
2953
  tickClearance: u,
2935
- fullClearance: l + 7 + 0 + 12 + 4,
2954
+ fullClearance: l + 7 + 0 + 20 + 4,
2936
2955
  labelCenterX: d
2937
2956
  };
2938
2957
  }
2939
2958
  //#endregion
2940
2959
  //#region src/components/core/useWaveformLayout.ts
2941
- function Oi(e) {
2960
+ function ji(e) {
2942
2961
  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) => ({
2943
2962
  ...e,
2944
- color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
2945
- }))), g = t(() => Bn(n.grid)), _ = t(() => {
2963
+ color: e.color ?? (t === 0 ? n.lineColor : Ut[t % Ut.length])
2964
+ }))), g = t(() => Vn(n.grid)), _ = t(() => {
2946
2965
  let e = /* @__PURE__ */ new Map();
2947
2966
  h.value.forEach((t) => {
2948
2967
  let n = t.trackId || t.id, r = e.get(n);
@@ -2957,15 +2976,15 @@ function Oi(e) {
2957
2976
  id: t,
2958
2977
  series: n,
2959
2978
  visibleSeries: r,
2960
- xDomain: i.length ? ht(i) : [0, 1],
2961
- yDomain: o.length ? ht(o) : [0, 1]
2979
+ xDomain: i.length ? _t(i) : [0, 1],
2980
+ yDomain: o.length ? _t(o) : [0, 1]
2962
2981
  };
2963
2982
  });
2964
- }), v = t(() => En(n.rendering)), y = t(() => Ci(_.value, g.value.hideEmptyTracks)), b = t(() => Hn(y.value.length, g.value)), x = t(() => Un(y.value, i.value, g.value)), S = t(() => {
2983
+ }), v = t(() => Dn(n.rendering)), y = t(() => Ei(_.value, g.value.hideEmptyTracks)), b = t(() => Un(y.value.length, g.value)), x = t(() => Wn(y.value, i.value, g.value)), S = t(() => {
2965
2984
  let e = x.value.filter((e) => e.series.length > 0);
2966
2985
  return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
2967
- }), C = t(() => rr(s.value, n.axes?.y?.splitNumber)), w = t(() => Ei(n.displayMode, _.value, d.value, f.value)), T = t(() => Di(_.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(Lt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => fr(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(Lt.right, k.value.clearance.right) : Lt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
2968
- let e = Wn(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;
2986
+ }), C = t(() => or(s.value, n.axes?.y?.splitNumber)), w = t(() => ki(n.displayMode, _.value, d.value, f.value)), T = t(() => Ai(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(zt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => hr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(zt.right, k.value.clearance.right) : zt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
2987
+ 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;
2969
2988
  return {
2970
2989
  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,
2971
2990
  hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
@@ -2974,17 +2993,17 @@ function Oi(e) {
2974
2993
  let e = [];
2975
2994
  return _.value.forEach((t) => {
2976
2995
  t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
2977
- }), ht(e);
2996
+ }), _t(e);
2978
2997
  }), B = t(() => {
2979
2998
  let e = n.initialXDomain;
2980
- return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Yn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Yn(z.value, n.xDomainStrategy);
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);
2981
3000
  }), V = (e) => {
2982
3001
  let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
2983
- return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Yn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Yn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2984
- }, H = t(() => l.value.rescaleX(W(B.value, [0, M.value])).domain()), U = t(() => Gn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
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) => ({
2985
3004
  ...e,
2986
3005
  series: S.value[t]
2987
- }))), G = t(() => Zn({
3006
+ }))), G = t(() => er({
2988
3007
  cells: U.value,
2989
3008
  grid: g.value,
2990
3009
  displayMode: n.displayMode,
@@ -3004,8 +3023,9 @@ function Oi(e) {
3004
3023
  rendering: v.value,
3005
3024
  linePointOverrides: m?.value,
3006
3025
  hideSecondaryLabels: c.value || N.value.hideSecondaryLabels,
3026
+ yLabel: n.yLabel,
3007
3027
  yAxisLabelX: k.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? T.value.labelCenterX,
3008
- yAxisSlots: n.overlayMode === "multi-axis" ? k.value.slots : void 0,
3028
+ yAxisSlots: k.value.slots,
3009
3029
  showCompactEmptyTracks: n.displayMode === "compact" && P.value
3010
3030
  })), ee = (e) => e.seriesList.map((t) => ({
3011
3031
  ...e,
@@ -3036,7 +3056,7 @@ function Oi(e) {
3036
3056
  annotationLayoutsForTrack: ee,
3037
3057
  resolveSeriesYScale: te,
3038
3058
  annotationTrackLayouts: ne,
3039
- renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ne.value, M.value, s.value) : []),
3059
+ renderedAnnotations: t(() => n.annotationsVisible ? Pe(n.annotations, ne.value, M.value, s.value) : []),
3040
3060
  editorSeries: t(() => {
3041
3061
  let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
3042
3062
  return t ? {
@@ -3046,16 +3066,16 @@ function Oi(e) {
3046
3066
  unit: t.unit
3047
3067
  } : void 0;
3048
3068
  }),
3049
- resolveFrameNumber: Ti(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3069
+ resolveFrameNumber: Oi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3050
3070
  };
3051
3071
  }
3052
- var ki = 1e-6;
3053
- function Ai(e) {
3072
+ var Mi = 1e-6;
3073
+ function Ni(e) {
3054
3074
  return Number.isFinite(e) ? Math.max(1, e) : 1;
3055
3075
  }
3056
- function ji({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3057
- let i = Ai(e), a = Ai(t), o = Ai(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;
3058
- if (!(d > ki && Math.abs(d - 360) > ki)) {
3076
+ function Pi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3077
+ let i = Ni(e), a = Ni(t), o = Ni(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
3078
+ if (!(d > Mi && Math.abs(d - 360) > Mi)) {
3059
3079
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
3060
3080
  return {
3061
3081
  textWidth: t,
@@ -3080,17 +3100,17 @@ function ji({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
3080
3100
  }
3081
3101
  //#endregion
3082
3102
  //#region src/components/core/useWaveformPresentation.ts
3083
- function Mi(e) {
3103
+ function Fi(e) {
3084
3104
  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(() => ({
3085
3105
  width: l.value === void 0 ? "100%" : `${l.value}px`,
3086
3106
  height: u.value === void 0 ? "100%" : `${u.value}px`
3087
3107
  })), m = t(() => n.cleanView === !0), h = t(() => n.presentationMode === !0), g = t(() => {
3088
3108
  let e = n.zeroLine.width;
3089
3109
  return {
3090
- visible: n.zeroLine.visible === !0,
3091
- color: n.zeroLine.color || Ut.COLOR,
3092
- width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Ut.WIDTH,
3093
- dash: n.zeroLine.dash ?? Ut.DASH
3110
+ visible: n.zeroLine.visible !== !1,
3111
+ color: n.zeroLine.color || Gt.COLOR,
3112
+ width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Gt.WIDTH,
3113
+ dash: n.zeroLine.dash ?? Gt.DASH
3094
3114
  };
3095
3115
  }), _ = 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) => {
3096
3116
  let t = n.legend.orientation ?? "auto";
@@ -3112,10 +3132,10 @@ function Mi(e) {
3112
3132
  fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
3113
3133
  textDecoration: n.title?.textStyle?.textDecoration ?? "none",
3114
3134
  letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
3115
- lineHeight: String(Bt)
3135
+ lineHeight: String(Ht)
3116
3136
  })), A = t(() => {
3117
3137
  let e = Number.parseFloat(n.title?.textStyle?.letterSpacing ?? ""), t = Number.isFinite(e) ? Math.max(0, C.value.length - 1) * e : 0;
3118
- return Math.max(1, C.value.length * E.value * zt + t);
3138
+ return Math.max(1, C.value.length * E.value * Vt + t);
3119
3139
  }), j = t(() => {
3120
3140
  let e = d.value - 48;
3121
3141
  return e > 0 ? e : A.value;
@@ -3125,14 +3145,14 @@ function Mi(e) {
3125
3145
  maxWidth: O.value ? "none" : `${j.value}px`,
3126
3146
  whiteSpace: O.value ? "nowrap" : "normal",
3127
3147
  overflowWrap: O.value ? "normal" : "anywhere"
3128
- })), N = t(() => ji({
3148
+ })), N = t(() => Pi({
3129
3149
  naturalWidth: a.value || A.value,
3130
3150
  naturalHeight: o.value || E.value * 1.2,
3131
3151
  availableWidth: j.value,
3132
3152
  rotation: D.value
3133
3153
  })), P = t(() => w.value ? N.value.areaHeight : 0), F = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, I = t(() => ({
3134
- top: F(n.plotMargin.top, Lt.top),
3135
- bottom: F(n.plotMargin.bottom, Lt.bottom)
3154
+ top: F(n.plotMargin.top, zt.top),
3155
+ bottom: F(n.plotMargin.bottom, zt.bottom)
3136
3156
  })), L = t(() => I.value.top), R = t(() => Math.max(0, f.value - P.value - c.value));
3137
3157
  return {
3138
3158
  fixedWidth: l,
@@ -3181,66 +3201,66 @@ function Mi(e) {
3181
3201
  }
3182
3202
  //#endregion
3183
3203
  //#region src/core/samplingReferenceValues.ts
3184
- function Ni(e, t) {
3204
+ function Ii(e, t) {
3185
3205
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3186
3206
  }
3187
- function Pi(e, t, n, r) {
3207
+ function Li(e, t, n, r) {
3188
3208
  let i = r - n;
3189
3209
  return {
3190
3210
  start: n + Math.floor(e * i / t),
3191
3211
  end: n + Math.floor((e + 1) * i / t)
3192
3212
  };
3193
3213
  }
3194
- function Fi(e, t) {
3214
+ function Ri(e, t) {
3195
3215
  e[e.length - 1] !== t && e.push(t);
3196
3216
  }
3197
- function Ii(e, t, n) {
3217
+ function zi(e, t, n) {
3198
3218
  if (e <= t) return Array.from({ length: e }, (e, t) => t);
3199
3219
  if (t === 1) return [0];
3200
3220
  if (t === 2) return [0, e - 1];
3201
3221
  let r = [0];
3202
- return n().forEach((e) => Fi(r, e)), Fi(r, e - 1), r;
3222
+ return n().forEach((e) => Ri(r, e)), Ri(r, e - 1), r;
3203
3223
  }
3204
- function Li(e, t, n) {
3224
+ function Bi(e, t, n) {
3205
3225
  let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
3206
- return Ii(e.length, t, () => {
3226
+ return zi(e.length, t, () => {
3207
3227
  if (!r) return [];
3208
3228
  let t = [];
3209
3229
  for (let i = 0; i < r; i += 1) {
3210
- let a = Pi(i, r, 1, e.length - 1), o = a.start, s = a.start;
3230
+ let a = Li(i, r, 1, e.length - 1), o = a.start, s = a.start;
3211
3231
  for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
3212
- n === "min" ? Fi(t, o) : n === "max" ? Fi(t, s) : o <= s ? (Fi(t, o), Fi(t, s)) : (Fi(t, s), Fi(t, o));
3232
+ n === "min" ? Ri(t, o) : n === "max" ? Ri(t, s) : o <= s ? (Ri(t, o), Ri(t, s)) : (Ri(t, s), Ri(t, o));
3213
3233
  }
3214
3234
  return t;
3215
3235
  });
3216
3236
  }
3217
- function Ri(e, t) {
3237
+ function Vi(e, t) {
3218
3238
  let n = Math.floor((t - 2) / 4);
3219
- return Ii(e.length, t, () => {
3239
+ return zi(e.length, t, () => {
3220
3240
  if (!n) return [];
3221
3241
  let t = [];
3222
3242
  for (let r = 0; r < n; r += 1) {
3223
- let i = Pi(r, n, 1, e.length - 1), a = i.start, o = i.start;
3243
+ let i = Li(r, n, 1, e.length - 1), a = i.start, o = i.start;
3224
3244
  for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
3225
3245
  [
3226
3246
  i.start,
3227
3247
  a,
3228
3248
  o,
3229
3249
  i.end - 1
3230
- ].sort((e, t) => e - t).forEach((e) => Fi(t, e));
3250
+ ].sort((e, t) => e - t).forEach((e) => Ri(t, e));
3231
3251
  }
3232
3252
  return t;
3233
3253
  });
3234
3254
  }
3235
- function zi(e, t, n) {
3236
- return Ii(e.length, n, () => {
3255
+ function Hi(e, t, n) {
3256
+ return zi(e.length, n, () => {
3237
3257
  let r = (e.length - 2) / (n - 2), i = [], a = 0;
3238
3258
  for (let o = 0; o < n - 2; o += 1) {
3239
3259
  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;
3240
3260
  for (let n = s; n < c; n += 1) l += e[n], u += t[n];
3241
3261
  let d = c - s;
3242
3262
  d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
3243
- let f = Pi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3263
+ let f = Li(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3244
3264
  for (let n = f.start; n < f.end; n += 1) {
3245
3265
  let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
3246
3266
  r > m && (m = r, p = n);
@@ -3250,10 +3270,10 @@ function zi(e, t, n) {
3250
3270
  return i;
3251
3271
  });
3252
3272
  }
3253
- function Bi(e, t, n, r) {
3254
- let i = Ni(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3273
+ function Ui(e, t, n, r) {
3274
+ let i = Ii(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3255
3275
  for (let n = 0; n < i; n += 1) {
3256
- let s = Pi(n, i, 0, e.length);
3276
+ let s = Li(n, i, 0, e.length);
3257
3277
  for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
3258
3278
  let c = s.end - s.start;
3259
3279
  a[n] /= c, r === "average" && (o[n] /= c);
@@ -3264,10 +3284,10 @@ function Bi(e, t, n, r) {
3264
3284
  y: o
3265
3285
  };
3266
3286
  }
3267
- function Vi(e, t, n, r) {
3287
+ function Wi(e, t, n, r) {
3268
3288
  if (e.length !== t.length) throw Error("x and y must have the same length");
3269
- if (n === "average" || n === "sum") return Bi(e, t, r, n);
3270
- let i = Ni(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Ri(t, i) : n === "lttb" ? zi(e, t, i) : Li(t, i, n);
3289
+ if (n === "average" || n === "sum") return Ui(e, t, r, n);
3290
+ let i = Ii(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Vi(t, i) : n === "lttb" ? Hi(e, t, i) : Bi(t, i, n);
3271
3291
  return {
3272
3292
  kind: "source-indexes",
3273
3293
  sourceIndexes: Uint32Array.from(a)
@@ -3275,41 +3295,41 @@ function Vi(e, t, n, r) {
3275
3295
  }
3276
3296
  //#endregion
3277
3297
  //#region src/core/workerSampling/javascriptBackend.ts
3278
- var Hi = {
3298
+ var Gi = {
3279
3299
  kind: "javascript",
3280
3300
  sample(e) {
3281
- return Vi(e.x, e.y, e.strategy, e.targetPointCount);
3301
+ return Wi(e.x, e.y, e.strategy, e.targetPointCount);
3282
3302
  }
3283
- }, Ui = 8 * 1024 * 1024;
3284
- function Wi(e, t) {
3303
+ }, Ki = 8 * 1024 * 1024;
3304
+ function qi(e, t) {
3285
3305
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3286
3306
  }
3287
- function Gi(e, t, n, r) {
3307
+ function Ji(e, t, n, r) {
3288
3308
  let i = r - n;
3289
3309
  return {
3290
3310
  start: n + Math.floor(e * i / t),
3291
3311
  end: n + Math.floor((e + 1) * i / t)
3292
3312
  };
3293
3313
  }
3294
- function Ki(e, t) {
3314
+ function Yi(e, t) {
3295
3315
  e[e.length - 1] !== t && e.push(t);
3296
3316
  }
3297
- function qi(e) {
3317
+ function Xi(e) {
3298
3318
  return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
3299
3319
  }
3300
- function Ji(e, t) {
3320
+ function Zi(e, t) {
3301
3321
  let n = 1;
3302
3322
  for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
3303
3323
  return n;
3304
3324
  }
3305
- var Yi = class {
3325
+ var Qi = class {
3306
3326
  points;
3307
3327
  extremaLayers = [];
3308
3328
  sumLayers = [];
3309
3329
  indexBytes = 0;
3310
3330
  maxBytes;
3311
3331
  constructor(e, t = {}) {
3312
- this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ui;
3332
+ this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ki;
3313
3333
  }
3314
3334
  get byteLength() {
3315
3335
  return this.indexBytes;
@@ -3318,7 +3338,7 @@ var Yi = class {
3318
3338
  this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
3319
3339
  }
3320
3340
  sample(e, t, n, r) {
3321
- 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 = Wi(r, o);
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 = qi(r, o);
3322
3342
  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);
3323
3343
  }
3324
3344
  allIndexes(e, t) {
@@ -3338,24 +3358,24 @@ var Yi = class {
3338
3358
  if (i === 0) return this.indexes([e, t - 1]);
3339
3359
  let a = [e];
3340
3360
  for (let n = 0; n < i; n += 1) {
3341
- let o = Gi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3361
+ let o = Ji(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3342
3362
  if (!s) return;
3343
- if (r === "min") Ki(a, s.minimum);
3344
- else if (r === "max") Ki(a, s.maximum);
3345
- else if (r === "minmax") s.minimum <= s.maximum ? (Ki(a, s.minimum), Ki(a, s.maximum)) : (Ki(a, s.maximum), Ki(a, s.minimum));
3363
+ if (r === "min") Yi(a, s.minimum);
3364
+ else if (r === "max") Yi(a, s.maximum);
3365
+ else if (r === "minmax") s.minimum <= s.maximum ? (Yi(a, s.minimum), Yi(a, s.maximum)) : (Yi(a, s.maximum), Yi(a, s.minimum));
3346
3366
  else for (let e of [
3347
3367
  o.start,
3348
3368
  s.minimum,
3349
3369
  s.maximum,
3350
3370
  o.end - 1
3351
- ].sort((e, t) => e - t)) Ki(a, e);
3371
+ ].sort((e, t) => e - t)) Yi(a, e);
3352
3372
  }
3353
- return Ki(a, t - 1), this.indexes(a);
3373
+ return Yi(a, t - 1), this.indexes(a);
3354
3374
  }
3355
3375
  aggregate(e, t, n, r) {
3356
3376
  let i = new Float64Array(n), a = new Float64Array(n);
3357
3377
  for (let o = 0; o < n; o += 1) {
3358
- let s = Gi(o, n, e, t), c = this.querySum(s.start, s.end);
3378
+ let s = Ji(o, n, e, t), c = this.querySum(s.start, s.end);
3359
3379
  if (!c || c.count === 0) return;
3360
3380
  i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
3361
3381
  }
@@ -3370,7 +3390,7 @@ var Yi = class {
3370
3390
  if (!this.ensureExtrema(n)) return;
3371
3391
  let r = e, i = e;
3372
3392
  for (let n = e; n < t;) {
3373
- let e = Ji(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;
3393
+ let e = Zi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3374
3394
  this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
3375
3395
  }
3376
3396
  return {
@@ -3383,7 +3403,7 @@ var Yi = class {
3383
3403
  if (!this.ensureSum(n)) return;
3384
3404
  let r = 0, i = 0, a = 0;
3385
3405
  for (let n = e; n < t;) {
3386
- let e = Ji(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3406
+ let e = Zi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3387
3407
  if (c) r += c.x[s], i += c.y[s], a += c.count[s];
3388
3408
  else {
3389
3409
  let e = this.points[n];
@@ -3404,7 +3424,7 @@ var Yi = class {
3404
3424
  minimumIndexes: new Uint32Array(e),
3405
3425
  maximumIndexes: new Uint32Array(e)
3406
3426
  };
3407
- if (!this.reserve(qi(n))) return !1;
3427
+ if (!this.reserve(Xi(n))) return !1;
3408
3428
  let r = this.extremaLayers[t - 1];
3409
3429
  for (let t = 0; t < e; t += 1) {
3410
3430
  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;
@@ -3422,7 +3442,7 @@ var Yi = class {
3422
3442
  y: new Float64Array(e),
3423
3443
  count: new Uint32Array(e)
3424
3444
  };
3425
- if (!this.reserve(qi(n))) return !1;
3445
+ if (!this.reserve(Xi(n))) return !1;
3426
3446
  let r = this.sumLayers[t - 1];
3427
3447
  for (let t = 0; t < e; t += 1) {
3428
3448
  let e = t * 2, i = e + 1;
@@ -3447,8 +3467,8 @@ var Yi = class {
3447
3467
  let n = this.points[e], r = this.points[t];
3448
3468
  return n.y > r.y || n.y === r.y && e < t;
3449
3469
  }
3450
- }, Xi = 1e3, Zi = L((e) => e.x);
3451
- function Qi(e) {
3470
+ }, $i = 1e3, ea = L((e) => e.x);
3471
+ function ta(e) {
3452
3472
  let t = [], n = !0, r = -Infinity;
3453
3473
  for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
3454
3474
  x: i.x,
@@ -3459,7 +3479,7 @@ function Qi(e) {
3459
3479
  }));
3460
3480
  return n || t.sort((e, t) => e.x - t.x), t;
3461
3481
  }
3462
- function $i(e, t) {
3482
+ function na(e, t) {
3463
3483
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
3464
3484
  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);
3465
3485
  return {
@@ -3469,7 +3489,7 @@ function $i(e, t) {
3469
3489
  yDomain: e.length ? [i, a] : null
3470
3490
  };
3471
3491
  }
3472
- function ea(e, t, n = e.length) {
3492
+ function ra(e, t, n = e.length) {
3473
3493
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
3474
3494
  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]);
3475
3495
  return {
@@ -3479,39 +3499,39 @@ function ea(e, t, n = e.length) {
3479
3499
  yDomain: e.length ? [a, o] : null
3480
3500
  };
3481
3501
  }
3482
- function ta(e, t) {
3502
+ function ia(e, t) {
3483
3503
  return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
3484
3504
  }
3485
- function na(e) {
3505
+ function aa(e) {
3486
3506
  return e === "auto" ? "peak" : e;
3487
3507
  }
3488
- function ra(e) {
3508
+ function oa(e) {
3489
3509
  if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
3490
3510
  let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
3491
3511
  return Math.max(1, Math.floor(t * n));
3492
3512
  }
3493
- function ia(e, t) {
3513
+ function sa(e, t) {
3494
3514
  if (e.mode === "raw") return !0;
3495
3515
  if (e.mode !== "auto") return !1;
3496
- let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Xi;
3516
+ let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : $i;
3497
3517
  if (!e.previousSelectedMode) return t <= n;
3498
3518
  let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
3499
3519
  return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
3500
3520
  }
3501
- function aa(e, t) {
3521
+ function ca(e, t) {
3502
3522
  let n = e[0], r = e.at(-1);
3503
- return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Zi.center(e, t)] : void 0;
3523
+ return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[ea.center(e, t)] : void 0;
3504
3524
  }
3505
- function oa(e) {
3525
+ function la(e) {
3506
3526
  return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
3507
3527
  }
3508
- function sa(e, t) {
3528
+ function ua(e, t) {
3509
3529
  return e.kind === "aggregates" ? e : {
3510
3530
  kind: "source-indexes",
3511
3531
  sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
3512
3532
  };
3513
3533
  }
3514
- function ca(e, t, n, r, i) {
3534
+ function da(e, t, n, r, i) {
3515
3535
  return [
3516
3536
  e.datasetId,
3517
3537
  e.revision,
@@ -3531,14 +3551,14 @@ function ca(e, t, n, r, i) {
3531
3551
  e.errorBarMinSpacing ?? 0
3532
3552
  ].join("\0");
3533
3553
  }
3534
- function la(e, t, n, r, i, a, o, s) {
3554
+ function fa(e, t, n, r, i, a, o, s) {
3535
3555
  return {
3536
3556
  seriesId: e.seriesId,
3537
3557
  datasetId: e.datasetId,
3538
3558
  mode: e.mode,
3539
3559
  selectedMode: i,
3540
3560
  backend: r,
3541
- strategy: na(e.strategy),
3561
+ strategy: aa(e.strategy),
3542
3562
  sourcePointCount: t,
3543
3563
  visiblePointCount: n,
3544
3564
  renderedPointCount: o,
@@ -3554,18 +3574,18 @@ function la(e, t, n, r, i, a, o, s) {
3554
3574
  }
3555
3575
  //#endregion
3556
3576
  //#region src/core/workerSampling/repositoryDataset.ts
3557
- function ua(e) {
3577
+ function pa(e) {
3558
3578
  return e?.y.length ?? 0;
3559
3579
  }
3560
- function da(e, t) {
3580
+ function ma(e, t) {
3561
3581
  return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
3562
3582
  }
3563
- function fa(e, t) {
3583
+ function ha(e, t) {
3564
3584
  let n = (t, n) => {
3565
- let r = 0, i = ua(e);
3585
+ let r = 0, i = pa(e);
3566
3586
  for (; r < i;) {
3567
3587
  let a = r + Math.floor((i - r) / 2);
3568
- (n ? da(e, a) <= t : da(e, a) < t) ? r = a + 1 : i = a;
3588
+ (n ? ma(e, a) <= t : ma(e, a) < t) ? r = a + 1 : i = a;
3569
3589
  }
3570
3590
  return r;
3571
3591
  }, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
@@ -3574,13 +3594,13 @@ function fa(e, t) {
3574
3594
  end: n(i, !0)
3575
3595
  };
3576
3596
  }
3577
- function pa(e, t, n) {
3578
- return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => da(e, t + r));
3597
+ function ga(e, t, n) {
3598
+ return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ma(e, t + r));
3579
3599
  }
3580
- function ma(e) {
3600
+ function _a(e) {
3581
3601
  return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
3582
3602
  }
3583
- function ha(e, t) {
3603
+ function va(e, t) {
3584
3604
  let n = [], r = Math.min(e.length, t.length);
3585
3605
  for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
3586
3606
  return n.sort((t, n) => e[t] - e[n] || t - n), {
@@ -3588,14 +3608,14 @@ function ha(e, t) {
3588
3608
  y: Float64Array.from(n, (e) => t[e])
3589
3609
  };
3590
3610
  }
3591
- function ga(e, t, n, r) {
3611
+ function ya(e, t, n, r) {
3592
3612
  if (t?.kind === "typed") {
3593
- let e = ha(t.x, t.y);
3613
+ let e = va(t.x, t.y);
3594
3614
  return {
3595
3615
  x: e.x,
3596
3616
  y: e.y,
3597
3617
  revision: n,
3598
- metrics: ea(e.x, e.y, Math.max(t.x.length, t.y.length))
3618
+ metrics: ra(e.x, e.y, Math.max(t.x.length, t.y.length))
3599
3619
  };
3600
3620
  }
3601
3621
  if (t?.kind === "samples") {
@@ -3629,35 +3649,35 @@ function ga(e, t, n, r) {
3629
3649
  }
3630
3650
  };
3631
3651
  }
3632
- let i = Qi(e ?? t?.points ?? []);
3652
+ let i = ta(e ?? t?.points ?? []);
3633
3653
  return {
3634
3654
  x: Float64Array.from(i, (e) => e.x),
3635
3655
  y: Float64Array.from(i, (e) => e.y),
3636
3656
  points: i,
3637
3657
  revision: n,
3638
- metrics: $i(i, e?.length ?? t?.points.length ?? 0),
3639
- index: new Yi(i, { maxBytes: r })
3658
+ metrics: na(i, e?.length ?? t?.points.length ?? 0),
3659
+ index: new Qi(i, { maxBytes: r })
3640
3660
  };
3641
3661
  }
3642
- function _a(e, t, n) {
3643
- !ma(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));
3662
+ function ba(e, t, n) {
3663
+ !_a(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3644
3664
  }
3645
- function va(e, t) {
3646
- t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ma(e) && e.disposeDataset(t.wasmDatasetHandle);
3665
+ function xa(e, t) {
3666
+ t.index?.dispose(), t.wasmDatasetHandle !== void 0 && _a(e) && e.disposeDataset(t.wasmDatasetHandle);
3647
3667
  }
3648
3668
  //#endregion
3649
3669
  //#region src/core/workerSampling/samplingCache.ts
3650
- var ya = 96, ba = 16 * 1024 * 1024;
3651
- function xa(e) {
3670
+ var Sa = 96, Ca = 16 * 1024 * 1024;
3671
+ function wa(e) {
3652
3672
  return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
3653
3673
  }
3654
- var Sa = class {
3674
+ var Ta = class {
3655
3675
  entries = /* @__PURE__ */ new Map();
3656
3676
  bytes = 0;
3657
3677
  maxEntries;
3658
3678
  maxBytes;
3659
3679
  constructor(e = {}) {
3660
- this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : ya, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ba;
3680
+ this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : Sa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : Ca;
3661
3681
  }
3662
3682
  get metrics() {
3663
3683
  return {
@@ -3672,7 +3692,7 @@ var Sa = class {
3672
3692
  if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
3673
3693
  }
3674
3694
  set(e, t) {
3675
- let n = xa(t);
3695
+ let n = wa(t);
3676
3696
  if (n > this.maxBytes || this.maxEntries === 0) return;
3677
3697
  let r = this.entries.get(e);
3678
3698
  for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
@@ -3692,14 +3712,14 @@ var Sa = class {
3692
3712
  clear() {
3693
3713
  this.entries.clear(), this.bytes = 0;
3694
3714
  }
3695
- }, Ca = class {
3715
+ }, Ea = class {
3696
3716
  datasets = /* @__PURE__ */ new Map();
3697
3717
  javascriptBackend;
3698
3718
  cache;
3699
3719
  indexMaxBytes;
3700
3720
  wasmBackend;
3701
3721
  constructor(e = {}) {
3702
- this.javascriptBackend = e.javascriptBackend ?? Hi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Sa({
3722
+ this.javascriptBackend = e.javascriptBackend ?? Gi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Ta({
3703
3723
  maxEntries: e.cacheMaxEntries,
3704
3724
  maxBytes: e.cacheMaxBytes
3705
3725
  });
@@ -3712,9 +3732,9 @@ var Sa = class {
3712
3732
  };
3713
3733
  }
3714
3734
  setWasmBackend(e) {
3715
- this.wasmBackend && this.wasmBackend !== e && ma(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3735
+ this.wasmBackend && this.wasmBackend !== e && _a(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3716
3736
  e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
3717
- })), this.wasmBackend = e, ma(e) && this.datasets.forEach((t) => _a(e, t, this.indexMaxBytes));
3737
+ })), this.wasmBackend = e, _a(e) && this.datasets.forEach((t) => ba(e, t, this.indexMaxBytes));
3718
3738
  }
3719
3739
  handle(e) {
3720
3740
  switch (e.type) {
@@ -3730,15 +3750,15 @@ var Sa = class {
3730
3750
  register(e, t, n, r) {
3731
3751
  let i = this.datasets.get(e);
3732
3752
  if (i) return this.datasetResponse(t, e, i, "stale-revision");
3733
- let a = ga(n, r, 1, this.indexMaxBytes);
3734
- return _a(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3753
+ let a = ya(n, r, 1, this.indexMaxBytes);
3754
+ return ba(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3735
3755
  }
3736
3756
  replace(e, t, n, r, i) {
3737
- let a = this.datasets.get(e), o = ta(a, n);
3757
+ let a = this.datasets.get(e), o = ia(a, n);
3738
3758
  if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
3739
- va(this.wasmBackend, a), this.cache.deleteDataset(e);
3740
- let s = ga(r, i, a.revision + 1, this.indexMaxBytes);
3741
- return _a(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3759
+ xa(this.wasmBackend, a), this.cache.deleteDataset(e);
3760
+ let s = ya(r, i, a.revision + 1, this.indexMaxBytes);
3761
+ return ba(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3742
3762
  }
3743
3763
  sample(e) {
3744
3764
  return {
@@ -3748,28 +3768,28 @@ var Sa = class {
3748
3768
  };
3749
3769
  }
3750
3770
  sampleSeries(e, t) {
3751
- let n = performance.now(), r = this.datasets.get(t.datasetId), i = ta(r, t.revision);
3771
+ let n = performance.now(), r = this.datasets.get(t.datasetId), i = ia(r, t.revision);
3752
3772
  if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
3753
- let a = fa(r, t.xDomain), o = a.end - a.start;
3754
- if (ia(t, o)) return this.sampleResponse(e, t, "ok", {
3773
+ let a = ha(r, t.xDomain), o = a.end - a.start;
3774
+ if (sa(t, o)) return this.sampleResponse(e, t, "ok", {
3755
3775
  kind: "source-indexes",
3756
3776
  sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
3757
3777
  }, "raw", "raw", o, n, !1);
3758
3778
  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);
3759
3779
  if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
3760
- let u = na(t.strategy), d = ra(t), f = ca(t, a, u, d, l.kind), p = this.cache.get(f);
3780
+ let u = aa(t.strategy), d = oa(t), f = da(t, a, u, d, l.kind), p = this.cache.get(f);
3761
3781
  if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
3762
- let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ma(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? sa(l.sample({
3763
- x: pa(r, a.start, a.end),
3782
+ let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && _a(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? ua(l.sample({
3783
+ x: ga(r, a.start, a.end),
3764
3784
  y: r.y.subarray(a.start, a.end),
3765
3785
  points: r.points?.slice(a.start, a.end) ?? [],
3766
3786
  strategy: u,
3767
3787
  targetPointCount: d
3768
3788
  }), a.start);
3769
- return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ma(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3789
+ return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && _a(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3770
3790
  }
3771
3791
  sampleResponse(e, t, n, r, i, a, o, s, c) {
3772
- let l = la(t, ua(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, oa(r), c);
3792
+ let l = fa(t, pa(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, la(r), c);
3773
3793
  return l.requestId = e, {
3774
3794
  seriesId: t.seriesId,
3775
3795
  datasetId: t.datasetId,
@@ -3780,7 +3800,7 @@ var Sa = class {
3780
3800
  };
3781
3801
  }
3782
3802
  findNearest(e, t, n, r) {
3783
- let i = this.datasets.get(e), a = ta(i, n);
3803
+ let i = this.datasets.get(e), a = ia(i, n);
3784
3804
  return a !== "ok" || !i ? {
3785
3805
  type: "find-nearest-point-response",
3786
3806
  requestId: t,
@@ -3793,12 +3813,12 @@ var Sa = class {
3793
3813
  datasetId: e,
3794
3814
  revision: n,
3795
3815
  status: a,
3796
- point: i.points ? aa(i.points, r) : (() => {
3797
- let e = fa(i, [r, r]);
3798
- if (!ua(i) || r < da(i, 0) || r > da(i, ua(i) - 1)) return;
3799
- let t = Math.min(ua(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;
3800
- return Number.isFinite(r) && ua(i) ? {
3801
- x: da(i, a),
3816
+ point: i.points ? ca(i.points, r) : (() => {
3817
+ let e = ha(i, [r, r]);
3818
+ if (!pa(i) || r < ma(i, 0) || r > ma(i, pa(i) - 1)) return;
3819
+ let t = Math.min(pa(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ma(i, n)) < Math.abs(ma(i, t) - r) ? n : t;
3820
+ return Number.isFinite(r) && pa(i) ? {
3821
+ x: ma(i, a),
3802
3822
  y: i.y[a]
3803
3823
  } : void 0;
3804
3824
  })()
@@ -3806,15 +3826,15 @@ var Sa = class {
3806
3826
  }
3807
3827
  metrics(e, t, n) {
3808
3828
  let r = this.datasets.get(e);
3809
- return this.datasetResponse(t, e, r, ta(r, n));
3829
+ return this.datasetResponse(t, e, r, ia(r, n));
3810
3830
  }
3811
3831
  dispose(e, t, n) {
3812
- let r = this.datasets.get(e), i = ta(r, n);
3813
- return i === "ok" && r && (va(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3832
+ let r = this.datasets.get(e), i = ia(r, n);
3833
+ return i === "ok" && r && (xa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3814
3834
  }
3815
3835
  disposeAll(e) {
3816
3836
  let t = [...this.datasets.keys()];
3817
- return this.datasets.forEach((e) => va(this.wasmBackend, e)), ma(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3837
+ return this.datasets.forEach((e) => xa(this.wasmBackend, e)), _a(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3818
3838
  type: "dispose-all-response",
3819
3839
  requestId: e,
3820
3840
  disposedDatasetIds: t
@@ -3836,10 +3856,10 @@ var Sa = class {
3836
3856
  };
3837
3857
  //#endregion
3838
3858
  //#region src/components/core/latestTaskScheduler.ts
3839
- function wa(e, t, n, r) {
3859
+ function Da(e, t, n, r) {
3840
3860
  return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
3841
3861
  }
3842
- function Ta() {
3862
+ function Oa() {
3843
3863
  let e = 0, t = !1, n, r = !1, i = {
3844
3864
  scheduled: 0,
3845
3865
  coalesced: 0,
@@ -3878,12 +3898,12 @@ function Ta() {
3878
3898
  }
3879
3899
  //#endregion
3880
3900
  //#region src/components/core/workerSamplingClient.ts
3881
- function Ea(e) {
3901
+ function ka(e) {
3882
3902
  return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
3883
3903
  }
3884
- function Da() {
3904
+ function Aa() {
3885
3905
  let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
3886
- t ??= new Ca();
3906
+ t ??= new Ea();
3887
3907
  for (let [e, n] of i) {
3888
3908
  t.handle({
3889
3909
  type: "register-dataset",
@@ -3919,7 +3939,7 @@ function Da() {
3919
3939
  let t = a();
3920
3940
  e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
3921
3941
  }, c = (r) => {
3922
- t || (n = Ea(r), e?.terminate(), e = void 0, s());
3942
+ t || (n = ka(r), e?.terminate(), e = void 0, s());
3923
3943
  };
3924
3944
  try {
3925
3945
  typeof Worker > "u" ? c() : (e = new Worker(new URL(
@@ -3956,20 +3976,20 @@ function Da() {
3956
3976
  }
3957
3977
  };
3958
3978
  }
3959
- function Oa(e) {
3979
+ function ja(e) {
3960
3980
  return e.type === "dataset-response";
3961
3981
  }
3962
3982
  //#endregion
3963
3983
  //#region src/components/core/useWaveformRenderSampling.ts
3964
- var ka = 120;
3965
- function Aa(e, t) {
3984
+ var Ma = 120;
3985
+ function Na(e, t) {
3966
3986
  let n = e.output;
3967
3987
  if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
3968
3988
  x: e,
3969
3989
  y: n.y[t]
3970
3990
  })) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
3971
3991
  }
3972
- function ja(e, t) {
3992
+ function Pa(e, t) {
3973
3993
  let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
3974
3994
  return {
3975
3995
  seriesId: n.seriesId,
@@ -3991,7 +4011,7 @@ function ja(e, t) {
3991
4011
  maxPendingRequestCount: 0
3992
4012
  };
3993
4013
  }
3994
- function Ma(e) {
4014
+ function Fa(e) {
3995
4015
  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));
3996
4016
  if (i <= a) return t.pointsInRange(n, r);
3997
4017
  if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
@@ -4002,7 +4022,7 @@ function Ma(e) {
4002
4022
  }
4003
4023
  return o;
4004
4024
  }
4005
- function Na(e, t, n, r) {
4025
+ function Ia(e, t, n, r) {
4006
4026
  return {
4007
4027
  message: e,
4008
4028
  mode: t,
@@ -4010,14 +4030,14 @@ function Na(e, t, n, r) {
4010
4030
  seriesIds: r
4011
4031
  };
4012
4032
  }
4013
- function Pa(e) {
4014
- 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 = Ta(), d, f, p = !1, m = t(() => {
4033
+ function La(e) {
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 = Oa(), d, f, p = !1, m = t(() => {
4015
4035
  let t = e.renderingOptions.value.sampling;
4016
4036
  return e.sourceTrackLayouts.value.flatMap((n) => {
4017
4037
  let r = n.xScale.domain();
4018
4038
  return n.seriesList.flatMap((i) => {
4019
4039
  if (i.lineType === "none" || n.width <= 0) return [];
4020
- let o = i.source ?? Z(i.points), s = o.visibleRange(r), c = `${e.instanceId}:${i.id}`;
4040
+ let o = i.source ?? X(i.points), s = o.visibleRange(r), c = `${e.instanceId}:${i.id}`;
4021
4041
  return [{
4022
4042
  series: i,
4023
4043
  source: o,
@@ -4076,13 +4096,13 @@ function Pa(e) {
4076
4096
  revision: 0,
4077
4097
  dataset: t.source.toWorkerDataset()
4078
4098
  });
4079
- !u.isCurrent(n) || !Oa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4099
+ !u.isCurrent(n) || !ja(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4080
4100
  }));
4081
4101
  }, x = async (t, n = !1) => {
4082
4102
  let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
4083
4103
  if (o.forEach((e) => {
4084
- let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && wa(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4085
- 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(ja(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Ma(e)), l.push({
4104
+ let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Da(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
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(Pa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Fa(e)), l.push({
4086
4106
  ...e,
4087
4107
  request: {
4088
4108
  ...e.request,
@@ -4094,7 +4114,7 @@ function Pa(e) {
4094
4114
  e.linePointOverrides.value = c, v(d);
4095
4115
  return;
4096
4116
  }
4097
- if (e.linePointOverrides.value = c, r ??= Da(), await b(r, l, t), !u.isCurrent(t)) return;
4117
+ if (e.linePointOverrides.value = c, r ??= Aa(), await b(r, l, t), !u.isCurrent(t)) return;
4098
4118
  let f = l.map((e) => ({
4099
4119
  ...e.request,
4100
4120
  revision: a.get(e.request.datasetId) ?? 1
@@ -4109,22 +4129,22 @@ function Pa(e) {
4109
4129
  p = e;
4110
4130
  } catch (n) {
4111
4131
  if (!u.isCurrent(t)) return;
4112
- y(Na(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4132
+ y(Ia(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4113
4133
  return;
4114
4134
  }
4115
4135
  if (!u.isCurrent(t)) return;
4116
4136
  let h = new Map(l.map((e) => [e.series.id, e.source]));
4117
4137
  p.results.forEach((e) => {
4118
- let t = h.get(e.seriesId), n = t ? Aa(e, t) : void 0;
4119
- 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(Na(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4120
- }), p.workerError && y(Na(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(Na(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4138
+ let t = h.get(e.seriesId), n = t ? Na(e, t) : void 0;
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(Ia(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4140
+ }), p.workerError && y(Ia(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Ia(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4121
4141
  };
4122
4142
  return k(h, () => {
4123
4143
  f && clearTimeout(f);
4124
4144
  let t = p;
4125
4145
  p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
4126
4146
  f = void 0, u.schedule((e) => x(e, !1));
4127
- }, ka));
4147
+ }, Ma));
4128
4148
  }, { immediate: !0 }), k(e.preparedSeries, () => {
4129
4149
  u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
4130
4150
  }, { flush: "sync" }), _(() => {
@@ -4133,10 +4153,10 @@ function Pa(e) {
4133
4153
  }
4134
4154
  //#endregion
4135
4155
  //#region src/components/core/useWaveformChartController.ts
4136
- function Fa(e, t) {
4156
+ function Ra(e, t) {
4137
4157
  e.value = t instanceof Element ? t : void 0;
4138
4158
  }
4139
- function Ia(e, t) {
4159
+ function za(e, t) {
4140
4160
  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({
4141
4161
  points: [],
4142
4162
  trackIndex: null,
@@ -4146,13 +4166,13 @@ function Ia(e, t) {
4146
4166
  x: 0,
4147
4167
  y: 0
4148
4168
  }
4149
- }), _ = x(!1), v = x(1), y = w(), S = le("waveform-clip"), T = x(new Set(e.defaultHiddenSeriesIds)), D = mt(), O = w({}), j = x([]), M = zr();
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 = Hr();
4150
4170
  k([() => e.yDomain, () => e.yDomains], () => {
4151
4171
  m.value = {}, h.value = {};
4152
4172
  }, { deep: !0 });
4153
- let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Wr(() => e.data, () => {
4173
+ let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = qr(() => e.data, () => {
4154
4174
  R(), I();
4155
- }, () => L()), B = Mi({
4175
+ }, () => L()), B = Fi({
4156
4176
  props: e,
4157
4177
  observedWidth: o,
4158
4178
  observedHeight: s,
@@ -4160,7 +4180,7 @@ function Ia(e, t) {
4160
4180
  measuredTitleHeight: l,
4161
4181
  internalHiddenSeriesIds: T,
4162
4182
  paginationBandHeight: u
4163
- }), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: q } = B, ie = Oi({
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 = ji({
4164
4184
  props: e,
4165
4185
  preparedSeries: z,
4166
4186
  currentPage: v,
@@ -4174,8 +4194,8 @@ function Ia(e, t) {
4174
4194
  independentYDomains: h,
4175
4195
  annotationInteraction: d(D),
4176
4196
  linePointOverrides: O
4177
- }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: ue, pageCount: de, pagedTracks: Y, resolvedChartLeftMargin: fe, innerWidth: X, hasChartArea: pe, activeInteractionMode: me, isZoomMode: he, initialXDomain: ge, sharedZoomDomain: _e, resolveInitialTrackDomain: ve, annotationLayoutsForTrack: ye, resolveSeriesYScale: be } = ie;
4178
- Pa({
4197
+ }), { 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
+ La({
4179
4199
  props: e,
4180
4200
  emit: t,
4181
4201
  instanceId: S,
@@ -4184,9 +4204,9 @@ function Ia(e, t) {
4184
4204
  renderingOptions: se,
4185
4205
  linePointOverrides: O
4186
4206
  }), A(() => {
4187
- u.value = ue.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
4207
+ u.value = le.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
4188
4208
  });
4189
- let xe = Br({
4209
+ let Se = Ur({
4190
4210
  props: e,
4191
4211
  emit: t,
4192
4212
  svgElement: r,
@@ -4194,18 +4214,18 @@ function Ia(e, t) {
4194
4214
  sharedTransform: f,
4195
4215
  independentTransforms: p,
4196
4216
  trackLayouts: ce,
4197
- initialXDomain: ge,
4198
- sharedZoomDomain: _e,
4199
- innerWidth: X,
4217
+ initialXDomain: _e,
4218
+ sharedZoomDomain: ve,
4219
+ innerWidth: pe,
4200
4220
  innerHeight: q,
4201
- hasChartArea: pe,
4202
- isZoomMode: he,
4221
+ hasChartArea: me,
4222
+ isZoomMode: ge,
4203
4223
  isPresentationMode: W,
4204
- resolveInitialTrackDomain: ve,
4205
- cancelPendingHover: () => Ce.cancelPendingHover()
4224
+ resolveInitialTrackDomain: ye,
4225
+ cancelPendingHover: () => we.cancelPendingHover()
4206
4226
  });
4207
- R = xe.prepareForDataChange;
4208
- let Z = gr({
4227
+ R = Se.prepareForDataChange;
4228
+ let Ce = yr({
4209
4229
  props: e,
4210
4230
  emit: t,
4211
4231
  container: n,
@@ -4215,57 +4235,57 @@ function Ia(e, t) {
4215
4235
  annotationInteraction: D,
4216
4236
  editorSeriesOptions: j,
4217
4237
  trackLayouts: ce,
4218
- annotationLayoutsForTrack: ye,
4219
- resolveSeriesYScale: be,
4238
+ annotationLayoutsForTrack: be,
4239
+ resolveSeriesYScale: xe,
4220
4240
  chartWidth: V,
4221
4241
  chartHeight: H,
4222
- innerWidth: X,
4223
- resolvedChartLeftMargin: fe,
4242
+ innerWidth: pe,
4243
+ resolvedChartLeftMargin: Y,
4224
4244
  titleAreaHeight: re,
4225
4245
  chartTopMargin: K,
4226
- activeInteractionMode: me,
4246
+ activeInteractionMode: he,
4227
4247
  isPresentationMode: W
4228
- }), Se = Rr({
4248
+ }), X = Vr({
4229
4249
  props: e,
4230
4250
  emit: t,
4231
4251
  selection: N,
4232
4252
  spacePressed: P,
4233
4253
  trackLayouts: ce,
4234
4254
  chartTracks: oe,
4235
- initialXDomain: ge,
4236
- innerWidth: X,
4255
+ initialXDomain: _e,
4256
+ innerWidth: pe,
4237
4257
  innerHeight: q,
4238
4258
  sharedOverlayElement: a,
4239
4259
  sharedTransform: f,
4240
4260
  independentTransforms: p,
4241
4261
  sharedYDomains: m,
4242
4262
  independentYDomains: h,
4243
- isZoomMode: he,
4263
+ isZoomMode: ge,
4244
4264
  isPresentationMode: W,
4245
4265
  editorSeriesOptions: j,
4246
- resolveInitialTrackDomain: ve,
4247
- canZoomTrack: xe.canZoomTrack,
4248
- canZoomSharedTracks: xe.canZoomSharedTracks,
4249
- configureZoom: xe.configureZoom,
4250
- cancelPendingZoom: xe.cancelPendingZoom,
4251
- clearHover: () => Ce.clearHover(),
4252
- resolveTrackAtPointer: Z.resolveTrackAtPointer
4253
- }), Ce = _r({
4266
+ resolveInitialTrackDomain: ye,
4267
+ canZoomTrack: Se.canZoomTrack,
4268
+ canZoomSharedTracks: Se.canZoomSharedTracks,
4269
+ configureZoom: Se.configureZoom,
4270
+ cancelPendingZoom: Se.cancelPendingZoom,
4271
+ clearHover: () => we.clearHover(),
4272
+ resolveTrackAtPointer: Ce.resolveTrackAtPointer
4273
+ }), we = br({
4254
4274
  emit: t,
4255
4275
  hoverState: g,
4256
4276
  suppressHoverUntilMove: _,
4257
4277
  hoverThrottle: M,
4258
4278
  selection: N,
4259
4279
  trackLayouts: ce,
4260
- innerWidth: X,
4261
- resolvedChartLeftMargin: fe,
4280
+ innerWidth: pe,
4281
+ resolvedChartLeftMargin: Y,
4262
4282
  titleAreaHeight: re,
4263
4283
  chartTopMargin: K,
4264
4284
  sharedOverlayElement: a,
4265
4285
  isPresentationMode: W,
4266
- updateViewportDrag: Se.updateViewportDrag,
4267
- resolveTrackAtPointer: Z.resolveTrackAtPointer
4268
- }), we = Hr({
4286
+ updateViewportDrag: X.updateViewportDrag,
4287
+ resolveTrackAtPointer: Ce.resolveTrackAtPointer
4288
+ }), Te = Gr({
4269
4289
  props: e,
4270
4290
  emit: t,
4271
4291
  container: n,
@@ -4282,42 +4302,42 @@ function Ia(e, t) {
4282
4302
  pointerInsideChart: F,
4283
4303
  currentPage: v,
4284
4304
  pageCount: de,
4285
- pagedTracks: Y,
4286
- gridOptions: ue,
4305
+ pagedTracks: fe,
4306
+ gridOptions: le,
4287
4307
  chartSeries: ae,
4288
4308
  chartTracks: oe,
4289
4309
  trackLayouts: ce,
4290
- innerWidth: X,
4310
+ innerWidth: pe,
4291
4311
  innerHeight: q,
4292
- sharedZoomDomain: _e,
4293
- initialXDomain: ge,
4312
+ sharedZoomDomain: ve,
4313
+ initialXDomain: _e,
4294
4314
  sharedTransform: f,
4295
- activeInteractionMode: me,
4315
+ activeInteractionMode: he,
4296
4316
  hiddenSeriesIdSet: G,
4297
4317
  internalHiddenSeriesIds: T,
4298
4318
  independentTransforms: p,
4299
4319
  independentYDomains: h,
4300
- resolveInitialTrackDomain: ve,
4320
+ resolveInitialTrackDomain: ye,
4301
4321
  annotationInteraction: D,
4302
4322
  editorSeriesOptions: j,
4303
4323
  isPresentationMode: W,
4304
- clearHover: Ce.clearHover,
4305
- cancelAnnotation: Z.cancelAnnotation,
4306
- configureZoom: xe.configureZoom,
4307
- resetViewport: Se.resetViewport,
4308
- cancelViewportDrag: Se.cancelViewportDrag,
4309
- cancelPendingHover: Ce.cancelPendingHover,
4310
- clearZoomBindings: xe.clearZoomBindings
4324
+ clearHover: we.clearHover,
4325
+ cancelAnnotation: Ce.cancelAnnotation,
4326
+ configureZoom: Se.configureZoom,
4327
+ resetViewport: X.resetViewport,
4328
+ cancelViewportDrag: X.cancelViewportDrag,
4329
+ cancelPendingHover: we.cancelPendingHover,
4330
+ clearZoomBindings: Se.clearZoomBindings
4311
4331
  });
4312
- return I = we.handleBeforeDataReferenceChange, L = we.handleDataReferenceChange, b({
4332
+ return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, b({
4313
4333
  ...E(e),
4314
4334
  ...B,
4315
4335
  ...ie,
4316
- ...Z,
4317
- ...Se,
4318
4336
  ...Ce,
4319
- margin: Lt,
4320
- getPageSize: Vn,
4337
+ ...X,
4338
+ ...we,
4339
+ margin: zt,
4340
+ getPageSize: Hn,
4321
4341
  currentPage: v,
4322
4342
  selection: N,
4323
4343
  pointerInsideChart: F,
@@ -4327,35 +4347,35 @@ function Ia(e, t) {
4327
4347
  contextMenu: D.contextMenu,
4328
4348
  editorSeriesOptions: j,
4329
4349
  clipPathId: S,
4330
- goToPage: we.goToPage,
4331
- setContainer: (e) => Fa(n, e),
4332
- setSvgElement: (e) => Fa(r, e),
4333
- setTitleMeasureElement: (e) => Fa(i, e),
4334
- setSharedOverlayElement: (e) => Fa(a, e)
4350
+ goToPage: Te.goToPage,
4351
+ setContainer: (e) => Ra(n, e),
4352
+ setSvgElement: (e) => Ra(r, e),
4353
+ setTitleMeasureElement: (e) => Ra(i, e),
4354
+ setSharedOverlayElement: (e) => Ra(a, e)
4335
4355
  });
4336
4356
  }
4337
4357
  //#endregion
4338
4358
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
4339
- var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4359
+ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4340
4360
  class: "waveform-annotation-editor__coordinates",
4341
4361
  "aria-label": "标注坐标"
4342
- }, Ba = ["aria-invalid"], Va = {
4362
+ }, Ua = ["aria-invalid"], Wa = {
4343
4363
  class: "waveform-annotation-editor__coordinate-value",
4344
4364
  "aria-hidden": "true"
4345
- }, Ha = ["id"], Ua = {
4365
+ }, Ga = ["id"], Ka = {
4346
4366
  key: 0,
4347
4367
  class: "waveform-annotation-editor__series",
4348
4368
  "aria-label": "标注所属波形"
4349
- }, Wa = { class: "waveform-annotation-editor__series-label" }, Ga = ["value"], Ka = ["value"], qa = { key: 1 }, Ja = { class: "waveform-annotation-editor__field" }, Ya = { class: "waveform-annotation-editor__label-row" }, Xa = ["maxlength"], Za = { class: "waveform-annotation-editor__colors" }, Qa = {
4369
+ }, qa = { class: "waveform-annotation-editor__series-label" }, Ja = ["value"], Ya = ["value"], Xa = { key: 1 }, Za = { class: "waveform-annotation-editor__field" }, Qa = { class: "waveform-annotation-editor__label-row" }, $a = ["maxlength"], eo = { class: "waveform-annotation-editor__colors" }, to = {
4350
4370
  class: "waveform-annotation-editor__color-field",
4351
4371
  title: "调整标注边框色和透明度"
4352
- }, $a = {
4372
+ }, no = {
4353
4373
  class: "waveform-annotation-editor__color-field",
4354
4374
  title: "调整标注文字色和透明度"
4355
- }, eo = {
4375
+ }, ro = {
4356
4376
  class: "waveform-annotation-editor__color-field",
4357
4377
  title: "调整标注背景色和透明度"
4358
- }, to = /*#__PURE__*/ et(/* @__PURE__ */ l({
4378
+ }, io = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4359
4379
  __name: "WaveformAnnotationEditor",
4360
4380
  props: {
4361
4381
  annotation: {},
@@ -4375,7 +4395,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4375
4395
  let u = c(async () => typeof window > "u" ? {
4376
4396
  name: "WaveformColorPickerSsrFallback",
4377
4397
  render: () => null
4378
- } : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g = le("waveform-annotation-editor-title"), _ = x(""), v = x(""), b = x(!1), C = x(""), w = x(""), E = x(""), A = t(() => b.value && (!v.value.trim() || !Number.isFinite(Number(v.value))) ? "请输入有效的时间" : ""), N = t(() => b.value && (A.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && v.value.trim().length > 0 && Number.isFinite(Number(v.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
4398
+ } : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g = ue("waveform-annotation-editor-title"), _ = x(""), v = x(""), b = x(!1), C = x(""), w = x(""), E = x(""), A = t(() => b.value && (!v.value.trim() || !Number.isFinite(Number(v.value))) ? "请输入有效的时间" : ""), N = t(() => b.value && (A.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && v.value.trim().length > 0 && Number.isFinite(Number(v.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
4379
4399
  let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
4380
4400
  return e ? {
4381
4401
  id: e.seriesId,
@@ -4385,8 +4405,8 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4385
4405
  } : d.series;
4386
4406
  });
4387
4407
  function L() {
4388
- let e = Ue(d.annotation.style);
4389
- _.value = d.annotation.text, v.value = Pt(d.annotation.x, d.timeUnit), b.value = !1, C.value = e.borderColor, w.value = e.textColor, E.value = e.backgroundColor, f(() => h.value?.focus());
4408
+ let e = Ge(d.annotation.style);
4409
+ _.value = d.annotation.text, v.value = It(d.annotation.x, d.timeUnit), b.value = !1, C.value = e.borderColor, w.value = e.textColor, E.value = e.backgroundColor, f(() => h.value?.focus());
4390
4410
  }
4391
4411
  k(() => d.annotation.id, L, { immediate: !0 });
4392
4412
  function R(e) {
@@ -4413,7 +4433,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4413
4433
  let t = e.target;
4414
4434
  t.value && p("series-change", t.value);
4415
4435
  }
4416
- return (t, o) => (y(), n(D(oe), {
4436
+ return (t, o) => (y(), n(D(se), {
4417
4437
  visible: !0,
4418
4438
  width: 440,
4419
4439
  "mask-closable": !0,
@@ -4426,15 +4446,15 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4426
4446
  onCancel: o[4] ||= (e) => p("cancel"),
4427
4447
  onOk: B
4428
4448
  }, {
4429
- title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, La)]),
4430
- default: j(() => [a("div", Ra, [
4431
- a("div", za, [
4449
+ title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ba)]),
4450
+ default: j(() => [a("div", Va, [
4451
+ a("div", Ha, [
4432
4452
  a("label", {
4433
4453
  class: "waveform-annotation-editor__coordinate-input",
4434
4454
  "aria-invalid": !!N.value
4435
4455
  }, [
4436
4456
  o[5] ||= a("b", null, "X", -1),
4437
- s(D(ae), {
4457
+ s(D(oe), {
4438
4458
  value: v.value === "" ? void 0 : Number(v.value),
4439
4459
  controls: !0,
4440
4460
  step: .001,
@@ -4451,26 +4471,26 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4451
4471
  "aria-invalid",
4452
4472
  "aria-describedby"
4453
4473
  ]),
4454
- a("code", Va, T(v.value), 1)
4455
- ], 8, Ba),
4474
+ a("code", Wa, T(v.value), 1)
4475
+ ], 8, Ua),
4456
4476
  N.value ? (y(), i("p", {
4457
4477
  key: 0,
4458
4478
  id: `${D(g)}-time-error`,
4459
4479
  class: "waveform-annotation-editor__coordinate-error",
4460
4480
  role: "alert"
4461
- }, T(N.value), 9, Ha)) : r("", !0),
4462
- a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(Ot)(d.annotation.y)), 1)])
4481
+ }, T(N.value), 9, Ga)) : r("", !0),
4482
+ a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(At)(d.annotation.y)), 1)])
4463
4483
  ]),
4464
4484
  o[13] ||= a("p", {
4465
4485
  class: "waveform-annotation-editor__coordinate-hint",
4466
4486
  role: "note"
4467
4487
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
4468
- I.value ? (y(), i("label", Ua, [
4488
+ I.value ? (y(), i("label", Ka, [
4469
4489
  a("i", {
4470
4490
  style: m({ backgroundColor: I.value.color }),
4471
4491
  "aria-hidden": "true"
4472
4492
  }, null, 4),
4473
- a("span", Wa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
4493
+ a("span", qa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
4474
4494
  d.seriesOptions?.length ? (y(), i("select", {
4475
4495
  key: 0,
4476
4496
  value: d.annotation.seriesId,
@@ -4479,9 +4499,9 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4479
4499
  }, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
4480
4500
  key: e.seriesId,
4481
4501
  value: e.seriesId
4482
- }, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, Ka))), 128))], 40, Ga)) : I.value.unit ? (y(), i("code", qa, T(I.value.unit), 1)) : r("", !0)
4502
+ }, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, Ya))), 128))], 40, Ja)) : I.value.unit ? (y(), i("code", Xa, T(I.value.unit), 1)) : r("", !0)
4483
4503
  ])) : r("", !0),
4484
- a("label", Ja, [a("span", Ya, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
4504
+ a("label", Za, [a("span", Qa, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
4485
4505
  ref_key: "textarea",
4486
4506
  ref: h,
4487
4507
  "onUpdate:modelValue": o[0] ||= (e) => _.value = e,
@@ -4490,10 +4510,10 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4490
4510
  "aria-label": "标注文本",
4491
4511
  placeholder: "输入这处波形的说明",
4492
4512
  onKeydown: V
4493
- }, null, 40, Xa), [[O, _.value]])]),
4494
- a("fieldset", Za, [
4513
+ }, null, 40, $a), [[O, _.value]])]),
4514
+ a("fieldset", eo, [
4495
4515
  o[12] ||= a("legend", null, "颜色与透明度", -1),
4496
- a("label", Qa, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
4516
+ a("label", to, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
4497
4517
  "pure-color": C.value,
4498
4518
  "onUpdate:pureColor": o[1] ||= (e) => C.value = e,
4499
4519
  "aria-label": "标注边框色",
@@ -4503,7 +4523,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4503
4523
  "disable-alpha": !1,
4504
4524
  "blur-close": !0
4505
4525
  }, null, 8, ["pure-color"])]),
4506
- a("label", $a, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
4526
+ a("label", no, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
4507
4527
  "pure-color": w.value,
4508
4528
  "onUpdate:pureColor": o[2] ||= (e) => w.value = e,
4509
4529
  "aria-label": "标注文字色",
@@ -4513,7 +4533,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4513
4533
  "disable-alpha": !1,
4514
4534
  "blur-close": !0
4515
4535
  }, null, 8, ["pure-color"])]),
4516
- a("label", eo, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
4536
+ a("label", ro, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
4517
4537
  "pure-color": E.value,
4518
4538
  "onUpdate:pureColor": o[3] ||= (e) => E.value = e,
4519
4539
  "aria-label": "标注背景色",
@@ -4528,13 +4548,13 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4528
4548
  _: 1
4529
4549
  }, 8, ["ok-button-props"]));
4530
4550
  }
4531
- }), [["__scopeId", "data-v-01ecd3a4"]]), no = { class: "waveform-tooltip__series-content" }, ro = { class: "waveform-tooltip__series-label" }, io = {
4551
+ }), [["__scopeId", "data-v-01ecd3a4"]]), ao = { class: "waveform-tooltip__series-content" }, oo = { class: "waveform-tooltip__series-label" }, so = {
4532
4552
  key: 0,
4533
4553
  class: "waveform-tooltip__value"
4534
- }, ao = {
4554
+ }, co = {
4535
4555
  key: 1,
4536
4556
  class: "waveform-tooltip__value waveform-tooltip__value--missing"
4537
- }, oo = 12, so = 8, co = 560, lo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4557
+ }, lo = 12, uo = 8, fo = 560, po = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4538
4558
  __name: "WaveformTooltip",
4539
4559
  props: {
4540
4560
  visible: { type: Boolean },
@@ -4564,12 +4584,12 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4564
4584
  }, { flush: "post" }), v(u);
4565
4585
  let d = t(() => {
4566
4586
  if (!s.visible || !s.hoveredPoint) return { display: "none" };
4567
- let e = s.position.x + oo, t = s.position.x - oo - l.value.width, n = Math.max(1, Math.min(co, s.containerWidth - so * 2));
4587
+ let e = s.position.x + lo, t = s.position.x - lo - l.value.width, n = Math.max(1, Math.min(fo, s.containerWidth - uo * 2));
4568
4588
  return {
4569
- ...e + l.value.width <= s.containerWidth - so ? { left: `${e}px` } : t >= so ? { right: `${s.containerWidth - s.position.x + oo}px` } : { left: `${so}px` },
4589
+ ...e + l.value.width <= s.containerWidth - uo ? { left: `${e}px` } : t >= uo ? { right: `${s.containerWidth - s.position.x + lo}px` } : { left: `${uo}px` },
4570
4590
  maxWidth: `${n}px`,
4571
4591
  visibility: l.value.width > 0 ? "visible" : "hidden",
4572
- top: `${Math.max(so, Math.min(s.position.y - 18, s.containerHeight - l.value.height - so))}px`
4592
+ top: `${Math.max(uo, Math.min(s.position.y - 18, s.containerHeight - l.value.height - uo))}px`
4573
4593
  };
4574
4594
  });
4575
4595
  return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
@@ -4581,9 +4601,9 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4581
4601
  }, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
4582
4602
  key: `${t.trackIndex}-${t.name}`,
4583
4603
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
4584
- }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", no, [a("span", ro, [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", io, "(x:" + T(D(Nt)(t.point.x, n.timeUnit)) + " y:" + T(D(Dt)(t.point.y)) + ")", 1)) : (y(), i("span", ao, "无数据"))])]))), 128))], 4)) : r("", !0);
4604
+ }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", ao, [a("span", oo, [o(T(t.shotNo?.trim() || "未配置炮号") + ": " + T(t.name), 1), t.unit ? (y(), i(e, { key: 0 }, [o("(" + T(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (y(), i("span", so, "(x:" + T(D(Ft)(t.point.x, n.timeUnit)) + " y:" + T(D(kt)(t.point.y)) + ")", 1)) : (y(), i("span", co, "无数据"))])]))), 128))], 4)) : r("", !0);
4585
4605
  }
4586
- }), [["__scopeId", "data-v-0d0d1d3c"]]), uo = /* @__PURE__ */ l({
4606
+ }), [["__scopeId", "data-v-0d0d1d3c"]]), mo = /* @__PURE__ */ l({
4587
4607
  __name: "WaveformHoverHost",
4588
4608
  props: {
4589
4609
  state: {},
@@ -4594,7 +4614,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4594
4614
  },
4595
4615
  setup(e) {
4596
4616
  let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
4597
- return (t, r) => (y(), n(lo, {
4617
+ return (t, r) => (y(), n(po, {
4598
4618
  visible: e.visible && i.value !== null,
4599
4619
  position: e.state.position,
4600
4620
  "time-unit": e.timeUnit,
@@ -4612,16 +4632,16 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4612
4632
  "container-height"
4613
4633
  ]));
4614
4634
  }
4615
- }), fo = 13, po = 2, mo = 14, ho = 8, go = 24, _o = {
4635
+ }), ho = 13, go = 2, _o = 14, vo = 8, yo = 24, bo = {
4616
4636
  circle: te,
4617
4637
  square: re,
4618
4638
  triangle: K,
4619
4639
  diamond: ne
4620
4640
  };
4621
- function vo(e, t = 48) {
4622
- return e === "none" ? null : ee().type(_o[e]).size(t)() ?? null;
4641
+ function xo(e, t = 48) {
4642
+ return e === "none" ? null : ee().type(bo[e]).size(t)() ?? null;
4623
4643
  }
4624
- function yo(e, t, n = 48) {
4644
+ function So(e, t, n = 48) {
4625
4645
  if (e === "none" || t.length === 0) return null;
4626
4646
  if (e === "circle") {
4627
4647
  let e = Math.sqrt(n / Math.PI);
@@ -4638,24 +4658,24 @@ function yo(e, t, n = 48) {
4638
4658
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
4639
4659
  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("");
4640
4660
  }
4641
- function bo(e) {
4661
+ function Co(e) {
4642
4662
  return e === "none" ? null : "M1 8H25";
4643
4663
  }
4644
- function xo(e) {
4664
+ function wo(e) {
4645
4665
  if (e === "dashed") return "8 5";
4646
4666
  if (e === "dash-dot") return "8 5 1.5 5";
4647
4667
  }
4648
- function So(e) {
4649
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, go) : ho) / 2, n = fo - t, r = fo + t;
4668
+ function To(e) {
4669
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, yo) : vo) / 2, n = ho - t, r = ho + t;
4650
4670
  return [
4651
- `M${n} ${po}H${r}`,
4652
- `M${fo} ${po}V${mo}`,
4653
- `M${n} ${mo}H${r}`
4671
+ `M${n} ${go}H${r}`,
4672
+ `M${ho} ${go}V${_o}`,
4673
+ `M${n} ${_o}H${r}`
4654
4674
  ].join("");
4655
4675
  }
4656
4676
  //#endregion
4657
4677
  //#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
4658
- var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4678
+ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4659
4679
  "data-series-id",
4660
4680
  "data-series-name",
4661
4681
  "data-y-axis-index",
@@ -4664,11 +4684,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4664
4684
  "d",
4665
4685
  "stroke",
4666
4686
  "stroke-dasharray"
4667
- ], Eo = ["data-series-id"], Do = [
4687
+ ], ko = ["data-series-id"], Ao = [
4668
4688
  "d",
4669
4689
  "stroke",
4670
4690
  "stroke-width"
4671
- ], Oo = ["data-series-id", "data-point-type"], ko = ["d", "fill"], Ao = /*#__PURE__*/ et(/* @__PURE__ */ l({
4691
+ ], jo = ["data-series-id", "data-point-type"], Mo = ["d", "fill"], No = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4672
4692
  __name: "WaveformSeriesLayer",
4673
4693
  props: {
4674
4694
  track: {},
@@ -4676,11 +4696,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4676
4696
  },
4677
4697
  setup(n) {
4678
4698
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
4679
- let t = yo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4699
+ let t = So(e.series.pointType, e.pointRenderPoints.map((t) => ({
4680
4700
  x: a.track.xScale(t.x),
4681
4701
  y: e.yScale(t.y)
4682
4702
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
4683
- let { lower: r, upper: i } = on(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
4703
+ let { lower: r, upper: i } = cn(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
4684
4704
  return [
4685
4705
  `M${o - n},${s}H${o + n}`,
4686
4706
  `M${o},${s}V${c}`,
@@ -4713,8 +4733,8 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4713
4733
  "data-line-style": e.series.lineStyle,
4714
4734
  d: e.path,
4715
4735
  stroke: e.series.color,
4716
- "stroke-dasharray": D(xo)(e.series.lineStyle)
4717
- }, null, 8, To)) : r("", !0),
4736
+ "stroke-dasharray": D(wo)(e.series.lineStyle)
4737
+ }, null, 8, Oo)) : r("", !0),
4718
4738
  e.series.errorBar.visible ? (y(), i("g", {
4719
4739
  key: 1,
4720
4740
  class: "waveform-track__error-bars waveform-chart__error-bars",
@@ -4725,7 +4745,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4725
4745
  d: e.errorBarPath,
4726
4746
  stroke: e.series.errorBar.color || e.series.color,
4727
4747
  "stroke-width": e.series.errorBar.width
4728
- }, null, 8, Do)) : r("", !0)], 8, Eo)) : r("", !0),
4748
+ }, null, 8, Ao)) : r("", !0)], 8, ko)) : r("", !0),
4729
4749
  e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
4730
4750
  key: 2,
4731
4751
  class: "waveform-track__points waveform-chart__points",
@@ -4736,28 +4756,28 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4736
4756
  class: "waveform-track__point waveform-chart__point",
4737
4757
  d: e.pointPath,
4738
4758
  fill: e.series.color
4739
- }, null, 8, ko)) : r("", !0)], 8, Oo))
4740
- ], 8, wo))), 128))], 8, Co)) : r("", !0);
4759
+ }, null, 8, Mo)) : r("", !0)], 8, jo))
4760
+ ], 8, Do))), 128))], 8, Eo)) : r("", !0);
4741
4761
  }
4742
- }), [["__scopeId", "data-v-42a3fd47"]]), jo = ["transform"], Mo = ["transform"], No = {
4762
+ }), [["__scopeId", "data-v-628502df"]]), Po = ["transform"], Fo = ["transform"], Io = {
4743
4763
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
4744
4764
  x: "0",
4745
4765
  y: "7",
4746
4766
  dy: "0.71em",
4747
4767
  "text-anchor": "start"
4748
- }, Po = ["x"], Fo = [
4768
+ }, Lo = ["x"], Ro = [
4749
4769
  "data-y-axis-index",
4750
4770
  "data-y-axis-side",
4751
4771
  "transform"
4752
- ], Io = { key: 2 }, Lo = [
4772
+ ], zo = { key: 2 }, Bo = [
4753
4773
  "x",
4754
4774
  "y",
4755
4775
  "width"
4756
- ], Ro = ["fill", "transform"], zo = ["data-y-axis-title-index"], Bo = [
4776
+ ], Vo = ["fill", "transform"], Ho = ["data-y-axis-title-index"], Uo = [
4757
4777
  "x",
4758
4778
  "y",
4759
4779
  "width"
4760
- ], Vo = ["fill", "transform"], Ho = /* @__PURE__ */ l({
4780
+ ], Wo = ["fill", "transform"], Go = /* @__PURE__ */ l({
4761
4781
  __name: "WaveformTrackAxes",
4762
4782
  props: {
4763
4783
  track: {},
@@ -4786,11 +4806,13 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4786
4806
  if (n.track.yAxes.forEach((e, t) => {
4787
4807
  let r = s.value[t];
4788
4808
  if (!r) return;
4789
- let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => ar(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
4790
- o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
4809
+ let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => cr(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
4810
+ o.call(a);
4811
+ let c = Math.min(...e.tickValues);
4812
+ 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);
4791
4813
  }), !o.value) return;
4792
4814
  let e = G(o.value);
4793
- e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => At(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);
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);
4794
4816
  }
4795
4817
  return g(async () => {
4796
4818
  await f(), m();
@@ -4812,7 +4834,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4812
4834
  ref: o,
4813
4835
  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 }]),
4814
4836
  transform: `translate(0, ${t.track.height})`
4815
- }, null, 10, jo)) : r("", !0),
4837
+ }, null, 10, Po)) : r("", !0),
4816
4838
  t.track.showXAxis ? (y(), i("g", {
4817
4839
  key: 1,
4818
4840
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
@@ -4820,13 +4842,13 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4820
4842
  "font-family": "sans-serif",
4821
4843
  "font-size": "10",
4822
4844
  "aria-hidden": "true"
4823
- }, [a("text", No, T(t.track.endpointLabels.start), 1), a("text", {
4845
+ }, [a("text", Io, T(t.track.endpointLabels.start), 1), a("text", {
4824
4846
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
4825
4847
  x: t.track.width ?? t.innerWidth,
4826
4848
  y: "7",
4827
4849
  dy: "0.71em",
4828
4850
  "text-anchor": "end"
4829
- }, T(t.track.endpointLabels.end), 9, Po)], 8, Mo)) : r("", !0),
4851
+ }, T(t.track.endpointLabels.end), 9, Lo)], 8, Fo)) : r("", !0),
4830
4852
  (y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
4831
4853
  key: `y-axis-${t.track.index}-${e.index}`,
4832
4854
  ref_for: !0,
@@ -4835,66 +4857,66 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4835
4857
  "data-y-axis-index": e.index,
4836
4858
  "data-y-axis-side": e.side,
4837
4859
  transform: `translate(${e.x}, 0)`
4838
- }, null, 10, Fo))), 128)),
4839
- !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", Io, [a("rect", {
4860
+ }, null, 10, Ro))), 128)),
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", zo, [a("rect", {
4840
4862
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4841
- x: t.track.yAxisLabelX - D(12) / 2,
4863
+ x: t.track.yAxes[0].labelX - D(20) / 2,
4842
4864
  y: t.track.height / 2 - 40,
4843
- width: D(12),
4865
+ width: D(20),
4844
4866
  height: "80",
4845
4867
  rx: "2"
4846
- }, null, 8, Lo), a("text", {
4868
+ }, null, 8, Bo), a("text", {
4847
4869
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4848
4870
  fill: t.track.series?.color,
4849
- transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
4871
+ transform: `translate(${t.track.yAxes[0].labelX}, ${t.track.height / 2}) rotate(-90)`,
4850
4872
  "text-anchor": "middle",
4851
4873
  "dominant-baseline": "central"
4852
- }, T(t.track.series ? c(t.track.series) : ""), 9, Ro)])) : r("", !0),
4874
+ }, T(t.track.series ? c(t.track.series) : ""), 9, Vo)])) : r("", !0),
4853
4875
  (y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
4854
4876
  key: `y-axis-title-${t.track.index}-${e.index}`,
4855
4877
  class: "waveform-track__multi-axis-title",
4856
4878
  "data-y-axis-title-index": e.index
4857
4879
  }, [a("rect", {
4858
4880
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4859
- x: e.labelX - D(12) / 2,
4881
+ x: e.labelX - D(20) / 2,
4860
4882
  y: t.track.height / 2 - 40,
4861
- width: D(12),
4883
+ width: D(20),
4862
4884
  height: "80",
4863
4885
  rx: "2"
4864
- }, null, 8, Bo), a("text", {
4886
+ }, null, 8, Uo), a("text", {
4865
4887
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4866
4888
  fill: e.seriesList[0].color,
4867
4889
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
4868
4890
  "text-anchor": "middle",
4869
4891
  "dominant-baseline": "central"
4870
- }, T(c(e.seriesList[0])), 9, Vo)], 8, zo))), 128))
4892
+ }, T(c(e.seriesList[0])), 9, Wo)], 8, Ho))), 128))
4871
4893
  ], 64));
4872
4894
  }
4873
- }), Uo = [
4895
+ }), Ko = [
4874
4896
  "width",
4875
4897
  "height",
4876
4898
  "fill"
4877
- ], Wo = ["clip-path"], Go = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Ko = [
4899
+ ], qo = ["clip-path"], Jo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Yo = [
4878
4900
  "stroke",
4879
4901
  "x1",
4880
4902
  "x2",
4881
4903
  "y2"
4882
- ], qo = [
4904
+ ], Xo = [
4883
4905
  "stroke",
4884
4906
  "x2",
4885
4907
  "y1",
4886
4908
  "y2"
4887
- ], Jo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Yo = [
4909
+ ], Zo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Qo = [
4888
4910
  "stroke",
4889
4911
  "x1",
4890
4912
  "x2",
4891
4913
  "y2"
4892
- ], Xo = [
4914
+ ], $o = [
4893
4915
  "stroke",
4894
4916
  "x2",
4895
4917
  "y1",
4896
4918
  "y2"
4897
- ], Zo = ["clip-path"], Qo = [
4919
+ ], es = ["clip-path"], ts = [
4898
4920
  "data-y-axis-index",
4899
4921
  "x2",
4900
4922
  "y1",
@@ -4902,7 +4924,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4902
4924
  "stroke",
4903
4925
  "stroke-width",
4904
4926
  "stroke-dasharray"
4905
- ], $o = ["x", "y"], es = /* @__PURE__ */ l({
4927
+ ], ns = ["x", "y"], rs = /* @__PURE__ */ l({
4906
4928
  __name: "WaveformTrackBackdrop",
4907
4929
  props: {
4908
4930
  track: {},
@@ -4927,12 +4949,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4927
4949
  height: t.track.height,
4928
4950
  fill: t.frameStyle.backgroundColor,
4929
4951
  "aria-hidden": "true"
4930
- }, null, 8, Uo)) : r("", !0),
4952
+ }, null, 8, Ko)) : r("", !0),
4931
4953
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
4932
4954
  key: 1,
4933
4955
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4934
4956
  "aria-hidden": "true"
4935
- }, [a("g", Go, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
4957
+ }, [a("g", Jo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
4936
4958
  key: `x-minor-${t.track.index}-${e}`,
4937
4959
  "data-grid-direction": "vertical",
4938
4960
  stroke: t.track.gridLines.verticalColor,
@@ -4940,7 +4962,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4940
4962
  x2: t.track.xScale(e),
4941
4963
  y1: "0",
4942
4964
  y2: t.track.height
4943
- }, null, 8, Ko))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
4965
+ }, null, 8, Yo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
4944
4966
  key: `y-minor-${t.track.index}-${e}`,
4945
4967
  "data-grid-direction": "horizontal",
4946
4968
  stroke: t.track.gridLines.horizontalColor,
@@ -4948,7 +4970,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4948
4970
  x2: t.track.width ?? t.innerWidth,
4949
4971
  y1: t.track.yScale(e),
4950
4972
  y2: t.track.yScale(e)
4951
- }, null, 8, qo))), 128)) : r("", !0)]), a("g", Jo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
4973
+ }, null, 8, Xo))), 128)) : r("", !0)]), a("g", Zo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
4952
4974
  key: `x-major-${t.track.index}-${e}`,
4953
4975
  "data-grid-direction": "vertical",
4954
4976
  stroke: t.track.gridLines.verticalColor,
@@ -4956,7 +4978,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4956
4978
  x2: t.track.xScale(e),
4957
4979
  y1: "0",
4958
4980
  y2: t.track.height
4959
- }, null, 8, Yo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
4981
+ }, null, 8, Qo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
4960
4982
  key: `y-major-${t.track.index}-${e}`,
4961
4983
  "data-grid-direction": "horizontal",
4962
4984
  stroke: t.track.gridLines.horizontalColor,
@@ -4964,7 +4986,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4964
4986
  x2: t.track.width ?? t.innerWidth,
4965
4987
  y1: t.track.yScale(e),
4966
4988
  y2: t.track.yScale(e)
4967
- }, null, 8, Xo))), 128)) : r("", !0)])], 8, Wo)) : r("", !0),
4989
+ }, null, 8, $o))), 128)) : r("", !0)])], 8, qo)) : r("", !0),
4968
4990
  !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
4969
4991
  key: 2,
4970
4992
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
@@ -4981,7 +5003,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4981
5003
  stroke: t.zeroLine.color,
4982
5004
  "stroke-width": t.zeroLine.width,
4983
5005
  "stroke-dasharray": t.zeroLine.dash || void 0
4984
- }, null, 8, Qo))], 64))), 128))], 8, Zo)) : r("", !0),
5006
+ }, null, 8, ts))], 64))), 128))], 8, es)) : r("", !0),
4985
5007
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
4986
5008
  key: 3,
4987
5009
  class: "waveform-track__watermark waveform-chart__watermark",
@@ -4991,10 +5013,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4991
5013
  "text-anchor": "middle",
4992
5014
  "dominant-baseline": "central",
4993
5015
  "aria-hidden": "true"
4994
- }, T(t.frameNumber), 13, $o)) : r("", !0)
5016
+ }, T(t.frameNumber), 13, ns)) : r("", !0)
4995
5017
  ], 64));
4996
5018
  }
4997
- }), ts = [
5019
+ }), is = [
4998
5020
  "data-track-index",
4999
5021
  "data-track-id",
5000
5022
  "data-track-empty",
@@ -5004,19 +5026,19 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5004
5026
  "data-track-top",
5005
5027
  "data-track-height",
5006
5028
  "transform"
5007
- ], ns = [
5029
+ ], as = [
5008
5030
  "width",
5009
5031
  "height",
5010
5032
  "stroke",
5011
5033
  "stroke-width",
5012
5034
  "stroke-dasharray",
5013
5035
  "stroke-linecap"
5014
- ], rs = [
5036
+ ], os = [
5015
5037
  "data-interactive",
5016
5038
  "data-independent-overlay-index",
5017
5039
  "width",
5018
5040
  "height"
5019
- ], is = ["x", "y"], as = /* @__PURE__ */ l({
5041
+ ], ss = ["x", "y"], cs = /* @__PURE__ */ l({
5020
5042
  __name: "WaveformTrack",
5021
5043
  props: {
5022
5044
  track: {},
@@ -5039,10 +5061,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5039
5061
  default: !1
5040
5062
  },
5041
5063
  zeroLine: { default: () => ({
5042
- visible: !1,
5043
- color: "#98a2b3",
5044
- width: 1,
5045
- dash: "6 4"
5064
+ visible: !0,
5065
+ color: Gt.COLOR,
5066
+ width: Gt.WIDTH,
5067
+ dash: Gt.DASH
5046
5068
  }) }
5047
5069
  },
5048
5070
  emits: [
@@ -5076,7 +5098,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5076
5098
  "data-track-height": e.track.height,
5077
5099
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
5078
5100
  }, [
5079
- s(es, {
5101
+ s(rs, {
5080
5102
  track: e.track,
5081
5103
  "clip-path-id": e.clipPathId,
5082
5104
  "inner-width": e.innerWidth,
@@ -5093,7 +5115,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5093
5115
  "frame-style",
5094
5116
  "zero-line"
5095
5117
  ]),
5096
- s(Ho, {
5118
+ s(Go, {
5097
5119
  track: e.track,
5098
5120
  "inner-width": e.innerWidth,
5099
5121
  "clean-view": e.cleanView,
@@ -5119,8 +5141,8 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5119
5141
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
5120
5142
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
5121
5143
  "aria-hidden": "true"
5122
- }, null, 8, ns)),
5123
- s(Ao, {
5144
+ }, null, 8, as)),
5145
+ s(No, {
5124
5146
  track: e.track,
5125
5147
  "clip-path-id": e.clipPathId
5126
5148
  }, null, 8, ["track", "clip-path-id"]),
@@ -5142,7 +5164,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5142
5164
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
5143
5165
  onClick: n[5] ||= (e) => o("click", e),
5144
5166
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
5145
- }, null, 42, rs)) : r("", !0),
5167
+ }, null, 42, os)) : r("", !0),
5146
5168
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
5147
5169
  key: 2,
5148
5170
  class: "waveform-track__no-visible-series",
@@ -5150,33 +5172,33 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5150
5172
  y: e.track.height / 2,
5151
5173
  "text-anchor": "middle",
5152
5174
  "dominant-baseline": "central"
5153
- }, " 暂无可见曲线 ", 8, is)) : r("", !0)
5154
- ], 10, ts));
5175
+ }, " 暂无可见曲线 ", 8, ss)) : r("", !0)
5176
+ ], 10, is));
5155
5177
  }
5156
- }), os = [
5178
+ }), ls = [
5157
5179
  "width",
5158
5180
  "height",
5159
5181
  "data-position",
5160
5182
  "data-orientation"
5161
- ], ss = [
5183
+ ], us = [
5162
5184
  "disabled",
5163
5185
  "aria-pressed",
5164
5186
  "aria-label",
5165
5187
  "onClick"
5166
- ], cs = [
5188
+ ], ds = [
5167
5189
  "data-line-type",
5168
5190
  "data-line-style",
5169
5191
  "data-point-type",
5170
5192
  "data-error-bar-visible"
5171
- ], ls = [
5193
+ ], fs = [
5172
5194
  "d",
5173
5195
  "stroke",
5174
5196
  "stroke-dasharray"
5175
- ], us = [
5197
+ ], ps = [
5176
5198
  "d",
5177
5199
  "stroke",
5178
5200
  "stroke-width"
5179
- ], ds = ["d", "fill"], fs = ["title"], ps = /*#__PURE__*/ et(/* @__PURE__ */ l({
5201
+ ], ms = ["d", "fill"], hs = ["title"], gs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
5180
5202
  __name: "WaveformLegend",
5181
5203
  props: {
5182
5204
  series: {},
@@ -5234,45 +5256,45 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5234
5256
  "data-point-type": e.pointType,
5235
5257
  "data-error-bar-visible": e.errorBar.visible || void 0
5236
5258
  }, [
5237
- D(bo)(e.lineType) ? (y(), i("path", {
5259
+ D(Co)(e.lineType) ? (y(), i("path", {
5238
5260
  key: 0,
5239
5261
  class: "waveform-legend__line",
5240
- d: D(bo)(e.lineType) ?? void 0,
5262
+ d: D(Co)(e.lineType) ?? void 0,
5241
5263
  stroke: e.color,
5242
- "stroke-dasharray": D(xo)(e.lineStyle),
5243
- "stroke-width": "1.5",
5264
+ "stroke-dasharray": D(wo)(e.lineStyle),
5265
+ "stroke-width": "1",
5244
5266
  fill: "none"
5245
- }, null, 8, ls)) : r("", !0),
5267
+ }, null, 8, fs)) : r("", !0),
5246
5268
  e.errorBar.visible ? (y(), i("path", {
5247
5269
  key: 1,
5248
5270
  class: "waveform-legend__error-bar",
5249
- d: D(So)(e.errorBar.capWidth),
5271
+ d: D(To)(e.errorBar.capWidth),
5250
5272
  stroke: e.errorBar.color || e.color,
5251
5273
  "stroke-width": e.errorBar.width,
5252
5274
  "stroke-linecap": "butt",
5253
5275
  fill: "none"
5254
- }, null, 8, us)) : r("", !0),
5276
+ }, null, 8, ps)) : r("", !0),
5255
5277
  e.pointType === "none" ? r("", !0) : (y(), i("path", {
5256
5278
  key: 2,
5257
5279
  class: "waveform-legend__point",
5258
- d: D(vo)(e.pointType, 30) ?? void 0,
5280
+ d: D(xo)(e.pointType, 30) ?? void 0,
5259
5281
  fill: e.color,
5260
5282
  transform: "translate(13 8)"
5261
- }, null, 8, ds))
5262
- ], 8, cs)), a("span", {
5283
+ }, null, 8, ms))
5284
+ ], 8, ds)), a("span", {
5263
5285
  class: "waveform-legend__label",
5264
5286
  title: e.name
5265
- }, T(e.name), 9, fs)], 10, ss))), 128))], 6)], 2)], 8, os));
5287
+ }, T(e.name), 9, hs)], 10, us))), 128))], 6)], 2)], 8, ls));
5266
5288
  }
5267
- }), [["__scopeId", "data-v-2ae12e71"]]), ms = {
5289
+ }), [["__scopeId", "data-v-3af7ebae"]]), _s = {
5268
5290
  class: "waveform-chart__hover-layer",
5269
5291
  "pointer-events": "none",
5270
5292
  "aria-hidden": "true"
5271
- }, hs = ["clip-path", "transform"], gs = [
5293
+ }, vs = ["clip-path", "transform"], ys = [
5272
5294
  "x1",
5273
5295
  "x2",
5274
5296
  "y2"
5275
- ], _s = /*#__PURE__*/ et(/* @__PURE__ */ l({
5297
+ ], bs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
5276
5298
  __name: "WaveformHoverLayer",
5277
5299
  props: {
5278
5300
  state: {},
@@ -5288,7 +5310,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5288
5310
  x: e.xScale(n)
5289
5311
  }] : [];
5290
5312
  }));
5291
- return (t, r) => (y(), i("g", ms, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
5313
+ return (t, r) => (y(), i("g", _s, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
5292
5314
  key: e.track.index,
5293
5315
  class: "waveform-track__crosshair waveform-chart__crosshair",
5294
5316
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -5298,9 +5320,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5298
5320
  x2: e.x,
5299
5321
  y1: "0",
5300
5322
  y2: e.track.height
5301
- }, null, 8, gs)], 8, hs))), 128))]));
5323
+ }, null, 8, ys)], 8, vs))), 128))]));
5302
5324
  }
5303
- }), [["__scopeId", "data-v-54a5a37d"]]), vs = [
5325
+ }), [["__scopeId", "data-v-54a5a37d"]]), xs = [
5304
5326
  "data-display-mode",
5305
5327
  "data-interaction-mode",
5306
5328
  "data-presentation-mode",
@@ -5309,40 +5331,40 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5309
5331
  "data-plot-margin-top",
5310
5332
  "data-plot-margin-bottom",
5311
5333
  "data-title-area-height"
5312
- ], ys = [
5334
+ ], Ss = [
5313
5335
  "role",
5314
5336
  "aria-level",
5315
5337
  "aria-hidden"
5316
- ], bs = ["data-title-scale", "data-title-wrapped"], xs = [
5338
+ ], Cs = ["data-title-scale", "data-title-wrapped"], ws = [
5317
5339
  "width",
5318
5340
  "height",
5319
5341
  "aria-label"
5320
- ], Ss = ["id"], Cs = ["width", "height"], ws = ["transform"], Ts = {
5342
+ ], Ts = ["id"], Es = ["width", "height"], Ds = ["transform"], Os = {
5321
5343
  key: 0,
5322
5344
  class: "waveform-chart__grid-slots",
5323
5345
  "aria-hidden": "true"
5324
- }, Es = ["transform"], Ds = ["width", "height"], Os = ["width", "height"], ks = [
5346
+ }, ks = ["transform"], As = ["width", "height"], js = ["width", "height"], Ms = [
5325
5347
  "x",
5326
5348
  "y",
5327
5349
  "width",
5328
5350
  "height"
5329
- ], As = {
5351
+ ], Ns = {
5330
5352
  key: 4,
5331
5353
  class: "waveform-chart__legend-layer"
5332
- }, js = [
5354
+ }, Ps = [
5333
5355
  "data-legend-track-index",
5334
5356
  "data-legend-track-id",
5335
5357
  "transform"
5336
- ], Ms = ["x", "y"], Ns = ["x", "y"], Ps = /* @__PURE__ */ l({
5358
+ ], Fs = ["x", "y"], Is = ["x", "y"], Ls = /* @__PURE__ */ l({
5337
5359
  __name: "WaveformChartView",
5338
5360
  props: { controller: {} },
5339
5361
  setup(t) {
5340
- let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: v, pointerInsideChart: b, handleNativeContextMenu: x, titleAreaReserved: C, titleAreaStyle: w, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: J, handleAnnotationContextMenu: ie, resolveFrameNumber: ae, frameStyle: oe, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: Y, beginViewportDrag: fe, hoverState: X, showTooltip: pe, selectionBox: me, renderedAnnotations: he, annotationsVisible: ge, handleExistingAnnotationContextMenu: _e, beginAnnotationDrag: ve, handleAnnotationMove: ye, endAnnotationDrag: be, resolveLegendPosition: xe, resolveLegendOrientation: Z, legendBackgroundColor: Se, legendInteractive: Ce, resolvedHiddenSeriesIds: we, toggleSeriesVisibility: Te, resolvedXLabel: Ee, xAxisTitleY: De, hasChartArea: Oe, gridOptions: ke, pageCount: Ae, currentPage: je, getPageSize: Me, pageableTracks: Ne, goToPage: Pe, annotationInteraction: Fe, editorDraft: Ie, contextMenu: Le, editorSeries: Re, editorSeriesOptions: ze, timeError: Be, confirmAnnotation: Ve, cancelAnnotation: He, changeDraftSeries: Ue, changeDraftTime: We, editContextAnnotation: Ge, deleteContextAnnotation: Ke, chartHeight: qe, setContainer: Je, setSvgElement: Ye, setTitleMeasureElement: Xe, setSharedOverlayElement: Ze } = E(t.controller);
5341
- function Qe() {
5362
+ let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: v, pointerInsideChart: b, handleNativeContextMenu: x, titleAreaReserved: C, titleAreaStyle: w, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: ie, handleAnnotationContextMenu: J, resolveFrameNumber: ae, frameStyle: oe, axes: se, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: fe, beginViewportDrag: Y, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: Se, resolveLegendOrientation: Ce, legendBackgroundColor: X, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = E(t.controller);
5363
+ function $e() {
5342
5364
  b.value = !1, q.value();
5343
5365
  }
5344
5366
  return (t, E) => (y(), i("div", {
5345
- ref: D(Je),
5367
+ ref: D(Ye),
5346
5368
  class: p(["waveform-chart", [
5347
5369
  `waveform-chart--${D(o)}`,
5348
5370
  `waveform-chart--interaction-${D(c)}`,
@@ -5362,7 +5384,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5362
5384
  "data-plot-margin-bottom": D(v).bottom,
5363
5385
  "data-title-area-height": D(_),
5364
5386
  onPointerenter: E[8] ||= (e) => b.value = !0,
5365
- onPointerleave: Qe,
5387
+ onPointerleave: $e,
5366
5388
  onContextmenuCapture: E[9] ||= (...e) => D(x) && D(x)(...e)
5367
5389
  }, [
5368
5390
  D(C) ? (y(), i("div", {
@@ -5373,7 +5395,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5373
5395
  "aria-level": D(O) ? 2 : void 0,
5374
5396
  "aria-hidden": D(l) || void 0
5375
5397
  }, [a("span", {
5376
- ref: D(Xe),
5398
+ ref: D(Ze),
5377
5399
  class: "waveform-chart__title-measure",
5378
5400
  style: m(D(k)),
5379
5401
  "aria-hidden": "true"
@@ -5386,9 +5408,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5386
5408
  style: m(D(M)),
5387
5409
  "data-title-scale": D(N).scale,
5388
5410
  "data-title-wrapped": D(N).wrapped || void 0
5389
- }, T(D(A)), 13, bs)], 4)) : r("", !0)], 12, ys)) : r("", !0),
5411
+ }, T(D(A)), 13, Cs)], 4)) : r("", !0)], 12, Ss)) : r("", !0),
5390
5412
  (y(), i("svg", {
5391
- ref: D(Ye),
5413
+ ref: D(Xe),
5392
5414
  class: "waveform-chart__svg",
5393
5415
  width: D(P),
5394
5416
  height: D(F),
@@ -5403,9 +5425,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5403
5425
  }, [a("rect", {
5404
5426
  width: e.width,
5405
5427
  height: e.height
5406
- }, null, 8, Cs)], 8, Ss))), 128))]),
5428
+ }, null, 8, Es)], 8, Ts))), 128))]),
5407
5429
  a("g", { transform: `translate(${D(g)}, ${D(B)})` }, [
5408
- D(o) !== "compact" && !D(l) ? (y(), i("g", Ts, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
5430
+ D(o) !== "compact" && !D(l) ? (y(), i("g", Os, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
5409
5431
  key: `grid-slot-${e.slotIndex}`,
5410
5432
  transform: `translate(${e.left}, ${e.top})`
5411
5433
  }, [e.series ? r("", !0) : (y(), i("rect", {
@@ -5413,10 +5435,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5413
5435
  class: "waveform-chart__grid-slot-placeholder",
5414
5436
  width: e.width,
5415
5437
  height: e.cellHeight
5416
- }, null, 8, Ds))], 8, Es))), 128))])) : r("", !0),
5438
+ }, null, 8, As))], 8, ks))), 128))])) : r("", !0),
5417
5439
  D(o) !== "independent" && D(R).length && D(H) ? (y(), i("rect", {
5418
5440
  key: 1,
5419
- ref: D(Ze),
5441
+ ref: D(Qe),
5420
5442
  class: p(["waveform-chart__overlay waveform-chart__overlay--shared", {
5421
5443
  "is-zoomable": !D(u) && D(U) && D(W),
5422
5444
  "is-annotating": !D(u) && D(c) === "annotation"
@@ -5428,10 +5450,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5428
5450
  onPointerup: E[2] ||= (...e) => D(re) && D(re)(...e),
5429
5451
  onPointercancel: E[3] ||= (...e) => D(K) && D(K)(...e),
5430
5452
  onPointerleave: E[4] ||= (...e) => D(q) && D(q)(...e),
5431
- onClick: E[5] ||= (...e) => D(J) && D(J)(...e),
5432
- onContextmenu: E[6] ||= (...e) => D(ie) && D(ie)(...e)
5433
- }, null, 42, Os)) : r("", !0),
5434
- (y(!0), i(e, null, S(D(R), (e) => (y(), n(D(as), {
5453
+ onClick: E[5] ||= (...e) => D(ie) && D(ie)(...e),
5454
+ onContextmenu: E[6] ||= (...e) => D(J) && D(J)(...e)
5455
+ }, null, 42, js)) : r("", !0),
5456
+ (y(!0), i(e, null, S(D(R), (e) => (y(), n(D(cs), {
5435
5457
  key: `${e.index}-${e.id}`,
5436
5458
  track: e,
5437
5459
  "clip-path-id": D(z),
@@ -5442,18 +5464,18 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5442
5464
  "interaction-mode": D(c),
5443
5465
  "frame-number": D(ae)(e.id),
5444
5466
  "frame-style": D(oe),
5445
- axes: D(ce),
5467
+ axes: D(se),
5446
5468
  "clean-view": D(l),
5447
5469
  "zero-line": D(le),
5448
5470
  "time-unit": D(ue),
5449
5471
  "y-label": D(de),
5450
- onPointerMove: (t) => D(Y)(t, e.index),
5451
- onPointerDown: (t) => D(fe)(t, e.index, !0),
5472
+ onPointerMove: (t) => D(fe)(t, e.index),
5473
+ onPointerDown: (t) => D(Y)(t, e.index, !0),
5452
5474
  onPointerUp: D(re),
5453
5475
  onPointerCancel: D(K),
5454
5476
  onPointerLeave: D(q),
5455
- onClick: (t) => D(J)(t, e.index),
5456
- onContextmenu: (t) => D(ie)(t, e.index)
5477
+ onClick: (t) => D(ie)(t, e.index),
5478
+ onContextmenu: (t) => D(J)(t, e.index)
5457
5479
  }, null, 8, [
5458
5480
  "track",
5459
5481
  "clip-path-id",
@@ -5477,35 +5499,35 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5477
5499
  "onClick",
5478
5500
  "onContextmenu"
5479
5501
  ]))), 128)),
5480
- s(D(_s), {
5481
- state: D(X),
5502
+ s(D(bs), {
5503
+ state: D(pe),
5482
5504
  tracks: D(R),
5483
5505
  "clip-path-id": D(z),
5484
- visible: D(pe) && !D(u)
5506
+ visible: D(me) && !D(u)
5485
5507
  }, null, 8, [
5486
5508
  "state",
5487
5509
  "tracks",
5488
5510
  "clip-path-id",
5489
5511
  "visible"
5490
5512
  ]),
5491
- D(me) && D(d)?.kind === "box" ? (y(), i("rect", {
5513
+ D(he) && D(d)?.kind === "box" ? (y(), i("rect", {
5492
5514
  key: 2,
5493
5515
  class: "waveform-chart__zoom-selection",
5494
- x: D(me).x,
5495
- y: D(me).y,
5496
- width: D(me).width,
5497
- height: D(me).height,
5516
+ x: D(he).x,
5517
+ y: D(he).y,
5518
+ width: D(he).width,
5519
+ height: D(he).height,
5498
5520
  "aria-hidden": "true"
5499
- }, null, 8, ks)) : r("", !0),
5500
- D(l) ? r("", !0) : (y(), n(D(tt), {
5521
+ }, null, 8, Ms)) : r("", !0),
5522
+ D(l) ? r("", !0) : (y(), n(D(rt), {
5501
5523
  key: 3,
5502
- annotations: D(he),
5503
- visible: D(ge),
5524
+ annotations: D(ge),
5525
+ visible: D(_e),
5504
5526
  interactive: !D(u),
5505
- onContextmenu: D(_e),
5506
- onDragStart: D(ve),
5507
- onMove: D(ye),
5508
- onDragEnd: D(be)
5527
+ onContextmenu: D(ve),
5528
+ onDragStart: D(ye),
5529
+ onMove: D(be),
5530
+ onDragEnd: D(xe)
5509
5531
  }, null, 8, [
5510
5532
  "annotations",
5511
5533
  "visible",
@@ -5515,23 +5537,23 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5515
5537
  "onMove",
5516
5538
  "onDragEnd"
5517
5539
  ])),
5518
- D(l) ? r("", !0) : (y(), i("g", As, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
5540
+ D(l) ? r("", !0) : (y(), i("g", Ns, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
5519
5541
  key: `legend-${e.index}-${e.id}`,
5520
5542
  class: "waveform-chart__legend-track",
5521
5543
  "data-legend-track-index": e.index,
5522
5544
  "data-legend-track-id": e.id,
5523
5545
  transform: `translate(${e.left}, ${e.top})`
5524
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(ps), {
5546
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(gs), {
5525
5547
  key: 0,
5526
5548
  series: e.legendSeries,
5527
- position: D(xe)(e.id),
5528
- orientation: D(Z)(D(xe)(e.id)),
5529
- "background-color": D(Se),
5530
- interactive: D(Ce),
5531
- "hidden-series-ids": D(we),
5549
+ position: D(Se)(e.id),
5550
+ orientation: D(Ce)(D(Se)(e.id)),
5551
+ "background-color": D(X),
5552
+ interactive: D(we),
5553
+ "hidden-series-ids": D(Te),
5532
5554
  width: e.width ?? D(G),
5533
5555
  height: e.height,
5534
- onToggle: D(Te)
5556
+ onToggle: D(Ee)
5535
5557
  }, null, 8, [
5536
5558
  "series",
5537
5559
  "position",
@@ -5542,51 +5564,51 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5542
5564
  "width",
5543
5565
  "height",
5544
5566
  "onToggle"
5545
- ])) : r("", !0)], 8, js))), 128))]))
5546
- ], 8, ws),
5547
- D(Ee) && !D(l) ? (y(), i("text", {
5567
+ ])) : r("", !0)], 8, Ps))), 128))]))
5568
+ ], 8, Ds),
5569
+ D(De) && !D(l) ? (y(), i("text", {
5548
5570
  key: 0,
5549
5571
  class: "waveform-chart__label waveform-chart__x-label",
5550
5572
  x: D(g) + D(G) / 2,
5551
- y: D(De),
5573
+ y: D(Oe),
5552
5574
  "text-anchor": "middle"
5553
- }, T(D(Ee)), 9, Ms)) : r("", !0),
5554
- D(Oe) && !D(I) ? (y(), i("text", {
5575
+ }, T(D(De)), 9, Fs)) : r("", !0),
5576
+ D(ke) && !D(I) ? (y(), i("text", {
5555
5577
  key: 1,
5556
5578
  class: "waveform-chart__empty",
5557
5579
  x: D(P) / 2,
5558
5580
  y: D(F) / 2,
5559
5581
  "text-anchor": "middle"
5560
- }, " 暂无有效波形数据 ", 8, Ns)) : r("", !0)
5561
- ], 40, xs)),
5562
- D(ke).showPagination && D(Ae) > 1 && !D(l) ? (y(), n(D(se), {
5582
+ }, " 暂无有效波形数据 ", 8, Is)) : r("", !0)
5583
+ ], 40, ws)),
5584
+ D(Ae).showPagination && D(je) > 1 && !D(l) ? (y(), n(D(ce), {
5563
5585
  key: 1,
5564
5586
  class: "waveform-chart__pagination",
5565
5587
  "aria-label": "波形分页",
5566
- current: D(je),
5567
- "page-size": D(Me)(D(ke)),
5568
- total: D(Ne).length,
5588
+ current: D(Me),
5589
+ "page-size": D(Ne)(D(Ae)),
5590
+ total: D(Pe).length,
5569
5591
  "show-size-changer": !1,
5570
5592
  "show-quick-jumper": !1,
5571
- onChange: D(Pe)
5593
+ onChange: D(Fe)
5572
5594
  }, null, 8, [
5573
5595
  "current",
5574
5596
  "page-size",
5575
5597
  "total",
5576
5598
  "onChange"
5577
5599
  ])) : r("", !0),
5578
- D(Ie) && !D(l) && !D(u) ? (y(), n(to, {
5600
+ D(Le) && !D(l) && !D(u) ? (y(), n(io, {
5579
5601
  key: 2,
5580
- annotation: D(Ie).annotation,
5581
- mode: D(Ie).mode,
5582
- series: D(Re),
5583
- "series-options": D(ze),
5602
+ annotation: D(Le).annotation,
5603
+ mode: D(Le).mode,
5604
+ series: D(ze),
5605
+ "series-options": D(Be),
5584
5606
  "time-unit": D(ue),
5585
- "time-error": D(Be),
5586
- onConfirm: D(Ve),
5587
- onCancel: D(He),
5588
- onSeriesChange: D(Ue),
5589
- onTimeChange: D(We)
5607
+ "time-error": D(Ve),
5608
+ onConfirm: D(He),
5609
+ onCancel: D(Ue),
5610
+ onSeriesChange: D(We),
5611
+ onTimeChange: D(Ge)
5590
5612
  }, null, 8, [
5591
5613
  "annotation",
5592
5614
  "mode",
@@ -5599,15 +5621,15 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5599
5621
  "onSeriesChange",
5600
5622
  "onTimeChange"
5601
5623
  ])) : r("", !0),
5602
- !D(l) && !D(u) ? (y(), n(D(nt), {
5624
+ !D(l) && !D(u) ? (y(), n(D(it), {
5603
5625
  key: 3,
5604
- visible: D(Le) !== null,
5605
- x: D(Le)?.x || 0,
5606
- y: D(Le)?.y || 0,
5607
- "can-edit": !!D(Le)?.annotationId,
5608
- onEdit: D(Ge),
5609
- onDelete: D(Ke),
5610
- onClose: D(Fe).closeContextMenu
5626
+ visible: D(Re) !== null,
5627
+ x: D(Re)?.x || 0,
5628
+ y: D(Re)?.y || 0,
5629
+ "can-edit": !!D(Re)?.annotationId,
5630
+ onEdit: D(Ke),
5631
+ onDelete: D(qe),
5632
+ onClose: D(Ie).closeContextMenu
5611
5633
  }, null, 8, [
5612
5634
  "visible",
5613
5635
  "x",
@@ -5617,12 +5639,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5617
5639
  "onDelete",
5618
5640
  "onClose"
5619
5641
  ])) : r("", !0),
5620
- s(D(uo), {
5621
- state: D(X),
5622
- visible: D(pe) && !D(u),
5642
+ s(D(mo), {
5643
+ state: D(pe),
5644
+ visible: D(me) && !D(u),
5623
5645
  "time-unit": D(ue),
5624
5646
  "container-width": D(P),
5625
- "container-height": D(qe)
5647
+ "container-height": D(Je)
5626
5648
  }, null, 8, [
5627
5649
  "state",
5628
5650
  "visible",
@@ -5630,9 +5652,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5630
5652
  "container-width",
5631
5653
  "container-height"
5632
5654
  ])
5633
- ], 46, vs));
5655
+ ], 46, xs));
5634
5656
  }
5635
- }), Fs = /* @__PURE__ */ l({
5657
+ }), Rs = /* @__PURE__ */ l({
5636
5658
  __name: "WaveformChart",
5637
5659
  props: {
5638
5660
  data: {},
@@ -5660,7 +5682,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5660
5682
  maxZoomScale: {},
5661
5683
  initialXDomain: {},
5662
5684
  initialXDomains: {},
5663
- xDomainStrategy: { default: () => ({ type: "data" }) },
5685
+ xDomainStrategy: { default: () => ({ type: "integer-ms" }) },
5664
5686
  yDomain: {},
5665
5687
  yDomains: {},
5666
5688
  timeUnit: { default: "ms" },
@@ -5696,7 +5718,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5696
5718
  type: Boolean,
5697
5719
  default: !1
5698
5720
  },
5699
- zeroLine: { default: () => ({ visible: !1 }) }
5721
+ zeroLine: { default: () => ({ visible: !0 }) }
5700
5722
  },
5701
5723
  emits: [
5702
5724
  "point-hover",
@@ -5716,12 +5738,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5716
5738
  "sampling-error"
5717
5739
  ],
5718
5740
  setup(e, { expose: t, emit: r }) {
5719
- let i = Ia(e, r);
5741
+ let i = za(e, r);
5720
5742
  return t({
5721
5743
  resetViewport: i.resetViewport,
5722
5744
  setViewportDomain: i.setViewportDomain
5723
- }), (e, t) => (y(), n(Ps, { controller: D(i) }, null, 8, ["controller"]));
5745
+ }), (e, t) => (y(), n(Ls, { controller: D(i) }, null, 8, ["controller"]));
5724
5746
  }
5725
5747
  });
5726
5748
  //#endregion
5727
- export { gn as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Fs as WaveformChart, gt as buildMinorTicks, xi as calculateWasmRange, It as clamp, kt as displayTime, Si as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, yi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, En as resolveWaveformRenderingOptions, bi as sampleWaveformWasm, Pn as selectRenderablePoints, ft as serializeWaveformAnnotations };
5749
+ export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Rs as WaveformChart, vt as buildMinorTicks, wi as calculateWasmRange, Rt as clamp, jt as displayTime, Ti as findWasmVisibleRange, Pt as formatAxisTime, Nt as formatEndpointTime, Ft as formatTooltipTime, Si as initializeWasmSampling, ln as normalizeWaveformData, fn as normalizeWaveformSeries, _t as paddedDomain, ht as parseWaveformAnnotations, Lt as resolveTrackGeometry, Dn as resolveWaveformRenderingOptions, Ci as sampleWaveformWasm, Fn as selectRenderablePoints, mt as serializeWaveformAnnotations };