waveform-analysis 0.1.63 → 0.1.64

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 (83) hide show
  1. package/README.md +9 -2
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +953 -946
  4. package/dist/style.css +1 -1
  5. package/dist/types/types/chart.d.ts +2 -1
  6. package/package.json +1 -1
  7. package/src/components/WaveformChart.vue +1 -1
  8. package/src/components/core/xDomain.ts +26 -2
  9. package/src/components/rendering/WaveformLegend.vue +1 -1
  10. package/src/components/rendering/WaveformSeriesLayer.vue +1 -1
  11. package/src/demo/DemoChartHost.vue +1 -0
  12. package/src/types/chart.ts +2 -1
  13. package/src/App.test.ts +0 -400
  14. package/src/components/annotation/components.test.ts +0 -372
  15. package/src/components/annotation/markup.test.ts +0 -371
  16. package/src/components/annotation/serialization.test.ts +0 -114
  17. package/src/components/core/constants.test.ts +0 -29
  18. package/src/components/core/fixedYDomainLayout.test.ts +0 -204
  19. package/src/components/core/grid.test.ts +0 -197
  20. package/src/components/core/latestTaskScheduler.test.ts +0 -51
  21. package/src/components/core/layout.test.ts +0 -373
  22. package/src/components/core/title.test.ts +0 -76
  23. package/src/components/core/useWaveformData.test.ts +0 -95
  24. package/src/components/core/useWaveformRenderSampling.test.ts +0 -17
  25. package/src/components/core/xDomain.test.ts +0 -28
  26. package/src/components/core/yAxisNice.test.ts +0 -174
  27. package/src/components/core/yAxisSlotLayout.test.ts +0 -165
  28. package/src/components/core/yDomain.test.ts +0 -56
  29. package/src/components/interaction/WaveformTooltip.test.ts +0 -276
  30. package/src/components/interaction/viewportInteractionState.test.ts +0 -101
  31. package/src/components/utils/useAnimationFrameThrottle.test.ts +0 -53
  32. package/src/components/waveformChartCases/annotationEditingAndReprojection.test.ts +0 -257
  33. package/src/components/waveformChartCases/compactAndSharedHover.test.ts +0 -358
  34. package/src/components/waveformChartCases/dataAndHoverPerformance.test.ts +0 -358
  35. package/src/components/waveformChartCases/dataLifecycle.test.ts +0 -310
  36. package/src/components/waveformChartCases/frameGridAndFormatting.test.ts +0 -389
  37. package/src/components/waveformChartCases/gridFill.test.ts +0 -95
  38. package/src/components/waveformChartCases/incompleteDataHover.test.ts +0 -155
  39. package/src/components/waveformChartCases/interactionAndAnnotationCreation.test.ts +0 -328
  40. package/src/components/waveformChartCases/layoutAndDomains.test.ts +0 -371
  41. package/src/components/waveformChartCases/legendVisibility.test.ts +0 -350
  42. package/src/components/waveformChartCases/multiAxisAndPagination.test.ts +0 -400
  43. package/src/components/waveformChartCases/multiAxisLabelAlignment.test.ts +0 -61
  44. package/src/components/waveformChartCases/presentationAndAxes.test.ts +0 -345
  45. package/src/components/waveformChartCases/presentationMode.test.ts +0 -327
  46. package/src/components/waveformChartCases/renderingStyles.test.ts +0 -283
  47. package/src/components/waveformChartCases/sizingAndTitles.test.ts +0 -370
  48. package/src/components/waveformChartCases/trackOrder.test.ts +0 -323
  49. package/src/components/waveformChartCases/viewportBoxAndPan.test.ts +0 -365
  50. package/src/components/waveformChartCases/viewportConstraintsAndReset.test.ts +0 -311
  51. package/src/components/waveformChartCases/viewportLifecycle.test.ts +0 -132
  52. package/src/components/waveformChartCases/viewportReset.test.ts +0 -251
  53. package/src/components/waveformChartCases/wheelZoomOut.test.ts +0 -114
  54. package/src/components/waveformChartCases/workerSamplingIntegration.test.ts +0 -117
  55. package/src/components/waveformChartCases/xDomainStrategy.test.ts +0 -168
  56. package/src/components/waveformChartCases/yAxisLayout.test.ts +0 -103
  57. package/src/components/waveformChartCases/zoomIntentAndDataRebind.test.ts +0 -213
  58. package/src/components/waveformChartCases/zoomPointConstraints.test.ts +0 -308
  59. package/src/components/waveformLegendGeometry.test.ts +0 -21
  60. package/src/components/waveformNormalization.test.ts +0 -170
  61. package/src/core/data.test.ts +0 -241
  62. package/src/core/rendering.test.ts +0 -267
  63. package/src/core/renderingStrategies.test.ts +0 -90
  64. package/src/core/samplingReference.test.ts +0 -124
  65. package/src/core/wasmSampling.test.ts +0 -205
  66. package/src/core/workerSampling/multiresolution.test.ts +0 -69
  67. package/src/core/workerSampling/protocol.test.ts +0 -34
  68. package/src/core/workerSampling/repository.test.ts +0 -400
  69. package/src/core/workerSampling/repositoryCache.test.ts +0 -163
  70. package/src/core/workerSampling/repositorySampling.test.ts +0 -106
  71. package/src/core/workerSampling/repositoryTypedDataset.test.ts +0 -89
  72. package/src/core/workerSampling/repositoryWasmDataset.test.ts +0 -70
  73. package/src/data/simulatedWaveforms.test.ts +0 -60
  74. package/src/demo/plotMarginControls.test.ts +0 -29
  75. package/src/demo/xAxisLabelControls.test.ts +0 -86
  76. package/src/test/setup.ts +0 -82
  77. package/src/test/waveformChart.ts +0 -75
  78. package/src/utils/domain.test.ts +0 -28
  79. package/src/utils/formatters.test.ts +0 -131
  80. package/src/utils/sampling.test.ts +0 -226
  81. package/src/views/FixedYDomainDemo.test.ts +0 -44
  82. package/src/views/WasmSamplingDemo.test.ts +0 -13
  83. 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
1034
  left: 80
