velo-plot 2.20.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -12
- package/dist/ChartCore-AnR_3Xkb.js +7338 -0
- package/dist/ChartCore-AnR_3Xkb.js.map +1 -0
- package/dist/GpuChartRenderer-Dxc0hrQA.js +75 -0
- package/dist/GpuChartRenderer-Dxc0hrQA.js.map +1 -0
- package/dist/{index.core-COREBDNq.js → PluginRegistry-CzMHebYP.js} +24 -38
- package/dist/PluginRegistry-CzMHebYP.js.map +1 -0
- package/dist/a11y-Bw6urYpr.js +105 -0
- package/dist/a11y-Bw6urYpr.js.map +1 -0
- package/dist/angular/hooks-entry.d.ts +1 -0
- package/dist/angular/hooks.d.ts +26 -0
- package/dist/angular/index.d.ts +8 -0
- package/dist/angular/velo-plot.component.d.ts +46 -0
- package/dist/angular-hooks.d.ts +1 -0
- package/dist/angular-hooks.js +9 -0
- package/dist/angular-hooks.js.map +1 -0
- package/dist/angular.d.ts +1 -0
- package/dist/angular.js +166 -0
- package/dist/angular.js.map +1 -0
- package/dist/assets/indicator.worker-bv0zC4EX.js.map +1 -1
- package/dist/astro/StackedPlot.astro +19 -0
- package/dist/astro/VeloPlot.astro +23 -0
- package/dist/{axisFormat-CzumxpCL.js → axisFormat-Sz4WIJfQ.js} +2 -2
- package/dist/{axisFormat-CzumxpCL.js.map → axisFormat-Sz4WIJfQ.js.map} +1 -1
- package/dist/bindings/shared/a11y.d.ts +26 -0
- package/dist/bindings/shared/chartLifecycle.d.ts +16 -0
- package/dist/bindings/shared/chartSyncBridge.d.ts +8 -0
- package/dist/bindings/shared/dimensions.d.ts +1 -0
- package/dist/bindings/shared/index.d.ts +9 -0
- package/dist/bindings/shared/indicatorBridge.d.ts +11 -0
- package/dist/bindings/shared/optionsSync.d.ts +7 -0
- package/dist/bindings/shared/seriesDiff.d.ts +8 -0
- package/dist/bindings/shared/stackedSync.d.ts +9 -0
- package/dist/bindings/shared/types.d.ts +46 -0
- package/dist/bindings/test-utils/index.d.ts +35 -0
- package/dist/bindings/test-utils/mockLifecycle.d.ts +120 -0
- package/dist/bindings/test-utils/vitestSveltePlugin.d.ts +3 -0
- package/dist/chartSyncBridge-D_rCtbFq.js +58 -0
- package/dist/chartSyncBridge-D_rCtbFq.js.map +1 -0
- package/dist/core/Chart.d.ts +1 -1
- package/dist/core/ChartStatistics.d.ts +1 -1
- package/dist/core/InteractionManager.d.ts +7 -1
- package/dist/core/OverlayRenderer.d.ts +5 -0
- package/dist/core/annotations/types.d.ts +1 -1
- package/dist/core/chart/ChartCore.d.ts +14 -19
- package/dist/core/chart/ChartFeatureHooks.d.ts +7 -0
- package/dist/core/chart/chartExportPatch.d.ts +2 -0
- package/dist/core/chart/overlaySeriesRegistry.d.ts +7 -0
- package/dist/core/chart/series/SeriesActions.d.ts +1 -0
- package/dist/core/chart/series/SeriesBufferLite.d.ts +13 -0
- package/dist/core/chart/series/seriesOptionsRegistry.d.ts +8 -0
- package/dist/core/chart/series/seriesTypeRegistry.d.ts +5 -0
- package/dist/core/chart/types.d.ts +1 -1
- package/dist/core/clipboard/index.d.ts +1 -1
- package/dist/core/debug/index.d.ts +1 -1
- package/dist/core/keybindings/index.d.ts +1 -1
- package/dist/core/loading/index.d.ts +1 -1
- package/dist/core/locale/index.d.ts +1 -1
- package/dist/core/stacked/paneResize.d.ts +3 -0
- package/dist/core/stacked/types.d.ts +10 -0
- package/dist/core/theme-editor/index.d.ts +1 -1
- package/dist/createStackedChart-DqcLCFGS.js +1338 -0
- package/dist/createStackedChart-DqcLCFGS.js.map +1 -0
- package/dist/examples/PluginDemonstration.d.ts +1 -1
- package/dist/hooks-DH-3bewj.js +69 -0
- package/dist/hooks-DH-3bewj.js.map +1 -0
- package/dist/{index-BBpJwOct.js → index-0InEyj0q.js} +119 -121
- package/dist/index-0InEyj0q.js.map +1 -0
- package/dist/{index-qunX30Xu.js → index-B7PTX94B.js} +2133 -2133
- package/dist/index-B7PTX94B.js.map +1 -0
- package/dist/{index-BMiZoKmm.js → index-BgrvqltV.js} +67 -67
- package/dist/index-BgrvqltV.js.map +1 -0
- package/dist/{index-DoYxf1cV.js → index-CWxIHdwX.js} +38 -98
- package/dist/index-CWxIHdwX.js.map +1 -0
- package/dist/index-CaXWSOTk.js.map +1 -1
- package/dist/{mockDatafeed-927foCM4.js → index-Cv6ZDLWf.js} +227 -217
- package/dist/index-Cv6ZDLWf.js.map +1 -0
- package/dist/index-Dag88bW4.js.map +1 -1
- package/dist/index-qhscKTDy.js.map +1 -1
- package/dist/index.core.d.ts +9 -7
- package/dist/index.d.ts +2 -15
- package/dist/indicators--eJGmVox.js.map +1 -1
- package/dist/optionsSync-QUiN4Inw.js +119 -0
- package/dist/optionsSync-QUiN4Inw.js.map +1 -0
- package/dist/plugins/3d/index.d.ts +2 -2
- package/dist/plugins/3d.d.ts +2 -2
- package/dist/plugins/3d.js +3 -1
- package/dist/plugins/3d.js.map +1 -1
- package/dist/plugins/analysis/index.d.ts +1 -1
- package/dist/plugins/analysis/indicators.d.ts +1 -1
- package/dist/plugins/analysis.d.ts +2 -2
- package/dist/plugins/analysis.js +2 -2
- package/dist/plugins/analysis.js.map +1 -1
- package/dist/plugins/annotations/index.d.ts +1 -1
- package/dist/plugins/annotations.d.ts +2 -2
- package/dist/plugins/annotations.js.map +1 -1
- package/dist/plugins/anomaly-detection.js +1 -1
- package/dist/plugins/anomaly-detection.js.map +1 -1
- package/dist/plugins/broken-axis.d.ts +2 -2
- package/dist/plugins/builtins/crosshair/CrosshairPlugin.d.ts +1 -1
- package/dist/plugins/builtins/index.d.ts +1 -1
- package/dist/plugins/caching.d.ts +2 -2
- package/dist/plugins/clipboard/index.d.ts +2 -2
- package/dist/plugins/clipboard.d.ts +2 -2
- package/dist/plugins/clipboard.js.map +1 -1
- package/dist/plugins/context-menu/index.d.ts +1 -1
- package/dist/plugins/context-menu.d.ts +2 -2
- package/dist/plugins/context-menu.js +1 -1
- package/dist/plugins/context-menu.js.map +1 -1
- package/dist/plugins/createPlugin.d.ts +8 -0
- package/dist/plugins/data-export/index.d.ts +1 -1
- package/dist/plugins/data-export.d.ts +2 -2
- package/dist/plugins/data-export.js +2 -2
- package/dist/plugins/data-export.js.map +1 -1
- package/dist/plugins/data-transform.d.ts +2 -2
- package/dist/plugins/data-transform.js +19 -19
- package/dist/plugins/data-transform.js.map +1 -1
- package/dist/plugins/debug/index.d.ts +2 -2
- package/dist/plugins/debug.d.ts +2 -2
- package/dist/plugins/debug.js +33 -33
- package/dist/plugins/debug.js.map +1 -1
- package/dist/plugins/forecasting/index.d.ts +1 -1
- package/dist/plugins/forecasting.js.map +1 -1
- package/dist/plugins/gpu/index.d.ts +2 -2
- package/dist/plugins/gpu.d.ts +2 -2
- package/dist/plugins/gpu.js +2033 -209
- package/dist/plugins/gpu.js.map +1 -1
- package/dist/plugins/i18n/index.d.ts +2 -2
- package/dist/plugins/i18n.d.ts +2 -2
- package/dist/plugins/i18n.js +286 -23
- package/dist/plugins/i18n.js.map +1 -1
- package/dist/plugins/index.d.ts +1 -1
- package/dist/plugins/keyboard.d.ts +2 -2
- package/dist/plugins/keyboard.js +65 -5
- package/dist/plugins/keyboard.js.map +1 -1
- package/dist/plugins/latex.js +766 -207
- package/dist/plugins/latex.js.map +1 -1
- package/dist/plugins/lazy-load.d.ts +2 -2
- package/dist/plugins/loading/index.d.ts +2 -3
- package/dist/plugins/loading.d.ts +2 -2
- package/dist/plugins/loading.js +3 -4
- package/dist/plugins/ml-integration.d.ts +2 -2
- package/dist/plugins/ml-integration.js +5 -5
- package/dist/plugins/ml-integration.js.map +1 -1
- package/dist/plugins/offscreen.d.ts +2 -2
- package/dist/plugins/offscreen.js +11 -10
- package/dist/plugins/offscreen.js.map +1 -1
- package/dist/plugins/pattern-recognition.d.ts +2 -2
- package/dist/plugins/pattern-recognition.js +1 -1
- package/dist/plugins/pattern-recognition.js.map +1 -1
- package/dist/plugins/radar.d.ts +2 -2
- package/dist/plugins/regression.d.ts +2 -2
- package/dist/plugins/regression.js +255 -257
- package/dist/plugins/regression.js.map +1 -1
- package/dist/plugins/roi.js +9 -9
- package/dist/plugins/roi.js.map +1 -1
- package/dist/plugins/snapshot/index.d.ts +1 -1
- package/dist/plugins/snapshot/types.d.ts +1 -1
- package/dist/plugins/snapshot.d.ts +2 -2
- package/dist/plugins/snapshot.js.map +1 -1
- package/dist/plugins/streaming/index.d.ts +2 -2
- package/dist/plugins/streaming.d.ts +2 -2
- package/dist/plugins/streaming.js +1 -1
- package/dist/plugins/sync/index.d.ts +3 -2
- package/dist/plugins/sync.d.ts +2 -2
- package/dist/plugins/sync.js.map +1 -1
- package/dist/plugins/theme-editor/index.d.ts +1 -1
- package/dist/plugins/theme-editor.d.ts +2 -2
- package/dist/plugins/tools/index.d.ts +1 -1
- package/dist/plugins/tools/tooltip/index.d.ts +1 -1
- package/dist/plugins/tools.d.ts +2 -2
- package/dist/plugins/tools.js +1 -1
- package/dist/plugins/types.d.ts +1 -1
- package/dist/plugins/video-recorder.d.ts +2 -2
- package/dist/plugins/virtualization.d.ts +2 -2
- package/dist/plugins/virtualization.js +1 -1
- package/dist/pool-DZ8shSqv.js +109 -0
- package/dist/pool-DZ8shSqv.js.map +1 -0
- package/dist/react/StackedPlot.d.ts +31 -0
- package/dist/react/VeloPlot.d.ts +29 -0
- package/dist/react/index.d.ts +25 -3
- package/dist/react/useChartSync.d.ts +8 -0
- package/dist/react/useIndicator.d.ts +12 -0
- package/dist/react/useVeloPlot.d.ts +19 -0
- package/dist/react.js +325 -24
- package/dist/react.js.map +1 -1
- package/dist/renderer/NativeWebGLRenderer.d.ts +2 -1
- package/dist/renderer/native/NativeWebGLRenderer.d.ts +5 -1
- package/dist/renderer/native/draw.d.ts +2 -47
- package/dist/renderer/native/drawCore.d.ts +27 -0
- package/dist/renderer/native/drawExtended.d.ts +29 -0
- package/dist/renderer/native/frameRenderExtended.d.ts +1 -0
- package/dist/renderer/native/frameRenderRegistry.d.ts +27 -0
- package/dist/renderer/native/programFactoryCore.d.ts +6 -0
- package/dist/renderer/native/programFactoryExtended.d.ts +4 -0
- package/dist/renderer/native/utils.d.ts +3 -29
- package/dist/renderer/native/utilsCore.d.ts +14 -0
- package/dist/renderer/native/utilsExtended.d.ts +17 -0
- package/dist/renderer/overlaySeriesExtended.d.ts +1 -0
- package/dist/renderer/registerExtendedSeries.d.ts +1 -0
- package/dist/renderer/registerWebGPU.d.ts +2 -0
- package/dist/renderer/seriesBufferExtended.d.ts +4 -0
- package/dist/scientific/index.d.ts +44 -0
- package/dist/scientific/registerScientific.d.ts +1 -0
- package/dist/scientific.d.ts +1 -0
- package/dist/scientific.js +91 -0
- package/dist/scientific.js.map +1 -0
- package/dist/solid/VeloPlot.d.ts +16 -0
- package/dist/solid/index.d.ts +13 -0
- package/dist/solid/useChartSync.d.ts +6 -0
- package/dist/solid/useIndicator.d.ts +11 -0
- package/dist/solid/useStackedPlot.d.ts +14 -0
- package/dist/solid/useVeloPlot.d.ts +18 -0
- package/dist/solid.d.ts +1 -0
- package/dist/solid.js +169 -0
- package/dist/solid.js.map +1 -0
- package/dist/stackedSync-tnrunZMt.js +100 -0
- package/dist/stackedSync-tnrunZMt.js.map +1 -0
- package/dist/svelte/StackedPlot.svelte +29 -0
- package/dist/svelte/StackedPlot.test.ts +114 -0
- package/dist/svelte/VeloPlot.svelte +44 -0
- package/dist/svelte/VeloPlot.test.ts +105 -0
- package/dist/svelte/index.d.ts +11 -0
- package/dist/svelte/index.test.ts +20 -0
- package/dist/svelte/index.ts +15 -0
- package/dist/svelte/useChartSync.d.ts +8 -0
- package/dist/svelte/useChartSync.test.ts +49 -0
- package/dist/svelte/useChartSync.ts +29 -0
- package/dist/svelte/useIndicator.d.ts +13 -0
- package/dist/svelte/useIndicator.test.ts +67 -0
- package/dist/svelte/useIndicator.ts +43 -0
- package/dist/svelte/useStackedPlot.d.ts +16 -0
- package/dist/svelte/useStackedPlot.test.ts +76 -0
- package/dist/svelte/useStackedPlot.ts +54 -0
- package/dist/svelte/useVeloPlot.d.ts +21 -0
- package/dist/svelte/useVeloPlot.test.ts +100 -0
- package/dist/svelte/useVeloPlot.ts +81 -0
- package/dist/svelte.d.ts +1 -0
- package/dist/svelte.js +140 -0
- package/dist/svelte.js.map +1 -0
- package/dist/testing/index.d.ts +1 -1
- package/dist/theme/index.d.ts +2 -1
- package/dist/trading/index.d.ts +1 -4
- package/dist/trading/registerTrading.d.ts +3 -0
- package/dist/trading.js +42 -42
- package/dist/types.d.ts +4 -4
- package/dist/{utils-BK5UUXxj.js → utils-Dx0h0bgQ.js} +9 -9
- package/dist/{utils-BK5UUXxj.js.map → utils-Dx0h0bgQ.js.map} +1 -1
- package/dist/velo-plot.full.js +2216 -1346
- package/dist/velo-plot.full.js.map +1 -1
- package/dist/velo-plot.js +33 -28
- package/dist/velo-plot.js.map +1 -1
- package/dist/vue/StackedPlot.vue.d.ts +48 -0
- package/dist/vue/VeloPlot.vue.d.ts +64 -0
- package/dist/vue/index.d.ts +250 -0
- package/dist/vue/useChartSync.d.ts +52 -0
- package/dist/vue/useIndicator.d.ts +23 -0
- package/dist/vue/useStackedPlot.d.ts +15 -0
- package/dist/vue/useVeloPlot.d.ts +20 -0
- package/dist/vue.d.ts +1 -0
- package/dist/vue.js +309 -0
- package/dist/vue.js.map +1 -0
- package/dist/workers/indicatorsAsync.d.ts +2 -0
- package/dist/workers/pool.d.ts +9 -0
- package/package.json +96 -10
- package/dist/ChartCore-ivzLqxVb.js +0 -8350
- package/dist/ChartCore-ivzLqxVb.js.map +0 -1
- package/dist/SciPlot-CEU4ApgD.js +0 -463
- package/dist/SciPlot-CEU4ApgD.js.map +0 -1
- package/dist/createStackedChart-DxNW0VkF.js +0 -705
- package/dist/createStackedChart-DxNW0VkF.js.map +0 -1
- package/dist/gpuRenderer-BpaMYz-k.js +0 -1848
- package/dist/gpuRenderer-BpaMYz-k.js.map +0 -1
- package/dist/index-BBpJwOct.js.map +0 -1
- package/dist/index-BMiZoKmm.js.map +0 -1
- package/dist/index-DoYxf1cV.js.map +0 -1
- package/dist/index-qunX30Xu.js.map +0 -1
- package/dist/index-x4stH3jD.js +0 -282
- package/dist/index-x4stH3jD.js.map +0 -1
- package/dist/index.core-COREBDNq.js.map +0 -1
- package/dist/mockDatafeed-927foCM4.js.map +0 -1
- package/dist/pool-15HMCNv8.js +0 -88
- package/dist/pool-15HMCNv8.js.map +0 -1
- package/dist/react/SciPlot.d.ts +0 -60
- package/dist/react/useSciPlot.d.ts +0 -56
- package/dist/symbols-DT0eLlpW.js +0 -568
- package/dist/symbols-DT0eLlpW.js.map +0 -1
package/dist/SciPlot-CEU4ApgD.js
DELETED
|
@@ -1,463 +0,0 @@
|
|
|
1
|
-
import ne, { useState as I, useRef as q, useEffect as N, useCallback as O, forwardRef as oe, useImperativeHandle as ae, useMemo as se } from "react";
|
|
2
|
-
import { c as le } from "./ChartCore-ivzLqxVb.js";
|
|
3
|
-
var G = { exports: {} }, A = {};
|
|
4
|
-
/**
|
|
5
|
-
* @license React
|
|
6
|
-
* react-jsx-runtime.production.js
|
|
7
|
-
*
|
|
8
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
9
|
-
*
|
|
10
|
-
* This source code is licensed under the MIT license found in the
|
|
11
|
-
* LICENSE file in the root directory of this source tree.
|
|
12
|
-
*/
|
|
13
|
-
var K;
|
|
14
|
-
function ie() {
|
|
15
|
-
if (K) return A;
|
|
16
|
-
K = 1;
|
|
17
|
-
var E = Symbol.for("react.transitional.element"), b = Symbol.for("react.fragment");
|
|
18
|
-
function t(d, s, l) {
|
|
19
|
-
var m = null;
|
|
20
|
-
if (l !== void 0 && (m = "" + l), s.key !== void 0 && (m = "" + s.key), "key" in s) {
|
|
21
|
-
l = {};
|
|
22
|
-
for (var v in s)
|
|
23
|
-
v !== "key" && (l[v] = s[v]);
|
|
24
|
-
} else l = s;
|
|
25
|
-
return s = l.ref, {
|
|
26
|
-
$$typeof: E,
|
|
27
|
-
type: d,
|
|
28
|
-
key: m,
|
|
29
|
-
ref: s !== void 0 ? s : null,
|
|
30
|
-
props: l
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
return A.Fragment = b, A.jsx = t, A.jsxs = t, A;
|
|
34
|
-
}
|
|
35
|
-
var P = {};
|
|
36
|
-
/**
|
|
37
|
-
* @license React
|
|
38
|
-
* react-jsx-runtime.development.js
|
|
39
|
-
*
|
|
40
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
41
|
-
*
|
|
42
|
-
* This source code is licensed under the MIT license found in the
|
|
43
|
-
* LICENSE file in the root directory of this source tree.
|
|
44
|
-
*/
|
|
45
|
-
var ee;
|
|
46
|
-
function ue() {
|
|
47
|
-
return ee || (ee = 1, process.env.NODE_ENV !== "production" && function() {
|
|
48
|
-
function E(e) {
|
|
49
|
-
if (e == null) return null;
|
|
50
|
-
if (typeof e == "function")
|
|
51
|
-
return e.$$typeof === V ? null : e.displayName || e.name || null;
|
|
52
|
-
if (typeof e == "string") return e;
|
|
53
|
-
switch (e) {
|
|
54
|
-
case n:
|
|
55
|
-
return "Fragment";
|
|
56
|
-
case C:
|
|
57
|
-
return "Profiler";
|
|
58
|
-
case c:
|
|
59
|
-
return "StrictMode";
|
|
60
|
-
case _:
|
|
61
|
-
return "Suspense";
|
|
62
|
-
case $:
|
|
63
|
-
return "SuspenseList";
|
|
64
|
-
case g:
|
|
65
|
-
return "Activity";
|
|
66
|
-
}
|
|
67
|
-
if (typeof e == "object")
|
|
68
|
-
switch (typeof e.tag == "number" && console.error(
|
|
69
|
-
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
70
|
-
), e.$$typeof) {
|
|
71
|
-
case p:
|
|
72
|
-
return "Portal";
|
|
73
|
-
case Y:
|
|
74
|
-
return e.displayName || "Context";
|
|
75
|
-
case M:
|
|
76
|
-
return (e._context.displayName || "Context") + ".Consumer";
|
|
77
|
-
case z:
|
|
78
|
-
var r = e.render;
|
|
79
|
-
return e = e.displayName, e || (e = r.displayName || r.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
80
|
-
case f:
|
|
81
|
-
return r = e.displayName || null, r !== null ? r : E(e.type) || "Memo";
|
|
82
|
-
case S:
|
|
83
|
-
r = e._payload, e = e._init;
|
|
84
|
-
try {
|
|
85
|
-
return E(e(r));
|
|
86
|
-
} catch {
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
function b(e) {
|
|
92
|
-
return "" + e;
|
|
93
|
-
}
|
|
94
|
-
function t(e) {
|
|
95
|
-
try {
|
|
96
|
-
b(e);
|
|
97
|
-
var r = !1;
|
|
98
|
-
} catch {
|
|
99
|
-
r = !0;
|
|
100
|
-
}
|
|
101
|
-
if (r) {
|
|
102
|
-
r = console;
|
|
103
|
-
var o = r.error, i = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
104
|
-
return o.call(
|
|
105
|
-
r,
|
|
106
|
-
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
107
|
-
i
|
|
108
|
-
), b(e);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
function d(e) {
|
|
112
|
-
if (e === n) return "<>";
|
|
113
|
-
if (typeof e == "object" && e !== null && e.$$typeof === S)
|
|
114
|
-
return "<...>";
|
|
115
|
-
try {
|
|
116
|
-
var r = E(e);
|
|
117
|
-
return r ? "<" + r + ">" : "<...>";
|
|
118
|
-
} catch {
|
|
119
|
-
return "<...>";
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
function s() {
|
|
123
|
-
var e = L.A;
|
|
124
|
-
return e === null ? null : e.getOwner();
|
|
125
|
-
}
|
|
126
|
-
function l() {
|
|
127
|
-
return Error("react-stack-top-frame");
|
|
128
|
-
}
|
|
129
|
-
function m(e) {
|
|
130
|
-
if (J.call(e, "key")) {
|
|
131
|
-
var r = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
132
|
-
if (r && r.isReactWarning) return !1;
|
|
133
|
-
}
|
|
134
|
-
return e.key !== void 0;
|
|
135
|
-
}
|
|
136
|
-
function v(e, r) {
|
|
137
|
-
function o() {
|
|
138
|
-
X || (X = !0, console.error(
|
|
139
|
-
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
140
|
-
r
|
|
141
|
-
));
|
|
142
|
-
}
|
|
143
|
-
o.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
144
|
-
get: o,
|
|
145
|
-
configurable: !0
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
function k() {
|
|
149
|
-
var e = E(this.type);
|
|
150
|
-
return D[e] || (D[e] = !0, console.error(
|
|
151
|
-
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
152
|
-
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
153
|
-
}
|
|
154
|
-
function x(e, r, o, i, F, U) {
|
|
155
|
-
var u = o.ref;
|
|
156
|
-
return e = {
|
|
157
|
-
$$typeof: a,
|
|
158
|
-
type: e,
|
|
159
|
-
key: r,
|
|
160
|
-
props: o,
|
|
161
|
-
_owner: i
|
|
162
|
-
}, (u !== void 0 ? u : null) !== null ? Object.defineProperty(e, "ref", {
|
|
163
|
-
enumerable: !1,
|
|
164
|
-
get: k
|
|
165
|
-
}) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
166
|
-
configurable: !1,
|
|
167
|
-
enumerable: !1,
|
|
168
|
-
writable: !0,
|
|
169
|
-
value: 0
|
|
170
|
-
}), Object.defineProperty(e, "_debugInfo", {
|
|
171
|
-
configurable: !1,
|
|
172
|
-
enumerable: !1,
|
|
173
|
-
writable: !0,
|
|
174
|
-
value: null
|
|
175
|
-
}), Object.defineProperty(e, "_debugStack", {
|
|
176
|
-
configurable: !1,
|
|
177
|
-
enumerable: !1,
|
|
178
|
-
writable: !0,
|
|
179
|
-
value: F
|
|
180
|
-
}), Object.defineProperty(e, "_debugTask", {
|
|
181
|
-
configurable: !1,
|
|
182
|
-
enumerable: !1,
|
|
183
|
-
writable: !0,
|
|
184
|
-
value: U
|
|
185
|
-
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
186
|
-
}
|
|
187
|
-
function y(e, r, o, i, F, U) {
|
|
188
|
-
var u = r.children;
|
|
189
|
-
if (u !== void 0)
|
|
190
|
-
if (i)
|
|
191
|
-
if (re(u)) {
|
|
192
|
-
for (i = 0; i < u.length; i++)
|
|
193
|
-
w(u[i]);
|
|
194
|
-
Object.freeze && Object.freeze(u);
|
|
195
|
-
} else
|
|
196
|
-
console.error(
|
|
197
|
-
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
198
|
-
);
|
|
199
|
-
else w(u);
|
|
200
|
-
if (J.call(r, "key")) {
|
|
201
|
-
u = E(e);
|
|
202
|
-
var h = Object.keys(r).filter(function(te) {
|
|
203
|
-
return te !== "key";
|
|
204
|
-
});
|
|
205
|
-
i = 0 < h.length ? "{key: someKey, " + h.join(": ..., ") + ": ...}" : "{key: someKey}", Q[u + i] || (h = 0 < h.length ? "{" + h.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
206
|
-
`A props object containing a "key" prop is being spread into JSX:
|
|
207
|
-
let props = %s;
|
|
208
|
-
<%s {...props} />
|
|
209
|
-
React keys must be passed directly to JSX without using spread:
|
|
210
|
-
let props = %s;
|
|
211
|
-
<%s key={someKey} {...props} />`,
|
|
212
|
-
i,
|
|
213
|
-
u,
|
|
214
|
-
h,
|
|
215
|
-
u
|
|
216
|
-
), Q[u + i] = !0);
|
|
217
|
-
}
|
|
218
|
-
if (u = null, o !== void 0 && (t(o), u = "" + o), m(r) && (t(r.key), u = "" + r.key), "key" in r) {
|
|
219
|
-
o = {};
|
|
220
|
-
for (var B in r)
|
|
221
|
-
B !== "key" && (o[B] = r[B]);
|
|
222
|
-
} else o = r;
|
|
223
|
-
return u && v(
|
|
224
|
-
o,
|
|
225
|
-
typeof e == "function" ? e.displayName || e.name || "Unknown" : e
|
|
226
|
-
), x(
|
|
227
|
-
e,
|
|
228
|
-
u,
|
|
229
|
-
o,
|
|
230
|
-
s(),
|
|
231
|
-
F,
|
|
232
|
-
U
|
|
233
|
-
);
|
|
234
|
-
}
|
|
235
|
-
function w(e) {
|
|
236
|
-
T(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === S && (e._payload.status === "fulfilled" ? T(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
237
|
-
}
|
|
238
|
-
function T(e) {
|
|
239
|
-
return typeof e == "object" && e !== null && e.$$typeof === a;
|
|
240
|
-
}
|
|
241
|
-
var R = ne, a = Symbol.for("react.transitional.element"), p = Symbol.for("react.portal"), n = Symbol.for("react.fragment"), c = Symbol.for("react.strict_mode"), C = Symbol.for("react.profiler"), M = Symbol.for("react.consumer"), Y = Symbol.for("react.context"), z = Symbol.for("react.forward_ref"), _ = Symbol.for("react.suspense"), $ = Symbol.for("react.suspense_list"), f = Symbol.for("react.memo"), S = Symbol.for("react.lazy"), g = Symbol.for("react.activity"), V = Symbol.for("react.client.reference"), L = R.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, J = Object.prototype.hasOwnProperty, re = Array.isArray, W = console.createTask ? console.createTask : function() {
|
|
242
|
-
return null;
|
|
243
|
-
};
|
|
244
|
-
R = {
|
|
245
|
-
react_stack_bottom_frame: function(e) {
|
|
246
|
-
return e();
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
|
-
var X, D = {}, H = R.react_stack_bottom_frame.bind(
|
|
250
|
-
R,
|
|
251
|
-
l
|
|
252
|
-
)(), Z = W(d(l)), Q = {};
|
|
253
|
-
P.Fragment = n, P.jsx = function(e, r, o) {
|
|
254
|
-
var i = 1e4 > L.recentlyCreatedOwnerStacks++;
|
|
255
|
-
return y(
|
|
256
|
-
e,
|
|
257
|
-
r,
|
|
258
|
-
o,
|
|
259
|
-
!1,
|
|
260
|
-
i ? Error("react-stack-top-frame") : H,
|
|
261
|
-
i ? W(d(e)) : Z
|
|
262
|
-
);
|
|
263
|
-
}, P.jsxs = function(e, r, o) {
|
|
264
|
-
var i = 1e4 > L.recentlyCreatedOwnerStacks++;
|
|
265
|
-
return y(
|
|
266
|
-
e,
|
|
267
|
-
r,
|
|
268
|
-
o,
|
|
269
|
-
!0,
|
|
270
|
-
i ? Error("react-stack-top-frame") : H,
|
|
271
|
-
i ? W(d(e)) : Z
|
|
272
|
-
);
|
|
273
|
-
};
|
|
274
|
-
}()), P;
|
|
275
|
-
}
|
|
276
|
-
process.env.NODE_ENV === "production" ? G.exports = ie() : G.exports = ue();
|
|
277
|
-
var j = G.exports;
|
|
278
|
-
function ce(E, b = {}) {
|
|
279
|
-
const [t, d] = I(null), [s, l] = I(!1), [m, v] = I(null), [k, x] = I(null), y = q(b);
|
|
280
|
-
y.current = b, N(() => {
|
|
281
|
-
const n = E.current;
|
|
282
|
-
if (n) {
|
|
283
|
-
try {
|
|
284
|
-
const c = le({
|
|
285
|
-
...y.current,
|
|
286
|
-
container: n
|
|
287
|
-
});
|
|
288
|
-
c.on("zoom", () => {
|
|
289
|
-
x(c.getViewBounds());
|
|
290
|
-
}), d(c), l(!0), x(c.getViewBounds()), v(null);
|
|
291
|
-
} catch (c) {
|
|
292
|
-
console.error("[useSciPlot] Failed to initialize chart:", c), v(c instanceof Error ? c : new Error(String(c))), l(!1);
|
|
293
|
-
}
|
|
294
|
-
return () => {
|
|
295
|
-
t && (t.destroy(), d(null), l(!1));
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
}, [E]);
|
|
299
|
-
const w = O(
|
|
300
|
-
(n) => {
|
|
301
|
-
t && (t.addSeries(n), x(t.getViewBounds()));
|
|
302
|
-
},
|
|
303
|
-
[t]
|
|
304
|
-
), T = O(
|
|
305
|
-
(n, c) => {
|
|
306
|
-
t && t.updateSeries(n, c);
|
|
307
|
-
},
|
|
308
|
-
[t]
|
|
309
|
-
), R = O(
|
|
310
|
-
(n) => {
|
|
311
|
-
t && t.removeSeries(n);
|
|
312
|
-
},
|
|
313
|
-
[t]
|
|
314
|
-
), a = O(
|
|
315
|
-
(n) => {
|
|
316
|
-
t && t.zoom(n);
|
|
317
|
-
},
|
|
318
|
-
[t]
|
|
319
|
-
), p = O(() => {
|
|
320
|
-
t && (t.resetZoom(), x(t.getViewBounds()));
|
|
321
|
-
}, [t]);
|
|
322
|
-
return {
|
|
323
|
-
chart: t,
|
|
324
|
-
isReady: s,
|
|
325
|
-
error: m,
|
|
326
|
-
bounds: k,
|
|
327
|
-
addSeries: w,
|
|
328
|
-
updateSeries: T,
|
|
329
|
-
removeSeries: R,
|
|
330
|
-
zoom: a,
|
|
331
|
-
resetZoom: p
|
|
332
|
-
};
|
|
333
|
-
}
|
|
334
|
-
const me = oe(
|
|
335
|
-
function({
|
|
336
|
-
series: b = [],
|
|
337
|
-
zoom: t,
|
|
338
|
-
onZoomChange: d,
|
|
339
|
-
cursor: s,
|
|
340
|
-
width: l = "100%",
|
|
341
|
-
height: m = 400,
|
|
342
|
-
className: v = "",
|
|
343
|
-
style: k = {},
|
|
344
|
-
debug: x = !1,
|
|
345
|
-
...y
|
|
346
|
-
}, w) {
|
|
347
|
-
const T = q(null), R = q(/* @__PURE__ */ new Map()), {
|
|
348
|
-
chart: a,
|
|
349
|
-
isReady: p,
|
|
350
|
-
bounds: n,
|
|
351
|
-
addSeries: c,
|
|
352
|
-
updateSeries: C,
|
|
353
|
-
removeSeries: M,
|
|
354
|
-
resetZoom: Y
|
|
355
|
-
} = ce(T, y);
|
|
356
|
-
ae(
|
|
357
|
-
w,
|
|
358
|
-
() => ({
|
|
359
|
-
getChart: () => a,
|
|
360
|
-
resetZoom: Y,
|
|
361
|
-
getBounds: () => n
|
|
362
|
-
}),
|
|
363
|
-
[a, Y, n]
|
|
364
|
-
), N(() => {
|
|
365
|
-
if (!p || !a) return;
|
|
366
|
-
const _ = new Map(b.map((f) => [f.id, f])), $ = R.current;
|
|
367
|
-
$.forEach((f, S) => {
|
|
368
|
-
_.has(S) || M(S);
|
|
369
|
-
}), _.forEach((f, S) => {
|
|
370
|
-
const g = $.get(S);
|
|
371
|
-
if (g)
|
|
372
|
-
(g.x !== f.x || g.y !== f.y) && C(S, {
|
|
373
|
-
x: f.x,
|
|
374
|
-
y: f.y
|
|
375
|
-
});
|
|
376
|
-
else {
|
|
377
|
-
const V = {
|
|
378
|
-
id: f.id,
|
|
379
|
-
type: "line",
|
|
380
|
-
data: { x: f.x, y: f.y },
|
|
381
|
-
style: {
|
|
382
|
-
color: f.color ?? "#ff0055",
|
|
383
|
-
width: f.width ?? 1.5
|
|
384
|
-
},
|
|
385
|
-
visible: f.visible ?? !0
|
|
386
|
-
};
|
|
387
|
-
c(V), _.size === 1 && a.autoScale();
|
|
388
|
-
}
|
|
389
|
-
}), R.current = _;
|
|
390
|
-
}, [b, p, a, c, C, M]), N(() => {
|
|
391
|
-
!p || !a || !t || a.zoom(t);
|
|
392
|
-
}, [p, a, t]), N(() => {
|
|
393
|
-
!p || !a || !d || a.on("zoom", (_) => {
|
|
394
|
-
d({
|
|
395
|
-
xMin: _.x[0],
|
|
396
|
-
xMax: _.x[1],
|
|
397
|
-
yMin: _.y[0],
|
|
398
|
-
yMax: _.y[1]
|
|
399
|
-
});
|
|
400
|
-
});
|
|
401
|
-
}, [p, a, d]), N(() => {
|
|
402
|
-
!p || !a || (s != null && s.enabled ? a.enableCursor(s) : a.disableCursor());
|
|
403
|
-
}, [p, a, s]);
|
|
404
|
-
const z = se(
|
|
405
|
-
() => ({
|
|
406
|
-
position: "relative",
|
|
407
|
-
width: typeof l == "number" ? `${l}px` : l,
|
|
408
|
-
height: typeof m == "number" ? `${m}px` : m,
|
|
409
|
-
...k
|
|
410
|
-
}),
|
|
411
|
-
[l, m, k]
|
|
412
|
-
);
|
|
413
|
-
return /* @__PURE__ */ j.jsx(
|
|
414
|
-
"div",
|
|
415
|
-
{
|
|
416
|
-
ref: T,
|
|
417
|
-
className: `velo-plot-container ${v}`,
|
|
418
|
-
style: z,
|
|
419
|
-
children: x && n && /* @__PURE__ */ j.jsxs(
|
|
420
|
-
"div",
|
|
421
|
-
{
|
|
422
|
-
style: {
|
|
423
|
-
position: "absolute",
|
|
424
|
-
top: 8,
|
|
425
|
-
right: 8,
|
|
426
|
-
background: "rgba(0,0,0,0.7)",
|
|
427
|
-
color: "#0f0",
|
|
428
|
-
padding: "4px 8px",
|
|
429
|
-
borderRadius: 4,
|
|
430
|
-
fontSize: 11,
|
|
431
|
-
fontFamily: "monospace"
|
|
432
|
-
},
|
|
433
|
-
children: [
|
|
434
|
-
/* @__PURE__ */ j.jsxs("div", { children: [
|
|
435
|
-
"X: [",
|
|
436
|
-
n.xMin.toFixed(3),
|
|
437
|
-
", ",
|
|
438
|
-
n.xMax.toFixed(3),
|
|
439
|
-
"]"
|
|
440
|
-
] }),
|
|
441
|
-
/* @__PURE__ */ j.jsxs("div", { children: [
|
|
442
|
-
"Y: [",
|
|
443
|
-
n.yMin.toExponential(2),
|
|
444
|
-
", ",
|
|
445
|
-
n.yMax.toExponential(2),
|
|
446
|
-
"]"
|
|
447
|
-
] }),
|
|
448
|
-
/* @__PURE__ */ j.jsxs("div", { children: [
|
|
449
|
-
"Series: ",
|
|
450
|
-
b.length
|
|
451
|
-
] })
|
|
452
|
-
]
|
|
453
|
-
}
|
|
454
|
-
)
|
|
455
|
-
}
|
|
456
|
-
);
|
|
457
|
-
}
|
|
458
|
-
);
|
|
459
|
-
export {
|
|
460
|
-
me as S,
|
|
461
|
-
ce as u
|
|
462
|
-
};
|
|
463
|
-
//# sourceMappingURL=SciPlot-CEU4ApgD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SciPlot-CEU4ApgD.js","sources":["../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js","../src/react/useSciPlot.ts","../src/react/SciPlot.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * useSciPlot - React hook for Sci Plot\n *\n * Manages chart lifecycle and provides a clean React API.\n */\n\nimport {\n useEffect,\n useRef,\n useState,\n useCallback,\n type RefObject,\n} from \"react\";\nimport { createChart, type Chart, type ChartOptions } from \"../core/Chart\";\nimport type {\n SeriesOptions,\n SeriesUpdateData,\n ZoomOptions,\n Bounds,\n} from \"../types\";\n\nexport interface UseSciPlotOptions extends Omit<ChartOptions, \"container\"> {\n /** Auto-resize on container changes */\n autoResize?: boolean;\n}\n\nexport interface UseSciPlotReturn {\n /** Chart instance (null until initialized) */\n chart: Chart | null;\n /** Whether the chart is ready */\n isReady: boolean;\n /** Error during initialization */\n error: Error | null;\n /** Current view bounds */\n bounds: Bounds | null;\n /** Add a series */\n addSeries: (options: SeriesOptions) => void;\n /** Update series data */\n updateSeries: (id: string, data: SeriesUpdateData) => void;\n /** Remove a series */\n removeSeries: (id: string) => void;\n /** Set zoom range */\n zoom: (options: ZoomOptions) => void;\n /** Reset zoom to show all data */\n resetZoom: () => void;\n}\n\n/**\n * React hook for using Sci Plot\n *\n * @example\n * ```tsx\n * function MyChart() {\n * const canvasRef = useRef<HTMLCanvasElement>(null);\n * const { chart, isReady, addSeries, zoom } = useSciPlot(canvasRef, {\n * xAxis: { label: 'E / V' },\n * yAxis: { label: 'I / A' }\n * });\n *\n * useEffect(() => {\n * if (isReady) {\n * addSeries({\n * id: 'cv-1',\n * type: 'line',\n * data: { x: xData, y: yData },\n * style: { color: '#ff0055' }\n * });\n * }\n * }, [isReady]);\n *\n * return <canvas ref={canvasRef} />;\n * }\n * ```\n */\nexport function useSciPlot(\n containerRef: RefObject<HTMLDivElement>,\n options: UseSciPlotOptions = {}\n): UseSciPlotReturn {\n const [chart, setChart] = useState<Chart | null>(null);\n const [isReady, setIsReady] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [bounds, setBounds] = useState<Bounds | null>(null);\n\n // Store options in ref to avoid re-creating chart on every render\n const optionsRef = useRef(options);\n optionsRef.current = options;\n\n // Initialize chart\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n try {\n const chartInstance = createChart({\n ...optionsRef.current,\n container,\n });\n\n // Listen to zoom events to update bounds\n chartInstance.on(\"zoom\", () => {\n setBounds(chartInstance.getViewBounds());\n });\n\n setChart(chartInstance);\n setIsReady(true);\n setBounds(chartInstance.getViewBounds());\n setError(null);\n\n } catch (err) {\n console.error(\"[useSciPlot] Failed to initialize chart:\", err);\n setError(err instanceof Error ? err : new Error(String(err)));\n setIsReady(false);\n }\n\n return () => {\n if (chart) {\n chart.destroy();\n setChart(null);\n setIsReady(false);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [containerRef]);\n\n // Memoized methods\n const addSeries = useCallback(\n (seriesOptions: SeriesOptions) => {\n if (chart) {\n chart.addSeries(seriesOptions);\n setBounds(chart.getViewBounds());\n }\n },\n [chart]\n );\n\n const updateSeries = useCallback(\n (id: string, data: SeriesUpdateData) => {\n if (chart) {\n chart.updateSeries(id, data);\n }\n },\n [chart]\n );\n\n const removeSeries = useCallback(\n (id: string) => {\n if (chart) {\n chart.removeSeries(id);\n }\n },\n [chart]\n );\n\n const zoom = useCallback(\n (zoomOptions: ZoomOptions) => {\n if (chart) {\n chart.zoom(zoomOptions);\n }\n },\n [chart]\n );\n\n const resetZoom = useCallback(() => {\n if (chart) {\n chart.resetZoom();\n setBounds(chart.getViewBounds());\n }\n }, [chart]);\n\n return {\n chart,\n isReady,\n error,\n bounds,\n addSeries,\n updateSeries,\n removeSeries,\n zoom,\n resetZoom,\n };\n}\n","/**\n * SciPlot - React Component for Scientific Charts\n *\n * A declarative React component that wraps the Sci Plot.\n */\n\nimport {\n useRef,\n useEffect,\n useImperativeHandle,\n forwardRef,\n useMemo,\n type CSSProperties,\n} from \"react\";\nimport { useSciPlot, type UseSciPlotOptions } from \"./useSciPlot\";\nimport type {\n SeriesOptions,\n ZoomOptions,\n CursorOptions,\n Bounds,\n} from \"../types\";\nimport type { Chart } from \"../core/Chart\";\n\n// ============================================\n// Types\n// ============================================\n\nexport interface SciPlotSeries {\n id: string;\n x: Float32Array | Float64Array;\n y: Float32Array | Float64Array;\n color?: string;\n width?: number;\n visible?: boolean;\n}\n\nexport interface SciPlotProps extends UseSciPlotOptions {\n /** Series data to display */\n series?: SciPlotSeries[];\n /** Zoom state (controlled) */\n zoom?: ZoomOptions;\n /** Callback when zoom changes */\n onZoomChange?: (bounds: Bounds) => void;\n /** Cursor configuration */\n cursor?: CursorOptions;\n /** Container width */\n width?: number | string;\n /** Container height */\n height?: number | string;\n /** Additional class name */\n className?: string;\n /** Additional styles */\n style?: CSSProperties;\n /** Debug mode - shows FPS counter */\n debug?: boolean;\n}\n\nexport interface SciPlotRef {\n /** Get the chart instance */\n getChart: () => Chart | null;\n /** Reset zoom to show all data */\n resetZoom: () => void;\n /** Get current bounds */\n getBounds: () => Bounds | null;\n}\n\n// ============================================\n// Component\n// ============================================\n\n/**\n * SciPlot React Component\n *\n * @example\n * ```tsx\n * <SciPlot\n * series={[\n * { id: 'cv-1', x: potentialData, y: currentData, color: '#ff0055' }\n * ]}\n * xAxis={{ label: 'E / V' }}\n * yAxis={{ label: 'I / A' }}\n * height={400}\n * cursor={{ enabled: true, snap: true }}\n * onZoomChange={(bounds) => console.log('Zoom:', bounds)}\n * />\n * ```\n */\nexport const SciPlot = forwardRef<SciPlotRef, SciPlotProps>(\n function SciPlot(\n {\n series = [],\n zoom: zoomProp,\n onZoomChange,\n cursor,\n width = \"100%\",\n height = 400,\n className = \"\",\n style = {},\n debug = false,\n ...chartOptions\n },\n ref\n ) {\n const containerRef = useRef<HTMLDivElement>(null);\n const previousSeriesRef = useRef<Map<string, SciPlotSeries>>(new Map());\n\n const {\n chart,\n isReady,\n bounds,\n addSeries,\n updateSeries,\n removeSeries,\n resetZoom,\n } = useSciPlot(containerRef, chartOptions);\n\n // Expose methods via ref\n useImperativeHandle(\n ref,\n () => ({\n getChart: () => chart,\n resetZoom,\n getBounds: () => bounds,\n }),\n [chart, resetZoom, bounds]\n );\n\n // Handle series changes\n useEffect(() => {\n if (!isReady || !chart) return;\n\n const currentSeriesMap = new Map(series.map((s) => [s.id, s]));\n const previousSeriesMap = previousSeriesRef.current;\n\n // Remove series that no longer exist\n previousSeriesMap.forEach((_, id) => {\n if (!currentSeriesMap.has(id)) {\n removeSeries(id);\n }\n });\n\n // Add or update series\n currentSeriesMap.forEach((seriesData, id) => {\n const prevSeries = previousSeriesMap.get(id);\n\n if (!prevSeries) {\n // New series - add it\n const options: SeriesOptions = {\n id: seriesData.id,\n type: \"line\",\n data: { x: seriesData.x, y: seriesData.y },\n style: {\n color: seriesData.color ?? \"#ff0055\",\n width: seriesData.width ?? 1.5,\n },\n visible: seriesData.visible ?? true,\n };\n addSeries(options);\n // Force an initial autoscale if it's the first series\n if (currentSeriesMap.size === 1) {\n chart.autoScale();\n }\n } else if (\n prevSeries.x !== seriesData.x ||\n prevSeries.y !== seriesData.y\n ) {\n // Data changed - update\n updateSeries(id, {\n x: seriesData.x,\n y: seriesData.y,\n });\n }\n });\n\n previousSeriesRef.current = currentSeriesMap;\n }, [series, isReady, chart, addSeries, updateSeries, removeSeries]);\n\n // Handle controlled zoom\n useEffect(() => {\n if (!isReady || !chart || !zoomProp) return;\n chart.zoom(zoomProp);\n }, [isReady, chart, zoomProp]);\n\n // Handle zoom change callback\n useEffect(() => {\n if (!isReady || !chart || !onZoomChange) return;\n\n chart.on(\"zoom\", (event) => {\n onZoomChange({\n xMin: event.x[0],\n xMax: event.x[1],\n yMin: event.y[0],\n yMax: event.y[1],\n });\n });\n }, [isReady, chart, onZoomChange]);\n\n // Handle cursor\n useEffect(() => {\n if (!isReady || !chart) return;\n\n if (cursor?.enabled) {\n chart.enableCursor(cursor);\n } else {\n chart.disableCursor();\n }\n }, [isReady, chart, cursor]);\n\n // Container styles\n const containerStyle = useMemo<CSSProperties>(\n () => ({\n position: \"relative\",\n width: typeof width === \"number\" ? `${width}px` : width,\n height: typeof height === \"number\" ? `${height}px` : height,\n ...style,\n }),\n [width, height, style]\n );\n\n return (\n <div\n ref={containerRef}\n className={`velo-plot-container ${className}`}\n style={containerStyle}\n >\n {/* Debug overlay */}\n {debug && bounds && (\n <div\n style={{\n position: \"absolute\",\n top: 8,\n right: 8,\n background: \"rgba(0,0,0,0.7)\",\n color: \"#0f0\",\n padding: \"4px 8px\",\n borderRadius: 4,\n fontSize: 11,\n fontFamily: \"monospace\",\n }}\n >\n <div>\n X: [{bounds.xMin.toFixed(3)}, {bounds.xMax.toFixed(3)}]\n </div>\n <div>\n Y: [{bounds.yMin.toExponential(2)}, {bounds.yMax.toExponential(2)}\n ]\n </div>\n <div>Series: {series.length}</div>\n </div>\n )}\n </div>\n );\n }\n);\n\nexport default SciPlot;\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","owner","debugStack","debugTask","refProp","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","isValidElement","object","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","useSciPlot","containerRef","options","chart","setChart","useState","isReady","setIsReady","error","setError","bounds","setBounds","optionsRef","useRef","useEffect","container","chartInstance","createChart","err","addSeries","useCallback","seriesOptions","updateSeries","id","data","removeSeries","zoom","zoomOptions","resetZoom","SciPlot","forwardRef","series","zoomProp","onZoomChange","cursor","width","height","className","style","debug","chartOptions","ref","previousSeriesRef","useImperativeHandle","currentSeriesMap","s","previousSeriesMap","_","seriesData","prevSeries","event","containerStyle","useMemo","jsx","jsxs"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|