velo-plot 3.1.0 → 4.0.0-alpha.1

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 (116) hide show
  1. package/dist/{ChartCore-AnR_3Xkb.js → ChartCore-KYG2HTcK.js} +1349 -1213
  2. package/dist/ChartCore-KYG2HTcK.js.map +1 -0
  3. package/dist/{PluginRegistry-CzMHebYP.js → PluginRegistry-CDf_jcnp.js} +2 -2
  4. package/dist/{PluginRegistry-CzMHebYP.js.map → PluginRegistry-CDf_jcnp.js.map} +1 -1
  5. package/dist/SVGDocumentBuilder-C-uLkcFW.js +83 -0
  6. package/dist/SVGDocumentBuilder-C-uLkcFW.js.map +1 -0
  7. package/dist/angular-hooks.js +1 -1
  8. package/dist/angular.js +4 -4
  9. package/dist/{chartSyncBridge-D_rCtbFq.js → chartSyncBridge-C1uRy0ZS.js} +3 -3
  10. package/dist/{chartSyncBridge-D_rCtbFq.js.map → chartSyncBridge-C1uRy0ZS.js.map} +1 -1
  11. package/dist/core/chart/ChartCore.d.ts +7 -3
  12. package/dist/core/chart/ChartRenderLoop.d.ts +5 -0
  13. package/dist/core/chart/ChartRenderer.d.ts +9 -0
  14. package/dist/core/chart/ChartSetup.d.ts +1 -0
  15. package/dist/core/chart/exporter/SVGExporter.d.ts +9 -7
  16. package/dist/core/chart/exporter/svg/SVGDocumentBuilder.d.ts +27 -0
  17. package/dist/core/chart/exporter/svg/SVGExportContext.d.ts +147 -0
  18. package/dist/core/chart/exporter/svg/SVGOrchestrator.d.ts +3 -0
  19. package/dist/core/chart/exporter/svg/SVGThemeAdapter.d.ts +22 -0
  20. package/dist/core/chart/exporter/svg/__tests__/testFixtures.d.ts +46 -0
  21. package/dist/core/chart/exporter/svg/__tests__/visualTestUtils.d.ts +12 -0
  22. package/dist/core/chart/exporter/svg/overlay/axes.d.ts +4 -0
  23. package/dist/core/chart/exporter/svg/overlay/border.d.ts +4 -0
  24. package/dist/core/chart/exporter/svg/overlay/errorBars.d.ts +7 -0
  25. package/dist/core/chart/exporter/svg/overlay/grid.d.ts +4 -0
  26. package/dist/core/chart/exporter/svg/overlay/index.d.ts +12 -0
  27. package/dist/core/chart/exporter/svg/overlay/legend.d.ts +4 -0
  28. package/dist/core/chart/exporter/svg/overlay/pluginCharts.d.ts +6 -0
  29. package/dist/core/chart/exporter/svg/overlay/polarGrid.d.ts +4 -0
  30. package/dist/core/chart/exporter/svg/overlay/specialChart.d.ts +15 -0
  31. package/dist/core/chart/exporter/svg/overlay/title.d.ts +4 -0
  32. package/dist/core/chart/exporter/svg/plugins/annotations.d.ts +5 -0
  33. package/dist/core/chart/exporter/svg/plugins/brokenAxis.d.ts +20 -0
  34. package/dist/core/chart/exporter/svg/plugins/latex.d.ts +9 -0
  35. package/dist/core/chart/exporter/svg/plugins/register.d.ts +8 -0
  36. package/dist/core/chart/exporter/svg/plugins/regression.d.ts +33 -0
  37. package/dist/core/chart/exporter/svg/plugins/roi.d.ts +12 -0
  38. package/dist/core/chart/exporter/svg/plugins/tradeMarkers.d.ts +3 -0
  39. package/dist/core/chart/exporter/svg/plugins/types.d.ts +28 -0
  40. package/dist/core/chart/exporter/svg/plugins/watermark.d.ts +13 -0
  41. package/dist/core/chart/exporter/svg/series/band.d.ts +6 -0
  42. package/dist/core/chart/exporter/svg/series/bar.d.ts +6 -0
  43. package/dist/core/chart/exporter/svg/series/boxplot.d.ts +6 -0
  44. package/dist/core/chart/exporter/svg/series/candlestick.d.ts +6 -0
  45. package/dist/core/chart/exporter/svg/series/finitePoints.d.ts +6 -0
  46. package/dist/core/chart/exporter/svg/series/gauge.d.ts +5 -0
  47. package/dist/core/chart/exporter/svg/series/heatmap.d.ts +6 -0
  48. package/dist/core/chart/exporter/svg/series/indicator.d.ts +6 -0
  49. package/dist/core/chart/exporter/svg/series/line.d.ts +12 -0
  50. package/dist/core/chart/exporter/svg/series/polar.d.ts +6 -0
  51. package/dist/core/chart/exporter/svg/series/radar.d.ts +5 -0
  52. package/dist/core/chart/exporter/svg/series/registry.d.ts +10 -0
  53. package/dist/core/chart/exporter/svg/series/sankey.d.ts +5 -0
  54. package/dist/core/chart/exporter/svg/series/scatter.d.ts +1 -0
  55. package/dist/core/chart/exporter/svg/series/ternary.d.ts +7 -0
  56. package/dist/core/chart/exporter/svg/series/waterfall.d.ts +6 -0
  57. package/dist/core/chart/exporter/svg/seriesAtTimestamp.d.ts +4 -0
  58. package/dist/core/chart/exporter/svg/seriesUtils.d.ts +3 -0
  59. package/dist/core/chart/exporter/svg/symbols.d.ts +5 -0
  60. package/dist/core/chart/exporter/svg/tickUtils.d.ts +9 -0
  61. package/dist/core/chart/mountSVGString.d.ts +5 -0
  62. package/dist/core/chart/types.d.ts +2 -2
  63. package/dist/core/stacked/StackSVGComposer.d.ts +14 -0
  64. package/dist/core/stacked/index.d.ts +3 -2
  65. package/dist/core/stacked/types.d.ts +12 -4
  66. package/dist/createStackedChart-DjA3aJAu.js +2761 -0
  67. package/dist/createStackedChart-DjA3aJAu.js.map +1 -0
  68. package/dist/{hooks-DH-3bewj.js → hooks-4wQH27r9.js} +3 -3
  69. package/dist/{hooks-DH-3bewj.js.map → hooks-4wQH27r9.js.map} +1 -1
  70. package/dist/index-Bj-xyXY6.js +582 -0
  71. package/dist/index-Bj-xyXY6.js.map +1 -0
  72. package/dist/plugins/PluginManager.d.ts +5 -0
  73. package/dist/plugins/annotations.js +8 -7
  74. package/dist/plugins/annotations.js.map +1 -1
  75. package/dist/plugins/broken-axis.js +198 -152
  76. package/dist/plugins/broken-axis.js.map +1 -1
  77. package/dist/plugins/forecasting.js +273 -258
  78. package/dist/plugins/forecasting.js.map +1 -1
  79. package/dist/plugins/ml-integration.js +107 -93
  80. package/dist/plugins/ml-integration.js.map +1 -1
  81. package/dist/plugins/radar/types.d.ts +11 -0
  82. package/dist/plugins/radar.js +64 -53
  83. package/dist/plugins/radar.js.map +1 -1
  84. package/dist/plugins/roi/index.d.ts +2 -0
  85. package/dist/plugins/roi.js +184 -145
  86. package/dist/plugins/roi.js.map +1 -1
  87. package/dist/plugins/snapshot.js +20 -15
  88. package/dist/plugins/snapshot.js.map +1 -1
  89. package/dist/plugins/types.d.ts +4 -0
  90. package/dist/react.js +2 -2
  91. package/dist/regression-HNdyk1Dm.js +28 -0
  92. package/dist/regression-HNdyk1Dm.js.map +1 -0
  93. package/dist/renderer/ChartSeriesRenderer.d.ts +3 -2
  94. package/dist/renderer/SVGChartRenderer.d.ts +15 -0
  95. package/dist/renderer/SankeyRenderer.d.ts +1 -0
  96. package/dist/renderer/registerSVG.d.ts +5 -0
  97. package/dist/renderer/sankeyLayout.d.ts +29 -0
  98. package/dist/scientific.js +2 -2
  99. package/dist/solid.js +2 -2
  100. package/dist/svelte.js +2 -2
  101. package/dist/tickUtils-B_X-ha13.js +41 -0
  102. package/dist/tickUtils-B_X-ha13.js.map +1 -0
  103. package/dist/trading.js +3 -3
  104. package/dist/types.d.ts +2 -1
  105. package/dist/velo-plot.full.js +1107 -1292
  106. package/dist/velo-plot.full.js.map +1 -1
  107. package/dist/velo-plot.js +2 -2
  108. package/dist/vue/VeloPlot.vue.d.ts +1 -1
  109. package/dist/vue/index.d.ts +33 -33
  110. package/dist/vue.js +2 -2
  111. package/package.json +6 -1
  112. package/dist/ChartCore-AnR_3Xkb.js.map +0 -1
  113. package/dist/createStackedChart-DqcLCFGS.js +0 -1338
  114. package/dist/createStackedChart-DqcLCFGS.js.map +0 -1
  115. package/dist/index-Cv6ZDLWf.js +0 -521
  116. package/dist/index-Cv6ZDLWf.js.map +0 -1