1035
- }, Rt = {
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 = {
1041
+ }, Gt = {
1042
1042
  COLOR: "#98a2b3",
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,26 +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);
1529
+ })), n = qn(t, e.grid.columnCount);
1523
1530
  return t.flatMap((t, r) => {
1524
1531
  let i = !t.series || t.series.series.length === 0;
1525
1532
  if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
@@ -1529,14 +1536,14 @@ function Zn(e) {
1529
1536
  visibleSeries: [],
1530
1537
  xDomain: [0, 1],
1531
1538
  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 = {
1539
+ }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W($n(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? J : J).rescaleX(c), u = pr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
1533
1540
  left: 0,
1534
1541
  right: 0
1535
1542
  }, f = {
1536
1543
  left: 0,
1537
1544
  right: 0
1538
1545
  }, 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);
1546
+ let r = d[n.side]++, i = or(t.plotHeight, e.yAxisSplitNumber), a = sr(n.domain, i, e.yAxisNice !== !1), o = W(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = mr(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 12 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 12 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
1540
1547
  return p || (f[n.side] += u), {
1541
1548
  index: n.index,
1542
1549
  side: n.side,
@@ -1544,20 +1551,20 @@ function Zn(e) {
1544
1551
  labelX: g,
1545
1552
  scale: o,
1546
1553
  majorTicks: s,
1547
- minorTicks: gt(s, 2),
1554
+ minorTicks: vt(s, 2),
1548
1555
  tickValues: c,
1549
1556
  seriesList: n.seriesList
1550
1557
  };
1551
1558
  }), m = W(a.yDomain, [t.plotHeight, 0]);
1552
1559
  e.yAxisNice !== !1 && m.nice();
1553
1560
  let h = p[0]?.scale ?? m, g = l.ticks(Math.max(2, Math.floor(t.width / 100))), _ = p[0]?.majorTicks ?? [], v = p[0]?.tickValues ?? [], y = l.domain(), b = {
1554
- start: At(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1555
- end: At(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1561
+ start: Mt(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1562
+ end: Mt(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1556
1563
  }, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
1557
1564
  let n = l(e);
1558
1565
  return n > x && n < t.width - S;
1559
1566
  }), 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, {
1567
+ let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Rn(n.points, y, t.width, e.rendering, {
1561
1568
  lineVisible: !i && n.lineType !== "none",
1562
1569
  linePointOverride: e.linePointOverrides?.[n.id],
1563
1570
  pointVisible: n.pointType !== "none",
@@ -1592,7 +1599,7 @@ function Zn(e) {
1592
1599
  yScale: h,
1593
1600
  yAxes: p,
1594
1601
  xMajorTicks: g,
1595
- xMinorTicks: gt(g, 3, y),
1602
+ xMinorTicks: vt(g, 3, y),
1596
1603
  yMajorTicks: _,
1597
1604
  yMinorTicks: p[0]?.minorTicks ?? [],
1598
1605
  yAxisTickValues: v,
@@ -1610,11 +1617,11 @@ function Zn(e) {
1610
1617
  }
1611
1618
  //#endregion
1612
1619
  //#region src/components/core/layout.ts
1613
- var Qn = 7, $n = 7, er = 4, tr = 0, nr = 12;
1614
- function rr(e, t) {
1620
+ var tr = 7, nr = 7, rr = 4, ir = 0, ar = 12;
1621
+ function or(e, t) {
1615
1622
  return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
1616
1623
  }
1617
- function ir(e, t = 5, n = !0) {
1624
+ function sr(e, t = 5, n = !0) {
1618
1625
  let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
1619
1626
  n && i.nice(Math.max(1, r - 1));
1620
1627
  let a = i.domain(), [o, s] = a;
@@ -1623,15 +1630,15 @@ function ir(e, t = 5, n = !0) {
1623
1630
  values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
1624
1631
  };
1625
1632
  }
1626
- function ar(e, t, n, r) {
1627
- return Et(e, {
1633
+ function cr(e, t, n, r) {
1634
+ return Ot(e, {
1628
1635
  axisMin: t[0],
1629
1636
  axisMax: t[1],
1630
1637
  topTickValue: Math.max(...n),
1631
1638
  unit: r
1632
1639
  });
1633
1640
  }
1634
- function or(e) {
1641
+ function lr(e) {
1635
1642
  return e >= 4 ? [
1636
1643
  "left",
1637
1644
  "left",
@@ -1643,13 +1650,13 @@ function or(e) {
1643
1650
  "right"
1644
1651
  ] : e === 2 ? ["left", "right"] : ["left"];
1645
1652
  }
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));
1653
+ var ur = /* @__PURE__ */ new WeakMap();
1654
+ function dr(e, t) {
1655
+ let n = ur.get(e);
1656
+ n || (n = /* @__PURE__ */ new Map(), ur.set(e, n));
1650
1657
  let r = n.get(t);
1651
1658
  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) => ({
1659
+ let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = lr(i), o = Array.from({ length: i }, (e, t) => ({
1653
1660
  index: t,
1654
1661
  side: a[t],
1655
1662
  seriesList: [],
@@ -1662,50 +1669,50 @@ function cr(e, t) {
1662
1669
  if (t === "single-axis") n.domain = e.yDomain;
1663
1670
  else {
1664
1671
  let t = n.seriesList.flatMap((e) => e.yDomain);
1665
- n.domain = t.length > 0 ? ht(t) : e.yDomain;
1672
+ n.domain = t.length > 0 ? _t(t) : e.yDomain;
1666
1673
  }
1667
1674
  }), n.set(t, o), o;
1668
1675
  }
1669
- function lr(e, t, n, r) {
1670
- let i = Gt(e, r);
1671
- return cr(e, t).map((e) => {
1676
+ function fr(e, t, n, r) {
1677
+ let i = qt(e, r);
1678
+ return dr(e, t).map((e) => {
1672
1679
  if (i) return {
1673
1680
  ...e,
1674
1681
  domain: i,
1675
1682
  fixed: !0
1676
1683
  };
1677
- let t = e.seriesList.map((e) => Kt(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Kt(e, n, r));
1684
+ let t = e.seriesList.map((e) => Jt(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Jt(e, n, r));
1678
1685
  return a ? {
1679
1686
  ...e,
1680
- domain: Jt(t),
1687
+ domain: Xt(t),
1681
1688
  fixed: a
1682
1689
  } : e;
1683
1690
  });
1684
1691
  }
1685
- function ur(e, t, n, r, i) {
1692
+ function pr(e, t, n, r, i) {
1686
1693
  let a = i?.[e.id];
1687
- return lr(e, t, n, r).map((e) => !e.fixed && a ? {
1694
+ return fr(e, t, n, r).map((e) => !e.fixed && a ? {
1688
1695
  ...e,
1689
1696
  domain: a
1690
1697
  } : e);
1691
1698
  }
1692
- function dr(e, t = !0, n, r, i = 5, a = !1) {
1699
+ function mr(e, t = !0, n, r, i = 5, a = !1) {
1693
1700
  let o = n ? {
1694
1701
  domain: e,
1695
1702
  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 };
1703
+ } : sr(e, i, t), s = [o.values];
1704
+ return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => cr(t, o.domain, e, r).length))) * tr };
1698
1705
  }
1699
- function fr(e, t, n, r, i, a = !0, o = !1, s) {
1706
+ function hr(e, t, n, r, i, a = !0, o = !1, s) {
1700
1707
  let c = /* @__PURE__ */ new Map();
1701
1708
  e.forEach((e) => {
1702
1709
  let l = {
1703
1710
  left: 0,
1704
1711
  right: 0
1705
1712
  };
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));
1713
+ pr(e, t, n, r, s).forEach((e) => {
1714
+ let t = l[e.side]++, n = `${e.side}:${t}`, r = mr(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
1715
+ c.set(n, Math.max(c.get(n) ?? tr, r));
1709
1716
  });
1710
1717
  });
1711
1718
  let l = [], u = {
@@ -1714,7 +1721,7 @@ function fr(e, t, n, r, i, a = !0, o = !1, s) {
1714
1721
  };
1715
1722
  return ["left", "right"].forEach((e) => {
1716
1723
  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;
1724
+ let n = c.get(`${e}:${t}`) ?? tr, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + nr + ir + ar / 2) * (e === "left" ? -1 : 1), a = n + nr + ir + ar + rr;
1718
1725
  l.push({
1719
1726
  side: e,
1720
1727
  sideIndex: t,
@@ -1728,7 +1735,7 @@ function fr(e, t, n, r, i, a = !0, o = !1, s) {
1728
1735
  clearance: u
1729
1736
  };
1730
1737
  }
1731
- function pr(e, t, n) {
1738
+ function gr(e, t, n) {
1732
1739
  let r = (e) => {
1733
1740
  let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
1734
1741
  return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
@@ -1747,11 +1754,11 @@ function pr(e, t, n) {
1747
1754
  }
1748
1755
  //#endregion
1749
1756
  //#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}`;
1757
+ var _r = 0;
1758
+ function vr() {
1759
+ return _r += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${_r}`;
1753
1760
  }
1754
- function gr(e) {
1761
+ function yr(e) {
1755
1762
  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
1763
  function S(e) {
1757
1764
  if (!i.value.some((t) => t.id === e)) return;
@@ -1784,7 +1791,7 @@ function gr(e) {
1784
1791
  };
1785
1792
  }
1786
1793
  function T(e, t, n) {
1787
- b.value = "", s.openCreate(e, hr, t), c.value = n;
1794
+ b.value = "", s.openCreate(e, vr, t), c.value = n;
1788
1795
  let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
1789
1796
  r?.mode === "add" && (r.annotation.style = {
1790
1797
  borderColor: i?.color || "#1677ff",
@@ -1844,7 +1851,7 @@ function gr(e) {
1844
1851
  let e = l.value[n];
1845
1852
  return e?.hasVisibleSeries ? e : void 0;
1846
1853
  }
1847
- return pr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1854
+ return gr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1848
1855
  }
1849
1856
  function A(e, t) {
1850
1857
  let n = e.currentTarget;
@@ -1853,7 +1860,7 @@ function gr(e) {
1853
1860
  if (!o) return null;
1854
1861
  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
1862
  return {
1856
- candidates: ze(u(o), d, c, a),
1863
+ candidates: Ve(u(o), d, c, a),
1857
1864
  editorAnchor: C(e, t)
1858
1865
  };
1859
1866
  }
@@ -1904,7 +1911,7 @@ function gr(e) {
1904
1911
  let e = s.contextMenu.value, n = t.annotations.find((t) => t.id === e?.annotationId);
1905
1912
  if (!n) return;
1906
1913
  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));
1914
+ 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
1915
  }
1909
1916
  function R() {
1910
1917
  if (y.value) return;
@@ -1935,7 +1942,7 @@ function gr(e) {
1935
1942
  }
1936
1943
  //#endregion
1937
1944
  //#region src/components/interaction/useWaveformHover.ts
1938
- function _r(e) {
1945
+ function br(e) {
1939
1946
  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
1947
  let r = n.points[t];
1941
1948
  return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
@@ -1958,12 +1965,12 @@ function _r(e) {
1958
1965
  }, C = (e = !1) => {
1959
1966
  r.value = !e, y();
1960
1967
  }, 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);
1968
+ let n = e.source ?? X(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
1962
1969
  if (!(!r || !i)) return t <= r.x ? r : t >= i.x ? i : n.nearestPoint(t);
1963
1970
  }, E = (e, t) => {
1964
1971
  let n, r = -Infinity;
1965
1972
  if (e.seriesList.forEach((e) => {
1966
- let t = e.source ?? Z(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
1973
+ let t = e.source ?? X(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
1967
1974
  if (!i || !a) return;
1968
1975
  let o = a.x - i.x;
1969
1976
  o > r && (r = o, n = [i.x, a.x]);
@@ -2020,14 +2027,14 @@ function _r(e) {
2020
2027
  }
2021
2028
  //#endregion
2022
2029
  //#region src/components/interaction/pointerCapture.ts
2023
- function vr(e, t) {
2030
+ function xr(e, t) {
2024
2031
  try {
2025
2032
  e?.releasePointerCapture?.(t);
2026
2033
  } catch {}
2027
2034
  }
2028
2035
  //#endregion
2029
2036
  //#region src/components/interaction/viewportInteractionState.ts
2030
- function yr(e) {
2037
+ function Sr(e) {
2031
2038
  return {
2032
2039
  ...e,
2033
2040
  currentX: e.startX,
@@ -2036,37 +2043,37 @@ function yr(e) {
2036
2043
  yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
2037
2044
  };
2038
2045
  }
2039
- function br(e, t) {
2046
+ function Cr(e, t) {
2040
2047
  return {
2041
2048
  ...e,
2042
2049
  ...t
2043
2050
  };
2044
2051
  }
2045
- function xr(e) {
2052
+ function wr(e) {
2046
2053
  return {
2047
2054
  state: e,
2048
2055
  accepted: !1,
2049
2056
  completed: null
2050
2057
  };
2051
2058
  }
2052
- function Sr(e, t) {
2059
+ function Tr(e, t) {
2053
2060
  switch (t.type) {
2054
- case "begin": return e ? xr(e) : {
2055
- state: yr(t.gesture),
2061
+ case "begin": return e ? wr(e) : {
2062
+ state: Sr(t.gesture),
2056
2063
  accepted: !0,
2057
2064
  completed: null
2058
2065
  };
2059
- case "move": return !e || e.pointerId !== t.pointerId ? xr(e) : {
2060
- state: br(e, t.position),
2066
+ case "move": return !e || e.pointerId !== t.pointerId ? wr(e) : {
2067
+ state: Cr(e, t.position),
2061
2068
  accepted: !0,
2062
2069
  completed: null
2063
2070
  };
2064
- case "finish": return !e || e.pointerId !== t.pointerId ? xr(e) : {
2071
+ case "finish": return !e || e.pointerId !== t.pointerId ? wr(e) : {
2065
2072
  state: null,
2066
2073
  accepted: !0,
2067
- completed: br(e, t.position)
2074
+ completed: Cr(e, t.position)
2068
2075
  };
2069
- case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? xr(e) : {
2076
+ case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? wr(e) : {
2070
2077
  state: null,
2071
2078
  accepted: !0,
2072
2079
  completed: null
@@ -2080,32 +2087,32 @@ function Sr(e, t) {
2080
2087
  }
2081
2088
  //#endregion
2082
2089
  //#region src/components/interaction/zoomConstraints.ts
2083
- var Cr = /* @__PURE__ */ new WeakMap();
2084
- function wr(e) {
2090
+ var Er = /* @__PURE__ */ new WeakMap();
2091
+ function Dr(e) {
2085
2092
  return e[0] <= e[1] ? [...e] : [e[1], e[0]];
2086
2093
  }
2087
- function Tr(e) {
2094
+ function Or(e) {
2088
2095
  return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
2089
2096
  }
2090
- function Er(e, t) {
2091
- let n = `${t[0]}\u0000${t[1]}`, r = Cr.get(e)?.get(n);
2097
+ function kr(e, t) {
2098
+ let n = `${t[0]}\u0000${t[1]}`, r = Er.get(e)?.get(n);
2092
2099
  if (r) return r;
2093
2100
  let i = /* @__PURE__ */ new Set();
2094
2101
  for (let n of e) {
2095
- let e = n.source ?? Z(n.points);
2102
+ let e = n.source ?? X(n.points);
2096
2103
  for (let n = 0; n < e.length; n += 1) {
2097
2104
  let r = e.pointAt(n);
2098
2105
  r.x >= t[0] && r.x <= t[1] && i.add(r.x);
2099
2106
  }
2100
2107
  }
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;
2108
+ let a = Array.from(i).sort((e, t) => e - t), o = Er.get(e) ?? /* @__PURE__ */ new Map();
2109
+ return o.set(n, a), Er.set(e, o), a;
2103
2110
  }
2104
- function Dr(e, t, n) {
2111
+ function Ar(e, t, n) {
2105
2112
  if (n <= 1) return 0;
2106
2113
  let r = 0;
2107
2114
  for (let i of e) {
2108
- let e = Er(i, t);
2115
+ let e = kr(i, t);
2109
2116
  if (e.length < n) return t[1] - t[0];
2110
2117
  let a = Infinity;
2111
2118
  for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
@@ -2114,17 +2121,17 @@ function Dr(e, t, n) {
2114
2121
  }
2115
2122
  return r;
2116
2123
  }
2117
- function Or(e, t, n) {
2118
- let r = wr(e), i = r[1] - r[0];
2124
+ function jr(e, t, n) {
2125
+ let r = Dr(e), i = r[1] - r[0];
2119
2126
  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;
2127
+ let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Or(n.minVisiblePoints), s = Ar(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Bt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Bt.DEFAULT_MAX_SCALE : 0;
2121
2128
  return Math.max(a, s, l);
2122
2129
  }
2123
- function kr(e, t, n, r) {
2130
+ function Mr(e, t, n, r) {
2124
2131
  if (r <= 0) return e;
2125
2132
  let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
2126
2133
  for (let e of n) {
2127
- let n = Er(e, t);
2134
+ let n = kr(e, t);
2128
2135
  if (n.length < r) return [...t];
2129
2136
  if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
2130
2137
  let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
@@ -2136,13 +2143,13 @@ function kr(e, t, n, r) {
2136
2143
  }
2137
2144
  return a;
2138
2145
  }
2139
- function Ar(e, t, n, r) {
2140
- let i = wr(t), a = i[1] - i[0];
2146
+ function Nr(e, t, n, r) {
2147
+ let i = Dr(t), a = i[1] - i[0];
2141
2148
  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));
2149
+ let o = Mr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Or(r.minVisiblePoints)), s = jr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2143
2150
  return [u, u + c];
2144
2151
  }
2145
- function jr(e, t, n) {
2152
+ function Pr(e, t, n) {
2146
2153
  let r = t[1] - t[0], i = e[1] - e[0];
2147
2154
  if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return J;
2148
2155
  let a = r / i, o = W(t, [0, n]);
@@ -2150,7 +2157,7 @@ function jr(e, t, n) {
2150
2157
  }
2151
2158
  //#endregion
2152
2159
  //#region src/components/interaction/viewportDomain.ts
2153
- function Mr(e) {
2160
+ function Fr(e) {
2154
2161
  return (t, n) => {
2155
2162
  if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
2156
2163
  if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
@@ -2158,12 +2165,12 @@ function Mr(e) {
2158
2165
  r.forEach((n) => {
2159
2166
  let r = e.trackLayouts.value.find((e) => e.index === n);
2160
2167
  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);
2168
+ let a = e.resolveInitialTrackDomain(r), o = Nr(t, a, [r.seriesList], e.props);
2169
+ i[n] = Pr(o, a, r.width);
2163
2170
  }), e.independentTransforms.value = i;
2164
2171
  } 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);
2172
+ let n = e.initialXDomain.value, r = Nr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2173
+ e.sharedTransform.value = Pr(r, n, e.innerWidth.value);
2167
2174
  }
2168
2175
  e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
2169
2176
  }
@@ -2171,14 +2178,14 @@ function Mr(e) {
2171
2178
  }
2172
2179
  //#endregion
2173
2180
  //#region src/components/interaction/zoomEventPayload.ts
2174
- function Nr(e) {
2181
+ function Ir(e) {
2175
2182
  return [...e].sort().join("\0");
2176
2183
  }
2177
- function Pr(e, t) {
2178
- let n = Nr(t);
2179
- return e.find((e) => Nr(e.seriesList.map((e) => e.id)) === n);
2184
+ function Lr(e, t) {
2185
+ let n = Ir(t);
2186
+ return e.find((e) => Ir(e.seriesList.map((e) => e.id)) === n);
2180
2187
  }
2181
- function Fr(e, t, n, r) {
2188
+ function Rr(e, t, n, r) {
2182
2189
  e("zoom-intent", r ? {
2183
2190
  start: t[0],
2184
2191
  end: t[1],
@@ -2191,9 +2198,9 @@ function Fr(e, t, n, r) {
2191
2198
  gesture: "box"
2192
2199
  });
2193
2200
  }
2194
- function Ir(e, t, n) {
2201
+ function zr(e, t, n) {
2195
2202
  for (let r of n) {
2196
- let n = Pr(t, r);
2203
+ let n = Lr(t, r);
2197
2204
  if (!n) continue;
2198
2205
  let i = n.xScale.domain(), a = n.yScale.domain();
2199
2206
  e("zoom-end", {
@@ -2207,7 +2214,7 @@ function Ir(e, t, n) {
2207
2214
  });
2208
2215
  }
2209
2216
  }
2210
- function Lr(e, t, n) {
2217
+ function Br(e, t, n) {
2211
2218
  let r = n.filter((e) => e.hasVisibleSeries);
2212
2219
  if (r.length === 1) {
2213
2220
  let n = r[0]?.yScale.domain();
@@ -2229,13 +2236,13 @@ function Lr(e, t, n) {
2229
2236
  }
2230
2237
  //#endregion
2231
2238
  //#region src/components/interaction/useWaveformViewport.ts
2232
- function Rr(e) {
2239
+ function Vr(e) {
2233
2240
  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
2241
  let n = O.value, r = t?.currentTarget;
2235
- vr(n, e), r && r !== n && vr(r, e);
2242
+ xr(n, e), r && r !== n && xr(r, e);
2236
2243
  }, A = (e, t) => {
2237
2244
  let n = i.value;
2238
- !n || n.pointerId !== e || (k(e, t), i.value = Sr(i.value, {
2245
+ !n || n.pointerId !== e || (k(e, t), i.value = Tr(i.value, {
2239
2246
  type: "cancel",
2240
2247
  pointerId: e
2241
2248
  }).state, O.value = void 0);
@@ -2258,7 +2265,7 @@ function Rr(e) {
2258
2265
  if (!n.zoomable && !s || !_.value || e.button !== 0) return;
2259
2266
  let c = e.currentTarget, d = o.value.find((e) => e.index === t);
2260
2267
  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, {
2268
+ let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = Tr(i.value, {
2262
2269
  type: "begin",
2263
2270
  gesture: {
2264
2271
  trackIndex: t,
@@ -2280,12 +2287,12 @@ function Rr(e) {
2280
2287
  let i = t.width || 1, a = t.height || 1, u = e.currentX - e.startX, d = e.currentY - e.startY, f = e.xDomain[1] - e.xDomain[0], _ = e.independent ? b(t) : c.value, v = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
2281
2288
  if (e.independent) {
2282
2289
  let e = [...m.value];
2283
- e[t.index] = jr(v, _, i), m.value = e;
2284
- } else p.value = jr(v, _, l.value);
2290
+ e[t.index] = Pr(v, _, i), m.value = e;
2291
+ } else p.value = Pr(v, _, l.value);
2285
2292
  let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
2286
2293
  y.forEach((t) => {
2287
2294
  let r = s.value.find((e) => e.id === t.id);
2288
- if (r && qt(r, n.yDomain, n.yDomains)) return;
2295
+ if (r && Yt(r, n.yDomain, n.yDomains)) return;
2289
2296
  let i = t.series?.trackId ?? t.series?.id ?? t.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = M([o[0] + d / a * l, o[1] + d / a * l], c);
2290
2297
  e.independent ? x[t.index] = u : S[i] = u;
2291
2298
  }), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
@@ -2295,7 +2302,7 @@ function Rr(e) {
2295
2302
  if (!t || !n || e.pointerId !== t.pointerId) return;
2296
2303
  let r = o.value.find((e) => e.index === t.trackIndex);
2297
2304
  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, {
2305
+ let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = Tr(i.value, {
2299
2306
  type: "move",
2300
2307
  pointerId: e.pointerId,
2301
2308
  position: {
@@ -2314,12 +2321,12 @@ function Rr(e) {
2314
2321
  if (!t || (e.independent ? !x(t) : !S())) return;
2315
2322
  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
2323
  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);
2324
+ let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Nr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2318
2325
  if (e.independent) {
2319
2326
  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);
2327
+ e[t.index] = Pr(h, u, t.width), m.value = e;
2328
+ } else p.value = Pr(h, u, l.value);
2329
+ Rr(r, h, t, e.independent);
2323
2330
  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
2331
  if (r("zoom-change", h), e.independent) {
2325
2332
  let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
@@ -2360,7 +2367,7 @@ function Rr(e) {
2360
2367
  A(t.pointerId, e);
2361
2368
  return;
2362
2369
  }
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, {
2370
+ let [a, s] = U(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = Tr(i.value, {
2364
2371
  type: "finish",
2365
2372
  pointerId: e.pointerId,
2366
2373
  position: {
@@ -2392,7 +2399,7 @@ function Rr(e) {
2392
2399
  finishViewportDrag: B,
2393
2400
  cancelViewportDrag: R,
2394
2401
  resetViewport: V,
2395
- setViewportDomain: Mr({
2402
+ setViewportDomain: Fr({
2396
2403
  props: n,
2397
2404
  trackLayouts: o,
2398
2405
  initialXDomain: c,
@@ -2424,7 +2431,7 @@ function Rr(e) {
2424
2431
  }
2425
2432
  //#endregion
2426
2433
  //#region src/components/utils/useAnimationFrameThrottle.ts
2427
- function zr() {
2434
+ function Hr() {
2428
2435
  let e = null, t = null;
2429
2436
  function n(n) {
2430
2437
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -2453,8 +2460,8 @@ function zr() {
2453
2460
  }
2454
2461
  //#endregion
2455
2462
  //#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) => {
2463
+ function Ur(e) {
2464
+ let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = Hr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
2458
2465
  if (y || m.value) return;
2459
2466
  g(), b = e.transform, x = "wheel", I();
2460
2467
  let t = e.transform.rescaleX(W(c.value, [0, u.value])).domain();
@@ -2501,7 +2508,7 @@ function Br(e) {
2501
2508
  if (!t) return;
2502
2509
  if (r.get(e) === "wheel") {
2503
2510
  let e = t.seriesList.map((e) => e.id);
2504
- T.set(Nr(e), e);
2511
+ T.set(Ir(e), e);
2505
2512
  }
2506
2513
  let a = t.xScale.domain();
2507
2514
  n("zoom-change", [a[0], a[1]]);
@@ -2509,14 +2516,14 @@ function Br(e) {
2509
2516
  }
2510
2517
  let N = () => {
2511
2518
  if (t.displayMode === "independent") {
2512
- Ir(n, s.value, T.values()), T.clear();
2519
+ zr(n, s.value, T.values()), T.clear();
2513
2520
  return;
2514
2521
  }
2515
2522
  if (S !== "wheel") {
2516
2523
  S = null;
2517
2524
  return;
2518
2525
  }
2519
- Lr(n, l.value, s.value), S = null;
2526
+ Br(n, l.value, s.value), S = null;
2520
2527
  }, P = () => {
2521
2528
  v.flush(), M(), !(S === "wheel" || T.size) && N();
2522
2529
  }, F = (e) => {
@@ -2535,19 +2542,19 @@ function Br(e) {
2535
2542
  O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => G(e).on(".zoom", null)), _.clear();
2536
2543
  }, B = (e, n) => {
2537
2544
  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) => {
2545
+ if (!Number.isFinite(r) || r <= 0) return Bt.MIN_SCALE;
2546
+ let i = jr(e, n, t);
2547
+ return Math.max(Bt.MIN_SCALE, i > 0 ? r / i : Infinity);
2548
+ }, V = (e, n, r, i) => Pr(Nr(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2542
2549
  let n = Number(t.minVisiblePoints);
2543
- return An(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2550
+ return jn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2544
2551
  }, U = () => {
2545
2552
  let e = s.value.filter((e) => e.hasVisibleSeries);
2546
2553
  return e.length > 0 && e.every(H);
2547
2554
  }, ee = (e, t) => {
2548
2555
  if (e.type !== "wheel") return !1;
2549
2556
  let n = e.deltaY;
2550
- return n < 0 ? t : n > 0 && ie(e.currentTarget).k > Rt.MIN_SCALE;
2557
+ return n < 0 ? t : n > 0 && ae(e.currentTarget).k > Bt.MIN_SCALE;
2551
2558
  };
2552
2559
  return {
2553
2560
  cancelPendingZoom: R,
@@ -2562,7 +2569,7 @@ function Br(e) {
2562
2569
  s.value.forEach((t) => {
2563
2570
  let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
2564
2571
  if (!n) return;
2565
- let i = h(t), a = [t.seriesList], c = q().filter((e) => {
2572
+ let i = h(t), a = [t.seriesList], c = ie().filter((e) => {
2566
2573
  let n = s.value.find((e) => e.index === t.index) ?? t;
2567
2574
  return ee(e, H(n));
2568
2575
  }).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 +2584,7 @@ function Br(e) {
2577
2584
  }
2578
2585
  let n = i.value;
2579
2586
  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));
2587
+ 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
2588
  _.set("shared", g), y = !0;
2582
2589
  try {
2583
2590
  G(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
@@ -2590,13 +2597,13 @@ function Br(e) {
2590
2597
  }
2591
2598
  //#endregion
2592
2599
  //#region src/components/core/useWaveformChartLifecycle.ts
2593
- function Vr(e) {
2600
+ function Wr(e) {
2594
2601
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2595
2602
  }
2596
- function Hr(e) {
2603
+ function Gr(e) {
2597
2604
  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
2605
  function te(e) {
2599
- z.value || e.code !== "Space" || !t.pannable || !_.value || Vr(e.target) || (m.value = !0, e.preventDefault());
2606
+ z.value || e.code !== "Space" || !t.pannable || !_.value || Wr(e.target) || (m.value = !0, e.preventDefault());
2600
2607
  }
2601
2608
  function ne(e) {
2602
2609
  e.code === "Space" && (m.value = !1);
@@ -2610,7 +2617,7 @@ function Hr(e) {
2610
2617
  if (t.displayMode === "independent") {
2611
2618
  K = void 0, q = new Map(w.value.flatMap((e) => {
2612
2619
  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]] : [];
2620
+ return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Ir(e.seriesList.map((e) => e.id)), t]] : [];
2614
2621
  }));
2615
2622
  return;
2616
2623
  }
@@ -2627,14 +2634,14 @@ function Hr(e) {
2627
2634
  if (t.displayMode === "independent" && q) {
2628
2635
  let e = C.value.map(() => J);
2629
2636
  w.value.forEach((n) => {
2630
- let r = q?.get(Nr(n.seriesList.map((e) => e.id)));
2637
+ let r = q?.get(Ir(n.seriesList.map((e) => e.id)));
2631
2638
  if (!r) return;
2632
- let i = I(n), a = Ar(r, i, [n.seriesList], t);
2633
- e[n.index] = jr(a, i, n.width);
2639
+ let i = I(n), a = Nr(r, i, [n.seriesList], t);
2640
+ e[n.index] = Pr(a, i, n.width);
2634
2641
  }), P.value = e, q = void 0;
2635
2642
  } 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;
2643
+ let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Nr(K, e, n, t);
2644
+ A.value = Pr(r, e, T.value), K = void 0;
2638
2645
  }
2639
2646
  H();
2640
2647
  });
@@ -2720,58 +2727,58 @@ function Hr(e) {
2720
2727
  }
2721
2728
  //#endregion
2722
2729
  //#region src/components/core/useWaveformData.ts
2723
- function Ur(e) {
2724
- return ln(e).map(({ source: e, ...t }) => {
2730
+ function Kr(e) {
2731
+ return dn(e).map(({ source: e, ...t }) => {
2725
2732
  let n = e.metrics(t.errorBar.visible);
2726
2733
  return {
2727
2734
  ...t,
2728
2735
  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] : []),
2736
+ points: we(e),
2737
+ xDomain: _t(Number.isFinite(n.xMinimum) ? [n.xMinimum, n.xMaximum] : []),
2738
+ yDomain: _t(Number.isFinite(n.yMinimum) ? [n.yMinimum, n.yMaximum] : []),
2732
2739
  hasErrorPoints: n.hasErrorPoints
2733
2740
  };
2734
2741
  });
2735
2742
  }
2736
- function Wr(e, t, n) {
2737
- let r = w(Ur(e()));
2743
+ function qr(e, t, n) {
2744
+ let r = w(Kr(e()));
2738
2745
  return k(e, (e) => {
2739
- t(), r.value = Ur(e), n();
2746
+ t(), r.value = Kr(e), n();
2740
2747
  }), r;
2741
2748
  }
2742
2749
  //#endregion
2743
2750
  //#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();
2751
+ function Jr(e, t) {
2752
+ let n = ci(e, $.__wbindgen_malloc), r = mi, i = ci(t, $.__wbindgen_malloc), a = mi, o = $.calculate_range(n, r, i, a);
2753
+ if (o[3]) throw li(o[2]);
2754
+ var s = $r(o[0], o[1]).slice();
2748
2755
  return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
2749
2756
  }
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();
2757
+ function Yr(e, t, n, r) {
2758
+ let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.find_visible_range(i, a, o, s, n, r);
2759
+ if (c[3]) throw li(c[2]);
2760
+ var l = ei(c[0], c[1]).slice();
2754
2761
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2755
2762
  }
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();
2763
+ function Xr(e, t, n, r) {
2764
+ let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_aggregates(i, a, o, s, n, r);
2765
+ if (c[3]) throw li(c[2]);
2766
+ var l = $r(c[0], c[1]).slice();
2760
2767
  return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2761
2768
  }
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();
2769
+ function Zr(e, t, n, r) {
2770
+ let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_indexes(i, a, o, s, n, r);
2771
+ if (c[3]) throw li(c[2]);
2772
+ var l = ei(c[0], c[1]).slice();
2766
2773
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2767
2774
  }
2768
- function Yr() {
2775
+ function Qr() {
2769
2776
  return {
2770
2777
  __proto__: null,
2771
2778
  "./waveform_sampling_wasm_bg.js": {
2772
2779
  __proto__: null,
2773
2780
  __wbindgen_cast_0000000000000001: function(e, t) {
2774
- return ei(e, t);
2781
+ return ri(e, t);
2775
2782
  },
2776
2783
  __wbindgen_init_externref_table: function() {
2777
2784
  let e = $.__wbindgen_externrefs, t = e.grow(4);
@@ -2780,52 +2787,52 @@ function Yr() {
2780
2787
  }
2781
2788
  };
2782
2789
  }
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;
2790
+ function $r(e, t) {
2791
+ return e >>>= 0, ni().subarray(e / 8, e / 8 + t);
2792
2792
  }
2793
2793
  function ei(e, t) {
2794
- return e >>>= 0, ui(e, t);
2794
+ return e >>>= 0, ai().subarray(e / 4, e / 4 + t);
2795
2795
  }
2796
2796
  var ti = null;
2797
2797
  function ni() {
2798
- return (ti === null || ti.byteLength === 0) && (ti = new Uint32Array($.memory.buffer)), ti;
2798
+ return (ti === null || ti.byteLength === 0) && (ti = new Float64Array($.memory.buffer)), ti;
2799
2799
  }
2800
- var ri = null;
2801
- function ii() {
2802
- return (ri === null || ri.byteLength === 0) && (ri = new Uint8Array($.memory.buffer)), ri;
2800
+ function ri(e, t) {
2801
+ return e >>>= 0, pi(e, t);
2803
2802
  }
2804
- function ai(e, t) {
2803
+ var ii = null;
2804
+ function ai() {
2805
+ return (ii === null || ii.byteLength === 0) && (ii = new Uint32Array($.memory.buffer)), ii;
2806
+ }
2807
+ var oi = null;
2808
+ function si() {
2809
+ return (oi === null || oi.byteLength === 0) && (oi = new Uint8Array($.memory.buffer)), oi;
2810
+ }
2811
+ function ci(e, t) {
2805
2812
  let n = t(e.length * 8, 8) >>> 0;
2806
- return $r().set(e, n / 8), di = e.length, n;
2813
+ return ni().set(e, n / 8), mi = e.length, n;
2807
2814
  }
2808
- function oi(e) {
2815
+ function li(e) {
2809
2816
  let t = $.__wbindgen_externrefs.get(e);
2810
2817
  return $.__externref_table_dealloc(e), t;
2811
2818
  }
2812
- var si = new TextDecoder("utf-8", {
2819
+ var ui = new TextDecoder("utf-8", {
2813
2820
  ignoreBOM: !0,
2814
2821
  fatal: !0
2815
2822
  });
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", {
2823
+ ui.decode();
2824
+ var di = 2146435072, fi = 0;
2825
+ function pi(e, t) {
2826
+ return fi += t, fi >= di && (ui = new TextDecoder("utf-8", {
2820
2827
  ignoreBOM: !0,
2821
2828
  fatal: !0
2822
- }), si.decode(), li = t), si.decode(ii().subarray(e, e + t));
2829
+ }), ui.decode(), fi = t), ui.decode(si().subarray(e, e + t));
2823
2830
  }
2824
- var di = 0, $;
2825
- function fi(e, t) {
2826
- return $ = e.exports, Qr = null, ti = null, ri = null, $.__wbindgen_start(), $;
2831
+ var mi = 0, $;
2832
+ function hi(e, t) {
2833
+ return $ = e.exports, ti = null, ii = null, oi = null, $.__wbindgen_start(), $;
2827
2834
  }
2828
- async function pi(e, t) {
2835
+ async function gi(e, t) {
2829
2836
  if (typeof Response == "function" && e instanceof Response) {
2830
2837
  if (typeof WebAssembly.instantiateStreaming == "function") try {
2831
2838
  return await WebAssembly.instantiateStreaming(e, t);
@@ -2851,17 +2858,17 @@ async function pi(e, t) {
2851
2858
  return !1;
2852
2859
  }
2853
2860
  }
2854
- async function mi(e) {
2861
+ async function _i(e) {
2855
2862
  if ($ !== void 0) return $;
2856
2863
  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();
2864
+ let t = Qr();
2858
2865
  (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);
2866
+ let { instance: n, module: r } = await gi(await e, t);
2867
+ return hi(n, r);
2861
2868
  }
2862
2869
  //#endregion
2863
2870
  //#region src/core/wasmSampling.ts
2864
- var hi = {
2871
+ var vi = {
2865
2872
  none: 0,
2866
2873
  peak: 1,
2867
2874
  lttb: 2,
@@ -2870,24 +2877,24 @@ var hi = {
2870
2877
  max: 5,
2871
2878
  minmax: 6,
2872
2879
  sum: 7
2873
- }, gi;
2874
- function _i(e, t) {
2880
+ }, yi;
2881
+ function bi(e, t) {
2875
2882
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
2876
2883
  }
2877
- function vi(e) {
2884
+ function xi(e) {
2878
2885
  if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
2879
2886
  }
2880
- function yi(e) {
2881
- return gi ??= Promise.resolve(mi(e)).then(() => void 0), gi;
2887
+ function Si(e) {
2888
+ return yi ??= Promise.resolve(_i(e)).then(() => void 0), yi;
2882
2889
  }
2883
- async function bi(e) {
2884
- vi(e), await yi();
2885
- let t = _i(e.targetPointCount, e.x.length), n = hi[e.strategy];
2890
+ async function Ci(e) {
2891
+ xi(e), await Si();
2892
+ let t = bi(e.targetPointCount, e.x.length), n = vi[e.strategy];
2886
2893
  if (e.strategy !== "average" && e.strategy !== "sum") return {
2887
2894
  kind: "source-indexes",
2888
- sourceIndexes: Jr(e.x, e.y, n, t)
2895
+ sourceIndexes: Zr(e.x, e.y, n, t)
2889
2896
  };
2890
- let r = qr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2897
+ let r = Xr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2891
2898
  for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
2892
2899
  return {
2893
2900
  kind: "aggregates",
@@ -2895,41 +2902,41 @@ async function bi(e) {
2895
2902
  y: a
2896
2903
  };
2897
2904
  }
2898
- async function xi(e, t) {
2905
+ async function wi(e, t) {
2899
2906
  if (e.length !== t.length) throw Error("x and y must have the same length");
2900
- await yi();
2901
- let n = Gr(e, t);
2907
+ await Si();
2908
+ let n = Jr(e, t);
2902
2909
  return n.length === 4 ? {
2903
2910
  x: [n[0], n[1]],
2904
2911
  y: [n[2], n[3]]
2905
2912
  } : void 0;
2906
2913
  }
2907
- async function Si(e, t, n) {
2914
+ async function Ti(e, t, n) {
2908
2915
  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]);
2916
+ await Si();
2917
+ let r = Yr(e, t, n[0], n[1]);
2911
2918
  return [r[0], r[1]];
2912
2919
  }
2913
2920
  //#endregion
2914
2921
  //#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) => {
2922
+ var Ei = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Di = (e, t, n, r, i) => {
2916
2923
  let a = t?.[i];
2917
2924
  if (a !== void 0) return a;
2918
2925
  if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
2919
- }, Ti = (e, t, n) => (r) => {
2926
+ }, Oi = (e, t, n) => (r) => {
2920
2927
  let i = n(), a = i.findIndex((e) => e.id === r);
2921
- return wi(e(), t(), i.length, a >= 0 ? a : 0, r);
2928
+ return Di(e(), t(), i.length, a >= 0 ? a : 0, r);
2922
2929
  };
2923
2930
  //#endregion
2924
2931
  //#region src/components/core/yAxisLayoutMetrics.ts
2925
- function Ei(e, t, n, r) {
2932
+ function ki(e, t, n, r) {
2926
2933
  return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
2927
2934
  let n = r[t];
2928
2935
  return n ? [[e.id, n]] : [];
2929
2936
  })) : n;
2930
2937
  }
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);
2938
+ function Ai(e, t, n, r, i, a, o, s) {
2939
+ let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => pr(e, t, n, r, i)).map((e) => mr(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 12 / 2);
2933
2940
  return {
2934
2941
  tickClearance: u,
2935
2942
  fullClearance: l + 7 + 0 + 12 + 4,
@@ -2938,11 +2945,11 @@ function Di(e, t, n, r, i, a, o, s) {
2938
2945
  }
2939
2946
  //#endregion
2940
2947
  //#region src/components/core/useWaveformLayout.ts
2941
- function Oi(e) {
2948
+ function ji(e) {
2942
2949
  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
2950
  ...e,
2944
- color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
2945
- }))), g = t(() => Bn(n.grid)), _ = t(() => {
2951
+ color: e.color ?? (t === 0 ? n.lineColor : Ut[t % Ut.length])
2952
+ }))), g = t(() => Vn(n.grid)), _ = t(() => {
2946
2953
  let e = /* @__PURE__ */ new Map();
2947
2954
  h.value.forEach((t) => {
2948
2955
  let n = t.trackId || t.id, r = e.get(n);
@@ -2957,15 +2964,15 @@ function Oi(e) {
2957
2964
  id: t,
2958
2965
  series: n,
2959
2966
  visibleSeries: r,
2960
- xDomain: i.length ? ht(i) : [0, 1],
2961
- yDomain: o.length ? ht(o) : [0, 1]
2967
+ xDomain: i.length ? _t(i) : [0, 1],
2968
+ yDomain: o.length ? _t(o) : [0, 1]
2962
2969
  };
2963
2970
  });
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(() => {
2971
+ }), v = t(() => Dn(n.rendering)), y = t(() => Ei(_.value, g.value.hideEmptyTracks)), b = t(() => Un(y.value.length, g.value)), x = t(() => Wn(y.value, i.value, g.value)), S = t(() => {
2965
2972
  let e = x.value.filter((e) => e.series.length > 0);
2966
2973
  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;
2974
+ }), C = t(() => or(s.value, n.axes?.y?.splitNumber)), w = t(() => ki(n.displayMode, _.value, d.value, f.value)), T = t(() => Ai(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(zt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => hr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(zt.right, k.value.clearance.right) : zt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
2975
+ 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
2976
  return {
2970
2977
  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
2978
  hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
@@ -2974,17 +2981,17 @@ function Oi(e) {
2974
2981
  let e = [];
2975
2982
  return _.value.forEach((t) => {
2976
2983
  t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
2977
- }), ht(e);
2984
+ }), _t(e);
2978
2985
  }), B = t(() => {
2979
2986
  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);
2987
+ return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Qn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Qn(z.value, n.xDomainStrategy);
2981
2988
  }), V = (e) => {
2982
2989
  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) => ({
2990
+ return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Qn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Qn(_t(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2991
+ }, H = t(() => l.value.rescaleX(W(B.value, [0, M.value])).domain()), U = t(() => Kn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
2985
2992
  ...e,
2986
2993
  series: S.value[t]
2987
- }))), G = t(() => Zn({
2994
+ }))), G = t(() => er({
2988
2995
  cells: U.value,
2989
2996
  grid: g.value,
2990
2997
  displayMode: n.displayMode,
@@ -3036,7 +3043,7 @@ function Oi(e) {
3036
3043
  annotationLayoutsForTrack: ee,
3037
3044
  resolveSeriesYScale: te,
3038
3045
  annotationTrackLayouts: ne,
3039
- renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ne.value, M.value, s.value) : []),
3046
+ renderedAnnotations: t(() => n.annotationsVisible ? Pe(n.annotations, ne.value, M.value, s.value) : []),
3040
3047
  editorSeries: t(() => {
3041
3048
  let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
3042
3049
  return t ? {
@@ -3046,16 +3053,16 @@ function Oi(e) {
3046
3053
  unit: t.unit
3047
3054
  } : void 0;
3048
3055
  }),
3049
- resolveFrameNumber: Ti(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3056
+ resolveFrameNumber: Oi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3050
3057
  };
3051
3058
  }
3052
- var ki = 1e-6;
3053
- function Ai(e) {
3059
+ var Mi = 1e-6;
3060
+ function Ni(e) {
3054
3061
  return Number.isFinite(e) ? Math.max(1, e) : 1;
3055
3062
  }
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)) {
3063
+ function Pi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3064
+ let i = Ni(e), a = Ni(t), o = Ni(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
3065
+ if (!(d > Mi && Math.abs(d - 360) > Mi)) {
3059
3066
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
3060
3067
  return {
3061
3068
  textWidth: t,
@@ -3080,7 +3087,7 @@ function ji({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
3080
3087
  }
3081
3088
  //#endregion
3082
3089
  //#region src/components/core/useWaveformPresentation.ts
3083
- function Mi(e) {
3090
+ function Fi(e) {
3084
3091
  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
3092
  width: l.value === void 0 ? "100%" : `${l.value}px`,
3086
3093
  height: u.value === void 0 ? "100%" : `${u.value}px`
@@ -3088,9 +3095,9 @@ function Mi(e) {
3088
3095
  let e = n.zeroLine.width;
3089
3096
  return {
3090
3097
  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
3098
+ color: n.zeroLine.color || Gt.COLOR,
3099
+ width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Gt.WIDTH,
3100
+ dash: n.zeroLine.dash ?? Gt.DASH
3094
3101
  };
3095
3102
  }), _ = 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
3103
  let t = n.legend.orientation ?? "auto";
@@ -3112,10 +3119,10 @@ function Mi(e) {
3112
3119
  fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
3113
3120
  textDecoration: n.title?.textStyle?.textDecoration ?? "none",
3114
3121
  letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
3115
- lineHeight: String(Bt)
3122
+ lineHeight: String(Ht)
3116
3123
  })), A = t(() => {
3117
3124
  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);
3125
+ return Math.max(1, C.value.length * E.value * Vt + t);
3119
3126
  }), j = t(() => {
3120
3127
  let e = d.value - 48;
3121
3128
  return e > 0 ? e : A.value;
@@ -3125,14 +3132,14 @@ function Mi(e) {
3125
3132
  maxWidth: O.value ? "none" : `${j.value}px`,
3126
3133
  whiteSpace: O.value ? "nowrap" : "normal",
3127
3134
  overflowWrap: O.value ? "normal" : "anywhere"
3128
- })), N = t(() => ji({
3135
+ })), N = t(() => Pi({
3129
3136
  naturalWidth: a.value || A.value,
3130
3137
  naturalHeight: o.value || E.value * 1.2,
3131
3138
  availableWidth: j.value,
3132
3139
  rotation: D.value
3133
3140
  })), 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)
3141
+ top: F(n.plotMargin.top, zt.top),
3142
+ bottom: F(n.plotMargin.bottom, zt.bottom)
3136
3143
  })), L = t(() => I.value.top), R = t(() => Math.max(0, f.value - P.value - c.value));
3137
3144
  return {
3138
3145
  fixedWidth: l,
@@ -3181,66 +3188,66 @@ function Mi(e) {
3181
3188
  }
3182
3189
  //#endregion
3183
3190
  //#region src/core/samplingReferenceValues.ts
3184
- function Ni(e, t) {
3191
+ function Ii(e, t) {
3185
3192
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3186
3193
  }
3187
- function Pi(e, t, n, r) {
3194
+ function Li(e, t, n, r) {
3188
3195
  let i = r - n;
3189
3196
  return {
3190
3197
  start: n + Math.floor(e * i / t),
3191
3198
  end: n + Math.floor((e + 1) * i / t)
3192
3199
  };
3193
3200
  }
3194
- function Fi(e, t) {
3201
+ function Ri(e, t) {
3195
3202
  e[e.length - 1] !== t && e.push(t);
3196
3203
  }
3197
- function Ii(e, t, n) {
3204
+ function zi(e, t, n) {
3198
3205
  if (e <= t) return Array.from({ length: e }, (e, t) => t);
3199
3206
  if (t === 1) return [0];
3200
3207
  if (t === 2) return [0, e - 1];
3201
3208
  let r = [0];
3202
- return n().forEach((e) => Fi(r, e)), Fi(r, e - 1), r;
3209
+ return n().forEach((e) => Ri(r, e)), Ri(r, e - 1), r;
3203
3210
  }
3204
- function Li(e, t, n) {
3211
+ function Bi(e, t, n) {
3205
3212
  let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
3206
- return Ii(e.length, t, () => {
3213
+ return zi(e.length, t, () => {
3207
3214
  if (!r) return [];
3208
3215
  let t = [];
3209
3216
  for (let i = 0; i < r; i += 1) {
3210
- let a = Pi(i, r, 1, e.length - 1), o = a.start, s = a.start;
3217
+ let a = Li(i, r, 1, e.length - 1), o = a.start, s = a.start;
3211
3218
  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));
3219
+ n === "min" ? Ri(t, o) : n === "max" ? Ri(t, s) : o <= s ? (Ri(t, o), Ri(t, s)) : (Ri(t, s), Ri(t, o));
3213
3220
  }
3214
3221
  return t;
3215
3222
  });
3216
3223
  }
3217
- function Ri(e, t) {
3224
+ function Vi(e, t) {
3218
3225
  let n = Math.floor((t - 2) / 4);
3219
- return Ii(e.length, t, () => {
3226
+ return zi(e.length, t, () => {
3220
3227
  if (!n) return [];
3221
3228
  let t = [];
3222
3229
  for (let r = 0; r < n; r += 1) {
3223
- let i = Pi(r, n, 1, e.length - 1), a = i.start, o = i.start;
3230
+ let i = Li(r, n, 1, e.length - 1), a = i.start, o = i.start;
3224
3231
  for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
3225
3232
  [
3226
3233
  i.start,
3227
3234
  a,
3228
3235
  o,
3229
3236
  i.end - 1
3230
- ].sort((e, t) => e - t).forEach((e) => Fi(t, e));
3237
+ ].sort((e, t) => e - t).forEach((e) => Ri(t, e));
3231
3238
  }
3232
3239
  return t;
3233
3240
  });
3234
3241
  }
3235
- function zi(e, t, n) {
3236
- return Ii(e.length, n, () => {
3242
+ function Hi(e, t, n) {
3243
+ return zi(e.length, n, () => {
3237
3244
  let r = (e.length - 2) / (n - 2), i = [], a = 0;
3238
3245
  for (let o = 0; o < n - 2; o += 1) {
3239
3246
  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
3247
  for (let n = s; n < c; n += 1) l += e[n], u += t[n];
3241
3248
  let d = c - s;
3242
3249
  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;
3250
+ let f = Li(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3244
3251
  for (let n = f.start; n < f.end; n += 1) {
3245
3252
  let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
3246
3253
  r > m && (m = r, p = n);
@@ -3250,10 +3257,10 @@ function zi(e, t, n) {
3250
3257
  return i;
3251
3258
  });
3252
3259
  }
3253
- function Bi(e, t, n, r) {
3254
- let i = Ni(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3260
+ function Ui(e, t, n, r) {
3261
+ let i = Ii(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3255
3262
  for (let n = 0; n < i; n += 1) {
3256
- let s = Pi(n, i, 0, e.length);
3263
+ let s = Li(n, i, 0, e.length);
3257
3264
  for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
3258
3265
  let c = s.end - s.start;
3259
3266
  a[n] /= c, r === "average" && (o[n] /= c);
@@ -3264,10 +3271,10 @@ function Bi(e, t, n, r) {
3264
3271
  y: o
3265
3272
  };
3266
3273
  }
3267
- function Vi(e, t, n, r) {
3274
+ function Wi(e, t, n, r) {
3268
3275
  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);
3276
+ if (n === "average" || n === "sum") return Ui(e, t, r, n);
3277
+ let i = Ii(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Vi(t, i) : n === "lttb" ? Hi(e, t, i) : Bi(t, i, n);
3271
3278
  return {
3272
3279
  kind: "source-indexes",
3273
3280
  sourceIndexes: Uint32Array.from(a)
@@ -3275,41 +3282,41 @@ function Vi(e, t, n, r) {
3275
3282
  }
3276
3283
  //#endregion
3277
3284
  //#region src/core/workerSampling/javascriptBackend.ts
3278
- var Hi = {
3285
+ var Gi = {
3279
3286
  kind: "javascript",
3280
3287
  sample(e) {
3281
- return Vi(e.x, e.y, e.strategy, e.targetPointCount);
3288
+ return Wi(e.x, e.y, e.strategy, e.targetPointCount);
3282
3289
  }
3283
- }, Ui = 8 * 1024 * 1024;
3284
- function Wi(e, t) {
3290
+ }, Ki = 8 * 1024 * 1024;
3291
+ function qi(e, t) {
3285
3292
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3286
3293
  }
3287
- function Gi(e, t, n, r) {
3294
+ function Ji(e, t, n, r) {
3288
3295
  let i = r - n;
3289
3296
  return {
3290
3297
  start: n + Math.floor(e * i / t),
3291
3298
  end: n + Math.floor((e + 1) * i / t)
3292
3299
  };
3293
3300
  }
3294
- function Ki(e, t) {
3301
+ function Yi(e, t) {
3295
3302
  e[e.length - 1] !== t && e.push(t);
3296
3303
  }
3297
- function qi(e) {
3304
+ function Xi(e) {
3298
3305
  return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
3299
3306
  }
3300
- function Ji(e, t) {
3307
+ function Zi(e, t) {
3301
3308
  let n = 1;
3302
3309
  for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
3303
3310
  return n;
3304
3311
  }
3305
- var Yi = class {
3312
+ var Qi = class {
3306
3313
  points;
3307
3314
  extremaLayers = [];
3308
3315
  sumLayers = [];
3309
3316
  indexBytes = 0;
3310
3317
  maxBytes;
3311
3318
  constructor(e, t = {}) {
3312
- this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ui;
3319
+ this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ki;
3313
3320
  }
3314
3321
  get byteLength() {
3315
3322
  return this.indexBytes;
@@ -3318,7 +3325,7 @@ var Yi = class {
3318
3325
  this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
3319
3326
  }
3320
3327
  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);
3328
+ let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = qi(r, o);
3322
3329
  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
3330
  }
3324
3331
  allIndexes(e, t) {
@@ -3338,24 +3345,24 @@ var Yi = class {
3338
3345
  if (i === 0) return this.indexes([e, t - 1]);
3339
3346
  let a = [e];
3340
3347
  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);
3348
+ let o = Ji(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3342
3349
  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));
3350
+ if (r === "min") Yi(a, s.minimum);
3351
+ else if (r === "max") Yi(a, s.maximum);
3352
+ else if (r === "minmax") s.minimum <= s.maximum ? (Yi(a, s.minimum), Yi(a, s.maximum)) : (Yi(a, s.maximum), Yi(a, s.minimum));
3346
3353
  else for (let e of [
3347
3354
  o.start,
3348
3355
  s.minimum,
3349
3356
  s.maximum,
3350
3357
  o.end - 1
3351
- ].sort((e, t) => e - t)) Ki(a, e);
3358
+ ].sort((e, t) => e - t)) Yi(a, e);
3352
3359
  }
3353
- return Ki(a, t - 1), this.indexes(a);
3360
+ return Yi(a, t - 1), this.indexes(a);
3354
3361
  }
3355
3362
  aggregate(e, t, n, r) {
3356
3363
  let i = new Float64Array(n), a = new Float64Array(n);
3357
3364
  for (let o = 0; o < n; o += 1) {
3358
- let s = Gi(o, n, e, t), c = this.querySum(s.start, s.end);
3365
+ let s = Ji(o, n, e, t), c = this.querySum(s.start, s.end);
3359
3366
  if (!c || c.count === 0) return;
3360
3367
  i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
3361
3368
  }
@@ -3370,7 +3377,7 @@ var Yi = class {
3370
3377
  if (!this.ensureExtrema(n)) return;
3371
3378
  let r = e, i = e;
3372
3379
  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;
3380
+ let e = Zi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3374
3381
  this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
3375
3382
  }
3376
3383
  return {
@@ -3383,7 +3390,7 @@ var Yi = class {
3383
3390
  if (!this.ensureSum(n)) return;
3384
3391
  let r = 0, i = 0, a = 0;
3385
3392
  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];
3393
+ let e = Zi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3387
3394
  if (c) r += c.x[s], i += c.y[s], a += c.count[s];
3388
3395
  else {
3389
3396
  let e = this.points[n];
@@ -3404,7 +3411,7 @@ var Yi = class {
3404
3411
  minimumIndexes: new Uint32Array(e),
3405
3412
  maximumIndexes: new Uint32Array(e)
3406
3413
  };
3407
- if (!this.reserve(qi(n))) return !1;
3414
+ if (!this.reserve(Xi(n))) return !1;
3408
3415
  let r = this.extremaLayers[t - 1];
3409
3416
  for (let t = 0; t < e; t += 1) {
3410
3417
  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 +3429,7 @@ var Yi = class {
3422
3429
  y: new Float64Array(e),
3423
3430
  count: new Uint32Array(e)
3424
3431
  };
3425
- if (!this.reserve(qi(n))) return !1;
3432
+ if (!this.reserve(Xi(n))) return !1;
3426
3433
  let r = this.sumLayers[t - 1];
3427
3434
  for (let t = 0; t < e; t += 1) {
3428
3435
  let e = t * 2, i = e + 1;
@@ -3447,8 +3454,8 @@ var Yi = class {
3447
3454
  let n = this.points[e], r = this.points[t];
3448
3455
  return n.y > r.y || n.y === r.y && e < t;
3449
3456
  }
3450
- }, Xi = 1e3, Zi = L((e) => e.x);
3451
- function Qi(e) {
3457
+ }, $i = 1e3, ea = L((e) => e.x);
3458
+ function ta(e) {
3452
3459
  let t = [], n = !0, r = -Infinity;
3453
3460
  for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
3454
3461
  x: i.x,
@@ -3459,7 +3466,7 @@ function Qi(e) {
3459
3466
  }));
3460
3467
  return n || t.sort((e, t) => e.x - t.x), t;
3461
3468
  }
3462
- function $i(e, t) {
3469
+ function na(e, t) {
3463
3470
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
3464
3471
  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
3472
  return {
@@ -3469,7 +3476,7 @@ function $i(e, t) {
3469
3476
  yDomain: e.length ? [i, a] : null
3470
3477
  };
3471
3478
  }
3472
- function ea(e, t, n = e.length) {
3479
+ function ra(e, t, n = e.length) {
3473
3480
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
3474
3481
  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
3482
  return {
@@ -3479,39 +3486,39 @@ function ea(e, t, n = e.length) {
3479
3486
  yDomain: e.length ? [a, o] : null
3480
3487
  };
3481
3488
  }
3482
- function ta(e, t) {
3489
+ function ia(e, t) {
3483
3490
  return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
3484
3491
  }
3485
- function na(e) {
3492
+ function aa(e) {
3486
3493
  return e === "auto" ? "peak" : e;
3487
3494
  }
3488
- function ra(e) {
3495
+ function oa(e) {
3489
3496
  if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
3490
3497
  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
3498
  return Math.max(1, Math.floor(t * n));
3492
3499
  }
3493
- function ia(e, t) {
3500
+ function sa(e, t) {
3494
3501
  if (e.mode === "raw") return !0;
3495
3502
  if (e.mode !== "auto") return !1;
3496
- let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Xi;
3503
+ let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : $i;
3497
3504
  if (!e.previousSelectedMode) return t <= n;
3498
3505
  let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
3499
3506
  return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
3500
3507
  }
3501
- function aa(e, t) {
3508
+ function ca(e, t) {
3502
3509
  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;
3510
+ return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[ea.center(e, t)] : void 0;
3504
3511
  }
3505
- function oa(e) {
3512
+ function la(e) {
3506
3513
  return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
3507
3514
  }
3508
- function sa(e, t) {
3515
+ function ua(e, t) {
3509
3516
  return e.kind === "aggregates" ? e : {
3510
3517
  kind: "source-indexes",
3511
3518
  sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
3512
3519
  };
3513
3520
  }
3514
- function ca(e, t, n, r, i) {
3521
+ function da(e, t, n, r, i) {
3515
3522
  return [
3516
3523
  e.datasetId,
3517
3524
  e.revision,
@@ -3531,14 +3538,14 @@ function ca(e, t, n, r, i) {
3531
3538
  e.errorBarMinSpacing ?? 0
3532
3539
  ].join("\0");
3533
3540
  }
3534
- function la(e, t, n, r, i, a, o, s) {
3541
+ function fa(e, t, n, r, i, a, o, s) {
3535
3542
  return {
3536
3543
  seriesId: e.seriesId,
3537
3544
  datasetId: e.datasetId,
3538
3545
  mode: e.mode,
3539
3546
  selectedMode: i,
3540
3547
  backend: r,
3541
- strategy: na(e.strategy),
3548
+ strategy: aa(e.strategy),
3542
3549
  sourcePointCount: t,
3543
3550
  visiblePointCount: n,
3544
3551
  renderedPointCount: o,
@@ -3554,18 +3561,18 @@ function la(e, t, n, r, i, a, o, s) {
3554
3561
  }
3555
3562
  //#endregion
3556
3563
  //#region src/core/workerSampling/repositoryDataset.ts
3557
- function ua(e) {
3564
+ function pa(e) {
3558
3565
  return e?.y.length ?? 0;
3559
3566
  }
3560
- function da(e, t) {
3567
+ function ma(e, t) {
3561
3568
  return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
3562
3569
  }
3563
- function fa(e, t) {
3570
+ function ha(e, t) {
3564
3571
  let n = (t, n) => {
3565
- let r = 0, i = ua(e);
3572
+ let r = 0, i = pa(e);
3566
3573
  for (; r < i;) {
3567
3574
  let a = r + Math.floor((i - r) / 2);
3568
- (n ? da(e, a) <= t : da(e, a) < t) ? r = a + 1 : i = a;
3575
+ (n ? ma(e, a) <= t : ma(e, a) < t) ? r = a + 1 : i = a;
3569
3576
  }
3570
3577
  return r;
3571
3578
  }, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
@@ -3574,13 +3581,13 @@ function fa(e, t) {
3574
3581
  end: n(i, !0)
3575
3582
  };
3576
3583
  }
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));
3584
+ function ga(e, t, n) {
3585
+ return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ma(e, t + r));
3579
3586
  }
3580
- function ma(e) {
3587
+ function _a(e) {
3581
3588
  return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
3582
3589
  }
3583
- function ha(e, t) {
3590
+ function va(e, t) {
3584
3591
  let n = [], r = Math.min(e.length, t.length);
3585
3592
  for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
3586
3593
  return n.sort((t, n) => e[t] - e[n] || t - n), {
@@ -3588,14 +3595,14 @@ function ha(e, t) {
3588
3595
  y: Float64Array.from(n, (e) => t[e])
3589
3596
  };
3590
3597
  }
3591
- function ga(e, t, n, r) {
3598
+ function ya(e, t, n, r) {
3592
3599
  if (t?.kind === "typed") {
3593
- let e = ha(t.x, t.y);
3600
+ let e = va(t.x, t.y);
3594
3601
  return {
3595
3602
  x: e.x,
3596
3603
  y: e.y,
3597
3604
  revision: n,
3598
- metrics: ea(e.x, e.y, Math.max(t.x.length, t.y.length))
3605
+ metrics: ra(e.x, e.y, Math.max(t.x.length, t.y.length))
3599
3606
  };
3600
3607
  }
3601
3608
  if (t?.kind === "samples") {
@@ -3629,35 +3636,35 @@ function ga(e, t, n, r) {
3629
3636
  }
3630
3637
  };
3631
3638
  }
3632
- let i = Qi(e ?? t?.points ?? []);
3639
+ let i = ta(e ?? t?.points ?? []);
3633
3640
  return {
3634
3641
  x: Float64Array.from(i, (e) => e.x),
3635
3642
  y: Float64Array.from(i, (e) => e.y),
3636
3643
  points: i,
3637
3644
  revision: n,
3638
- metrics: $i(i, e?.length ?? t?.points.length ?? 0),
3639
- index: new Yi(i, { maxBytes: r })
3645
+ metrics: na(i, e?.length ?? t?.points.length ?? 0),
3646
+ index: new Qi(i, { maxBytes: r })
3640
3647
  };
3641
3648
  }
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));
3649
+ function ba(e, t, n) {
3650
+ !_a(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3644
3651
  }
3645
- function va(e, t) {
3646
- t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ma(e) && e.disposeDataset(t.wasmDatasetHandle);
3652
+ function xa(e, t) {
3653
+ t.index?.dispose(), t.wasmDatasetHandle !== void 0 && _a(e) && e.disposeDataset(t.wasmDatasetHandle);
3647
3654
  }
3648
3655
  //#endregion
3649
3656
  //#region src/core/workerSampling/samplingCache.ts
3650
- var ya = 96, ba = 16 * 1024 * 1024;
3651
- function xa(e) {
3657
+ var Sa = 96, Ca = 16 * 1024 * 1024;
3658
+ function wa(e) {
3652
3659
  return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
3653
3660
  }
3654
- var Sa = class {
3661
+ var Ta = class {
3655
3662
  entries = /* @__PURE__ */ new Map();
3656
3663
  bytes = 0;
3657
3664
  maxEntries;
3658
3665
  maxBytes;
3659
3666
  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;
3667
+ this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : Sa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : Ca;
3661
3668
  }
3662
3669
  get metrics() {
3663
3670
  return {
@@ -3672,7 +3679,7 @@ var Sa = class {
3672
3679
  if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
3673
3680
  }
3674
3681
  set(e, t) {
3675
- let n = xa(t);
3682
+ let n = wa(t);
3676
3683
  if (n > this.maxBytes || this.maxEntries === 0) return;
3677
3684
  let r = this.entries.get(e);
3678
3685
  for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
@@ -3692,14 +3699,14 @@ var Sa = class {
3692
3699
  clear() {
3693
3700
  this.entries.clear(), this.bytes = 0;
3694
3701
  }
3695
- }, Ca = class {
3702
+ }, Ea = class {
3696
3703
  datasets = /* @__PURE__ */ new Map();
3697
3704
  javascriptBackend;
3698
3705
  cache;
3699
3706
  indexMaxBytes;
3700
3707
  wasmBackend;
3701
3708
  constructor(e = {}) {
3702
- this.javascriptBackend = e.javascriptBackend ?? Hi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Sa({
3709
+ this.javascriptBackend = e.javascriptBackend ?? Gi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Ta({
3703
3710
  maxEntries: e.cacheMaxEntries,
3704
3711
  maxBytes: e.cacheMaxBytes
3705
3712
  });
@@ -3712,9 +3719,9 @@ var Sa = class {
3712
3719
  };
3713
3720
  }
3714
3721
  setWasmBackend(e) {
3715
- this.wasmBackend && this.wasmBackend !== e && ma(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3722
+ this.wasmBackend && this.wasmBackend !== e && _a(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3716
3723
  e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
3717
- })), this.wasmBackend = e, ma(e) && this.datasets.forEach((t) => _a(e, t, this.indexMaxBytes));
3724
+ })), this.wasmBackend = e, _a(e) && this.datasets.forEach((t) => ba(e, t, this.indexMaxBytes));
3718
3725
  }
3719
3726
  handle(e) {
3720
3727
  switch (e.type) {
@@ -3730,15 +3737,15 @@ var Sa = class {
3730
3737
  register(e, t, n, r) {
3731
3738
  let i = this.datasets.get(e);
3732
3739
  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");
3740
+ let a = ya(n, r, 1, this.indexMaxBytes);
3741
+ return ba(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3735
3742
  }
3736
3743
  replace(e, t, n, r, i) {
3737
- let a = this.datasets.get(e), o = ta(a, n);
3744
+ let a = this.datasets.get(e), o = ia(a, n);
3738
3745
  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");
3746
+ xa(this.wasmBackend, a), this.cache.deleteDataset(e);
3747
+ let s = ya(r, i, a.revision + 1, this.indexMaxBytes);
3748
+ return ba(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3742
3749
  }
3743
3750
  sample(e) {
3744
3751
  return {
@@ -3748,28 +3755,28 @@ var Sa = class {
3748
3755
  };
3749
3756
  }
3750
3757
  sampleSeries(e, t) {
3751
- let n = performance.now(), r = this.datasets.get(t.datasetId), i = ta(r, t.revision);
3758
+ let n = performance.now(), r = this.datasets.get(t.datasetId), i = ia(r, t.revision);
3752
3759
  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", {
3760
+ let a = ha(r, t.xDomain), o = a.end - a.start;
3761
+ if (sa(t, o)) return this.sampleResponse(e, t, "ok", {
3755
3762
  kind: "source-indexes",
3756
3763
  sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
3757
3764
  }, "raw", "raw", o, n, !1);
3758
3765
  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
3766
  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);
3767
+ let u = aa(t.strategy), d = oa(t), f = da(t, a, u, d, l.kind), p = this.cache.get(f);
3761
3768
  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),
3769
+ let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && _a(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? ua(l.sample({
3770
+ x: ga(r, a.start, a.end),
3764
3771
  y: r.y.subarray(a.start, a.end),
3765
3772
  points: r.points?.slice(a.start, a.end) ?? [],
3766
3773
  strategy: u,
3767
3774
  targetPointCount: d
3768
3775
  }), 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);
3776
+ return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && _a(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3770
3777
  }
3771
3778
  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);
3779
+ let l = fa(t, pa(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, la(r), c);
3773
3780
  return l.requestId = e, {
3774
3781
  seriesId: t.seriesId,
3775
3782
  datasetId: t.datasetId,
@@ -3780,7 +3787,7 @@ var Sa = class {
3780
3787
  };
3781
3788
  }
3782
3789
  findNearest(e, t, n, r) {
3783
- let i = this.datasets.get(e), a = ta(i, n);
3790
+ let i = this.datasets.get(e), a = ia(i, n);
3784
3791
  return a !== "ok" || !i ? {
3785
3792
  type: "find-nearest-point-response",
3786
3793
  requestId: t,
@@ -3793,12 +3800,12 @@ var Sa = class {
3793
3800
  datasetId: e,
3794
3801
  revision: n,
3795
3802
  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),
3803
+ point: i.points ? ca(i.points, r) : (() => {
3804
+ let e = ha(i, [r, r]);
3805
+ if (!pa(i) || r < ma(i, 0) || r > ma(i, pa(i) - 1)) return;
3806
+ let t = Math.min(pa(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ma(i, n)) < Math.abs(ma(i, t) - r) ? n : t;
3807
+ return Number.isFinite(r) && pa(i) ? {
3808
+ x: ma(i, a),
3802
3809
  y: i.y[a]
3803
3810
  } : void 0;
3804
3811
  })()
@@ -3806,15 +3813,15 @@ var Sa = class {
3806
3813
  }
3807
3814
  metrics(e, t, n) {
3808
3815
  let r = this.datasets.get(e);
3809
- return this.datasetResponse(t, e, r, ta(r, n));
3816
+ return this.datasetResponse(t, e, r, ia(r, n));
3810
3817
  }
3811
3818
  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);
3819
+ let r = this.datasets.get(e), i = ia(r, n);
3820
+ return i === "ok" && r && (xa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3814
3821
  }
3815
3822
  disposeAll(e) {
3816
3823
  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(), {
3824
+ return this.datasets.forEach((e) => xa(this.wasmBackend, e)), _a(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3818
3825
  type: "dispose-all-response",
3819
3826
  requestId: e,
3820
3827
  disposedDatasetIds: t
@@ -3836,10 +3843,10 @@ var Sa = class {
3836
3843
  };
3837
3844
  //#endregion
3838
3845
  //#region src/components/core/latestTaskScheduler.ts
3839
- function wa(e, t, n, r) {
3846
+ function Da(e, t, n, r) {
3840
3847
  return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
3841
3848
  }
3842
- function Ta() {
3849
+ function Oa() {
3843
3850
  let e = 0, t = !1, n, r = !1, i = {
3844
3851
  scheduled: 0,
3845
3852
  coalesced: 0,
@@ -3878,12 +3885,12 @@ function Ta() {
3878
3885
  }
3879
3886
  //#endregion
3880
3887
  //#region src/components/core/workerSamplingClient.ts
3881
- function Ea(e) {
3888
+ function ka(e) {
3882
3889
  return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
3883
3890
  }
3884
- function Da() {
3891
+ function Aa() {
3885
3892
  let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
3886
- t ??= new Ca();
3893
+ t ??= new Ea();
3887
3894
  for (let [e, n] of i) {
3888
3895
  t.handle({
3889
3896
  type: "register-dataset",
@@ -3919,7 +3926,7 @@ function Da() {
3919
3926
  let t = a();
3920
3927
  e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
3921
3928
  }, c = (r) => {
3922
- t || (n = Ea(r), e?.terminate(), e = void 0, s());
3929
+ t || (n = ka(r), e?.terminate(), e = void 0, s());
3923
3930
  };
3924
3931
  try {
3925
3932
  typeof Worker > "u" ? c() : (e = new Worker(new URL(
@@ -3956,20 +3963,20 @@ function Da() {
3956
3963
  }
3957
3964
  };
3958
3965
  }
3959
- function Oa(e) {
3966
+ function ja(e) {
3960
3967
  return e.type === "dataset-response";
3961
3968
  }
3962
3969
  //#endregion
3963
3970
  //#region src/components/core/useWaveformRenderSampling.ts
3964
- var ka = 120;
3965
- function Aa(e, t) {
3971
+ var Ma = 120;
3972
+ function Na(e, t) {
3966
3973
  let n = e.output;
3967
3974
  if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
3968
3975
  x: e,
3969
3976
  y: n.y[t]
3970
3977
  })) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
3971
3978
  }
3972
- function ja(e, t) {
3979
+ function Pa(e, t) {
3973
3980
  let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
3974
3981
  return {
3975
3982
  seriesId: n.seriesId,
@@ -3991,7 +3998,7 @@ function ja(e, t) {
3991
3998
  maxPendingRequestCount: 0
3992
3999
  };
3993
4000
  }
3994
- function Ma(e) {
4001
+ function Fa(e) {
3995
4002
  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
4003
  if (i <= a) return t.pointsInRange(n, r);
3997
4004
  if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
@@ -4002,7 +4009,7 @@ function Ma(e) {
4002
4009
  }
4003
4010
  return o;
4004
4011
  }
4005
- function Na(e, t, n, r) {
4012
+ function Ia(e, t, n, r) {
4006
4013
  return {
4007
4014
  message: e,
4008
4015
  mode: t,
@@ -4010,14 +4017,14 @@ function Na(e, t, n, r) {
4010
4017
  seriesIds: r
4011
4018
  };
4012
4019
  }
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(() => {
4020
+ function La(e) {
4021
+ let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = Oa(), d, f, p = !1, m = t(() => {
4015
4022
  let t = e.renderingOptions.value.sampling;
4016
4023
  return e.sourceTrackLayouts.value.flatMap((n) => {
4017
4024
  let r = n.xScale.domain();
4018
4025
  return n.seriesList.flatMap((i) => {
4019
4026
  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}`;
4027
+ let o = i.source ?? X(i.points), s = o.visibleRange(r), c = `${e.instanceId}:${i.id}`;
4021
4028
  return [{
4022
4029
  series: i,
4023
4030
  source: o,
@@ -4076,13 +4083,13 @@ function Pa(e) {
4076
4083
  revision: 0,
4077
4084
  dataset: t.source.toWorkerDataset()
4078
4085
  });
4079
- !u.isCurrent(n) || !Oa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4086
+ !u.isCurrent(n) || !ja(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4080
4087
  }));
4081
4088
  }, x = async (t, n = !1) => {
4082
4089
  let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
4083
4090
  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({
4091
+ let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Da(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4092
+ e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(Pa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Fa(e)), l.push({
4086
4093
  ...e,
4087
4094
  request: {
4088
4095
  ...e.request,
@@ -4094,7 +4101,7 @@ function Pa(e) {
4094
4101
  e.linePointOverrides.value = c, v(d);
4095
4102
  return;
4096
4103
  }
4097
- if (e.linePointOverrides.value = c, r ??= Da(), await b(r, l, t), !u.isCurrent(t)) return;
4104
+ if (e.linePointOverrides.value = c, r ??= Aa(), await b(r, l, t), !u.isCurrent(t)) return;
4098
4105
  let f = l.map((e) => ({
4099
4106
  ...e.request,
4100
4107
  revision: a.get(e.request.datasetId) ?? 1
@@ -4109,22 +4116,22 @@ function Pa(e) {
4109
4116
  p = e;
4110
4117
  } catch (n) {
4111
4118
  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)));
4119
+ y(Ia(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4113
4120
  return;
4114
4121
  }
4115
4122
  if (!u.isCurrent(t)) return;
4116
4123
  let h = new Map(l.map((e) => [e.series.id, e.source]));
4117
4124
  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);
4125
+ let t = h.get(e.seriesId), n = t ? Na(e, t) : void 0;
4126
+ n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Ia(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4127
+ }), p.workerError && y(Ia(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Ia(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4121
4128
  };
4122
4129
  return k(h, () => {
4123
4130
  f && clearTimeout(f);
4124
4131
  let t = p;
4125
4132
  p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
4126
4133
  f = void 0, u.schedule((e) => x(e, !1));
4127
- }, ka));
4134
+ }, Ma));
4128
4135
  }, { immediate: !0 }), k(e.preparedSeries, () => {
4129
4136
  u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
4130
4137
  }, { flush: "sync" }), _(() => {
@@ -4133,10 +4140,10 @@ function Pa(e) {
4133
4140
  }
4134
4141
  //#endregion
4135
4142
  //#region src/components/core/useWaveformChartController.ts
4136
- function Fa(e, t) {
4143
+ function Ra(e, t) {
4137
4144
  e.value = t instanceof Element ? t : void 0;
4138
4145
  }
4139
- function Ia(e, t) {
4146
+ function za(e, t) {
4140
4147
  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
4148
  points: [],
4142
4149
  trackIndex: null,
@@ -4146,13 +4153,13 @@ function Ia(e, t) {
4146
4153
  x: 0,
4147
4154
  y: 0
4148
4155
  }
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();
4156
+ }), _ = x(!1), v = x(1), y = w(), S = ue("waveform-clip"), T = x(new Set(e.defaultHiddenSeriesIds)), D = gt(), O = w({}), j = x([]), M = Hr();
4150
4157
  k([() => e.yDomain, () => e.yDomains], () => {
4151
4158
  m.value = {}, h.value = {};
4152
4159
  }, { 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, () => {
4160
+ let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = qr(() => e.data, () => {
4154
4161
  R(), I();
4155
- }, () => L()), B = Mi({
4162
+ }, () => L()), B = Fi({
4156
4163
  props: e,
4157
4164
  observedWidth: o,
4158
4165
  observedHeight: s,
@@ -4160,7 +4167,7 @@ function Ia(e, t) {
4160
4167
  measuredTitleHeight: l,
4161
4168
  internalHiddenSeriesIds: T,
4162
4169
  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({
4170
+ }), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: q } = B, ie = ji({
4164
4171
  props: e,
4165
4172
  preparedSeries: z,
4166
4173
  currentPage: v,
@@ -4174,8 +4181,8 @@ function Ia(e, t) {
4174
4181
  independentYDomains: h,
4175
4182
  annotationInteraction: d(D),
4176
4183
  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({
4184
+ }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: le, pageCount: de, pagedTracks: fe, resolvedChartLeftMargin: Y, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
4185
+ La({
4179
4186
  props: e,
4180
4187
  emit: t,
4181
4188
  instanceId: S,
@@ -4184,9 +4191,9 @@ function Ia(e, t) {
4184
4191
  renderingOptions: se,
4185
4192
  linePointOverrides: O
4186
4193
  }), A(() => {
4187
- u.value = ue.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
4194
+ u.value = le.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
4188
4195
  });
4189
- let xe = Br({
4196
+ let Se = Ur({
4190
4197
  props: e,
4191
4198
  emit: t,
4192
4199
  svgElement: r,
@@ -4194,18 +4201,18 @@ function Ia(e, t) {
4194
4201
  sharedTransform: f,
4195
4202
  independentTransforms: p,
4196
4203
  trackLayouts: ce,
4197
- initialXDomain: ge,
4198
- sharedZoomDomain: _e,
4199
- innerWidth: X,
4204
+ initialXDomain: _e,
4205
+ sharedZoomDomain: ve,
4206
+ innerWidth: pe,
4200
4207
  innerHeight: q,
4201
- hasChartArea: pe,
4202
- isZoomMode: he,
4208
+ hasChartArea: me,
4209
+ isZoomMode: ge,
4203
4210
  isPresentationMode: W,
4204
- resolveInitialTrackDomain: ve,
4205
- cancelPendingHover: () => Ce.cancelPendingHover()
4211
+ resolveInitialTrackDomain: ye,
4212
+ cancelPendingHover: () => we.cancelPendingHover()
4206
4213
  });
4207
- R = xe.prepareForDataChange;
4208
- let Z = gr({
4214
+ R = Se.prepareForDataChange;
4215
+ let Ce = yr({
4209
4216
  props: e,
4210
4217
  emit: t,
4211
4218
  container: n,
@@ -4215,57 +4222,57 @@ function Ia(e, t) {
4215
4222
  annotationInteraction: D,
4216
4223
  editorSeriesOptions: j,
4217
4224
  trackLayouts: ce,
4218
- annotationLayoutsForTrack: ye,
4219
- resolveSeriesYScale: be,
4225
+ annotationLayoutsForTrack: be,
4226
+ resolveSeriesYScale: xe,
4220
4227
  chartWidth: V,
4221
4228
  chartHeight: H,
4222
- innerWidth: X,
4223
- resolvedChartLeftMargin: fe,
4229
+ innerWidth: pe,
4230
+ resolvedChartLeftMargin: Y,
4224
4231
  titleAreaHeight: re,
4225
4232
  chartTopMargin: K,
4226
- activeInteractionMode: me,
4233
+ activeInteractionMode: he,
4227
4234
  isPresentationMode: W
4228
- }), Se = Rr({
4235
+ }), X = Vr({
4229
4236
  props: e,
4230
4237
  emit: t,
4231
4238
  selection: N,
4232
4239
  spacePressed: P,
4233
4240
  trackLayouts: ce,
4234
4241
  chartTracks: oe,
4235
- initialXDomain: ge,
4236
- innerWidth: X,
4242
+ initialXDomain: _e,
4243
+ innerWidth: pe,
4237
4244
  innerHeight: q,
4238
4245
  sharedOverlayElement: a,
4239
4246
  sharedTransform: f,
4240
4247
  independentTransforms: p,
4241
4248
  sharedYDomains: m,
4242
4249
  independentYDomains: h,
4243
- isZoomMode: he,
4250
+ isZoomMode: ge,
4244
4251
  isPresentationMode: W,
4245
4252
  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({
4253
+ resolveInitialTrackDomain: ye,
4254
+ canZoomTrack: Se.canZoomTrack,
4255
+ canZoomSharedTracks: Se.canZoomSharedTracks,
4256
+ configureZoom: Se.configureZoom,
4257
+ cancelPendingZoom: Se.cancelPendingZoom,
4258
+ clearHover: () => we.clearHover(),
4259
+ resolveTrackAtPointer: Ce.resolveTrackAtPointer
4260
+ }), we = br({
4254
4261
  emit: t,
4255
4262
  hoverState: g,
4256
4263
  suppressHoverUntilMove: _,
4257
4264
  hoverThrottle: M,
4258
4265
  selection: N,
4259
4266
  trackLayouts: ce,
4260
- innerWidth: X,
4261
- resolvedChartLeftMargin: fe,
4267
+ innerWidth: pe,
4268
+ resolvedChartLeftMargin: Y,
4262
4269
  titleAreaHeight: re,
4263
4270
  chartTopMargin: K,
4264
4271
  sharedOverlayElement: a,
4265
4272
  isPresentationMode: W,
4266
- updateViewportDrag: Se.updateViewportDrag,
4267
- resolveTrackAtPointer: Z.resolveTrackAtPointer
4268
- }), we = Hr({
4273
+ updateViewportDrag: X.updateViewportDrag,
4274
+ resolveTrackAtPointer: Ce.resolveTrackAtPointer
4275
+ }), Te = Gr({
4269
4276
  props: e,
4270
4277
  emit: t,
4271
4278
  container: n,
@@ -4282,42 +4289,42 @@ function Ia(e, t) {
4282
4289
  pointerInsideChart: F,
4283
4290
  currentPage: v,
4284
4291
  pageCount: de,
4285
- pagedTracks: Y,
4286
- gridOptions: ue,
4292
+ pagedTracks: fe,
4293
+ gridOptions: le,
4287
4294
  chartSeries: ae,
4288
4295
  chartTracks: oe,
4289
4296
  trackLayouts: ce,
4290
- innerWidth: X,
4297
+ innerWidth: pe,
4291
4298
  innerHeight: q,
4292
- sharedZoomDomain: _e,
4293
- initialXDomain: ge,
4299
+ sharedZoomDomain: ve,
4300
+ initialXDomain: _e,
4294
4301
  sharedTransform: f,
4295
- activeInteractionMode: me,
4302
+ activeInteractionMode: he,
4296
4303
  hiddenSeriesIdSet: G,
4297
4304
  internalHiddenSeriesIds: T,
4298
4305
  independentTransforms: p,
4299
4306
  independentYDomains: h,
4300
- resolveInitialTrackDomain: ve,
4307
+ resolveInitialTrackDomain: ye,
4301
4308
  annotationInteraction: D,
4302
4309
  editorSeriesOptions: j,
4303
4310
  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
4311
+ clearHover: we.clearHover,
4312
+ cancelAnnotation: Ce.cancelAnnotation,
4313
+ configureZoom: Se.configureZoom,
4314
+ resetViewport: X.resetViewport,
4315
+ cancelViewportDrag: X.cancelViewportDrag,
4316
+ cancelPendingHover: we.cancelPendingHover,
4317
+ clearZoomBindings: Se.clearZoomBindings
4311
4318
  });
4312
- return I = we.handleBeforeDataReferenceChange, L = we.handleDataReferenceChange, b({
4319
+ return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, b({
4313
4320
  ...E(e),
4314
4321
  ...B,
4315
4322
  ...ie,
4316
- ...Z,
4317
- ...Se,
4318
4323
  ...Ce,
4319
- margin: Lt,
4320
- getPageSize: Vn,
4324
+ ...X,
4325
+ ...we,
4326
+ margin: zt,
4327
+ getPageSize: Hn,
4321
4328
  currentPage: v,
4322
4329
  selection: N,
4323
4330
  pointerInsideChart: F,
@@ -4327,35 +4334,35 @@ function Ia(e, t) {
4327
4334
  contextMenu: D.contextMenu,
4328
4335
  editorSeriesOptions: j,
4329
4336
  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)
4337
+ goToPage: Te.goToPage,
4338
+ setContainer: (e) => Ra(n, e),
4339
+ setSvgElement: (e) => Ra(r, e),
4340
+ setTitleMeasureElement: (e) => Ra(i, e),
4341
+ setSharedOverlayElement: (e) => Ra(a, e)
4335
4342
  });
4336
4343
  }
4337
4344
  //#endregion
4338
4345
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
4339
- var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4346
+ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
4340
4347
  class: "waveform-annotation-editor__coordinates",
4341
4348
  "aria-label": "标注坐标"
4342
- }, Ba = ["aria-invalid"], Va = {
4349
+ }, Ua = ["aria-invalid"], Wa = {
4343
4350
  class: "waveform-annotation-editor__coordinate-value",
4344
4351
  "aria-hidden": "true"
4345
- }, Ha = ["id"], Ua = {
4352
+ }, Ga = ["id"], Ka = {
4346
4353
  key: 0,
4347
4354
  class: "waveform-annotation-editor__series",
4348
4355
  "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 = {
4356
+ }, qa = { class: "waveform-annotation-editor__series-label" }, Ja = ["value"], Ya = ["value"], Xa = { key: 1 }, Za = { class: "waveform-annotation-editor__field" }, Qa = { class: "waveform-annotation-editor__label-row" }, $a = ["maxlength"], eo = { class: "waveform-annotation-editor__colors" }, to = {
4350
4357
  class: "waveform-annotation-editor__color-field",
4351
4358
  title: "调整标注边框色和透明度"
4352
- }, $a = {
4359
+ }, no = {
4353
4360
  class: "waveform-annotation-editor__color-field",
4354
4361
  title: "调整标注文字色和透明度"
4355
- }, eo = {
4362
+ }, ro = {
4356
4363
  class: "waveform-annotation-editor__color-field",
4357
4364
  title: "调整标注背景色和透明度"
4358
- }, to = /*#__PURE__*/ et(/* @__PURE__ */ l({
4365
+ }, io = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4359
4366
  __name: "WaveformAnnotationEditor",
4360
4367
  props: {
4361
4368
  annotation: {},
@@ -4375,7 +4382,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4375
4382
  let u = c(async () => typeof window > "u" ? {
4376
4383
  name: "WaveformColorPickerSsrFallback",
4377
4384
  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(() => {
4385
+ } : (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
4386
  let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
4380
4387
  return e ? {
4381
4388
  id: e.seriesId,
@@ -4385,8 +4392,8 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4385
4392
  } : d.series;
4386
4393
  });
4387
4394
  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());
4395
+ let e = Ge(d.annotation.style);
4396
+ _.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
4397
  }
4391
4398
  k(() => d.annotation.id, L, { immediate: !0 });
4392
4399
  function R(e) {
@@ -4413,7 +4420,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4413
4420
  let t = e.target;
4414
4421
  t.value && p("series-change", t.value);
4415
4422
  }
4416
- return (t, o) => (y(), n(D(oe), {
4423
+ return (t, o) => (y(), n(D(se), {
4417
4424
  visible: !0,
4418
4425
  width: 440,
4419
4426
  "mask-closable": !0,
@@ -4426,15 +4433,15 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4426
4433
  onCancel: o[4] ||= (e) => p("cancel"),
4427
4434
  onOk: B
4428
4435
  }, {
4429
- title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, La)]),
4430
- default: j(() => [a("div", Ra, [
4431
- a("div", za, [
4436
+ title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ba)]),
4437
+ default: j(() => [a("div", Va, [
4438
+ a("div", Ha, [
4432
4439
  a("label", {
4433
4440
  class: "waveform-annotation-editor__coordinate-input",
4434
4441
  "aria-invalid": !!N.value
4435
4442
  }, [
4436
4443
  o[5] ||= a("b", null, "X", -1),
4437
- s(D(ae), {
4444
+ s(D(oe), {
4438
4445
  value: v.value === "" ? void 0 : Number(v.value),
4439
4446
  controls: !0,
4440
4447
  step: .001,
@@ -4451,26 +4458,26 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4451
4458
  "aria-invalid",
4452
4459
  "aria-describedby"
4453
4460
  ]),
4454
- a("code", Va, T(v.value), 1)
4455
- ], 8, Ba),
4461
+ a("code", Wa, T(v.value), 1)
4462
+ ], 8, Ua),
4456
4463
  N.value ? (y(), i("p", {
4457
4464
  key: 0,
4458
4465
  id: `${D(g)}-time-error`,
4459
4466
  class: "waveform-annotation-editor__coordinate-error",
4460
4467
  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)])
4468
+ }, T(N.value), 9, Ga)) : r("", !0),
4469
+ a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(At)(d.annotation.y)), 1)])
4463
4470
  ]),
4464
4471
  o[13] ||= a("p", {
4465
4472
  class: "waveform-annotation-editor__coordinate-hint",
4466
4473
  role: "note"
4467
4474
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
4468
- I.value ? (y(), i("label", Ua, [
4475
+ I.value ? (y(), i("label", Ka, [
4469
4476
  a("i", {
4470
4477
  style: m({ backgroundColor: I.value.color }),
4471
4478
  "aria-hidden": "true"
4472
4479
  }, null, 4),
4473
- a("span", Wa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
4480
+ a("span", qa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
4474
4481
  d.seriesOptions?.length ? (y(), i("select", {
4475
4482
  key: 0,
4476
4483
  value: d.annotation.seriesId,
@@ -4479,9 +4486,9 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4479
4486
  }, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
4480
4487
  key: e.seriesId,
4481
4488
  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)
4489
+ }, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, Ya))), 128))], 40, Ja)) : I.value.unit ? (y(), i("code", Xa, T(I.value.unit), 1)) : r("", !0)
4483
4490
  ])) : 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", {
4491
+ a("label", Za, [a("span", Qa, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
4485
4492
  ref_key: "textarea",
4486
4493
  ref: h,
4487
4494
  "onUpdate:modelValue": o[0] ||= (e) => _.value = e,
@@ -4490,10 +4497,10 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4490
4497
  "aria-label": "标注文本",
4491
4498
  placeholder: "输入这处波形的说明",
4492
4499
  onKeydown: V
4493
- }, null, 40, Xa), [[O, _.value]])]),
4494
- a("fieldset", Za, [
4500
+ }, null, 40, $a), [[O, _.value]])]),
4501
+ a("fieldset", eo, [
4495
4502
  o[12] ||= a("legend", null, "颜色与透明度", -1),
4496
- a("label", Qa, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
4503
+ a("label", to, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
4497
4504
  "pure-color": C.value,
4498
4505
  "onUpdate:pureColor": o[1] ||= (e) => C.value = e,
4499
4506
  "aria-label": "标注边框色",
@@ -4503,7 +4510,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4503
4510
  "disable-alpha": !1,
4504
4511
  "blur-close": !0
4505
4512
  }, null, 8, ["pure-color"])]),
4506
- a("label", $a, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
4513
+ a("label", no, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
4507
4514
  "pure-color": w.value,
4508
4515
  "onUpdate:pureColor": o[2] ||= (e) => w.value = e,
4509
4516
  "aria-label": "标注文字色",
@@ -4513,7 +4520,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4513
4520
  "disable-alpha": !1,
4514
4521
  "blur-close": !0
4515
4522
  }, null, 8, ["pure-color"])]),
4516
- a("label", eo, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
4523
+ a("label", ro, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
4517
4524
  "pure-color": E.value,
4518
4525
  "onUpdate:pureColor": o[3] ||= (e) => E.value = e,
4519
4526
  "aria-label": "标注背景色",
@@ -4528,13 +4535,13 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4528
4535
  _: 1
4529
4536
  }, 8, ["ok-button-props"]));
4530
4537
  }
4531
- }), [["__scopeId", "data-v-01ecd3a4"]]), no = { class: "waveform-tooltip__series-content" }, ro = { class: "waveform-tooltip__series-label" }, io = {
4538
+ }), [["__scopeId", "data-v-01ecd3a4"]]), ao = { class: "waveform-tooltip__series-content" }, oo = { class: "waveform-tooltip__series-label" }, so = {
4532
4539
  key: 0,
4533
4540
  class: "waveform-tooltip__value"
4534
- }, ao = {
4541
+ }, co = {
4535
4542
  key: 1,
4536
4543
  class: "waveform-tooltip__value waveform-tooltip__value--missing"
4537
- }, oo = 12, so = 8, co = 560, lo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4544
+ }, lo = 12, uo = 8, fo = 560, po = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4538
4545
  __name: "WaveformTooltip",
4539
4546
  props: {
4540
4547
  visible: { type: Boolean },
@@ -4564,12 +4571,12 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4564
4571
  }, { flush: "post" }), v(u);
4565
4572
  let d = t(() => {
4566
4573
  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));
4574
+ let e = s.position.x + lo, t = s.position.x - lo - l.value.width, n = Math.max(1, Math.min(fo, s.containerWidth - uo * 2));
4568
4575
  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` },
4576
+ ...e + l.value.width <= s.containerWidth - uo ? { left: `${e}px` } : t >= uo ? { right: `${s.containerWidth - s.position.x + lo}px` } : { left: `${uo}px` },
4570
4577
  maxWidth: `${n}px`,
4571
4578
  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`
4579
+ top: `${Math.max(uo, Math.min(s.position.y - 18, s.containerHeight - l.value.height - uo))}px`
4573
4580
  };
4574
4581
  });
4575
4582
  return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
@@ -4581,9 +4588,9 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4581
4588
  }, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
4582
4589
  key: `${t.trackIndex}-${t.name}`,
4583
4590
  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);
4591
+ }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", ao, [a("span", oo, [o(T(t.shotNo?.trim() || "未配置炮号") + ": " + T(t.name), 1), t.unit ? (y(), i(e, { key: 0 }, [o("(" + T(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (y(), i("span", so, "(x:" + T(D(Ft)(t.point.x, n.timeUnit)) + " y:" + T(D(kt)(t.point.y)) + ")", 1)) : (y(), i("span", co, "无数据"))])]))), 128))], 4)) : r("", !0);
4585
4592
  }
4586
- }), [["__scopeId", "data-v-0d0d1d3c"]]), uo = /* @__PURE__ */ l({
4593
+ }), [["__scopeId", "data-v-0d0d1d3c"]]), mo = /* @__PURE__ */ l({
4587
4594
  __name: "WaveformHoverHost",
4588
4595
  props: {
4589
4596
  state: {},
@@ -4594,7 +4601,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4594
4601
  },
4595
4602
  setup(e) {
4596
4603
  let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
4597
- return (t, r) => (y(), n(lo, {
4604
+ return (t, r) => (y(), n(po, {
4598
4605
  visible: e.visible && i.value !== null,
4599
4606
  position: e.state.position,
4600
4607
  "time-unit": e.timeUnit,
@@ -4612,16 +4619,16 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
4612
4619
  "container-height"
4613
4620
  ]));
4614
4621
  }
4615
- }), fo = 13, po = 2, mo = 14, ho = 8, go = 24, _o = {
4622
+ }), ho = 13, go = 2, _o = 14, vo = 8, yo = 24, bo = {
4616
4623
  circle: te,
4617
4624
  square: re,
4618
4625
  triangle: K,
4619
4626
  diamond: ne
4620
4627
  };
4621
- function vo(e, t = 48) {
4622
- return e === "none" ? null : ee().type(_o[e]).size(t)() ?? null;
4628
+ function xo(e, t = 48) {
4629
+ return e === "none" ? null : ee().type(bo[e]).size(t)() ?? null;
4623
4630
  }
4624
- function yo(e, t, n = 48) {
4631
+ function So(e, t, n = 48) {
4625
4632
  if (e === "none" || t.length === 0) return null;
4626
4633
  if (e === "circle") {
4627
4634
  let e = Math.sqrt(n / Math.PI);
@@ -4638,24 +4645,24 @@ function yo(e, t, n = 48) {
4638
4645
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
4639
4646
  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
4647
  }
4641
- function bo(e) {
4648
+ function Co(e) {
4642
4649
  return e === "none" ? null : "M1 8H25";
4643
4650
  }
4644
- function xo(e) {
4651
+ function wo(e) {
4645
4652
  if (e === "dashed") return "8 5";
4646
4653
  if (e === "dash-dot") return "8 5 1.5 5";
4647
4654
  }
4648
- function So(e) {
4649
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, go) : ho) / 2, n = fo - t, r = fo + t;
4655
+ function To(e) {
4656
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, yo) : vo) / 2, n = ho - t, r = ho + t;
4650
4657
  return [
4651
- `M${n} ${po}H${r}`,
4652
- `M${fo} ${po}V${mo}`,
4653
- `M${n} ${mo}H${r}`
4658
+ `M${n} ${go}H${r}`,
4659
+ `M${ho} ${go}V${_o}`,
4660
+ `M${n} ${_o}H${r}`
4654
4661
  ].join("");
4655
4662
  }
4656
4663
  //#endregion
4657
4664
  //#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 = [
4665
+ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
4659
4666
  "data-series-id",
4660
4667
  "data-series-name",
4661
4668
  "data-y-axis-index",
@@ -4664,11 +4671,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4664
4671
  "d",
4665
4672
  "stroke",
4666
4673
  "stroke-dasharray"
4667
- ], Eo = ["data-series-id"], Do = [
4674
+ ], ko = ["data-series-id"], Ao = [
4668
4675
  "d",
4669
4676
  "stroke",
4670
4677
  "stroke-width"
4671
- ], Oo = ["data-series-id", "data-point-type"], ko = ["d", "fill"], Ao = /*#__PURE__*/ et(/* @__PURE__ */ l({
4678
+ ], jo = ["data-series-id", "data-point-type"], Mo = ["d", "fill"], No = /*#__PURE__*/ nt(/* @__PURE__ */ l({
4672
4679
  __name: "WaveformSeriesLayer",
4673
4680
  props: {
4674
4681
  track: {},
@@ -4676,11 +4683,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4676
4683
  },
4677
4684
  setup(n) {
4678
4685
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
4679
- let t = yo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4686
+ let t = So(e.series.pointType, e.pointRenderPoints.map((t) => ({
4680
4687
  x: a.track.xScale(t.x),
4681
4688
  y: e.yScale(t.y)
4682
4689
  }))), 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);
4690
+ 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
4691
  return [
4685
4692
  `M${o - n},${s}H${o + n}`,
4686
4693
  `M${o},${s}V${c}`,
@@ -4713,8 +4720,8 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4713
4720
  "data-line-style": e.series.lineStyle,
4714
4721
  d: e.path,
4715
4722
  stroke: e.series.color,
4716
- "stroke-dasharray": D(xo)(e.series.lineStyle)
4717
- }, null, 8, To)) : r("", !0),
4723
+ "stroke-dasharray": D(wo)(e.series.lineStyle)
4724
+ }, null, 8, Oo)) : r("", !0),
4718
4725
  e.series.errorBar.visible ? (y(), i("g", {
4719
4726
  key: 1,
4720
4727
  class: "waveform-track__error-bars waveform-chart__error-bars",
@@ -4725,7 +4732,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4725
4732
  d: e.errorBarPath,
4726
4733
  stroke: e.series.errorBar.color || e.series.color,
4727
4734
  "stroke-width": e.series.errorBar.width
4728
- }, null, 8, Do)) : r("", !0)], 8, Eo)) : r("", !0),
4735
+ }, null, 8, Ao)) : r("", !0)], 8, ko)) : r("", !0),
4729
4736
  e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
4730
4737
  key: 2,
4731
4738
  class: "waveform-track__points waveform-chart__points",
@@ -4736,28 +4743,28 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4736
4743
  class: "waveform-track__point waveform-chart__point",
4737
4744
  d: e.pointPath,
4738
4745
  fill: e.series.color
4739
- }, null, 8, ko)) : r("", !0)], 8, Oo))
4740
- ], 8, wo))), 128))], 8, Co)) : r("", !0);
4746
+ }, null, 8, Mo)) : r("", !0)], 8, jo))
4747
+ ], 8, Do))), 128))], 8, Eo)) : r("", !0);
4741
4748
  }
