velo-plot 1.11.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 (370) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/EventEmitter-DAbs2K1C.js +60 -0
  4. package/dist/EventEmitter-DAbs2K1C.js.map +1 -0
  5. package/dist/core/Chart.d.ts +15 -0
  6. package/dist/core/ChartControls.d.ts +41 -0
  7. package/dist/core/ChartInitQueue.d.ts +50 -0
  8. package/dist/core/ChartLegend.d.ts +74 -0
  9. package/dist/core/ChartStatistics.d.ts +18 -0
  10. package/dist/core/EventEmitter.d.ts +30 -0
  11. package/dist/core/InteractionManager.d.ts +96 -0
  12. package/dist/core/OverlayRenderer.d.ts +89 -0
  13. package/dist/core/Series.d.ts +4 -0
  14. package/dist/core/animation/AnimationEngine.d.ts +156 -0
  15. package/dist/core/animation/index.d.ts +6 -0
  16. package/dist/core/annotations/AnnotationManager.d.ts +61 -0
  17. package/dist/core/annotations/index.d.ts +5 -0
  18. package/dist/core/annotations/types.d.ts +159 -0
  19. package/dist/core/chart/ChartAnimatedNavigation.d.ts +53 -0
  20. package/dist/core/chart/ChartAxisManager.d.ts +61 -0
  21. package/dist/core/chart/ChartCore.d.ts +336 -0
  22. package/dist/core/chart/ChartExporter.d.ts +18 -0
  23. package/dist/core/chart/ChartNavigation.d.ts +33 -0
  24. package/dist/core/chart/ChartPluginBridge.d.ts +34 -0
  25. package/dist/core/chart/ChartRenderLoop.d.ts +100 -0
  26. package/dist/core/chart/ChartRenderer.d.ts +52 -0
  27. package/dist/core/chart/ChartScaling.d.ts +31 -0
  28. package/dist/core/chart/ChartSeries.d.ts +4 -0
  29. package/dist/core/chart/ChartSetup.d.ts +67 -0
  30. package/dist/core/chart/ChartStateManager.d.ts +54 -0
  31. package/dist/core/chart/ChartUI.d.ts +40 -0
  32. package/dist/core/chart/exporter/SVGExporter.d.ts +6 -0
  33. package/dist/core/chart/exporter/index.d.ts +5 -0
  34. package/dist/core/chart/index.d.ts +14 -0
  35. package/dist/core/chart/series/SeriesActions.d.ts +7 -0
  36. package/dist/core/chart/series/SeriesBuffer.d.ts +4 -0
  37. package/dist/core/chart/series/index.d.ts +6 -0
  38. package/dist/core/chart/series/types.d.ts +22 -0
  39. package/dist/core/chart/types.d.ts +188 -0
  40. package/dist/core/clipboard/index.d.ts +137 -0
  41. package/dist/core/debug/index.d.ts +143 -0
  42. package/dist/core/index.d.ts +17 -0
  43. package/dist/core/keybindings/index.d.ts +157 -0
  44. package/dist/core/layout/index.d.ts +12 -0
  45. package/dist/core/layout/types.d.ts +165 -0
  46. package/dist/core/loading/index.d.ts +104 -0
  47. package/dist/core/locale/index.d.ts +91 -0
  48. package/dist/core/responsive/ResponsiveManager.d.ts +133 -0
  49. package/dist/core/responsive/index.d.ts +4 -0
  50. package/dist/core/selection/SelectionManager.d.ts +165 -0
  51. package/dist/core/selection/index.d.ts +4 -0
  52. package/dist/core/series/Series.d.ts +73 -0
  53. package/dist/core/series/SeriesBounds.d.ts +3 -0
  54. package/dist/core/series/SeriesDataUtils.d.ts +7 -0
  55. package/dist/core/series/index.d.ts +6 -0
  56. package/dist/core/sync/index.d.ts +147 -0
  57. package/dist/core/theme-editor/index.d.ts +122 -0
  58. package/dist/examples/PluginDemonstration.d.ts +20 -0
  59. package/dist/examples.d.ts +25 -0
  60. package/dist/gpu/adapter/gpuRenderer.d.ts +135 -0
  61. package/dist/gpu/adapter/index.d.ts +7 -0
  62. package/dist/gpu/adapter/seriesAdapter.d.ts +88 -0
  63. package/dist/gpu/backends/webgl/WebGLBackend.d.ts +42 -0
  64. package/dist/gpu/backends/webgl/index.d.ts +5 -0
  65. package/dist/gpu/backends/webgl/programFactory.d.ts +30 -0
  66. package/dist/gpu/backends/webgl/shaders.d.ts +14 -0
  67. package/dist/gpu/backends/webgpu/MassiveDataRenderer.d.ts +111 -0
  68. package/dist/gpu/backends/webgpu/WebGPUBackend.d.ts +58 -0
  69. package/dist/gpu/backends/webgpu/pipelines/bandPipeline.d.ts +24 -0
  70. package/dist/gpu/backends/webgpu/pipelines/heatmapPipeline.d.ts +28 -0
  71. package/dist/gpu/backends/webgpu/pipelines/index.d.ts +10 -0
  72. package/dist/gpu/backends/webgpu/pipelines/instancedLinePipeline.d.ts +23 -0
  73. package/dist/gpu/backends/webgpu/pipelines/instancedPointPipeline.d.ts +25 -0
  74. package/dist/gpu/backends/webgpu/pipelines/linePipeline.d.ts +23 -0
  75. package/dist/gpu/backends/webgpu/pipelines/pointPipeline.d.ts +28 -0
  76. package/dist/gpu/backends/webgpu/pipelines/trianglePipeline.d.ts +5 -0
  77. package/dist/gpu/backends/webgpu/pipelines/triangleShader.d.ts +1 -0
  78. package/dist/gpu/backends/webgpu/shaders/heatmap.wgsl.d.ts +8 -0
  79. package/dist/gpu/backends/webgpu/shaders/index.d.ts +8 -0
  80. package/dist/gpu/backends/webgpu/shaders/instanced.wgsl.d.ts +16 -0
  81. package/dist/gpu/backends/webgpu/shaders/line.wgsl.d.ts +8 -0
  82. package/dist/gpu/backends/webgpu/shaders/point.wgsl.d.ts +9 -0
  83. package/dist/gpu/benchmark/benchmark.d.ts +74 -0
  84. package/dist/gpu/benchmark/index.d.ts +5 -0
  85. package/dist/gpu/compute/gpuCompute.d.ts +72 -0
  86. package/dist/gpu/compute/index.d.ts +6 -0
  87. package/dist/gpu/compute/shaders.d.ts +9 -0
  88. package/dist/gpu/drawList.d.ts +77 -0
  89. package/dist/gpu/examples/gallery.d.ts +20 -0
  90. package/dist/gpu/examples/index.d.ts +3 -0
  91. package/dist/gpu/examples/webgpu-line-demo.d.ts +8 -0
  92. package/dist/gpu/examples/webgpu-triangle.d.ts +1 -0
  93. package/dist/gpu/frame.d.ts +25 -0
  94. package/dist/gpu/index.d.ts +24 -0
  95. package/dist/gpu/resources/bufferStore.d.ts +40 -0
  96. package/dist/gpu/resources/index.d.ts +9 -0
  97. package/dist/gpu/resources/pipelineCache.d.ts +33 -0
  98. package/dist/gpu/resources/textureStore.d.ts +41 -0
  99. package/dist/gpu/types.d.ts +47 -0
  100. package/dist/index-BMiZoKmm.js +536 -0
  101. package/dist/index-BMiZoKmm.js.map +1 -0
  102. package/dist/index-Ce2JgkH_.js +282 -0
  103. package/dist/index-Ce2JgkH_.js.map +1 -0
  104. package/dist/index-D8ifudJH.js +2431 -0
  105. package/dist/index-D8ifudJH.js.map +1 -0
  106. package/dist/index-Dag88bW4.js +499 -0
  107. package/dist/index-Dag88bW4.js.map +1 -0
  108. package/dist/index-qhscKTDy.js +309 -0
  109. package/dist/index-qhscKTDy.js.map +1 -0
  110. package/dist/index-x4stH3jD.js +282 -0
  111. package/dist/index-x4stH3jD.js.map +1 -0
  112. package/dist/index.core-CYu3tydL.js +7252 -0
  113. package/dist/index.core-CYu3tydL.js.map +1 -0
  114. package/dist/index.core.d.ts +20 -0
  115. package/dist/index.d.ts +51 -0
  116. package/dist/overlay/CanvasOverlay.d.ts +102 -0
  117. package/dist/overlay/index.d.ts +4 -0
  118. package/dist/plugins/3d/Area3DRenderer.d.ts +122 -0
  119. package/dist/plugins/3d/Axes3D.d.ts +104 -0
  120. package/dist/plugins/3d/Bubble3DRenderer.d.ts +198 -0
  121. package/dist/plugins/3d/Impulse3DRenderer.d.ts +130 -0
  122. package/dist/plugins/3d/Line3DRenderer.d.ts +118 -0
  123. package/dist/plugins/3d/PointCloud3DRenderer.d.ts +84 -0
  124. package/dist/plugins/3d/Raycaster3D.d.ts +137 -0
  125. package/dist/plugins/3d/Ribbon3DRenderer.d.ts +83 -0
  126. package/dist/plugins/3d/SurfaceBar3DRenderer.d.ts +92 -0
  127. package/dist/plugins/3d/SurfaceMesh3DRenderer.d.ts +130 -0
  128. package/dist/plugins/3d/Tooltip3D.d.ts +71 -0
  129. package/dist/plugins/3d/VectorField3DRenderer.d.ts +86 -0
  130. package/dist/plugins/3d/Voxel3DRenderer.d.ts +89 -0
  131. package/dist/plugins/3d/Waterfall3DRenderer.d.ts +94 -0
  132. package/dist/plugins/3d/camera/OrbitCamera.d.ts +99 -0
  133. package/dist/plugins/3d/camera/index.d.ts +1 -0
  134. package/dist/plugins/3d/colorThemes.d.ts +39 -0
  135. package/dist/plugins/3d/controls/OrbitController.d.ts +69 -0
  136. package/dist/plugins/3d/controls/index.d.ts +1 -0
  137. package/dist/plugins/3d/index.d.ts +50 -0
  138. package/dist/plugins/3d/math/Mat4.d.ts +33 -0
  139. package/dist/plugins/3d/math/Vec3.d.ts +37 -0
  140. package/dist/plugins/3d/math/index.d.ts +4 -0
  141. package/dist/plugins/3d/mesh/InstancedMesh.d.ts +42 -0
  142. package/dist/plugins/3d/mesh/geometry.d.ts +34 -0
  143. package/dist/plugins/3d/mesh/index.d.ts +2 -0
  144. package/dist/plugins/3d/series/Area3D.d.ts +17 -0
  145. package/dist/plugins/3d/series/Column3D.d.ts +20 -0
  146. package/dist/plugins/3d/series/Heatmap3D.d.ts +17 -0
  147. package/dist/plugins/3d/series/Impulse3D.d.ts +16 -0
  148. package/dist/plugins/3d/series/PointLine3D.d.ts +20 -0
  149. package/dist/plugins/3d/series/Ribbon3D.d.ts +17 -0
  150. package/dist/plugins/3d/series/Scatter3D.d.ts +21 -0
  151. package/dist/plugins/3d/series/SurfaceMesh3D.d.ts +35 -0
  152. package/dist/plugins/3d/series/Waterfall3D.d.ts +38 -0
  153. package/dist/plugins/3d/series/index.d.ts +13 -0
  154. package/dist/plugins/3d/series/types.d.ts +143 -0
  155. package/dist/plugins/3d/shader/index.d.ts +2 -0
  156. package/dist/plugins/3d/shader/programs.d.ts +24 -0
  157. package/dist/plugins/3d/shader/sources.d.ts +27 -0
  158. package/dist/plugins/3d/types.d.ts +71 -0
  159. package/dist/plugins/3d.d.ts +3 -0
  160. package/dist/plugins/3d.js +5498 -0
  161. package/dist/plugins/3d.js.map +1 -0
  162. package/dist/plugins/PluginContext.d.ts +53 -0
  163. package/dist/plugins/PluginManager.d.ts +129 -0
  164. package/dist/plugins/PluginRegistry.d.ts +38 -0
  165. package/dist/plugins/analysis/SeriesFit.d.ts +3 -0
  166. package/dist/plugins/analysis/contours.d.ts +20 -0
  167. package/dist/plugins/analysis/fft.d.ts +138 -0
  168. package/dist/plugins/analysis/filters.d.ts +76 -0
  169. package/dist/plugins/analysis/fitting.d.ts +24 -0
  170. package/dist/plugins/analysis/index.d.ts +29 -0
  171. package/dist/plugins/analysis/indicators.d.ts +148 -0
  172. package/dist/plugins/analysis/math.d.ts +32 -0
  173. package/dist/plugins/analysis/statistics.d.ts +78 -0
  174. package/dist/plugins/analysis/utils.d.ts +150 -0
  175. package/dist/plugins/analysis.d.ts +3 -0
  176. package/dist/plugins/analysis.js +1202 -0
  177. package/dist/plugins/analysis.js.map +1 -0
  178. package/dist/plugins/annotations/index.d.ts +16 -0
  179. package/dist/plugins/annotations.d.ts +3 -0
  180. package/dist/plugins/annotations.js +438 -0
  181. package/dist/plugins/annotations.js.map +1 -0
  182. package/dist/plugins/anomaly-detection/algorithms.d.ts +38 -0
  183. package/dist/plugins/anomaly-detection/index.d.ts +16 -0
  184. package/dist/plugins/anomaly-detection/types.d.ts +57 -0
  185. package/dist/plugins/broken-axis/BrokenAxisScale.d.ts +24 -0
  186. package/dist/plugins/broken-axis/exports.d.ts +6 -0
  187. package/dist/plugins/broken-axis/index.d.ts +6 -0
  188. package/dist/plugins/broken-axis/types.d.ts +50 -0
  189. package/dist/plugins/builtins/crosshair/CrosshairPlugin.d.ts +40 -0
  190. package/dist/plugins/builtins/crosshair/index.d.ts +1 -0
  191. package/dist/plugins/builtins/data-logger/DataLoggerPlugin.d.ts +11 -0
  192. package/dist/plugins/builtins/data-logger/index.d.ts +1 -0
  193. package/dist/plugins/builtins/direction-indicator/DirectionIndicatorPlugin.d.ts +17 -0
  194. package/dist/plugins/builtins/direction-indicator/index.d.ts +2 -0
  195. package/dist/plugins/builtins/grid-highlight/GridHighlightPlugin.d.ts +17 -0
  196. package/dist/plugins/builtins/grid-highlight/index.d.ts +1 -0
  197. package/dist/plugins/builtins/index.d.ts +25 -0
  198. package/dist/plugins/builtins/stats/StatsPlugin.d.ts +11 -0
  199. package/dist/plugins/builtins/stats/index.d.ts +1 -0
  200. package/dist/plugins/builtins/watermark/WatermarkPlugin.d.ts +15 -0
  201. package/dist/plugins/builtins/watermark/index.d.ts +1 -0
  202. package/dist/plugins/caching/exports.d.ts +6 -0
  203. package/dist/plugins/caching/index.d.ts +6 -0
  204. package/dist/plugins/caching/types.d.ts +120 -0
  205. package/dist/plugins/clipboard/index.d.ts +20 -0
  206. package/dist/plugins/clipboard.d.ts +3 -0
  207. package/dist/plugins/clipboard.js +270 -0
  208. package/dist/plugins/clipboard.js.map +1 -0
  209. package/dist/plugins/context-menu/index.d.ts +12 -0
  210. package/dist/plugins/context-menu/renderer.d.ts +43 -0
  211. package/dist/plugins/context-menu/types.d.ts +202 -0
  212. package/dist/plugins/context-menu.d.ts +3 -0
  213. package/dist/plugins/context-menu.js +621 -0
  214. package/dist/plugins/context-menu.js.map +1 -0
  215. package/dist/plugins/data-export/formatters.d.ts +34 -0
  216. package/dist/plugins/data-export/index.d.ts +15 -0
  217. package/dist/plugins/data-export/types.d.ts +166 -0
  218. package/dist/plugins/data-export.d.ts +3 -0
  219. package/dist/plugins/data-export.js +463 -0
  220. package/dist/plugins/data-export.js.map +1 -0
  221. package/dist/plugins/data-transform/index.d.ts +6 -0
  222. package/dist/plugins/data-transform/types.d.ts +34 -0
  223. package/dist/plugins/debug/index.d.ts +24 -0
  224. package/dist/plugins/debug.d.ts +3 -0
  225. package/dist/plugins/debug.js +330 -0
  226. package/dist/plugins/debug.js.map +1 -0
  227. package/dist/plugins/drag-edit/exports.d.ts +6 -0
  228. package/dist/plugins/drag-edit/index.d.ts +6 -0
  229. package/dist/plugins/drag-edit/types.d.ts +118 -0
  230. package/dist/plugins/forecasting/algorithms.d.ts +6 -0
  231. package/dist/plugins/forecasting/exports.d.ts +3 -0
  232. package/dist/plugins/forecasting/index.d.ts +11 -0
  233. package/dist/plugins/forecasting/types.d.ts +88 -0
  234. package/dist/plugins/gpu/index.d.ts +24 -0
  235. package/dist/plugins/gpu.d.ts +3 -0
  236. package/dist/plugins/gpu.js +2430 -0
  237. package/dist/plugins/gpu.js.map +1 -0
  238. package/dist/plugins/i18n/index.d.ts +22 -0
  239. package/dist/plugins/i18n.d.ts +3 -0
  240. package/dist/plugins/i18n.js +37 -0
  241. package/dist/plugins/i18n.js.map +1 -0
  242. package/dist/plugins/index.d.ts +110 -0
  243. package/dist/plugins/keyboard/index.d.ts +15 -0
  244. package/dist/plugins/keyboard.d.ts +3 -0
  245. package/dist/plugins/keyboard.js +8 -0
  246. package/dist/plugins/keyboard.js.map +1 -0
  247. package/dist/plugins/latex/exports.d.ts +6 -0
  248. package/dist/plugins/latex/index.d.ts +8 -0
  249. package/dist/plugins/latex/parser.d.ts +6 -0
  250. package/dist/plugins/latex/renderer.d.ts +6 -0
  251. package/dist/plugins/latex/symbols.d.ts +28 -0
  252. package/dist/plugins/latex/types.d.ts +88 -0
  253. package/dist/plugins/lazy-load/exports.d.ts +6 -0
  254. package/dist/plugins/lazy-load/index.d.ts +6 -0
  255. package/dist/plugins/lazy-load/types.d.ts +121 -0
  256. package/dist/plugins/loading/index.d.ts +15 -0
  257. package/dist/plugins/loading.d.ts +3 -0
  258. package/dist/plugins/loading.js +7 -0
  259. package/dist/plugins/loading.js.map +1 -0
  260. package/dist/plugins/ml-integration/exports.d.ts +11 -0
  261. package/dist/plugins/ml-integration/index.d.ts +6 -0
  262. package/dist/plugins/ml-integration/native-algorithms.d.ts +69 -0
  263. package/dist/plugins/ml-integration/types.d.ts +74 -0
  264. package/dist/plugins/offscreen/exports.d.ts +6 -0
  265. package/dist/plugins/offscreen/index.d.ts +6 -0
  266. package/dist/plugins/offscreen/pool.d.ts +32 -0
  267. package/dist/plugins/offscreen/types.d.ts +35 -0
  268. package/dist/plugins/pattern-recognition/index.d.ts +6 -0
  269. package/dist/plugins/pattern-recognition/patterns.d.ts +3 -0
  270. package/dist/plugins/pattern-recognition/types.d.ts +245 -0
  271. package/dist/plugins/radar/index.d.ts +6 -0
  272. package/dist/plugins/radar/types.d.ts +40 -0
  273. package/dist/plugins/regression/algorithms.d.ts +6 -0
  274. package/dist/plugins/regression/index.d.ts +6 -0
  275. package/dist/plugins/regression/types.d.ts +261 -0
  276. package/dist/plugins/roi/exports.d.ts +6 -0
  277. package/dist/plugins/roi/index.d.ts +49 -0
  278. package/dist/plugins/roi/types.d.ts +60 -0
  279. package/dist/plugins/snapshot/index.d.ts +11 -0
  280. package/dist/plugins/snapshot/types.d.ts +38 -0
  281. package/dist/plugins/streaming/index.d.ts +32 -0
  282. package/dist/plugins/streaming.d.ts +3 -0
  283. package/dist/plugins/streaming.js +13 -0
  284. package/dist/plugins/streaming.js.map +1 -0
  285. package/dist/plugins/sync/index.d.ts +22 -0
  286. package/dist/plugins/sync.d.ts +3 -0
  287. package/dist/plugins/sync.js +261 -0
  288. package/dist/plugins/sync.js.map +1 -0
  289. package/dist/plugins/theme-editor/index.d.ts +18 -0
  290. package/dist/plugins/theme-editor.d.ts +3 -0
  291. package/dist/plugins/theme-editor.js +7 -0
  292. package/dist/plugins/theme-editor.js.map +1 -0
  293. package/dist/plugins/tools/delta-tool/index.d.ts +159 -0
  294. package/dist/plugins/tools/index.d.ts +21 -0
  295. package/dist/plugins/tools/peak-tool/index.d.ts +159 -0
  296. package/dist/plugins/tools/tooltip/TooltipManager.d.ts +213 -0
  297. package/dist/plugins/tools/tooltip/TooltipPositioner.d.ts +83 -0
  298. package/dist/plugins/tools/tooltip/TooltipRenderer.d.ts +64 -0
  299. package/dist/plugins/tools/tooltip/index.d.ts +18 -0
  300. package/dist/plugins/tools/tooltip/templates/AnnotationTemplate.d.ts +18 -0
  301. package/dist/plugins/tools/tooltip/templates/CrosshairTemplate.d.ts +39 -0
  302. package/dist/plugins/tools/tooltip/templates/DefaultTemplate.d.ts +30 -0
  303. package/dist/plugins/tools/tooltip/templates/HeatmapTemplate.d.ts +34 -0
  304. package/dist/plugins/tools/tooltip/templates/MinimalTemplate.d.ts +26 -0
  305. package/dist/plugins/tools/tooltip/templates/RangeTemplate.d.ts +18 -0
  306. package/dist/plugins/tools/tooltip/templates/ScientificTemplate.d.ts +34 -0
  307. package/dist/plugins/tools/tooltip/templates/index.d.ts +27 -0
  308. package/dist/plugins/tools/tooltip/themes.d.ts +48 -0
  309. package/dist/plugins/tools/tooltip/types.d.ts +396 -0
  310. package/dist/plugins/tools.d.ts +3 -0
  311. package/dist/plugins/tools.js +9 -0
  312. package/dist/plugins/tools.js.map +1 -0
  313. package/dist/plugins/types.d.ts +451 -0
  314. package/dist/plugins/video-recorder/exports.d.ts +6 -0
  315. package/dist/plugins/video-recorder/index.d.ts +6 -0
  316. package/dist/plugins/video-recorder/types.d.ts +55 -0
  317. package/dist/plugins/virtualization/exports.d.ts +6 -0
  318. package/dist/plugins/virtualization/index.d.ts +6 -0
  319. package/dist/plugins/virtualization/types.d.ts +48 -0
  320. package/dist/react/SciPlot.d.ts +60 -0
  321. package/dist/react/index.d.ts +5 -0
  322. package/dist/react/useSciPlot.d.ts +56 -0
  323. package/dist/renderer/BarRenderer.d.ts +14 -0
  324. package/dist/renderer/CandlestickRenderer.d.ts +12 -0
  325. package/dist/renderer/GaugeRenderer.d.ts +3 -0
  326. package/dist/renderer/HeatmapRenderer.d.ts +15 -0
  327. package/dist/renderer/NativeWebGLRenderer.d.ts +16 -0
  328. package/dist/renderer/PolarRenderer.d.ts +64 -0
  329. package/dist/renderer/RendererInterface.d.ts +70 -0
  330. package/dist/renderer/SankeyRenderer.d.ts +3 -0
  331. package/dist/renderer/WebGPURenderer.d.ts +16 -0
  332. package/dist/renderer/index.d.ts +13 -0
  333. package/dist/renderer/native/NativeWebGLRenderer.d.ts +31 -0
  334. package/dist/renderer/native/bufferStore.d.ts +11 -0
  335. package/dist/renderer/native/draw.d.ts +47 -0
  336. package/dist/renderer/native/programFactory.d.ts +3 -0
  337. package/dist/renderer/native/renderFrame.d.ts +3 -0
  338. package/dist/renderer/native/shaderSources.d.ts +6 -0
  339. package/dist/renderer/native/textureStore.d.ts +8 -0
  340. package/dist/renderer/native/types.d.ts +77 -0
  341. package/dist/renderer/native/utils.d.ts +31 -0
  342. package/dist/renderer/radar/RadarRenderer.d.ts +71 -0
  343. package/dist/renderer/radar/index.d.ts +10 -0
  344. package/dist/renderer/shaders.d.ts +77 -0
  345. package/dist/renderer/ternary/TernaryRenderer.d.ts +39 -0
  346. package/dist/renderer/ternary/index.d.ts +6 -0
  347. package/dist/renderer/ternary/types.d.ts +56 -0
  348. package/dist/scales/index.d.ts +54 -0
  349. package/dist/serialization/index.d.ts +153 -0
  350. package/dist/streaming/backpressure.d.ts +179 -0
  351. package/dist/streaming/index.d.ts +7 -0
  352. package/dist/streaming/mock.d.ts +12 -0
  353. package/dist/streaming/types.d.ts +57 -0
  354. package/dist/streaming/utils.d.ts +19 -0
  355. package/dist/streaming/websocket.d.ts +6 -0
  356. package/dist/testing/index.d.ts +225 -0
  357. package/dist/theme/colorSchemes.d.ts +56 -0
  358. package/dist/theme/index.d.ts +138 -0
  359. package/dist/types.d.ts +753 -0
  360. package/dist/utils-Dbro9-qM.js +254 -0
  361. package/dist/utils-Dbro9-qM.js.map +1 -0
  362. package/dist/velo-plot.d.ts +1 -0
  363. package/dist/velo-plot.full.d.ts +1 -0
  364. package/dist/velo-plot.full.js +5804 -0
  365. package/dist/velo-plot.full.js.map +1 -0
  366. package/dist/velo-plot.js +31 -0
  367. package/dist/velo-plot.js.map +1 -0
  368. package/dist/workers/downsample.d.ts +34 -0
  369. package/dist/workers/downsample.worker.d.ts +46 -0
  370. package/package.json +185 -0
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Sci Plot - Keyboard Shortcuts Module
3
+ *
4
+ * Provides customizable keyboard shortcuts for chart interactions.
5
+ * Supports key combinations, custom actions, and enable/disable per key.
6
+ *
7
+ * @module keybindings
8
+ */
9
+ /** Available built-in actions */
10
+ export type KeyAction = 'resetZoom' | 'autoScale' | 'zoomIn' | 'zoomOut' | 'panLeft' | 'panRight' | 'panUp' | 'panDown' | 'togglePan' | 'toggleSelect' | 'clearSelection' | 'deleteSelected' | 'selectAll' | 'copy' | 'exportImage' | 'toggleLegend' | 'toggleDebug' | 'escape' | 'undo' | 'redo' | 'custom';
11
+ /** Key binding configuration */
12
+ export interface KeyBinding {
13
+ /** The key code (e.g., 'KeyR', 'Escape', 'ArrowLeft') */
14
+ key: string;
15
+ /** Action to perform */
16
+ action: KeyAction;
17
+ /** Require Ctrl/Cmd key */
18
+ ctrl?: boolean;
19
+ /** Require Shift key */
20
+ shift?: boolean;
21
+ /** Require Alt key */
22
+ alt?: boolean;
23
+ /** Require Meta key (Cmd on Mac) */
24
+ meta?: boolean;
25
+ /** Custom handler function (required if action is 'custom') */
26
+ handler?: () => void;
27
+ /** Whether this binding is enabled (default: true) */
28
+ enabled?: boolean;
29
+ /** Description for help/UI display */
30
+ description?: string;
31
+ }
32
+ /** Callbacks for keyboard actions */
33
+ export interface KeyBindingCallbacks {
34
+ onResetZoom?: () => void;
35
+ onAutoScale?: () => void;
36
+ onZoomIn?: () => void;
37
+ onZoomOut?: () => void;
38
+ onPanLeft?: () => void;
39
+ onPanRight?: () => void;
40
+ onPanUp?: () => void;
41
+ onPanDown?: () => void;
42
+ onTogglePan?: () => void;
43
+ onToggleSelect?: () => void;
44
+ onClearSelection?: () => void;
45
+ onDeleteSelected?: () => void;
46
+ onSelectAll?: () => void;
47
+ onCopy?: () => void;
48
+ onExportImage?: () => void;
49
+ onToggleLegend?: () => void;
50
+ onToggleDebug?: () => void;
51
+ onEscape?: () => void;
52
+ onUndo?: () => void;
53
+ onRedo?: () => void;
54
+ }
55
+ export interface KeyBindingManagerOptions {
56
+ /** Enable keyboard shortcuts (default: true) */
57
+ enabled?: boolean;
58
+ /** Custom key bindings (merged with defaults) */
59
+ bindings?: KeyBinding[];
60
+ /** Override all default bindings (replace instead of merge) */
61
+ replaceDefaults?: boolean;
62
+ /** Callbacks for built-in actions */
63
+ callbacks: KeyBindingCallbacks;
64
+ /** Target element for keyboard events (default: document) */
65
+ target?: HTMLElement | Document;
66
+ /** Prevent default browser behavior for matched keys (default: true) */
67
+ preventDefault?: boolean;
68
+ }
69
+ export declare const DEFAULT_KEY_BINDINGS: KeyBinding[];
70
+ export declare class KeyBindingManager {
71
+ private bindings;
72
+ private callbacks;
73
+ private target;
74
+ private enabled;
75
+ private preventDefault;
76
+ private boundHandler;
77
+ constructor(options: KeyBindingManagerOptions);
78
+ /**
79
+ * Attach keyboard event listeners
80
+ */
81
+ attach(): void;
82
+ /**
83
+ * Detach keyboard event listeners
84
+ */
85
+ detach(): void;
86
+ /**
87
+ * Enable/disable all keyboard shortcuts
88
+ */
89
+ setEnabled(enabled: boolean): void;
90
+ /**
91
+ * Check if keyboard shortcuts are enabled
92
+ */
93
+ isEnabled(): boolean;
94
+ /**
95
+ * Add a custom key binding
96
+ */
97
+ addBinding(binding: KeyBinding): void;
98
+ /**
99
+ * Remove a key binding by key code
100
+ */
101
+ removeBinding(key: string, modifiers?: {
102
+ ctrl?: boolean;
103
+ shift?: boolean;
104
+ alt?: boolean;
105
+ }): void;
106
+ /**
107
+ * Update an existing binding
108
+ */
109
+ updateBinding(key: string, updates: Partial<KeyBinding>): void;
110
+ /**
111
+ * Enable/disable a specific binding
112
+ */
113
+ setBindingEnabled(key: string, enabled: boolean): void;
114
+ /**
115
+ * Get all current bindings
116
+ */
117
+ getBindings(): KeyBinding[];
118
+ /**
119
+ * Get binding for a specific key
120
+ */
121
+ getBinding(key: string): KeyBinding | undefined;
122
+ /**
123
+ * Get a formatted list of all shortcuts (for help display)
124
+ */
125
+ getShortcutList(): {
126
+ key: string;
127
+ description: string;
128
+ }[];
129
+ /**
130
+ * Format a key binding for display
131
+ */
132
+ formatKeyBinding(binding: KeyBinding): string;
133
+ /**
134
+ * Handle keydown events
135
+ */
136
+ private handleKeyDown;
137
+ /**
138
+ * Find a binding that matches the current key event
139
+ */
140
+ private findMatchingBinding;
141
+ /**
142
+ * Execute the action for a binding
143
+ */
144
+ private executeAction;
145
+ /**
146
+ * Destroy the manager and cleanup
147
+ */
148
+ destroy(): void;
149
+ }
150
+ /**
151
+ * Create a simple key binding configuration
152
+ */
153
+ export declare function createKeyBinding(key: string, action: KeyAction, options?: Partial<KeyBinding>): KeyBinding;
154
+ /**
155
+ * Parse a shortcut string (e.g., "Ctrl+R") into a KeyBinding
156
+ */
157
+ export declare function parseShortcut(shortcut: string, action: KeyAction): KeyBinding;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Layout Module - Chart Component Positioning and Spacing
3
+ *
4
+ * Provides detailed control over:
5
+ * - Legend positioning and hover behavior
6
+ * - Crosshair/cursor value display modes
7
+ * - Toolbar positioning
8
+ * - Chart title configuration
9
+ * - Margins and padding
10
+ * - Axis layout spacing
11
+ */
12
+ export * from './types';
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Layout Configuration Types
3
+ *
4
+ * Provides detailed control over chart component positioning and spacing.
5
+ */
6
+ /** Position presets for legend placement */
7
+ export type LegendPositionPreset = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top-center' | 'bottom-center';
8
+ export interface LegendOptions {
9
+ /** Show the legend (default: from theme) */
10
+ visible?: boolean;
11
+ /** Position preset or custom coordinates */
12
+ position?: LegendPositionPreset | {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ /** Width of the legend in pixels */
17
+ width?: number;
18
+ /**
19
+ * Highlight series color on hover in legend (default: false)
20
+ * When false, series still comes to foreground but color doesn't change
21
+ */
22
+ highlightOnHover?: boolean;
23
+ /**
24
+ * Bring series to foreground (z-index) on hover in legend (default: true)
25
+ */
26
+ bringToFrontOnHover?: boolean;
27
+ /** Draggable legend (default: true) */
28
+ draggable?: boolean;
29
+ /** Resizable legend (default: true) */
30
+ resizable?: boolean;
31
+ }
32
+ /** Mode for displaying crosshair coordinate values */
33
+ export type CrosshairValueMode = 'disabled' | 'corner' | 'floating';
34
+ /** Corner positions for crosshair value display */
35
+ export type CornerPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
36
+ export interface CrosshairOptions {
37
+ /** Show crosshair lines (default: true) */
38
+ enabled?: boolean;
39
+ /** Show vertical line (default: true) */
40
+ showVertical?: boolean;
41
+ /** Show horizontal line (default: true) */
42
+ showHorizontal?: boolean;
43
+ /** Line color (default: from theme) */
44
+ color?: string;
45
+ /** Line style (default: 'dashed') */
46
+ lineStyle?: 'solid' | 'dashed' | 'dotted';
47
+ /** Line width in pixels (default: 1) */
48
+ lineWidth?: number;
49
+ /** Snap to nearest data point (default: false) */
50
+ snapToData?: boolean;
51
+ /**
52
+ * Display mode for X,Y coordinate values (default: 'disabled')
53
+ * - 'disabled': Never show coordinate values
54
+ * - 'corner': Show values in a fixed corner position
55
+ * - 'floating': Show values next to the cursor
56
+ */
57
+ valueDisplayMode?: CrosshairValueMode;
58
+ /**
59
+ * Corner position when valueDisplayMode is 'corner' (default: 'top-left')
60
+ */
61
+ cornerPosition?: CornerPosition;
62
+ /** Value display formatting options */
63
+ valueFormat?: {
64
+ /** X value precision (default: 4) */
65
+ xPrecision?: number;
66
+ /** Y value precision (default: 4) */
67
+ yPrecision?: number;
68
+ /** Use scientific notation for large/small values */
69
+ scientific?: boolean;
70
+ };
71
+ }
72
+ /** Position presets for toolbar placement */
73
+ export type ToolbarPositionPreset = 'top-left' | 'top-right' | 'top-center' | 'bottom-left' | 'bottom-right' | 'bottom-center';
74
+ export interface ToolbarPosition {
75
+ /** Horizontal position: distance from left edge in pixels or preset */
76
+ horizontal?: number | 'left' | 'center' | 'right';
77
+ /** Vertical position: distance from top edge in pixels or preset */
78
+ vertical?: number | 'top' | 'bottom';
79
+ /** Offset from calculated position */
80
+ offset?: {
81
+ x?: number;
82
+ y?: number;
83
+ };
84
+ }
85
+ export interface ChartTitleOptions {
86
+ /** Title text */
87
+ text?: string;
88
+ /** Title visibility */
89
+ visible?: boolean;
90
+ /** Font size in pixels */
91
+ fontSize?: number;
92
+ /** Font family */
93
+ fontFamily?: string;
94
+ /** Font weight */
95
+ fontWeight?: string | number;
96
+ /** Text color */
97
+ color?: string;
98
+ /** Title position */
99
+ position?: 'top' | 'bottom';
100
+ /** Alignment within position */
101
+ align?: 'left' | 'center' | 'right';
102
+ /** Padding around title */
103
+ padding?: number | {
104
+ top?: number;
105
+ bottom?: number;
106
+ };
107
+ }
108
+ export interface AxisLayoutOptions {
109
+ /** Distance between axis line and axis title in pixels */
110
+ titleGap?: number;
111
+ /** Distance between tick labels and axis line in pixels */
112
+ labelGap?: number;
113
+ /** Distance between tick marks and axis line in pixels */
114
+ tickGap?: number;
115
+ /** Padding between axis area and plot area in pixels */
116
+ axisPadding?: number;
117
+ }
118
+ export interface ChartMargins {
119
+ /** Top margin in pixels */
120
+ top?: number;
121
+ /** Right margin in pixels */
122
+ right?: number;
123
+ /** Bottom margin in pixels */
124
+ bottom?: number;
125
+ /** Left margin in pixels */
126
+ left?: number;
127
+ }
128
+ export interface PlotAreaPadding {
129
+ /** Padding inside the plot area - top */
130
+ top?: number;
131
+ /** Padding inside the plot area - right */
132
+ right?: number;
133
+ /** Padding inside the plot area - bottom */
134
+ bottom?: number;
135
+ /** Padding inside the plot area - left */
136
+ left?: number;
137
+ }
138
+ export interface LayoutOptions {
139
+ /** Chart title configuration */
140
+ title?: ChartTitleOptions;
141
+ /** Legend positioning and behavior */
142
+ legend?: LegendOptions;
143
+ /** Toolbar positioning */
144
+ toolbarPosition?: ToolbarPositionPreset | ToolbarPosition;
145
+ /** Crosshair/cursor configuration */
146
+ crosshair?: CrosshairOptions;
147
+ /** Chart margins (space between container and chart) */
148
+ margins?: ChartMargins;
149
+ /** Plot area padding (space inside the chart border) */
150
+ plotPadding?: PlotAreaPadding;
151
+ /** X-axis layout options */
152
+ xAxisLayout?: AxisLayoutOptions;
153
+ /** Y-axis layout options */
154
+ yAxisLayout?: AxisLayoutOptions;
155
+ /** Auto-adjust margins based on axis content (default: true) */
156
+ autoMargins?: boolean;
157
+ }
158
+ /**
159
+ * Default layout values
160
+ */
161
+ export declare const DEFAULT_LAYOUT: Required<LayoutOptions>;
162
+ /**
163
+ * Merge user layout options with defaults
164
+ */
165
+ export declare function mergeLayoutOptions(userOptions?: Partial<LayoutOptions>): Required<LayoutOptions>;
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Sci Plot - Loading Indicator Module
3
+ *
4
+ * Provides visual loading/progress indicators for chart operations.
5
+ * Supports progress bars, spinners, and skeleton placeholders.
6
+ *
7
+ * @module loading
8
+ */
9
+ export type LoadingIndicatorType = 'spinner' | 'progress' | 'skeleton' | 'pulse';
10
+ export interface LoadingIndicatorOptions {
11
+ /** Indicator type (default: 'spinner') */
12
+ type?: LoadingIndicatorType;
13
+ /** Message to display (default: 'Loading...') */
14
+ message?: string;
15
+ /** Show percentage for progress type (default: true) */
16
+ showPercentage?: boolean;
17
+ /** Background overlay opacity (0-1, default: 0.7) */
18
+ overlayOpacity?: number;
19
+ /** Accent color for spinner/progress (default: '#00f2ff') */
20
+ accentColor?: string;
21
+ /** Background color (default: 'rgba(0,0,0,0.7)') */
22
+ backgroundColor?: string;
23
+ /** Text color (default: '#ffffff') */
24
+ textColor?: string;
25
+ /** Size: 'small', 'medium', 'large' (default: 'medium') */
26
+ size?: 'small' | 'medium' | 'large';
27
+ /** Custom CSS class */
28
+ className?: string;
29
+ /** Auto-hide after completion (default: true) */
30
+ autoHide?: boolean;
31
+ /** Hide delay in ms after completion (default: 300) */
32
+ hideDelay?: number;
33
+ }
34
+ export interface LoadingState {
35
+ /** Whether loading is in progress */
36
+ isLoading: boolean;
37
+ /** Progress value (0-100) */
38
+ progress: number;
39
+ /** Current message */
40
+ message: string;
41
+ /** Start time of loading */
42
+ startTime: number | null;
43
+ /** Estimated time remaining in ms */
44
+ eta: number | null;
45
+ }
46
+ export declare class LoadingIndicator {
47
+ private container;
48
+ private element;
49
+ private options;
50
+ private state;
51
+ private progressHistory;
52
+ constructor(container: HTMLElement, options?: LoadingIndicatorOptions);
53
+ /**
54
+ * Show the loading indicator
55
+ */
56
+ show(message?: string): void;
57
+ /**
58
+ * Hide the loading indicator
59
+ */
60
+ hide(): void;
61
+ /**
62
+ * Update progress (0-100)
63
+ */
64
+ setProgress(progress: number, message?: string): void;
65
+ /**
66
+ * Update message only
67
+ */
68
+ setMessage(message: string): void;
69
+ /**
70
+ * Check if loading is in progress
71
+ */
72
+ isLoading(): boolean;
73
+ /**
74
+ * Get current progress
75
+ */
76
+ getProgress(): number;
77
+ /**
78
+ * Get current state
79
+ */
80
+ getState(): LoadingState;
81
+ /**
82
+ * Destroy the indicator
83
+ */
84
+ destroy(): void;
85
+ private createElement;
86
+ private destroyElement;
87
+ private render;
88
+ private getInnerHtml;
89
+ private injectStyles;
90
+ private calculateEta;
91
+ private formatTime;
92
+ }
93
+ /**
94
+ * Create a loading indicator for a container
95
+ */
96
+ export declare function createLoadingIndicator(container: HTMLElement, options?: LoadingIndicatorOptions): LoadingIndicator;
97
+ /**
98
+ * Show loading with a simple spinner
99
+ */
100
+ export declare function showLoading(container: HTMLElement, message?: string): LoadingIndicator;
101
+ /**
102
+ * Show progress loading
103
+ */
104
+ export declare function showProgress(container: HTMLElement, message?: string): LoadingIndicator;
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Sci Plot - Internationalization (i18n) Module
3
+ *
4
+ * Provides locale-aware formatting for numbers, dates, and chart UI.
5
+ * Supports custom format functions and predefined locales.
6
+ *
7
+ * @module locale
8
+ */
9
+ export interface LocaleConfig {
10
+ /** Locale identifier (e.g., 'en-US', 'es-ES', 'de-DE') */
11
+ locale: string;
12
+ /** Decimal separator override (auto-detected if not specified) */
13
+ decimalSeparator?: string;
14
+ /** Thousands separator override (auto-detected if not specified) */
15
+ thousandsSeparator?: string;
16
+ /** Date format pattern (e.g., 'DD/MM/YYYY', 'MM/DD/YYYY', 'YYYY-MM-DD') */
17
+ dateFormat?: string;
18
+ /** Time format pattern (e.g., 'HH:mm:ss', 'hh:mm:ss a') */
19
+ timeFormat?: string;
20
+ /** Custom number formatter */
21
+ numberFormatter?: (value: number, decimals?: number) => string;
22
+ /** Custom date formatter */
23
+ dateFormatter?: (date: Date) => string;
24
+ /** Short form labels (used in axis labels) */
25
+ shortLabels?: {
26
+ time?: string;
27
+ value?: string;
28
+ points?: string;
29
+ };
30
+ /** Full form labels (used in tooltips/panels) */
31
+ labels?: {
32
+ start?: string;
33
+ pause?: string;
34
+ reset?: string;
35
+ export?: string;
36
+ autoScale?: string;
37
+ pan?: string;
38
+ zoom?: string;
39
+ select?: string;
40
+ legend?: string;
41
+ fps?: string;
42
+ points?: string;
43
+ loading?: string;
44
+ noData?: string;
45
+ error?: string;
46
+ };
47
+ }
48
+ export interface LocaleFormatter {
49
+ /** Format a number with the locale settings */
50
+ formatNumber(value: number, decimals?: number): string;
51
+ /** Format a date with the locale settings */
52
+ formatDate(date: Date): string;
53
+ /** Format a time with the locale settings */
54
+ formatTime(date: Date): string;
55
+ /** Format a date and time with the locale settings */
56
+ formatDateTime(date: Date): string;
57
+ /** Format a number with SI prefix (k, M, G, etc.) */
58
+ formatWithPrefix(value: number, unit?: string): string;
59
+ /** Format a number in scientific notation */
60
+ formatScientific(value: number, decimals?: number): string;
61
+ /** Get a localized label */
62
+ getLabel(key: keyof NonNullable<LocaleConfig['labels']>): string;
63
+ }
64
+ export declare const LOCALE_EN_US: LocaleConfig;
65
+ export declare const LOCALE_ES_ES: LocaleConfig;
66
+ export declare const LOCALE_DE_DE: LocaleConfig;
67
+ export declare const LOCALE_FR_FR: LocaleConfig;
68
+ export declare const LOCALE_PT_BR: LocaleConfig;
69
+ export declare const LOCALE_ZH_CN: LocaleConfig;
70
+ export declare const LOCALE_JA_JP: LocaleConfig;
71
+ /**
72
+ * Set the global locale for all charts
73
+ */
74
+ export declare function setGlobalLocale(localeOrConfig: string | LocaleConfig): void;
75
+ /**
76
+ * Get the current global locale
77
+ */
78
+ export declare function getGlobalLocale(): LocaleConfig;
79
+ /**
80
+ * Get a predefined locale by name
81
+ */
82
+ export declare function getLocale(name: string): LocaleConfig | undefined;
83
+ /**
84
+ * Register a custom locale
85
+ */
86
+ export declare function registerLocale(name: string, config: LocaleConfig): void;
87
+ /**
88
+ * Create a locale formatter from a configuration
89
+ */
90
+ export declare function createLocaleFormatter(config?: LocaleConfig | string): LocaleFormatter;
91
+ export declare const defaultFormatter: LocaleFormatter;
@@ -0,0 +1,133 @@
1
+ import { ChartTheme } from '../../theme';
2
+
3
+ /** Breakpoint configuration */
4
+ export interface ResponsiveBreakpoint {
5
+ /** Maximum width for this breakpoint (undefined = unlimited) */
6
+ maxWidth?: number;
7
+ /** Minimum width for this breakpoint (undefined = 0) */
8
+ minWidth?: number;
9
+ /** Font size multiplier (default: 1) */
10
+ fontScale?: number;
11
+ /** Number of X-axis ticks */
12
+ xTickCount?: number;
13
+ /** Number of Y-axis ticks */
14
+ yTickCount?: number;
15
+ /** Point size multiplier */
16
+ pointScale?: number;
17
+ /** Line width multiplier */
18
+ lineScale?: number;
19
+ /** Hit radius multiplier for touch targets */
20
+ hitRadiusScale?: number;
21
+ /** Whether to show legend */
22
+ showLegend?: boolean;
23
+ /** Legend position override */
24
+ legendPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
25
+ }
26
+ /** Preset breakpoints */
27
+ export interface ResponsiveBreakpoints {
28
+ smallMobile?: ResponsiveBreakpoint;
29
+ mobile?: ResponsiveBreakpoint;
30
+ tablet?: ResponsiveBreakpoint;
31
+ desktop?: ResponsiveBreakpoint;
32
+ }
33
+ /** Full responsive configuration */
34
+ export interface ResponsiveConfig {
35
+ /** Enable responsive behavior (default: true) */
36
+ enabled?: boolean;
37
+ /** Custom breakpoints (overrides presets) */
38
+ breakpoints?: ResponsiveBreakpoints;
39
+ /** Optimize for touch interactions (default: auto-detect) */
40
+ touchOptimized?: boolean | 'auto';
41
+ /** Respect user's reduced motion preference (default: true) */
42
+ reducedMotion?: boolean | 'auto';
43
+ /** Debounce time for resize events in ms (default: 100) */
44
+ resizeDebounce?: number;
45
+ }
46
+ /** Current responsive state */
47
+ export interface ResponsiveState {
48
+ /** Current container width */
49
+ width: number;
50
+ /** Current container height */
51
+ height: number;
52
+ /** Active breakpoint name */
53
+ breakpoint: 'smallMobile' | 'mobile' | 'tablet' | 'desktop';
54
+ /** Whether touch is optimized */
55
+ touchOptimized: boolean;
56
+ /** Whether reduced motion is enabled */
57
+ reducedMotion: boolean;
58
+ /** Computed scale factors */
59
+ scales: {
60
+ font: number;
61
+ point: number;
62
+ line: number;
63
+ hitRadius: number;
64
+ };
65
+ /** Computed tick counts */
66
+ ticks: {
67
+ x: number;
68
+ y: number;
69
+ };
70
+ }
71
+ /** Context for responsive operations */
72
+ export interface ResponsiveContext {
73
+ container: HTMLDivElement;
74
+ onStateChange: (state: ResponsiveState) => void;
75
+ }
76
+ export declare class ResponsiveManager {
77
+ private ctx;
78
+ private config;
79
+ private state;
80
+ private resizeObserver;
81
+ private debounceTimer;
82
+ private destroyed;
83
+ constructor(ctx: ResponsiveContext, config?: ResponsiveConfig);
84
+ private mergeConfig;
85
+ configure(config: Partial<ResponsiveConfig>): void;
86
+ getConfig(): ResponsiveConfig;
87
+ setEnabled(enabled: boolean): void;
88
+ isEnabled(): boolean;
89
+ getState(): ResponsiveState;
90
+ /**
91
+ * Manually trigger a state update
92
+ */
93
+ update(): void;
94
+ private computeState;
95
+ private getActiveBreakpoint;
96
+ private detectTouchOptimization;
97
+ private detectReducedMotion;
98
+ private hasStateChanged;
99
+ private setupResizeObserver;
100
+ private handleResize;
101
+ /**
102
+ * Apply responsive scaling to a theme
103
+ */
104
+ scaleTheme(theme: ChartTheme): ChartTheme;
105
+ /**
106
+ * Get scaled point size
107
+ */
108
+ getScaledPointSize(baseSize: number): number;
109
+ /**
110
+ * Get scaled line width
111
+ */
112
+ getScaledLineWidth(baseWidth: number): number;
113
+ /**
114
+ * Get scaled hit radius
115
+ */
116
+ getScaledHitRadius(baseRadius: number): number;
117
+ /**
118
+ * Get recommended tick counts
119
+ */
120
+ getTickCounts(): {
121
+ x: number;
122
+ y: number;
123
+ };
124
+ /**
125
+ * Check if legend should be shown at current breakpoint
126
+ */
127
+ shouldShowLegend(): boolean;
128
+ /**
129
+ * Get legend position for current breakpoint
130
+ */
131
+ getLegendPosition(): 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
132
+ destroy(): void;
133
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Responsive module exports
3
+ */
4
+ export { ResponsiveManager, type ResponsiveBreakpoint, type ResponsiveBreakpoints, type ResponsiveConfig, type ResponsiveState, type ResponsiveContext, } from './ResponsiveManager';