package/dist/velo-plot.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { E as g } from "./axisFormat-Sz4WIJfQ.js";
2
- import { D as o, e as l, d as u, L as E, a as f, N as m, P, S as p, c as T, N as d, h as L, b as x, f as N, g as R, p as S } from "./ChartCore-AnR_3Xkb.js";
3
- import { c as C, d as H, g as M, r as b } from "./PluginRegistry-CzMHebYP.js";
2
+ import { D as o, e as l, d as u, L as E, a as f, N as m, P, S as p, c as T, N as d, h as L, b as x, f as N, g as R, p as S } from "./ChartCore-KYG2HTcK.js";
3
+ import { c as C, d as H, g as M, r as b } from "./PluginRegistry-CDf_jcnp.js";
4
4
  function t(e) {
5
5
  return e;
6
6
  }
@@ -40,8 +40,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
40
40
  onZoomChange?: ((bounds: Bounds) => any) | undefined;
41
41
  }>, {
42
42
  width: number | string;
43
- height: number | string;
44
43
  series: VeloPlotSeries[];
44
+ height: number | string;
45
45
  keyboardNav: boolean;
46
46
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
47
47
  export default _default;
@@ -32,18 +32,28 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
32
32
  tooltip: {
33
33
  type: import('vue').PropType<import('..').TooltipOptions>;
34
34
  };
35
+ background: {
36
+ type: import('vue').PropType<string>;
37
+ };
38
+ series: {
39
+ type: import('vue').PropType<import('..').VeloPlotSeries[]>;
40
+ default: () => never[];
41
+ };
42
+ plugins: {
43
+ type: import('vue').PropType<import('..').ChartPlugin<unknown>[]>;
44
+ };
35
45
  theme: {
36
46
  type: import('vue').PropType<string | object>;
37
47
  };
48
+ showLegend: {
49
+ type: import('vue').PropType<boolean>;
50
+ };
38
51
  loading: {
39
52
  type: import('vue').PropType<boolean | import('..').PluginLoadingConfig>;
40
53
  };
41
54
  devicePixelRatio: {
42
55
  type: import('vue').PropType<number>;
43
56
  };
44
- background: {
45
- type: import('vue').PropType<string>;
46
- };
47
57
  colorScheme: {
48
58
  type: import('vue').PropType<string>;
49
59
  };
@@ -51,15 +61,8 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
51
61
  type: import('vue').PropType<string | number>;
52
62
  default: number;
53
63
  };