4742
- }), [["__scopeId", "data-v-42a3fd47"]]), jo = ["transform"], Mo = ["transform"], No = {
4749
+ }), [["__scopeId", "data-v-6ea098ba"]]), Po = ["transform"], Fo = ["transform"], Io = {
4743
4750
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
4744
4751
  x: "0",
4745
4752
  y: "7",
4746
4753
  dy: "0.71em",
4747
4754
  "text-anchor": "start"
4748
- }, Po = ["x"], Fo = [
4755
+ }, Lo = ["x"], Ro = [
4749
4756
  "data-y-axis-index",
4750
4757
  "data-y-axis-side",
4751
4758
  "transform"
4752
- ], Io = { key: 2 }, Lo = [
4759
+ ], zo = { key: 2 }, Bo = [
4753
4760
  "x",
4754
4761
  "y",
4755
4762
  "width"
4756
- ], Ro = ["fill", "transform"], zo = ["data-y-axis-title-index"], Bo = [
4763
+ ], Vo = ["fill", "transform"], Ho = ["data-y-axis-title-index"], Uo = [
4757
4764
  "x",
4758
4765
  "y",
4759
4766
  "width"
4760
- ], Vo = ["fill", "transform"], Ho = /* @__PURE__ */ l({
4767
+ ], Wo = ["fill", "transform"], Go = /* @__PURE__ */ l({
4761
4768
  __name: "WaveformTrackAxes",
4762
4769
  props: {
4763
4770
  track: {},
@@ -4786,11 +4793,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4786
4793
  if (n.track.yAxes.forEach((e, t) => {
4787
4794
  let r = s.value[t];
4788
4795
  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);
4796
+ let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => cr(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
4790
4797
  o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
4791
4798
  }), !o.value) return;
4792
4799
  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);
4800
+ e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => Mt(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
4794
4801
  }
4795
4802
  return g(async () => {
4796
4803
  await f(), m();
@@ -4812,7 +4819,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4812
4819
  ref: o,
4813
4820
  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
4821
  transform: `translate(0, ${t.track.height})`
4815
- }, null, 10, jo)) : r("", !0),
4822
+ }, null, 10, Po)) : r("", !0),
4816
4823
  t.track.showXAxis ? (y(), i("g", {
4817
4824
  key: 1,
4818
4825
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
@@ -4820,13 +4827,13 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4820
4827
  "font-family": "sans-serif",
4821
4828
  "font-size": "10",
4822
4829
  "aria-hidden": "true"
4823
- }, [a("text", No, T(t.track.endpointLabels.start), 1), a("text", {
4830
+ }, [a("text", Io, T(t.track.endpointLabels.start), 1), a("text", {
4824
4831
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
4825
4832
  x: t.track.width ?? t.innerWidth,
4826
4833
  y: "7",
4827
4834
  dy: "0.71em",
4828
4835
  "text-anchor": "end"
4829
- }, T(t.track.endpointLabels.end), 9, Po)], 8, Mo)) : r("", !0),
4836
+ }, T(t.track.endpointLabels.end), 9, Lo)], 8, Fo)) : r("", !0),
4830
4837
  (y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
4831
4838
  key: `y-axis-${t.track.index}-${e.index}`,
4832
4839
  ref_for: !0,
@@ -4835,21 +4842,21 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4835
4842
  "data-y-axis-index": e.index,
4836
4843
  "data-y-axis-side": e.side,
4837
4844
  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", {
4845
+ }, null, 10, Ro))), 128)),
4846
+ !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g", zo, [a("rect", {
4840
4847
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4841
4848
  x: t.track.yAxisLabelX - D(12) / 2,
4842
4849
  y: t.track.height / 2 - 40,
4843
4850
  width: D(12),
4844
4851
  height: "80",
4845
4852
  rx: "2"
4846
- }, null, 8, Lo), a("text", {
4853
+ }, null, 8, Bo), a("text", {
4847
4854
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4848
4855
  fill: t.track.series?.color,
4849
4856
  transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
4850
4857
  "text-anchor": "middle",
4851
4858
  "dominant-baseline": "central"
4852
- }, T(t.track.series ? c(t.track.series) : ""), 9, Ro)])) : r("", !0),
4859
+ }, T(t.track.series ? c(t.track.series) : ""), 9, Vo)])) : r("", !0),
4853
4860
  (y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
4854
4861
  key: `y-axis-title-${t.track.index}-${e.index}`,
4855
4862
  class: "waveform-track__multi-axis-title",
@@ -4861,40 +4868,40 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4861
4868
  width: D(12),
4862
4869
  height: "80",
4863
4870
  rx: "2"
4864
- }, null, 8, Bo), a("text", {
4871
+ }, null, 8, Uo), a("text", {
4865
4872
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4866
4873
  fill: e.seriesList[0].color,
4867
4874
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
4868
4875
  "text-anchor": "middle",
4869
4876
  "dominant-baseline": "central"
4870
- }, T(c(e.seriesList[0])), 9, Vo)], 8, zo))), 128))
4877
+ }, T(c(e.seriesList[0])), 9, Wo)], 8, Ho))), 128))
4871
4878
  ], 64));