54
- series: {
55
- type: import('vue').PropType<import('..').VeloPlotSeries[]>;
56
- default: () => never[];
57
- };
58
64
  renderer: {
59
- type: import('vue').PropType<"webgl" | "webgpu">;
60
- };
61
- showLegend: {
62
- type: import('vue').PropType<boolean>;
65
+ type: import('vue').PropType<"webgl" | "webgpu" | "svg">;
63
66
  };
64
67
  legendPosition: {
65
68
  type: import('vue').PropType<{
@@ -84,9 +87,6 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
84
87
  reducedMotion?: boolean | "auto";
85
88
  })>;
86
89
  };
87
- plugins: {
88
- type: import('vue').PropType<import('..').ChartPlugin<unknown>[]>;
89
- };
90
90
  layout: {
91
91
  type: import('vue').PropType<import('..').LayoutOptions>;
92
92
  };
@@ -105,10 +105,10 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
105
105
  clipboard: {
106
106
  type: import('vue').PropType<boolean | import('..').ClipboardOptions>;
107
107
  };
108
- class: {
108
+ ariaLabel: {
109
109
  type: import('vue').PropType<string>;
110
110
  };
111
- ariaLabel: {
111
+ class: {
112
112
  type: import('vue').PropType<string>;
113
113
  };
114
114
  autoResize: {
@@ -150,18 +150,28 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
150
150
  tooltip: {
151
151
  type: import('vue').PropType<import('..').TooltipOptions>;
152
152
  };
153
+ background: {
154
+ type: import('vue').PropType<string>;
155
+ };
156
+ series: {
157
+ type: import('vue').PropType<import('..').VeloPlotSeries[]>;
158
+ default: () => never[];
159
+ };
160
+ plugins: {
161
+ type: import('vue').PropType<import('..').ChartPlugin<unknown>[]>;
162
+ };
153
163
  theme: {
154
164
  type: import('vue').PropType<string | object>;
155
165
  };
166
+ showLegend: {
167
+ type: import('vue').PropType<boolean>;
168
+ };
156
169
  loading: {
157
170
  type: import('vue').PropType<boolean | import('..').PluginLoadingConfig>;
158
171
  };
159
172
  devicePixelRatio: {
160
173
  type: import('vue').PropType<number>;
161
174
  };
162
- background: {
163
- type: import('vue').PropType<string>;
164
- };
165
175
  colorScheme: {
166
176
  type: import('vue').PropType<string>;
167
177
  };
@@ -169,15 +179,8 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
169
179
  type: import('vue').PropType<string | number>;
170
180
  default: number;
171
181
  };
172
- series: {
173
- type: import('vue').PropType<import('..').VeloPlotSeries[]>;
174
- default: () => never[];
175
- };
176
182
  renderer: {
177
- type: import('vue').PropType<"webgl" | "webgpu">;
178
- };
179
- showLegend: {
180
- type: import('vue').PropType<boolean>;
183
+ type: import('vue').PropType<"webgl" | "webgpu" | "svg">;
181
184
  };
182
185
  legendPosition: {
183
186
  type: import('vue').PropType<{
@@ -202,9 +205,6 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
202
205
  reducedMotion?: boolean | "auto";
203
206
  })>;
204
207
  };
205
- plugins: {
206
- type: import('vue').PropType<import('..').ChartPlugin<unknown>[]>;
207
- };
208
208
  layout: {
209
209
  type: import('vue').PropType<import('..').LayoutOptions>;
210
210
  };
@@ -223,10 +223,10 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
223
223
  clipboard: {
224
224
  type: import('vue').PropType<boolean | import('..').ClipboardOptions>;
225
225
  };
226
- class: {
226
+ ariaLabel: {
227
227
  type: import('vue').PropType<string>;
228
228
  };
229
- ariaLabel: {
229
+ class: {
230
230
  type: import('vue').PropType<string>;
231
231
  };
232
232
  autoResize: {
@@ -240,8 +240,8 @@ export declare const SciPlot: import('vue').DefineComponent<import('vue').Extrac
240
240
  onZoomChange?: ((bounds: import('..').Bounds) => any) | undefined;
241
241
  }>, {
242
242
  width: number | string;
243
- height: number | string;
244
243
  series: import('..').VeloPlotSeries[];
244
+ height: number | string;
245
245
  keyboardNav: boolean;
246
246
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
247
247
  /** @deprecated Use `useVeloPlot` instead. **Removed in v4.0.** */
package/dist/vue.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { ref as f, shallowRef as C, watch as m, onMounted as R, onUnmounted as p, defineComponent as A, createElementBlock as O, openBlock as P, normalizeStyle as L, normalizeClass as z, unref as j } from "vue";
2
2
  import { p as S, o as E, s as V, d as $ } from "./optionsSync-QUiN4Inw.js";
3
- import { c as K, i as B, r as k, a as M, b as N } from "./chartSyncBridge-D_rCtbFq.js";
3
+ import { c as K, i as B, r as k, a as M, b as N } from "./chartSyncBridge-C1uRy0ZS.js";
4
4
  import { a as I, u as Z } from "./a11y-Bw6urYpr.js";
5
- import { c as J } from "./createStackedChart-DqcLCFGS.js";
5
+ import { c as J } from "./createStackedChart-DjA3aJAu.js";
6
6
  import { s as b, a as T, b as x } from "./stackedSync-tnrunZMt.js";
7
7
  function w(t = {}) {
8
8
  const d = f(null), a = C(null), e = f(!1), n = f(null), u = f(null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "velo-plot",
3
- "version": "3.1.0",
3
+ "version": "4.0.0-alpha.1",
4
4
  "author": "jigonzalez930209",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -235,6 +235,7 @@
235
235
  "@angular/platform-browser-dynamic": "^19.2.25",
236
236
  "@eslint/js": "^10.0.1",
237
237
  "@playwright/test": "^1.52.0",
238
+ "@resvg/resvg-js": "^2.6.2",
238
239
  "@solidjs/testing-library": "^0.8.10",
239
240
  "@sveltejs/vite-plugin-svelte": "^7.2.0",
240
241
  "@testing-library/dom": "^10.4.1",
@@ -242,6 +243,7 @@
242
243
  "@testing-library/svelte": "^5.4.2",
243
244
  "@testing-library/vue": "^8.1.0",
244
245
  "@types/node": "^25.0.3",
246
+ "@types/pngjs": "^6.0.5",
245
247
  "@types/react": "^18.3.27",
246
248
  "@types/react-dom": "^18.3.7",
247
249
  "@vitejs/plugin-vue": "^6.0.7",
@@ -253,7 +255,9 @@
253
255
  "eslint-plugin-react-hooks": "^7.1.1",
254
256
  "globals": "^17.7.0",
255
257
  "happy-dom": "^20.10.6",
258
+ "pixelmatch": "^7.2.0",
256
259
  "playwright": "^1.52.0",
260
+ "pngjs": "^7.0.0",
257
261
  "react": "^19.2.3",
258
262
  "react-dom": "^19.2.3",
259
263
  "solid-js": "^1.9.14",
@@ -282,6 +286,7 @@
282
286
  "test:coverage:core": "vitest run --coverage && node scripts/check-core-coverage.mjs",
283
287
  "test:coverage:bindings": "vitest run --config vitest.bindings.config.ts --coverage && node scripts/check-bindings-coverage.mjs",
284
288
  "test:watch": "vitest",
289
+ "test:svg-parity": "vitest run --coverage --coverage.reportsDirectory=coverage/svg src/core/chart/exporter/svg src/core/chart/exporter/SVGExporter.test.ts src/core/chart/SVGRenderer.dom.test.ts src/core/stacked/StackSVGComposer.dom.test.ts src/core/stacked/stackGoldenSVG.dom.test.ts && node scripts/check-svg-coverage.mjs && node scripts/validate-svg-parity.mjs",
285
290
  "test:dom": "vitest run .dom.test.ts",
286
291
  "test:e2e": "playwright test",
287
292
  "test:e2e:artifacts": "E2E_FULL_ARTIFACTS=1 playwright test",