4872
4879
  }
4873
- }), Uo = [
4880
+ }), Ko = [
4874
4881
  "width",
4875
4882
  "height",
4876
4883
  "fill"
4877
- ], Wo = ["clip-path"], Go = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Ko = [
4884
+ ], qo = ["clip-path"], Jo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Yo = [
4878
4885
  "stroke",
4879
4886
  "x1",
4880
4887
  "x2",
4881
4888
  "y2"
4882
- ], qo = [
4889
+ ], Xo = [
4883
4890
  "stroke",
4884
4891
  "x2",
4885
4892
  "y1",
4886
4893
  "y2"
4887
- ], Jo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Yo = [
4894
+ ], Zo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Qo = [
4888
4895
  "stroke",
4889
4896
  "x1",
4890
4897
  "x2",
4891
4898
  "y2"
4892
- ], Xo = [
4899
+ ], $o = [
4893
4900
  "stroke",
4894
4901
  "x2",
4895
4902
  "y1",
4896
4903
  "y2"
4897
- ], Zo = ["clip-path"], Qo = [
4904
+ ], es = ["clip-path"], ts = [
4898
4905
  "data-y-axis-index",
4899
4906
  "x2",
4900
4907
  "y1",
@@ -4902,7 +4909,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4902
4909
  "stroke",
4903
4910
  "stroke-width",
4904
4911
  "stroke-dasharray"
4905
- ], $o = ["x", "y"], es = /* @__PURE__ */ l({
4912
+ ], ns = ["x", "y"], rs = /* @__PURE__ */ l({
4906
4913
  __name: "WaveformTrackBackdrop",
4907
4914
  props: {
4908
4915
  track: {},
@@ -4927,12 +4934,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4927
4934
  height: t.track.height,
4928
4935
  fill: t.frameStyle.backgroundColor,
4929
4936
  "aria-hidden": "true"
4930
- }, null, 8, Uo)) : r("", !0),
4937
+ }, null, 8, Ko)) : r("", !0),
4931
4938
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
4932
4939
  key: 1,
4933
4940
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4934
4941
  "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", {
4942
+ }, [a("g", Jo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
4936
4943
  key: `x-minor-${t.track.index}-${e}`,
4937
4944
  "data-grid-direction": "vertical",
4938
4945
  stroke: t.track.gridLines.verticalColor,
@@ -4940,7 +4947,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4940
4947
  x2: t.track.xScale(e),
4941
4948
  y1: "0",
4942
4949
  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", {
4950
+ }, null, 8, Yo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
4944
4951
  key: `y-minor-${t.track.index}-${e}`,
4945
4952
  "data-grid-direction": "horizontal",
4946
4953
  stroke: t.track.gridLines.horizontalColor,
@@ -4948,7 +4955,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4948
4955
  x2: t.track.width ?? t.innerWidth,
4949
4956
  y1: t.track.yScale(e),
4950
4957
  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", {
4958
+ }, null, 8, Xo))), 128)) : r("", !0)]), a("g", Zo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
4952
4959
  key: `x-major-${t.track.index}-${e}`,
4953
4960
  "data-grid-direction": "vertical",
4954
4961
  stroke: t.track.gridLines.verticalColor,
@@ -4956,7 +4963,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4956
4963
  x2: t.track.xScale(e),
4957
4964
  y1: "0",
4958
4965
  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", {
4966
+ }, null, 8, Qo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
4960
4967
  key: `y-major-${t.track.index}-${e}`,
4961
4968
  "data-grid-direction": "horizontal",
4962
4969
  stroke: t.track.gridLines.horizontalColor,
@@ -4964,7 +4971,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4964
4971
  x2: t.track.width ?? t.innerWidth,
4965
4972
  y1: t.track.yScale(e),
4966
4973
  y2: t.track.yScale(e)
4967
- }, null, 8, Xo))), 128)) : r("", !0)])], 8, Wo)) : r("", !0),
4974
+ }, null, 8, $o))), 128)) : r("", !0)])], 8, qo)) : r("", !0),
4968
4975
  !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
4969
4976
  key: 2,
4970
4977
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
@@ -4981,7 +4988,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4981
4988
  stroke: t.zeroLine.color,
4982
4989
  "stroke-width": t.zeroLine.width,
4983
4990
  "stroke-dasharray": t.zeroLine.dash || void 0
4984
- }, null, 8, Qo))], 64))), 128))], 8, Zo)) : r("", !0),
4991
+ }, null, 8, ts))], 64))), 128))], 8, es)) : r("", !0),
4985
4992
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
4986
4993
  key: 3,
4987
4994
  class: "waveform-track__watermark waveform-chart__watermark",
@@ -4991,10 +4998,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
4991
4998
  "text-anchor": "middle",
4992
4999
  "dominant-baseline": "central",
4993
5000
  "aria-hidden": "true"
4994
- }, T(t.frameNumber), 13, $o)) : r("", !0)
5001
+ }, T(t.frameNumber), 13, ns)) : r("", !0)
4995
5002
  ], 64));
4996
5003
  }
4997
- }), ts = [
5004
+ }), is = [
4998
5005
  "data-track-index",
4999
5006
  "data-track-id",
5000
5007
  "data-track-empty",
@@ -5004,19 +5011,19 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5004
5011
  "data-track-top",
5005
5012
  "data-track-height",
5006
5013
  "transform"
5007
- ], ns = [
5014
+ ], as = [
5008
5015
  "width",
5009
5016
  "height",
5010
5017
  "stroke",
5011
5018
  "stroke-width",
5012
5019
  "stroke-dasharray",
5013
5020
  "stroke-linecap"
5014
- ], rs = [
5021
+ ], os = [
5015
5022
  "data-interactive",
5016
5023
  "data-independent-overlay-index",
5017
5024
  "width",
5018
5025
  "height"
5019
- ], is = ["x", "y"], as = /* @__PURE__ */ l({
5026
+ ], ss = ["x", "y"], cs = /* @__PURE__ */ l({
5020
5027
  __name: "WaveformTrack",
5021
5028
  props: {
5022
5029
  track: {},
@@ -5076,7 +5083,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5076
5083
  "data-track-height": e.track.height,
5077
5084
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
5078
5085
  }, [
5079
- s(es, {
5086
+ s(rs, {
5080
5087
  track: e.track,
5081
5088
  "clip-path-id": e.clipPathId,
5082
5089
  "inner-width": e.innerWidth,
@@ -5093,7 +5100,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5093
5100
  "frame-style",
5094
5101
  "zero-line"
5095
5102
  ]),
5096
- s(Ho, {
5103
+ s(Go, {
5097
5104
  track: e.track,
5098
5105
  "inner-width": e.innerWidth,
5099
5106
  "clean-view": e.cleanView,
@@ -5119,8 +5126,8 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5119
5126
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
5120
5127
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
5121
5128
  "aria-hidden": "true"
5122
- }, null, 8, ns)),
5123
- s(Ao, {
5129
+ }, null, 8, as)),
5130
+ s(No, {
5124
5131
  track: e.track,
5125
5132
  "clip-path-id": e.clipPathId
5126
5133
  }, null, 8, ["track", "clip-path-id"]),
@@ -5142,7 +5149,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5142
5149
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
5143
5150
  onClick: n[5] ||= (e) => o("click", e),
5144
5151
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
5145
- }, null, 42, rs)) : r("", !0),
5152
+ }, null, 42, os)) : r("", !0),
5146
5153
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
5147
5154
  key: 2,
5148
5155
  class: "waveform-track__no-visible-series",
@@ -5150,33 +5157,33 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5150
5157
  y: e.track.height / 2,
5151
5158
  "text-anchor": "middle",
5152
5159
  "dominant-baseline": "central"
5153
- }, " 暂无可见曲线 ", 8, is)) : r("", !0)
5154
- ], 10, ts));
5160
+ }, " 暂无可见曲线 ", 8, ss)) : r("", !0)
5161
+ ], 10, is));
5155
5162
  }
5156
- }), os = [
5163
+ }), ls = [
5157
5164
  "width",
5158
5165
  "height",
5159
5166
  "data-position",
5160
5167
  "data-orientation"
5161
- ], ss = [
5168
+ ], us = [
5162
5169
  "disabled",
5163
5170
  "aria-pressed",
5164
5171
  "aria-label",
5165
5172
  "onClick"
5166
- ], cs = [
5173
+ ], ds = [
5167
5174
  "data-line-type",
5168
5175
  "data-line-style",
5169
5176
  "data-point-type",
5170
5177
  "data-error-bar-visible"
5171
- ], ls = [
5178
+ ], fs = [
5172
5179
  "d",
5173
5180
  "stroke",
5174
5181
  "stroke-dasharray"
5175
- ], us = [
5182
+ ], ps = [
5176
5183
  "d",
5177
5184
  "stroke",
5178
5185
  "stroke-width"
5179
- ], ds = ["d", "fill"], fs = ["title"], ps = /*#__PURE__*/ et(/* @__PURE__ */ l({
5186
+ ], ms = ["d", "fill"], hs = ["title"], gs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
5180
5187
  __name: "WaveformLegend",
5181
5188
  props: {
5182
5189
  series: {},
@@ -5234,45 +5241,45 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5234
5241
  "data-point-type": e.pointType,
5235
5242
  "data-error-bar-visible": e.errorBar.visible || void 0
5236
5243
  }, [
5237
- D(bo)(e.lineType) ? (y(), i("path", {
5244
+ D(Co)(e.lineType) ? (y(), i("path", {
5238
5245
  key: 0,
5239
5246
  class: "waveform-legend__line",
5240
- d: D(bo)(e.lineType) ?? void 0,
5247
+ d: D(Co)(e.lineType) ?? void 0,
5241
5248
  stroke: e.color,
5242
- "stroke-dasharray": D(xo)(e.lineStyle),
5243
- "stroke-width": "1.5",
5249
+ "stroke-dasharray": D(wo)(e.lineStyle),
5250
+ "stroke-width": "2.5",
5244
5251
  fill: "none"
5245
- }, null, 8, ls)) : r("", !0),
5252
+ }, null, 8, fs)) : r("", !0),
5246
5253
  e.errorBar.visible ? (y(), i("path", {
5247
5254
  key: 1,
5248
5255
  class: "waveform-legend__error-bar",
5249
- d: D(So)(e.errorBar.capWidth),
5256
+ d: D(To)(e.errorBar.capWidth),
5250
5257
  stroke: e.errorBar.color || e.color,
5251
5258
  "stroke-width": e.errorBar.width,
5252
5259
  "stroke-linecap": "butt",
5253
5260
  fill: "none"
5254
- }, null, 8, us)) : r("", !0),
5261
+ }, null, 8, ps)) : r("", !0),
5255
5262
  e.pointType === "none" ? r("", !0) : (y(), i("path", {
5256
5263
  key: 2,
5257
5264
  class: "waveform-legend__point",
5258
- d: D(vo)(e.pointType, 30) ?? void 0,
5265
+ d: D(xo)(e.pointType, 30) ?? void 0,
5259
5266
  fill: e.color,
5260
5267
  transform: "translate(13 8)"
5261
- }, null, 8, ds))
5262
- ], 8, cs)), a("span", {
5268
+ }, null, 8, ms))
5269
+ ], 8, ds)), a("span", {
5263
5270
  class: "waveform-legend__label",
5264
5271
  title: e.name
5265
- }, T(e.name), 9, fs)], 10, ss))), 128))], 6)], 2)], 8, os));
5272
+ }, T(e.name), 9, hs)], 10, us))), 128))], 6)], 2)], 8, ls));
5266
5273
  }
5267
- }), [["__scopeId", "data-v-2ae12e71"]]), ms = {
5274
+ }), [["__scopeId", "data-v-3b9e78d8"]]), _s = {
5268
5275
  class: "waveform-chart__hover-layer",
5269
5276
  "pointer-events": "none",
5270
5277
  "aria-hidden": "true"
5271
- }, hs = ["clip-path", "transform"], gs = [
5278
+ }, vs = ["clip-path", "transform"], ys = [
5272
5279
  "x1",
5273
5280
  "x2",
5274
5281
  "y2"
5275
- ], _s = /*#__PURE__*/ et(/* @__PURE__ */ l({
5282
+ ], bs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
5276
5283
  __name: "WaveformHoverLayer",
5277
5284
  props: {
5278
5285
  state: {},
@@ -5288,7 +5295,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5288
5295
  x: e.xScale(n)
5289
5296
  }] : [];
5290
5297
  }));
5291
- return (t, r) => (y(), i("g", ms, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
5298
+ return (t, r) => (y(), i("g", _s, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
5292
5299
  key: e.track.index,
5293
5300
  class: "waveform-track__crosshair waveform-chart__crosshair",
5294
5301
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -5298,9 +5305,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5298
5305
  x2: e.x,
5299
5306
  y1: "0",
5300
5307
  y2: e.track.height
5301
- }, null, 8, gs)], 8, hs))), 128))]));
5308
+ }, null, 8, ys)], 8, vs))), 128))]));
5302
5309
  }
5303
- }), [["__scopeId", "data-v-54a5a37d"]]), vs = [
5310
+ }), [["__scopeId", "data-v-54a5a37d"]]), xs = [
5304
5311
  "data-display-mode",
5305
5312
  "data-interaction-mode",
5306
5313
  "data-presentation-mode",
@@ -5309,40 +5316,40 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5309
5316
  "data-plot-margin-top",
5310
5317
  "data-plot-margin-bottom",
5311
5318
  "data-title-area-height"
5312
- ], ys = [
5319
+ ], Ss = [
5313
5320
  "role",
5314
5321
  "aria-level",
5315
5322
  "aria-hidden"
5316
- ], bs = ["data-title-scale", "data-title-wrapped"], xs = [
5323
+ ], Cs = ["data-title-scale", "data-title-wrapped"], ws = [
5317
5324
  "width",
5318
5325
  "height",
5319
5326
  "aria-label"
5320
- ], Ss = ["id"], Cs = ["width", "height"], ws = ["transform"], Ts = {
5327
+ ], Ts = ["id"], Es = ["width", "height"], Ds = ["transform"], Os = {
5321
5328
  key: 0,
5322
5329
  class: "waveform-chart__grid-slots",
5323
5330
  "aria-hidden": "true"
5324
- }, Es = ["transform"], Ds = ["width", "height"], Os = ["width", "height"], ks = [
5331
+ }, ks = ["transform"], As = ["width", "height"], js = ["width", "height"], Ms = [
5325
5332
  "x",
5326
5333
  "y",
5327
5334
  "width",
5328
5335
  "height"
5329
- ], As = {
5336
+ ], Ns = {
5330
5337
  key: 4,
5331
5338
  class: "waveform-chart__legend-layer"
5332
- }, js = [
5339
+ }, Ps = [
5333
5340
  "data-legend-track-index",
5334
5341
  "data-legend-track-id",
5335
5342
  "transform"
5336
- ], Ms = ["x", "y"], Ns = ["x", "y"], Ps = /* @__PURE__ */ l({
5343
+ ], Fs = ["x", "y"], Is = ["x", "y"], Ls = /* @__PURE__ */ l({
5337
5344
  __name: "WaveformChartView",
5338
5345
  props: { controller: {} },
5339
5346
  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() {
5347
+ 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);
5348
+ function $e() {
5342
5349
  b.value = !1, q.value();
5343
5350
  }
5344
5351
  return (t, E) => (y(), i("div", {
5345
- ref: D(Je),
5352
+ ref: D(Ye),
5346
5353
  class: p(["waveform-chart", [
5347
5354
  `waveform-chart--${D(o)}`,
5348
5355
  `waveform-chart--interaction-${D(c)}`,
@@ -5362,7 +5369,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5362
5369
  "data-plot-margin-bottom": D(v).bottom,
5363
5370
  "data-title-area-height": D(_),
5364
5371
  onPointerenter: E[8] ||= (e) => b.value = !0,
5365
- onPointerleave: Qe,
5372
+ onPointerleave: $e,
5366
5373
  onContextmenuCapture: E[9] ||= (...e) => D(x) && D(x)(...e)
5367
5374
  }, [
5368
5375
  D(C) ? (y(), i("div", {
@@ -5373,7 +5380,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5373
5380
  "aria-level": D(O) ? 2 : void 0,
5374
5381
  "aria-hidden": D(l) || void 0
5375
5382
  }, [a("span", {
5376
- ref: D(Xe),
5383
+ ref: D(Ze),
5377
5384
  class: "waveform-chart__title-measure",
5378
5385
  style: m(D(k)),
5379
5386
  "aria-hidden": "true"
@@ -5386,9 +5393,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5386
5393
  style: m(D(M)),
5387
5394
  "data-title-scale": D(N).scale,
5388
5395
  "data-title-wrapped": D(N).wrapped || void 0
5389
- }, T(D(A)), 13, bs)], 4)) : r("", !0)], 12, ys)) : r("", !0),
5396
+ }, T(D(A)), 13, Cs)], 4)) : r("", !0)], 12, Ss)) : r("", !0),
5390
5397
  (y(), i("svg", {
5391
- ref: D(Ye),
5398
+ ref: D(Xe),
5392
5399
  class: "waveform-chart__svg",
5393
5400
  width: D(P),
5394
5401
  height: D(F),
@@ -5403,9 +5410,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5403
5410
  }, [a("rect", {
5404
5411
  width: e.width,
5405
5412
  height: e.height
5406
- }, null, 8, Cs)], 8, Ss))), 128))]),
5413
+ }, null, 8, Es)], 8, Ts))), 128))]),
5407
5414
  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", {
5415
+ D(o) !== "compact" && !D(l) ? (y(), i("g", Os, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
5409
5416
  key: `grid-slot-${e.slotIndex}`,
5410
5417
  transform: `translate(${e.left}, ${e.top})`
5411
5418
  }, [e.series ? r("", !0) : (y(), i("rect", {
@@ -5413,10 +5420,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5413
5420
  class: "waveform-chart__grid-slot-placeholder",
5414
5421
  width: e.width,
5415
5422
  height: e.cellHeight
5416
- }, null, 8, Ds))], 8, Es))), 128))])) : r("", !0),
5423
+ }, null, 8, As))], 8, ks))), 128))])) : r("", !0),
5417
5424
  D(o) !== "independent" && D(R).length && D(H) ? (y(), i("rect", {
5418
5425
  key: 1,
5419
- ref: D(Ze),
5426
+ ref: D(Qe),
5420
5427
  class: p(["waveform-chart__overlay waveform-chart__overlay--shared", {
5421
5428
  "is-zoomable": !D(u) && D(U) && D(W),
5422
5429
  "is-annotating": !D(u) && D(c) === "annotation"
@@ -5428,10 +5435,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5428
5435
  onPointerup: E[2] ||= (...e) => D(re) && D(re)(...e),
5429
5436
  onPointercancel: E[3] ||= (...e) => D(K) && D(K)(...e),
5430
5437
  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), {
5438
+ onClick: E[5] ||= (...e) => D(ie) && D(ie)(...e),
5439
+ onContextmenu: E[6] ||= (...e) => D(J) && D(J)(...e)
5440
+ }, null, 42, js)) : r("", !0),
5441
+ (y(!0), i(e, null, S(D(R), (e) => (y(), n(D(cs), {
5435
5442
  key: `${e.index}-${e.id}`,
5436
5443
  track: e,
5437
5444
  "clip-path-id": D(z),
@@ -5442,18 +5449,18 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5442
5449
  "interaction-mode": D(c),
5443
5450
  "frame-number": D(ae)(e.id),
5444
5451
  "frame-style": D(oe),
5445
- axes: D(ce),
5452
+ axes: D(se),
5446
5453
  "clean-view": D(l),
5447
5454
  "zero-line": D(le),
5448
5455
  "time-unit": D(ue),
5449
5456
  "y-label": D(de),
5450
- onPointerMove: (t) => D(Y)(t, e.index),
5451
- onPointerDown: (t) => D(fe)(t, e.index, !0),
5457
+ onPointerMove: (t) => D(fe)(t, e.index),
5458
+ onPointerDown: (t) => D(Y)(t, e.index, !0),
5452
5459
  onPointerUp: D(re),
5453
5460
  onPointerCancel: D(K),
5454
5461
  onPointerLeave: D(q),
5455
- onClick: (t) => D(J)(t, e.index),
5456
- onContextmenu: (t) => D(ie)(t, e.index)
5462
+ onClick: (t) => D(ie)(t, e.index),
5463
+ onContextmenu: (t) => D(J)(t, e.index)
5457
5464
  }, null, 8, [
5458
5465
  "track",
5459
5466
  "clip-path-id",
@@ -5477,35 +5484,35 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5477
5484
  "onClick",
5478
5485
  "onContextmenu"
5479
5486
  ]))), 128)),
5480
- s(D(_s), {
5481
- state: D(X),
5487
+ s(D(bs), {
5488
+ state: D(pe),
5482
5489
  tracks: D(R),
5483
5490
  "clip-path-id": D(z),
5484
- visible: D(pe) && !D(u)
5491
+ visible: D(me) && !D(u)
5485
5492
  }, null, 8, [
5486
5493
  "state",
5487
5494
  "tracks",
5488
5495
  "clip-path-id",
5489
5496
  "visible"
5490
5497
  ]),
5491
- D(me) && D(d)?.kind === "box" ? (y(), i("rect", {
5498
+ D(he) && D(d)?.kind === "box" ? (y(), i("rect", {
5492
5499
  key: 2,
5493
5500
  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,
5501
+ x: D(he).x,
5502
+ y: D(he).y,
5503
+ width: D(he).width,
5504
+ height: D(he).height,
5498
5505
  "aria-hidden": "true"
5499
- }, null, 8, ks)) : r("", !0),
5500
- D(l) ? r("", !0) : (y(), n(D(tt), {
5506
+ }, null, 8, Ms)) : r("", !0),
5507
+ D(l) ? r("", !0) : (y(), n(D(rt), {
5501
5508
  key: 3,
5502
- annotations: D(he),
5503
- visible: D(ge),
5509
+ annotations: D(ge),
5510
+ visible: D(_e),
5504
5511
  interactive: !D(u),
5505
- onContextmenu: D(_e),
5506
- onDragStart: D(ve),
5507
- onMove: D(ye),
5508
- onDragEnd: D(be)
5512
+ onContextmenu: D(ve),
5513
+ onDragStart: D(ye),
5514
+ onMove: D(be),
5515
+ onDragEnd: D(xe)
5509
5516
  }, null, 8, [
5510
5517
  "annotations",
5511
5518
  "visible",
@@ -5515,23 +5522,23 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5515
5522
  "onMove",
5516
5523
  "onDragEnd"
5517
5524
  ])),
5518
- D(l) ? r("", !0) : (y(), i("g", As, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
5525
+ D(l) ? r("", !0) : (y(), i("g", Ns, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
5519
5526
  key: `legend-${e.index}-${e.id}`,
5520
5527
  class: "waveform-chart__legend-track",
5521
5528
  "data-legend-track-index": e.index,
5522
5529
  "data-legend-track-id": e.id,
5523
5530
  transform: `translate(${e.left}, ${e.top})`
5524
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(ps), {
5531
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(gs), {
5525
5532
  key: 0,
5526
5533
  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),
5534
+ position: D(Se)(e.id),
5535
+ orientation: D(Ce)(D(Se)(e.id)),
5536
+ "background-color": D(X),
5537
+ interactive: D(we),
5538
+ "hidden-series-ids": D(Te),
5532
5539
  width: e.width ?? D(G),
5533
5540
  height: e.height,
5534
- onToggle: D(Te)
5541
+ onToggle: D(Ee)
5535
5542
  }, null, 8, [
5536
5543
  "series",
5537
5544
  "position",
@@ -5542,51 +5549,51 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5542
5549
  "width",
5543
5550
  "height",
5544
5551
  "onToggle"
5545
- ])) : r("", !0)], 8, js))), 128))]))
5546
- ], 8, ws),
5547
- D(Ee) && !D(l) ? (y(), i("text", {
5552
+ ])) : r("", !0)], 8, Ps))), 128))]))
5553
+ ], 8, Ds),
5554
+ D(De) && !D(l) ? (y(), i("text", {
5548
5555
  key: 0,
5549
5556
  class: "waveform-chart__label waveform-chart__x-label",
5550
5557
  x: D(g) + D(G) / 2,
5551
- y: D(De),
5558
+ y: D(Oe),
5552
5559
  "text-anchor": "middle"
5553
- }, T(D(Ee)), 9, Ms)) : r("", !0),
5554
- D(Oe) && !D(I) ? (y(), i("text", {
5560
+ }, T(D(De)), 9, Fs)) : r("", !0),
5561
+ D(ke) && !D(I) ? (y(), i("text", {
5555
5562
  key: 1,
5556
5563
  class: "waveform-chart__empty",
5557
5564
  x: D(P) / 2,
5558
5565
  y: D(F) / 2,
5559
5566
  "text-anchor": "middle"
5560
- }, " 暂无有效波形数据 ", 8, Ns)) : r("", !0)
5561
- ], 40, xs)),
5562
- D(ke).showPagination && D(Ae) > 1 && !D(l) ? (y(), n(D(se), {
5567
+ }, " 暂无有效波形数据 ", 8, Is)) : r("", !0)
5568
+ ], 40, ws)),
5569
+ D(Ae).showPagination && D(je) > 1 && !D(l) ? (y(), n(D(ce), {
5563
5570
  key: 1,
5564
5571
  class: "waveform-chart__pagination",
5565
5572
  "aria-label": "波形分页",
5566
- current: D(je),
5567
- "page-size": D(Me)(D(ke)),
5568
- total: D(Ne).length,
5573
+ current: D(Me),
5574
+ "page-size": D(Ne)(D(Ae)),
5575
+ total: D(Pe).length,
5569
5576
  "show-size-changer": !1,
5570
5577
  "show-quick-jumper": !1,
5571
- onChange: D(Pe)
5578
+ onChange: D(Fe)
5572
5579
  }, null, 8, [
5573
5580
  "current",
5574
5581
  "page-size",
5575
5582
  "total",
5576
5583
  "onChange"
5577
5584
  ])) : r("", !0),
5578
- D(Ie) && !D(l) && !D(u) ? (y(), n(to, {
5585
+ D(Le) && !D(l) && !D(u) ? (y(), n(io, {
5579
5586
  key: 2,
5580
- annotation: D(Ie).annotation,
5581
- mode: D(Ie).mode,
5582
- series: D(Re),
5583
- "series-options": D(ze),
5587
+ annotation: D(Le).annotation,
5588
+ mode: D(Le).mode,
5589
+ series: D(ze),
5590
+ "series-options": D(Be),
5584
5591
  "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)
5592
+ "time-error": D(Ve),
5593
+ onConfirm: D(He),
5594
+ onCancel: D(Ue),
5595
+ onSeriesChange: D(We),
5596
+ onTimeChange: D(Ge)
5590
5597
  }, null, 8, [
5591
5598
  "annotation",
5592
5599
  "mode",
@@ -5599,15 +5606,15 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5599
5606
  "onSeriesChange",
5600
5607
  "onTimeChange"
5601
5608
  ])) : r("", !0),
5602
- !D(l) && !D(u) ? (y(), n(D(nt), {
5609
+ !D(l) && !D(u) ? (y(), n(D(it), {
5603
5610
  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
5611
+ visible: D(Re) !== null,
5612
+ x: D(Re)?.x || 0,
5613
+ y: D(Re)?.y || 0,
5614
+ "can-edit": !!D(Re)?.annotationId,
5615
+ onEdit: D(Ke),
5616
+ onDelete: D(qe),
5617
+ onClose: D(Ie).closeContextMenu
5611
5618
  }, null, 8, [
5612
5619
  "visible",
5613
5620
  "x",
@@ -5617,12 +5624,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5617
5624
  "onDelete",
5618
5625
  "onClose"
5619
5626
  ])) : r("", !0),
5620
- s(D(uo), {
5621
- state: D(X),
5622
- visible: D(pe) && !D(u),
5627
+ s(D(mo), {
5628
+ state: D(pe),
5629
+ visible: D(me) && !D(u),
5623
5630
  "time-unit": D(ue),
5624
5631
  "container-width": D(P),
5625
- "container-height": D(qe)
5632
+ "container-height": D(Je)
5626
5633
  }, null, 8, [
5627
5634
  "state",
5628
5635
  "visible",
@@ -5630,9 +5637,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5630
5637
  "container-width",
5631
5638
  "container-height"
5632
5639
  ])
5633
- ], 46, vs));
5640
+ ], 46, xs));
5634
5641
  }
5635
- }), Fs = /* @__PURE__ */ l({
5642
+ }), Rs = /* @__PURE__ */ l({
5636
5643
  __name: "WaveformChart",
5637
5644
  props: {
5638
5645
  data: {},
@@ -5660,7 +5667,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5660
5667
  maxZoomScale: {},
5661
5668
  initialXDomain: {},
5662
5669
  initialXDomains: {},
5663
- xDomainStrategy: { default: () => ({ type: "data" }) },
5670
+ xDomainStrategy: { default: () => ({ type: "integer-ms" }) },
5664
5671
  yDomain: {},
5665
5672
  yDomains: {},
5666
5673
  timeUnit: { default: "ms" },
@@ -5716,12 +5723,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
5716
5723
  "sampling-error"
5717
5724
  ],
5718
5725
  setup(e, { expose: t, emit: r }) {
5719
- let i = Ia(e, r);
5726
+ let i = za(e, r);
5720
5727
  return t({
5721
5728
  resetViewport: i.resetViewport,
5722
5729
  setViewportDomain: i.setViewportDomain
5723
- }), (e, t) => (y(), n(Ps, { controller: D(i) }, null, 8, ["controller"]));
5730
+ }), (e, t) => (y(), n(Ls, { controller: D(i) }, null, 8, ["controller"]));
5724
5731
  }
5725
5732
  });
5726
5733
  //#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 };
5734
+ export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Rs as WaveformChart, vt as buildMinorTicks, wi as calculateWasmRange, Rt as clamp, jt as displayTime, Ti as findWasmVisibleRange, Pt as formatAxisTime, Nt as formatEndpointTime, Ft as formatTooltipTime, Si as initializeWasmSampling, ln as normalizeWaveformData, fn as normalizeWaveformSeries, _t as paddedDomain, ht as parseWaveformAnnotations, Lt as resolveTrackGeometry, Dn as resolveWaveformRenderingOptions, Ci as sampleWaveformWasm, Fn as selectRenderablePoints, mt as serializeWaveformAnnotations };