stream-charts 1.2.1 → 2.0.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.
Files changed (463) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +809 -1022
  3. package/changes.md +36 -0
  4. package/dist/app/charts/Chart.d.ts +35 -139
  5. package/dist/app/charts/Chart.d.ts.map +1 -0
  6. package/dist/app/charts/Chart.js +74 -65
  7. package/dist/app/charts/Chart.js.map +1 -1
  8. package/dist/app/charts/axes/AxesState.d.ts +26 -18
  9. package/dist/app/charts/axes/AxesState.d.ts.map +1 -0
  10. package/dist/app/charts/axes/AxesState.js +26 -24
  11. package/dist/app/charts/axes/AxesState.js.map +1 -1
  12. package/dist/app/charts/axes/AxisInterval.d.ts +44 -26
  13. package/dist/app/charts/axes/AxisInterval.d.ts.map +1 -0
  14. package/dist/app/charts/axes/AxisInterval.js +48 -29
  15. package/dist/app/charts/axes/AxisInterval.js.map +1 -1
  16. package/dist/app/charts/axes/BaseAxisRange.d.ts +46 -22
  17. package/dist/app/charts/axes/BaseAxisRange.d.ts.map +1 -0
  18. package/dist/app/charts/axes/BaseAxisRange.js +17 -12
  19. package/dist/app/charts/axes/BaseAxisRange.js.map +1 -1
  20. package/dist/app/charts/axes/ContinuousAxis.d.ts +47 -6
  21. package/dist/app/charts/axes/ContinuousAxis.d.ts.map +1 -0
  22. package/dist/app/charts/axes/ContinuousAxis.js +160 -27
  23. package/dist/app/charts/axes/ContinuousAxis.js.map +1 -1
  24. package/dist/app/charts/axes/ContinuousAxisRange.d.ts +29 -10
  25. package/dist/app/charts/axes/ContinuousAxisRange.d.ts.map +1 -0
  26. package/dist/app/charts/axes/ContinuousAxisRange.js +29 -11
  27. package/dist/app/charts/axes/ContinuousAxisRange.js.map +1 -1
  28. package/dist/app/charts/axes/EmptyAxis.d.ts +5 -2
  29. package/dist/app/charts/axes/EmptyAxis.d.ts.map +1 -0
  30. package/dist/app/charts/axes/EmptyAxis.js +30 -9
  31. package/dist/app/charts/axes/EmptyAxis.js.map +1 -1
  32. package/dist/app/charts/axes/OrdinalAxis.d.ts +5 -3
  33. package/dist/app/charts/axes/OrdinalAxis.d.ts.map +1 -0
  34. package/dist/app/charts/axes/OrdinalAxis.js +39 -16
  35. package/dist/app/charts/axes/OrdinalAxis.js.map +1 -1
  36. package/dist/app/charts/axes/OrdinalAxisRange.d.ts +76 -13
  37. package/dist/app/charts/axes/OrdinalAxisRange.d.ts.map +1 -0
  38. package/dist/app/charts/axes/OrdinalAxisRange.js +95 -16
  39. package/dist/app/charts/axes/OrdinalAxisRange.js.map +1 -1
  40. package/dist/app/charts/axes/autoScale.d.ts +111 -0
  41. package/dist/app/charts/axes/autoScale.d.ts.map +1 -0
  42. package/dist/app/charts/axes/autoScale.js +188 -0
  43. package/dist/app/charts/axes/autoScale.js.map +1 -0
  44. package/dist/app/charts/axes/axes.d.ts +273 -150
  45. package/dist/app/charts/axes/axes.d.ts.map +1 -0
  46. package/dist/app/charts/axes/axes.js +808 -583
  47. package/dist/app/charts/axes/axes.js.map +1 -1
  48. package/dist/app/charts/d3types.d.ts +40 -11
  49. package/dist/app/charts/d3types.d.ts.map +1 -0
  50. package/dist/app/charts/d3types.js +3 -0
  51. package/dist/app/charts/d3types.js.map +1 -1
  52. package/dist/app/charts/datasources/StreamingDataSource.d.ts +149 -0
  53. package/dist/app/charts/datasources/StreamingDataSource.d.ts.map +1 -0
  54. package/dist/app/charts/datasources/StreamingDataSource.js +110 -0
  55. package/dist/app/charts/datasources/StreamingDataSource.js.map +1 -0
  56. package/dist/app/charts/datasources/iteratesDataSource.d.ts +73 -0
  57. package/dist/app/charts/datasources/iteratesDataSource.d.ts.map +1 -0
  58. package/dist/app/charts/datasources/iteratesDataSource.js +87 -0
  59. package/dist/app/charts/datasources/iteratesDataSource.js.map +1 -0
  60. package/dist/app/charts/datasources/ordinalDataSource.d.ts +75 -0
  61. package/dist/app/charts/datasources/ordinalDataSource.d.ts.map +1 -0
  62. package/dist/app/charts/datasources/ordinalDataSource.js +135 -0
  63. package/dist/app/charts/datasources/ordinalDataSource.js.map +1 -0
  64. package/dist/app/charts/datasources/outlierDataSource.d.ts +53 -0
  65. package/dist/app/charts/datasources/outlierDataSource.d.ts.map +1 -0
  66. package/dist/app/charts/datasources/outlierDataSource.js +57 -0
  67. package/dist/app/charts/datasources/outlierDataSource.js.map +1 -0
  68. package/dist/app/charts/datasources/timeSeriesDataSource.d.ts +77 -0
  69. package/dist/app/charts/datasources/timeSeriesDataSource.d.ts.map +1 -0
  70. package/dist/app/charts/datasources/timeSeriesDataSource.js +85 -0
  71. package/dist/app/charts/datasources/timeSeriesDataSource.js.map +1 -0
  72. package/dist/app/charts/filters/regexFilter.d.ts +31 -4
  73. package/dist/app/charts/filters/regexFilter.d.ts.map +1 -0
  74. package/dist/app/charts/filters/regexFilter.js +38 -4
  75. package/dist/app/charts/filters/regexFilter.js.map +1 -1
  76. package/dist/app/charts/hooks/AxesProvider.d.ts +21 -0
  77. package/dist/app/charts/hooks/AxesProvider.d.ts.map +1 -0
  78. package/dist/app/charts/hooks/AxesProvider.js +213 -0
  79. package/dist/app/charts/hooks/AxesProvider.js.map +1 -0
  80. package/dist/app/charts/hooks/CanvasSurfaceProvider.d.ts +25 -0
  81. package/dist/app/charts/hooks/CanvasSurfaceProvider.d.ts.map +1 -0
  82. package/dist/app/charts/hooks/CanvasSurfaceProvider.js +76 -0
  83. package/dist/app/charts/hooks/CanvasSurfaceProvider.js.map +1 -0
  84. package/dist/app/charts/hooks/ChartProvider.d.ts +40 -0
  85. package/dist/app/charts/hooks/ChartProvider.d.ts.map +1 -0
  86. package/dist/app/charts/hooks/ChartProvider.js +33 -0
  87. package/dist/app/charts/hooks/ChartProvider.js.map +1 -0
  88. package/dist/app/charts/hooks/InteractionProvider.d.ts +23 -0
  89. package/dist/app/charts/hooks/InteractionProvider.d.ts.map +1 -0
  90. package/dist/app/charts/hooks/InteractionProvider.js +60 -0
  91. package/dist/app/charts/hooks/InteractionProvider.js.map +1 -0
  92. package/dist/app/charts/hooks/PlotDimensionsProvider.d.ts +16 -0
  93. package/dist/app/charts/hooks/PlotDimensionsProvider.d.ts.map +1 -0
  94. package/dist/app/charts/hooks/PlotDimensionsProvider.js +76 -0
  95. package/dist/app/charts/hooks/PlotDimensionsProvider.js.map +1 -0
  96. package/dist/app/charts/hooks/defaultAxesValues.d.ts +11 -0
  97. package/dist/app/charts/hooks/defaultAxesValues.d.ts.map +1 -0
  98. package/dist/app/charts/hooks/defaultAxesValues.js +36 -0
  99. package/dist/app/charts/hooks/defaultAxesValues.js.map +1 -0
  100. package/dist/app/charts/hooks/defaultMouseValues.d.ts +9 -0
  101. package/dist/app/charts/hooks/defaultMouseValues.d.ts.map +1 -0
  102. package/dist/app/charts/hooks/defaultMouseValues.js +23 -0
  103. package/dist/app/charts/hooks/defaultMouseValues.js.map +1 -0
  104. package/dist/app/charts/hooks/defaultPlotDimensions.d.ts +13 -0
  105. package/dist/app/charts/hooks/defaultPlotDimensions.d.ts.map +1 -0
  106. package/dist/app/charts/hooks/defaultPlotDimensions.js +23 -0
  107. package/dist/app/charts/hooks/defaultPlotDimensions.js.map +1 -0
  108. package/dist/app/charts/hooks/defaultTooltipValues.d.ts +9 -0
  109. package/dist/app/charts/hooks/defaultTooltipValues.d.ts.map +1 -0
  110. package/dist/app/charts/hooks/defaultTooltipValues.js +21 -0
  111. package/dist/app/charts/hooks/defaultTooltipValues.js.map +1 -0
  112. package/dist/app/charts/hooks/defaultUseChartValues.d.ts +14 -0
  113. package/dist/app/charts/hooks/defaultUseChartValues.d.ts.map +1 -0
  114. package/dist/app/charts/hooks/defaultUseChartValues.js +30 -0
  115. package/dist/app/charts/hooks/defaultUseChartValues.js.map +1 -0
  116. package/dist/app/charts/hooks/useAxes.d.ts +49 -36
  117. package/dist/app/charts/hooks/useAxes.d.ts.map +1 -0
  118. package/dist/app/charts/hooks/useAxes.js +16 -176
  119. package/dist/app/charts/hooks/useAxes.js.map +1 -1
  120. package/dist/app/charts/hooks/useCanvasSurface.d.ts +25 -0
  121. package/dist/app/charts/hooks/useCanvasSurface.d.ts.map +1 -0
  122. package/dist/app/charts/hooks/useCanvasSurface.js +18 -0
  123. package/dist/app/charts/hooks/useCanvasSurface.js.map +1 -0
  124. package/dist/app/charts/hooks/useChart.d.ts +30 -44
  125. package/dist/app/charts/hooks/useChart.d.ts.map +1 -0
  126. package/dist/app/charts/hooks/useChart.js +26 -48
  127. package/dist/app/charts/hooks/useChart.js.map +1 -1
  128. package/dist/app/charts/hooks/useDataSource.d.ts +68 -0
  129. package/dist/app/charts/hooks/useDataSource.d.ts.map +1 -0
  130. package/dist/app/charts/hooks/useDataSource.js +63 -0
  131. package/dist/app/charts/hooks/useDataSource.js.map +1 -0
  132. package/dist/app/charts/hooks/useHoveredSeries.d.ts +25 -0
  133. package/dist/app/charts/hooks/useHoveredSeries.d.ts.map +1 -0
  134. package/dist/app/charts/hooks/useHoveredSeries.js +15 -0
  135. package/dist/app/charts/hooks/useHoveredSeries.js.map +1 -0
  136. package/dist/app/charts/hooks/useMouse.d.ts +46 -22
  137. package/dist/app/charts/hooks/useMouse.d.ts.map +1 -0
  138. package/dist/app/charts/hooks/useMouse.js +12 -56
  139. package/dist/app/charts/hooks/useMouse.js.map +1 -1
  140. package/dist/app/charts/hooks/usePlotDimensions.d.ts +25 -13
  141. package/dist/app/charts/hooks/usePlotDimensions.d.ts.map +1 -0
  142. package/dist/app/charts/hooks/usePlotDimensions.js +6 -62
  143. package/dist/app/charts/hooks/usePlotDimensions.js.map +1 -1
  144. package/dist/app/charts/hooks/useTooltip.d.ts +24 -26
  145. package/dist/app/charts/hooks/useTooltip.d.ts.map +1 -0
  146. package/dist/app/charts/hooks/useTooltip.js +12 -42
  147. package/dist/app/charts/hooks/useTooltip.js.map +1 -1
  148. package/dist/app/charts/index.d.ts +66 -0
  149. package/dist/app/charts/index.d.ts.map +1 -0
  150. package/dist/app/charts/index.js +87 -0
  151. package/dist/app/charts/index.js.map +1 -0
  152. package/dist/app/charts/legends/Legend.d.ts +33 -12
  153. package/dist/app/charts/legends/Legend.d.ts.map +1 -0
  154. package/dist/app/charts/legends/Legend.js +138 -379
  155. package/dist/app/charts/legends/Legend.js.map +1 -1
  156. package/dist/app/charts/legends/constants.d.ts +19 -0
  157. package/dist/app/charts/legends/constants.d.ts.map +1 -0
  158. package/dist/app/charts/legends/constants.js +34 -0
  159. package/dist/app/charts/legends/constants.js.map +1 -0
  160. package/dist/app/charts/observables/ChartData.d.ts +1 -0
  161. package/dist/app/charts/observables/ChartData.d.ts.map +1 -0
  162. package/dist/app/charts/observables/iterates.d.ts +13 -7
  163. package/dist/app/charts/observables/iterates.d.ts.map +1 -0
  164. package/dist/app/charts/observables/iterates.js +42 -9
  165. package/dist/app/charts/observables/iterates.js.map +1 -1
  166. package/dist/app/charts/observables/ordinals.d.ts +70 -12
  167. package/dist/app/charts/observables/ordinals.d.ts.map +1 -0
  168. package/dist/app/charts/observables/ordinals.js +127 -48
  169. package/dist/app/charts/observables/ordinals.js.map +1 -1
  170. package/dist/app/charts/observables/outliers.d.ts +18 -0
  171. package/dist/app/charts/observables/outliers.d.ts.map +1 -0
  172. package/dist/app/charts/observables/outliers.js +2 -0
  173. package/dist/app/charts/observables/outliers.js.map +1 -0
  174. package/dist/app/charts/plots/BarPlot.d.ts +87 -13
  175. package/dist/app/charts/plots/BarPlot.d.ts.map +1 -0
  176. package/dist/app/charts/plots/BarPlot.js +603 -356
  177. package/dist/app/charts/plots/BarPlot.js.map +1 -1
  178. package/dist/app/charts/plots/OutlierPlot.d.ts +123 -0
  179. package/dist/app/charts/plots/OutlierPlot.d.ts.map +1 -0
  180. package/dist/app/charts/plots/OutlierPlot.js +430 -0
  181. package/dist/app/charts/plots/OutlierPlot.js.map +1 -0
  182. package/dist/app/charts/plots/PoincarePlot.d.ts +92 -14
  183. package/dist/app/charts/plots/PoincarePlot.d.ts.map +1 -0
  184. package/dist/app/charts/plots/PoincarePlot.js +523 -364
  185. package/dist/app/charts/plots/PoincarePlot.js.map +1 -1
  186. package/dist/app/charts/plots/RasterPlot.d.ts +31 -10
  187. package/dist/app/charts/plots/RasterPlot.d.ts.map +1 -0
  188. package/dist/app/charts/plots/RasterPlot.js +198 -306
  189. package/dist/app/charts/plots/RasterPlot.js.map +1 -1
  190. package/dist/app/charts/plots/ScatterPlot.d.ts +77 -21
  191. package/dist/app/charts/plots/ScatterPlot.d.ts.map +1 -0
  192. package/dist/app/charts/plots/ScatterPlot.js +359 -302
  193. package/dist/app/charts/plots/ScatterPlot.js.map +1 -1
  194. package/dist/app/charts/plots/autoScaleYAxes.d.ts +43 -0
  195. package/dist/app/charts/plots/autoScaleYAxes.d.ts.map +1 -0
  196. package/dist/app/charts/plots/autoScaleYAxes.js +71 -0
  197. package/dist/app/charts/plots/autoScaleYAxes.js.map +1 -0
  198. package/dist/app/charts/plots/colorizedLine.d.ts +61 -0
  199. package/dist/app/charts/plots/colorizedLine.d.ts.map +1 -0
  200. package/dist/app/charts/plots/colorizedLine.js +157 -0
  201. package/dist/app/charts/plots/colorizedLine.js.map +1 -0
  202. package/dist/app/charts/plots/constants.d.ts +7 -0
  203. package/dist/app/charts/plots/constants.d.ts.map +1 -0
  204. package/dist/app/charts/plots/constants.js +11 -0
  205. package/dist/app/charts/plots/constants.js.map +1 -0
  206. package/dist/app/charts/plots/hitTesting.d.ts +88 -0
  207. package/dist/app/charts/plots/hitTesting.d.ts.map +1 -0
  208. package/dist/app/charts/plots/hitTesting.js +136 -0
  209. package/dist/app/charts/plots/hitTesting.js.map +1 -0
  210. package/dist/app/charts/plots/plot.d.ts +52 -16
  211. package/dist/app/charts/plots/plot.d.ts.map +1 -0
  212. package/dist/app/charts/plots/plot.js +108 -35
  213. package/dist/app/charts/plots/plot.js.map +1 -1
  214. package/dist/app/charts/plots/useCanvasZoomPan.d.ts +119 -0
  215. package/dist/app/charts/plots/useCanvasZoomPan.d.ts.map +1 -0
  216. package/dist/app/charts/plots/useCanvasZoomPan.js +113 -0
  217. package/dist/app/charts/plots/useCanvasZoomPan.js.map +1 -0
  218. package/dist/app/charts/plots/useStreamingTimeAxes.d.ts +103 -0
  219. package/dist/app/charts/plots/useStreamingTimeAxes.d.ts.map +1 -0
  220. package/dist/app/charts/plots/useStreamingTimeAxes.js +257 -0
  221. package/dist/app/charts/plots/useStreamingTimeAxes.js.map +1 -0
  222. package/dist/app/charts/series/baseSeries.d.ts +60 -8
  223. package/dist/app/charts/series/baseSeries.d.ts.map +1 -0
  224. package/dist/app/charts/series/baseSeries.js +53 -8
  225. package/dist/app/charts/series/baseSeries.js.map +1 -1
  226. package/dist/app/charts/series/iterateSeries.d.ts +9 -8
  227. package/dist/app/charts/series/iterateSeries.d.ts.map +1 -0
  228. package/dist/app/charts/series/iterateSeries.js +7 -7
  229. package/dist/app/charts/series/iterateSeries.js.map +1 -1
  230. package/dist/app/charts/series/ordinalSeries.d.ts +27 -13
  231. package/dist/app/charts/series/ordinalSeries.d.ts.map +1 -0
  232. package/dist/app/charts/series/ordinalSeries.js +29 -15
  233. package/dist/app/charts/series/ordinalSeries.js.map +1 -1
  234. package/dist/app/charts/series/outlierSeries.d.ts +142 -0
  235. package/dist/app/charts/series/outlierSeries.d.ts.map +1 -0
  236. package/dist/app/charts/series/outlierSeries.js +82 -0
  237. package/dist/app/charts/series/outlierSeries.js.map +1 -0
  238. package/dist/app/charts/series/timeSeries.d.ts +13 -9
  239. package/dist/app/charts/series/timeSeries.d.ts.map +1 -0
  240. package/dist/app/charts/series/timeSeries.js +6 -3
  241. package/dist/app/charts/series/timeSeries.js.map +1 -1
  242. package/dist/app/charts/series/timeSeriesChartData.d.ts +18 -10
  243. package/dist/app/charts/series/timeSeriesChartData.d.ts.map +1 -0
  244. package/dist/app/charts/series/timeSeriesChartData.js +28 -14
  245. package/dist/app/charts/series/timeSeriesChartData.js.map +1 -1
  246. package/dist/app/charts/styling/barPlotStyle.d.ts +46 -2
  247. package/dist/app/charts/styling/barPlotStyle.d.ts.map +1 -0
  248. package/dist/app/charts/styling/barPlotStyle.js +37 -3
  249. package/dist/app/charts/styling/barPlotStyle.js.map +1 -1
  250. package/dist/app/charts/styling/canvasStyle.d.ts +53 -0
  251. package/dist/app/charts/styling/canvasStyle.d.ts.map +1 -0
  252. package/dist/app/charts/styling/canvasStyle.js +71 -0
  253. package/dist/app/charts/styling/canvasStyle.js.map +1 -0
  254. package/dist/app/charts/styling/margins.d.ts +21 -2
  255. package/dist/app/charts/styling/margins.d.ts.map +1 -0
  256. package/dist/app/charts/styling/margins.js +25 -4
  257. package/dist/app/charts/styling/margins.js.map +1 -1
  258. package/dist/app/charts/styling/svgStyle.d.ts +10 -56
  259. package/dist/app/charts/styling/svgStyle.d.ts.map +1 -0
  260. package/dist/app/charts/styling/svgStyle.js +3 -78
  261. package/dist/app/charts/styling/svgStyle.js.map +1 -1
  262. package/dist/app/charts/subscriptions/viewDrivers.d.ts +124 -0
  263. package/dist/app/charts/subscriptions/viewDrivers.d.ts.map +1 -0
  264. package/dist/app/charts/subscriptions/viewDrivers.js +338 -0
  265. package/dist/app/charts/subscriptions/viewDrivers.js.map +1 -0
  266. package/dist/app/charts/tooltips/BarPlotTooltipContent.d.ts +12 -78
  267. package/dist/app/charts/tooltips/BarPlotTooltipContent.d.ts.map +1 -0
  268. package/dist/app/charts/tooltips/BarPlotTooltipContent.js +65 -257
  269. package/dist/app/charts/tooltips/BarPlotTooltipContent.js.map +1 -1
  270. package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.d.ts +9 -0
  271. package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.d.ts.map +1 -0
  272. package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.js +16 -0
  273. package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.js.map +1 -0
  274. package/dist/app/charts/tooltips/OutlierPlotTooltipContent.d.ts +30 -0
  275. package/dist/app/charts/tooltips/OutlierPlotTooltipContent.d.ts.map +1 -0
  276. package/dist/app/charts/tooltips/OutlierPlotTooltipContent.js +26 -0
  277. package/dist/app/charts/tooltips/OutlierPlotTooltipContent.js.map +1 -0
  278. package/dist/app/charts/tooltips/PoincarePlotTooltipContent.d.ts +22 -72
  279. package/dist/app/charts/tooltips/PoincarePlotTooltipContent.d.ts.map +1 -0
  280. package/dist/app/charts/tooltips/PoincarePlotTooltipContent.js +104 -171
  281. package/dist/app/charts/tooltips/PoincarePlotTooltipContent.js.map +1 -1
  282. package/dist/app/charts/tooltips/RasterPlotTooltipContent.d.ts +32 -8
  283. package/dist/app/charts/tooltips/RasterPlotTooltipContent.d.ts.map +1 -0
  284. package/dist/app/charts/tooltips/RasterPlotTooltipContent.js +62 -115
  285. package/dist/app/charts/tooltips/RasterPlotTooltipContent.js.map +1 -1
  286. package/dist/app/charts/tooltips/ScatterPlotTooltipContent.d.ts +39 -12
  287. package/dist/app/charts/tooltips/ScatterPlotTooltipContent.d.ts.map +1 -0
  288. package/dist/app/charts/tooltips/ScatterPlotTooltipContent.js +162 -134
  289. package/dist/app/charts/tooltips/ScatterPlotTooltipContent.js.map +1 -1
  290. package/dist/app/charts/tooltips/Tooltip.d.ts +27 -32
  291. package/dist/app/charts/tooltips/Tooltip.d.ts.map +1 -0
  292. package/dist/app/charts/tooltips/Tooltip.js +37 -81
  293. package/dist/app/charts/tooltips/Tooltip.js.map +1 -1
  294. package/dist/app/charts/tooltips/TooltipContent.d.ts +81 -0
  295. package/dist/app/charts/tooltips/TooltipContent.d.ts.map +1 -0
  296. package/dist/app/charts/tooltips/TooltipContent.js +99 -0
  297. package/dist/app/charts/tooltips/TooltipContent.js.map +1 -0
  298. package/dist/app/charts/tooltips/tooltipUtils.d.ts +186 -36
  299. package/dist/app/charts/tooltips/tooltipUtils.d.ts.map +1 -0
  300. package/dist/app/charts/tooltips/tooltipUtils.js +277 -48
  301. package/dist/app/charts/tooltips/tooltipUtils.js.map +1 -1
  302. package/dist/app/charts/tooltips/useOutlierTooltip.d.ts +59 -0
  303. package/dist/app/charts/tooltips/useOutlierTooltip.d.ts.map +1 -0
  304. package/dist/app/charts/tooltips/useOutlierTooltip.js +16 -0
  305. package/dist/app/charts/tooltips/useOutlierTooltip.js.map +1 -0
  306. package/dist/app/charts/tooltips/useTooltipPlacement.d.ts +51 -0
  307. package/dist/app/charts/tooltips/useTooltipPlacement.d.ts.map +1 -0
  308. package/dist/app/charts/tooltips/useTooltipPlacement.js +52 -0
  309. package/dist/app/charts/tooltips/useTooltipPlacement.js.map +1 -0
  310. package/dist/app/charts/tooltips/useTooltipStyle.d.ts +11 -0
  311. package/dist/app/charts/tooltips/useTooltipStyle.d.ts.map +1 -0
  312. package/dist/app/charts/tooltips/useTooltipStyle.js +14 -0
  313. package/dist/app/charts/tooltips/useTooltipStyle.js.map +1 -0
  314. package/dist/app/charts/trackers/Tracker.d.ts +22 -6
  315. package/dist/app/charts/trackers/Tracker.d.ts.map +1 -0
  316. package/dist/app/charts/trackers/Tracker.js +36 -22
  317. package/dist/app/charts/trackers/Tracker.js.map +1 -1
  318. package/dist/app/charts/trackers/trackerUtils.d.ts +40 -18
  319. package/dist/app/charts/trackers/trackerUtils.d.ts.map +1 -0
  320. package/dist/app/charts/trackers/trackerUtils.js +213 -300
  321. package/dist/app/charts/trackers/trackerUtils.js.map +1 -1
  322. package/dist/app/charts/utils.d.ts +72 -33
  323. package/dist/app/charts/utils.d.ts.map +1 -0
  324. package/dist/app/charts/utils.js +87 -42
  325. package/dist/app/charts/utils.js.map +1 -1
  326. package/dist/index.d.ts +2 -45
  327. package/dist/index.d.ts.map +1 -0
  328. package/dist/index.js +2 -72
  329. package/dist/index.js.map +1 -1
  330. package/package.json +87 -46
  331. package/src/app/charts/Chart.tsx +132 -168
  332. package/src/app/charts/axes/AxesState.ts +27 -29
  333. package/src/app/charts/axes/AxisInterval.ts +57 -32
  334. package/src/app/charts/axes/BaseAxisRange.ts +47 -27
  335. package/src/app/charts/axes/ContinuousAxis.tsx +235 -39
  336. package/src/app/charts/axes/ContinuousAxisRange.ts +29 -11
  337. package/src/app/charts/axes/EmptyAxis.tsx +52 -17
  338. package/src/app/charts/axes/OrdinalAxis.tsx +54 -28
  339. package/src/app/charts/axes/OrdinalAxisRange.ts +96 -16
  340. package/src/app/charts/axes/autoScale.ts +244 -0
  341. package/src/app/charts/axes/axes.ts +954 -735
  342. package/src/app/charts/d3types.ts +42 -13
  343. package/src/app/charts/datasources/StreamingDataSource.ts +214 -0
  344. package/src/app/charts/datasources/iteratesDataSource.ts +122 -0
  345. package/src/app/charts/datasources/ordinalDataSource.ts +205 -0
  346. package/src/app/charts/datasources/outlierDataSource.ts +90 -0
  347. package/src/app/charts/datasources/timeSeriesDataSource.ts +133 -0
  348. package/src/app/charts/filters/regexFilter.ts +45 -5
  349. package/src/app/charts/hooks/AxesProvider.tsx +301 -0
  350. package/src/app/charts/hooks/CanvasSurfaceProvider.tsx +117 -0
  351. package/src/app/charts/hooks/ChartProvider.tsx +79 -0
  352. package/src/app/charts/hooks/InteractionProvider.tsx +88 -0
  353. package/src/app/charts/hooks/PlotDimensionsProvider.tsx +109 -0
  354. package/src/app/charts/hooks/defaultAxesValues.ts +40 -0
  355. package/src/app/charts/hooks/defaultMouseValues.ts +24 -0
  356. package/src/app/charts/hooks/defaultPlotDimensions.ts +27 -0
  357. package/src/app/charts/hooks/defaultTooltipValues.tsx +23 -0
  358. package/src/app/charts/hooks/defaultUseChartValues.tsx +36 -0
  359. package/src/app/charts/hooks/useAxes.tsx +60 -228
  360. package/src/app/charts/hooks/useCanvasSurface.tsx +35 -0
  361. package/src/app/charts/hooks/useChart.tsx +47 -106
  362. package/src/app/charts/hooks/useDataSource.tsx +106 -0
  363. package/src/app/charts/hooks/useHoveredSeries.tsx +33 -0
  364. package/src/app/charts/hooks/useMouse.tsx +58 -82
  365. package/src/app/charts/hooks/usePlotDimensions.tsx +25 -89
  366. package/src/app/charts/hooks/useTooltip.tsx +32 -63
  367. package/src/app/charts/index.ts +213 -0
  368. package/src/app/charts/legends/Legend.tsx +198 -479
  369. package/src/app/charts/legends/constants.ts +37 -0
  370. package/src/app/charts/observables/iterates.ts +32 -12
  371. package/src/app/charts/observables/ordinals.ts +141 -67
  372. package/src/app/charts/observables/outliers.ts +20 -0
  373. package/src/app/charts/plots/BarPlot.tsx +784 -666
  374. package/src/app/charts/plots/OutlierPlot.tsx +685 -0
  375. package/src/app/charts/plots/PoincarePlot.tsx +707 -489
  376. package/src/app/charts/plots/RasterPlot.tsx +253 -445
  377. package/src/app/charts/plots/ScatterPlot.tsx +480 -463
  378. package/src/app/charts/plots/autoScaleYAxes.ts +102 -0
  379. package/src/app/charts/plots/colorizedLine.ts +185 -0
  380. package/src/app/charts/plots/constants.ts +16 -0
  381. package/src/app/charts/plots/hitTesting.ts +198 -0
  382. package/src/app/charts/plots/plot.ts +138 -44
  383. package/src/app/charts/plots/useCanvasZoomPan.ts +240 -0
  384. package/src/app/charts/plots/useStreamingTimeAxes.ts +384 -0
  385. package/src/app/charts/series/baseSeries.ts +81 -14
  386. package/src/app/charts/series/iterateSeries.ts +8 -8
  387. package/src/app/charts/series/ordinalSeries.ts +35 -20
  388. package/src/app/charts/series/outlierSeries.ts +188 -0
  389. package/src/app/charts/series/timeSeries.ts +14 -12
  390. package/src/app/charts/series/timeSeriesChartData.ts +31 -17
  391. package/src/app/charts/styling/barPlotStyle.ts +48 -5
  392. package/src/app/charts/styling/canvasStyle.ts +86 -0
  393. package/src/app/charts/styling/margins.ts +28 -4
  394. package/src/app/charts/styling/svgStyle.ts +10 -91
  395. package/src/app/charts/subscriptions/viewDrivers.ts +447 -0
  396. package/src/app/charts/tooltips/BarPlotTooltipContent.tsx +156 -380
  397. package/src/app/charts/tooltips/DefaultOutlierTooltipContent.tsx +40 -0
  398. package/src/app/charts/tooltips/OutlierPlotTooltipContent.tsx +67 -0
  399. package/src/app/charts/tooltips/PoincarePlotTooltipContent.tsx +229 -292
  400. package/src/app/charts/tooltips/RasterPlotTooltipContent.tsx +164 -217
  401. package/src/app/charts/tooltips/ScatterPlotTooltipContent.tsx +373 -236
  402. package/src/app/charts/tooltips/Tooltip.tsx +58 -124
  403. package/src/app/charts/tooltips/TooltipContent.tsx +177 -0
  404. package/src/app/charts/tooltips/tooltipUtils.ts +359 -61
  405. package/src/app/charts/tooltips/useOutlierTooltip.tsx +68 -0
  406. package/src/app/charts/tooltips/useTooltipPlacement.ts +86 -0
  407. package/src/app/charts/tooltips/useTooltipStyle.ts +15 -0
  408. package/src/app/charts/trackers/Tracker.tsx +68 -33
  409. package/src/app/charts/trackers/trackerUtils.ts +263 -376
  410. package/src/app/charts/utils.ts +90 -48
  411. package/src/index.ts +2 -322
  412. package/dist/app/charts/axes/AxesState.test.d.ts +0 -1
  413. package/dist/app/charts/axes/AxesState.test.js +0 -30
  414. package/dist/app/charts/axes/AxesState.test.js.map +0 -1
  415. package/dist/app/charts/axes/AxisInterval.test.d.ts +0 -1
  416. package/dist/app/charts/axes/AxisInterval.test.js +0 -120
  417. package/dist/app/charts/axes/AxisInterval.test.js.map +0 -1
  418. package/dist/app/charts/axes/ContinuousAxisRange.test.d.ts +0 -1
  419. package/dist/app/charts/axes/ContinuousAxisRange.test.js +0 -47
  420. package/dist/app/charts/axes/ContinuousAxisRange.test.js.map +0 -1
  421. package/dist/app/charts/axes/OrdinalAxisRange.test.d.ts +0 -1
  422. package/dist/app/charts/axes/OrdinalAxisRange.test.js +0 -48
  423. package/dist/app/charts/axes/OrdinalAxisRange.test.js.map +0 -1
  424. package/dist/app/charts/filters/regexFilter.test.d.ts +0 -1
  425. package/dist/app/charts/filters/regexFilter.test.js +0 -11
  426. package/dist/app/charts/filters/regexFilter.test.js.map +0 -1
  427. package/dist/app/charts/hooks/useDataObservable.d.ts +0 -72
  428. package/dist/app/charts/hooks/useDataObservable.js +0 -74
  429. package/dist/app/charts/hooks/useDataObservable.js.map +0 -1
  430. package/dist/app/charts/hooks/useInitialData.d.ts +0 -36
  431. package/dist/app/charts/hooks/useInitialData.js +0 -28
  432. package/dist/app/charts/hooks/useInitialData.js.map +0 -1
  433. package/dist/app/charts/observables/iterates.test.d.ts +0 -1
  434. package/dist/app/charts/observables/iterates.test.js +0 -180
  435. package/dist/app/charts/observables/iterates.test.js.map +0 -1
  436. package/dist/app/charts/observables/ordinals.test.d.ts +0 -1
  437. package/dist/app/charts/observables/ordinals.test.js +0 -102
  438. package/dist/app/charts/observables/ordinals.test.js.map +0 -1
  439. package/dist/app/charts/series/datumSeries.test.d.ts +0 -1
  440. package/dist/app/charts/series/datumSeries.test.js +0 -50
  441. package/dist/app/charts/series/datumSeries.test.js.map +0 -1
  442. package/dist/app/charts/styling/margins.test.d.ts +0 -1
  443. package/dist/app/charts/styling/margins.test.js +0 -19
  444. package/dist/app/charts/styling/margins.test.js.map +0 -1
  445. package/dist/app/charts/subscriptions/subscription.test.d.ts +0 -1
  446. package/dist/app/charts/subscriptions/subscription.test.js +0 -395
  447. package/dist/app/charts/subscriptions/subscription.test.js.map +0 -1
  448. package/dist/app/charts/subscriptions/subscriptions.d.ts +0 -100
  449. package/dist/app/charts/subscriptions/subscriptions.js +0 -449
  450. package/dist/app/charts/subscriptions/subscriptions.js.map +0 -1
  451. package/src/app/charts/axes/AxesState.test.ts +0 -34
  452. package/src/app/charts/axes/AxisInterval.test.ts +0 -143
  453. package/src/app/charts/axes/ContinuousAxisRange.test.ts +0 -55
  454. package/src/app/charts/axes/OrdinalAxisRange.test.ts +0 -55
  455. package/src/app/charts/filters/regexFilter.test.ts +0 -13
  456. package/src/app/charts/hooks/useDataObservable.tsx +0 -170
  457. package/src/app/charts/hooks/useInitialData.tsx +0 -64
  458. package/src/app/charts/observables/iterates.test.ts +0 -201
  459. package/src/app/charts/observables/ordinals.test.ts +0 -135
  460. package/src/app/charts/series/datumSeries.test.ts +0 -60
  461. package/src/app/charts/styling/margins.test.ts +0 -22
  462. package/src/app/charts/subscriptions/subscription.test.ts +0 -499
  463. package/src/app/charts/subscriptions/subscriptions.ts +0 -635
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlot.js","sourceRoot":"","sources":["../../../../src/app/charts/plots/ScatterPlot.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAA;AACpE,OAAO,EAAoB,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAyB,YAAY,EAAC,MAAM,QAAQ,CAAC;AAE5D,OAAO,EACH,gBAAgB,EAEhB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EAEzB,gBAAgB,EAChB,UAAU,EAEb,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAE9B,OAAO,EACH,yBAAyB,EACzB,oCAAoC,EACpC,kBAAkB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AACnC,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AA6ChE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY;IACpC,MAAM,EACF,OAAO,EACP,SAAS,EACT,KAAK,EACL,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,gBAAgB,GACnB,GAAG,QAAQ,EAAyF,CAAA;IAErG,MAAM,EACF,WAAW,EACd,GAAG,cAAc,EAA8B,CAAA;IAEhD,MAAM,EACF,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,gBAAgB,GAAG,IAAI,EACvB,oBAAoB,EACpB,UAAU,GACb,GAAG,IAAI,CAAA;IAER,MAAM,EAAC,mBAAmB,EAAE,oBAAoB,EAAC,GAAG,KAAK,CAAA;IAEzD,MAAM,EAAC,cAAc,EAAE,MAAM,EAAC,GAAG,iBAAiB,EAAE,CAAA;IAEpD,MAAM,EACF,gBAAgB,EAChB,aAAa,GAAG,GAAG,EACnB,eAAe,EAEf,WAAW,GAAG,IAAI,EAClB,YAAY,GACf,GAAG,iBAAiB,EAAE,CAAA;IAEvB,MAAM,EACF,eAAe,GAAG,IAAI,GAAG,EAA0B,EACnD,aAAa,GAAG,EAAE,CAAC,WAAW,EAC9B,aAAa,GAAG,QAAQ,EACxB,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,KAAK,EACnB,wBAAwB,GAAG,IAAI,EAC/B,aAAa,EACb,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,GACjD,GAAG,KAAK,CAAA;IAET,MAAM,YAAY,GAAG,OAAO,CACxB,GAAG,EAAE;QACD,OAAO,IAAI,GAAG,CACV,KAAK,CAAC,IAAI,CAAgC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;aAC5D,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAClE,CAAA;IACL,CAAC,EACD,CAAC,UAAU,CAAC,CACf,CAAA;IAED,8FAA8F;IAC9F,EAAE;IACF,qFAAqF;IACrF,sGAAsG;IACtG,4DAA4D;IAC5D,EAAE;IACF,oFAAoF;IACpF,oGAAoG;IACpG,mGAAmG;IACnG,mCAAmC;IACnC,EAAE;IACF,oGAAoG;IACpG,qGAAqG;IACrG,EAAE;IACF,mGAAmG;IACnG,4EAA4E;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAoB,WAAW,CAAC,KAAK,EAAuB,CAAC,CAAA;IACnF,MAAM,SAAS,GAAG,MAAM,CAA0B,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1H,qFAAqF;IACrF,MAAM,cAAc,GAAG,MAAM,CAAsB,IAAI,GAAG,EAAE,CAAC,CAAA;IAE7D,MAAM,eAAe,GAAG,MAAM,CAAe,SAAS,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,KAAK,SAAS,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAA;IAE1G,MAAM,YAAY,GAAG,MAAM,CAAU,oBAAoB,EAAE,CAAC,CAAA;IAE5D,SAAS,CACL,GAAG,EAAE;QACD,cAAc,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAS,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACnG,CAAC,EACD,CAAC,UAAU,CAAC,CACf,CAAA;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAG,OAAO,CACzB,GAAkB,EAAE,CAAC,gBAAgB,CAA+B,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,EAC7G,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAC7C,CAAA;IAED,+FAA+F;IAC/F,+FAA+F;IAC/F,aAAa;IACb,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,MAAwC,EAAQ,EAAE;QACnF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/B,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACpC,IAAI,oBAAoB,EAAE,CAAC;gBACvB,UAAU,CAAC,GAAG,EAAE;oBACZ,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;oBAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC/D,oBAAoB,CAAC,KAAK,CAAC,CAAA;gBAC/B,CAAC,EAAE,CAAC,CAAC,CAAA;YACT,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAChC,CAAA;IAED,uBAAuB;IACvB,gGAAgG;IAChG,4FAA4F;IAC5F,SAAS,CACL,GAAG,EAAE;QACD,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,CAAA;QACrC,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC,CAAC,CAAA;QAC3F,cAAc,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAS,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/F,mBAAmB,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAA0C,CAAC,CAAC,OAAO,EAAE,CAAC;aACpH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YACjB,qFAAqF;YACrF,uEAAuE;YACvE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;YAC7C,MAAM,OAAO,GAAG,WAAW;iBACtB,MAAM,CAAC,GAAG,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,KAAK,MAAK,EAAE,CAAA,EAAA,CAAC;iBAC1D,MAAM,CACH,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CACtB,IAAI,EACJ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACjD,EACD,QAAQ,CACX,CAAA;YACL,MAAM,SAAS,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;YACpD,OAAO,CAAC,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAA;QAC7E,CAAC,CAAC,CACL,CACJ,CAAA;IACL,CAAC;IACD,6BAA6B;IAC7B,oFAAoF;IACpF,8CAA8C;IAC9C,uDAAuD;IACvD,CAAC,WAAW,CAAC,CAChB,CAAA;IAED;;;;;OAKG;IACH,MAAM,KAAK,GAAG,WAAW,CACrB,CAAC,CAAS,EACT,cAA0B,EAC1B,MAAwC,EACvC,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EACjG,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAC1D,CAAA;IAED;;;;;;;;OAQG;IACH,MAAM,MAAM,GAAG,WAAW,CACtB,CACI,SAAwB,EACxB,CAAS,EACT,cAA0B,EAC1B,MAAwC,EAC1C,EAAE,CAAC,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAC3H,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAC1D,CAAA;IAED,MAAM,UAAU,GAAG,WAAW;IAC1B;;;;OAIG;IACH,CAAC,UAA4C,EAAE,SAAqB,EAAE,EAAE;QACpE,IAAI,SAAS,EAAE,CAAC;YACZ,+CAA+C;YAC/C,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAqB,SAAS,CAAC,CAAA;YAEpD,8DAA8D;YAC9D,EAAE;YACF,uFAAuF;YACvF,0FAA0F;YAC1F,yFAAyF;YACzF,iFAAiF;YACjF,oFAAoF;YACpF,4BAA4B;YAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,IAAI;aACd,CAAC,CAAC,CAAA;YAEH,iBAAiB;YACjB,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAwB;qBACvC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACd,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBAC5C,oEAAoE;oBACpE,kDAAkD;oBAClD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBACjC,CAAC,CAAC;qBACD,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,KAAK,CACD,KAAK,CAAC,EAAE,EACR,cAAc;oBACd,oCAAoC;oBACpC,UAAU,CACb,CAAA;oBACD,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;gBAChD,CAAC,CAAC;qBACD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACZ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBAC5C,6DAA6D;oBAC7D,oEAAoE;oBACpE,0CAA0C;oBAC1C,YAAY,CAAC,OAAO,GAAG,oBAAoB,EAAE,CAAC;gBAClD,CAAC,CAAC,CAAA;gBAEN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;YAED,qBAAqB;YACrB,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAwB;qBACvC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,wBAAwB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;qBAC7E,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;qBACpB,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;qBAC3F,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;oBACZ,MAAM,CACF,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,EACvC,cAAc,EACd,UAAU,CACb,CAAA;oBACD,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;gBAChD,CAAC,CACJ,CAAA;gBAEL,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;YAED,8EAA8E;YAC9E,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;YAEnE,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACjC,sEAAsE;gBACtE,6CAA6C;gBAC7C,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,OAAO,CACtC,IAAI,EACJ,eAAe,EACf,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EACrD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,CACxD,CAAA;gBACD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;oBAAE,OAAM;gBAElE,gCAAgC;gBAChC,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAC,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,gBAAgB,EAAE,CAAA;gBAEvG,kDAAkD;gBAClD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;gBAEvD,+BAA+B;gBAC/B,SAAS;qBACJ,SAAS,CAAC,IAAI,IAAI,IAAI,OAAO,UAAU,CAAC;qBACxC,IAAI,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;qBACrC,IAAI,CACD,KAAK,CAAC,EAAE,CAAC,KAAK;qBACT,MAAM,CAAC,MAAM,CAAC;qBACd,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC;qBAClC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,OAAO,UAAU,CAAC;qBACxC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;qBAC9B,IAAI,CACD,GAAG,EACH,EAAE,CAAC,IAAI,EAAS;qBACX,CAAC,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC/C,CAAC,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAChD,KAAK,CAAC,aAAa,CAAC,CAC5B;qBACA,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;qBACpB,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;qBAC1E,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;qBACpF,IAAI,CAAC,WAAW,EAAE,aAAa,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC;qBAC7D,IAAI,CAAC,WAAW,EAAE,QAAQ,UAAU,GAAG,CAAC;qBACxC,EAAE,CACC,WAAW,EACX,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBAClB,kEAAkE;gBAClE,qBAAqB,CACjB,SAAS,EACT,WAAW,EACX,IAAI,EACJ,UAAU,EACV,KAAK,EACL,MAAM,EACN,YAAY,EACZ,YAAY,CAAC,OAAO,EACpB,mBAAmB,CAAC,WAAW,OAAO,EAAE,CAAC,CAC5C,CACR;qBACA,EAAE,CACC,YAAY,EACZ,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAC3B,IAAI,EACJ,KAAK,CAAC,aAAa,EACnB,YAAY,EACZ,oBAAoB,CAAC,WAAW,OAAO,EAAE,CAAC,CAC7C,CACJ,EACL,MAAM,CAAC,EAAE,CAAC,MAAM,EAChB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CACxB,CAAA;YACT,CAAC,CAAC,CAAA;QACN,CAAC;IACL,CAAC,EACD;QACI,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK;QAC1E,wBAAwB,EAAE,MAAM,EAAE,eAAe;QACjD,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY,EAAE,aAAa;QACzC,mBAAmB,EAAE,oBAAoB;QACzC,gBAAgB;KACnB,CACJ,CAAA;IAED,0FAA0F;IAC1F,4FAA4F;IAC5F,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,CAA0E,IAAI,CAAC,CAAA;IAC3G,SAAS,CACL,GAAG,EAAE;QACD,aAAa,CAAC,OAAO,GAAG,UAAU,CAAA;IACtC,CAAC,EACD,CAAC,UAAU,CAAC,CACf,CAAA;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAChD,SAAS,CACL,GAAG,EAAE;QACD,eAAe,CAAC,OAAO,GAAG,gBAAgB,CAAA;IAC9C,CAAC,EACD,CAAC,gBAAgB,CAAC,CACrB,CAAA;IAED,iEAAiE;IACjE,MAAM,SAAS,GAAG,WAAW,CACzB,GAAG,EAAE;QACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QACtE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,oCAAoC,CACvC,gBAAmD,EACnD,WAAW,EACX,aAAa,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EACZ,aAAa,EACb,mBAAmB;YACnB,4DAA4D;YAC5D,8CAA8C;YAC9C,SAAS,CAAC,OAAO,EACjB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,aAAa,CAChB,CAAA;QACL,CAAC;QACD,OAAO,yBAAyB,CAC5B,gBAAmD,EACnD,WAAW,EACX,aAAa,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EACZ,aAAa,EACb,mBAAmB;QACnB,4DAA4D;QAC5D,8CAA8C;QAC9C,SAAS,CAAC,OAAO,EACjB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,kBAAkB,EAClB,YAAY,CACf,CAAA;IACL,CAAC,EACD;QACI,eAAe,EAAE,aAAa,EAAE,KAAK;QACrC,WAAW,EAAE,YAAY;QACzB,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU;QAChE,aAAa;QACb,YAAY,EAAE,kBAAkB;KACnC,CACJ,CAAA;IAED,MAAM,aAAa,GAAG,MAAM,CAAmC,IAAI,GAAG,EAAE,CAAC,CAAA;IACzE,SAAS,CACL,GAAG,EAAE;QACD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACrB,8FAA8F;YAC9F,gGAAgG;YAChG,+FAA+F;YAC/F,8FAA8F;YAC9F,+FAA+F;YAC/F,0BAA0B;YAC1B,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnC,uFAAuF;gBACvF,oBAAoB;gBACpB,aAAa,CAAC,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAA0C,CAAC,CAAA;YACvG,CAAC;iBAAM,CAAC;gBACJ,sFAAsF;gBACtF,kEAAkE;gBAClE,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC1D,aAAa,CAAC,OAAO;qBAChB,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;oBAC9B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;yBACtD,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;yBACnC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,kDAAkD,EAAE,EAAE,CAAC,CAAC,CAAA;oBACpF,yBAAyB;oBAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/B,2EAA2E;wBAC3E,0CAA0C;wBAC1C,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;oBAC/C,CAAC;gBACL,CAAC,CAAC,CAAA;YACV,CAAC;YACD,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;IACL,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC,CAC7E,CAAA;IAED,iFAAiF;IACjF,+EAA+E;IAC/E,mFAAmF;IACnF,cAAc;IACd,SAAS,CACL,GAAG,EAAE;;QACD,IAAI,eAAe,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3D,eAAe,CAAC,OAAO,GAAG,SAAS,EAAE,CAAA;YACrC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAA;QAChC,CAAC;aAAM,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnE,MAAA,eAAe,CAAC,OAAO,0CAAE,WAAW,EAAE,CAAA;YACtC,eAAe,CAAC,OAAO,GAAG,SAAS,CAAA;YACnC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;QAC/B,CAAC;IACL,CAAC,EACD,CAAC,eAAe,EAAE,SAAS,CAAC,CAC/B,CAAA;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,OAAO,CACZ,UAAkB,EAClB,eAA4C,EAC5C,QAA8C,EAC9C,QAA8C;IAE9C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAA;IACzC,MAAM,WAAW,GAAG,KAA8B,CAAA;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAA;IACzC,MAAM,WAAW,GAAG,KAA8B,CAAA;IAClD,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AACrC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,qBAAqB,CAC1B,SAAwB,EACxB,KAA4B,EAC5B,UAAkB,EAClB,MAAqB,EACrB,KAAuC,EACvC,MAAc,EACd,YAA0C,EAC1C,YAAqB,EACrB,mBAAsK;IAEtK,0CAA0C;IAC1C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAE5D,MAAM,EAAC,cAAc,EAAE,cAAc,EAAC,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,gBAAgB,EAAE,CAAA;IAE3F,kDAAkD;IAClD,EAAE,CAAC,MAAM,CAAwB,KAAK,CAAC,aAAa,CAAC;SAChD,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC;SAC9B,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;IAEzC,IAAI,mBAAmB,IAAI,YAAY,EAAE,CAAC;QACtC,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAC,MAAM,EAAG,QAAQ,EAAE,EAAE,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC3B,UAAkB,EAClB,OAAuB,EACvB,YAA0C,EAC1C,qBAAiE;IAEjE,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,gBAAgB,EAAE,CAAA;IAC7E,EAAE,CAAC,MAAM,CAAwB,OAAO,CAAC;SACpC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;SACrB,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;IAEpC,IAAI,qBAAqB,EAAE,CAAC;QACxB,qBAAqB,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ScatterPlot.js","sourceRoot":"","sources":["../../../../src/app/charts/plots/ScatterPlot.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { Optional } from "result-fn";
2
+ import type { BaseAxis } from "../axes/axes";
3
+ import type { BaseAxisRange } from "../axes/BaseAxisRange";
4
+ import { ContinuousAxisRange } from "../axes/ContinuousAxisRange";
5
+ /**
6
+ * What a plot needs from its chart's axes to auto-scale its y-axes (see `ContinuousAxis`'s
7
+ * `autoScale` prop)
8
+ */
9
+ export type AutoScaleAxes = {
10
+ /**
11
+ * The plot's y-axes, by their IDs
12
+ */
13
+ yAxes: Map<string, BaseAxis>;
14
+ /**
15
+ * The (current and original) range of the specified axis
16
+ */
17
+ axisRangeFor: (axisId: string) => Optional<BaseAxisRange>;
18
+ /**
19
+ * Updates the specified axes' ranges (which updates the axes)
20
+ */
21
+ updateAxisRanges: (ranges: Map<string, ContinuousAxisRange>) => void;
22
+ };
23
+ /**
24
+ * Grows the auto-scaling y-axes to fit the specified extents of the data plotted against them
25
+ * (within their limits, and with their padding -- see `grownDomain`). Meant to be called from a
26
+ * draw function registered to run before the axes draw (they're at z-index 0), so that the axes
27
+ * and the data are drawn with the grown domain in the same frame.
28
+ * @param extents The extent of the (visible) data plotted against each y-axis, by axis ID
29
+ * @param axes The plot's y-axes, and their ranges
30
+ */
31
+ export declare function growAutoScaledYAxes(extents: Map<string, [min: number, max: number]>, axes: AutoScaleAxes): void;
32
+ /**
33
+ * New data, new scale: when the plot's data source is replaced (e.g. on a reset, or a change to
34
+ * the number of series), restarts the auto-scaling y-axes from their starts (and they then grow
35
+ * to fit the new data). Only on a *change* of data source -- not when the plot mounts with its
36
+ * data source, which would throw away an axis' kept growth (see `ContinuousAxis`'s
37
+ * `autoScaledDomain`). The axes are read through a ref, so that this only acts when the data
38
+ * source changes -- not, say, when an axis is added.
39
+ * @param dataSource The plot's data source
40
+ * @param axes The plot's y-axes, and their ranges
41
+ */
42
+ export declare function useAutoScaleRestart(dataSource: unknown, axes: AutoScaleAxes): void;
43
+ //# sourceMappingURL=autoScaleYAxes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoScaleYAxes.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/plots/autoScaleYAxes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAC,QAAQ,EAAwB,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAGhE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC5B;;OAEG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,aAAa,CAAC,CAAA;IACzD;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,IAAI,CAAA;CACvE,CAAA;AAmBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAChD,IAAI,EAAE,aAAa,GACpB,IAAI,CAaN;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAsBlF"}
@@ -0,0 +1,71 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { ContinuousAxisRange } from "../axes/ContinuousAxisRange";
3
+ import { grownDomain } from "../axes/autoScale";
4
+ /**
5
+ * The axis' range, updated to the specified domain (or a new range for it, when the axis has none)
6
+ * @param axisId The axis' ID
7
+ * @param domain The domain
8
+ * @param axisRangeFor The (current and original) range of the specified axis
9
+ * @return The updated range
10
+ */
11
+ function rangeFor(axisId, [min, max], axisRangeFor) {
12
+ return axisRangeFor(axisId)
13
+ .map(range => range.update(min, max))
14
+ .getOrElse(ContinuousAxisRange.from(min, max));
15
+ }
16
+ /**
17
+ * Grows the auto-scaling y-axes to fit the specified extents of the data plotted against them
18
+ * (within their limits, and with their padding -- see `grownDomain`). Meant to be called from a
19
+ * draw function registered to run before the axes draw (they're at z-index 0), so that the axes
20
+ * and the data are drawn with the grown domain in the same frame.
21
+ * @param extents The extent of the (visible) data plotted against each y-axis, by axis ID
22
+ * @param axes The plot's y-axes, and their ranges
23
+ */
24
+ export function growAutoScaledYAxes(extents, axes) {
25
+ const { yAxes, axisRangeFor, updateAxisRanges } = axes;
26
+ const updates = new Map();
27
+ extents.forEach((extent, axisId) => {
28
+ const axis = yAxes.get(axisId);
29
+ if ((axis === null || axis === void 0 ? void 0 : axis.autoScale) === undefined)
30
+ return;
31
+ const [currentMin, currentMax] = axis.scale.domain();
32
+ const [min, max] = grownDomain([currentMin, currentMax], extent, axis.autoScale, axis.scale);
33
+ if (min !== currentMin || max !== currentMax) {
34
+ updates.set(axisId, rangeFor(axisId, [min, max], axisRangeFor));
35
+ }
36
+ });
37
+ if (updates.size > 0)
38
+ updateAxisRanges(updates);
39
+ }
40
+ /**
41
+ * New data, new scale: when the plot's data source is replaced (e.g. on a reset, or a change to
42
+ * the number of series), restarts the auto-scaling y-axes from their starts (and they then grow
43
+ * to fit the new data). Only on a *change* of data source -- not when the plot mounts with its
44
+ * data source, which would throw away an axis' kept growth (see `ContinuousAxis`'s
45
+ * `autoScaledDomain`). The axes are read through a ref, so that this only acts when the data
46
+ * source changes -- not, say, when an axis is added.
47
+ * @param dataSource The plot's data source
48
+ * @param axes The plot's y-axes, and their ranges
49
+ */
50
+ export function useAutoScaleRestart(dataSource, axes) {
51
+ const axesRef = useRef(axes);
52
+ useEffect(() => {
53
+ axesRef.current = axes;
54
+ });
55
+ const dataSourceRef = useRef(dataSource);
56
+ useEffect(() => {
57
+ if (dataSourceRef.current === dataSource)
58
+ return;
59
+ dataSourceRef.current = dataSource;
60
+ const { yAxes, axisRangeFor, updateAxisRanges } = axesRef.current;
61
+ const updates = new Map();
62
+ yAxes.forEach((axis, axisId) => {
63
+ const { autoScale } = axis;
64
+ if (autoScale !== undefined)
65
+ updates.set(axisId, rangeFor(axisId, autoScale.domain, axisRangeFor));
66
+ });
67
+ if (updates.size > 0)
68
+ updateAxisRanges(updates);
69
+ }, [dataSource]);
70
+ }
71
+ //# sourceMappingURL=autoScaleYAxes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoScaleYAxes.js","sourceRoot":"","sources":["../../../../src/app/charts/plots/autoScaleYAxes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { CurveFactory } from "d3";
2
+ /**
3
+ * The default color of a colorized line's start (its oldest point): a blue
4
+ */
5
+ export declare const DEFAULT_LINE_START_COLOR = "#2f6cf6";
6
+ /**
7
+ * The default color of a colorized line's end (its newest point): a red
8
+ */
9
+ export declare const DEFAULT_LINE_END_COLOR = "#e8423f";
10
+ /**
11
+ * The default number of points it takes a colorized line's color to sweep from its start color to
12
+ * its end color (see `sweepFraction`)
13
+ */
14
+ export declare const DEFAULT_LINE_COLOR_STEPS = 1000;
15
+ /**
16
+ * Creates the function that gives the color at a fraction of the way along a colorized line:
17
+ * from the start color (at 0) to the end color (at 1), sweeping the long way around the hue
18
+ * circle, so that the line passes through the colors of the spectrum in between (e.g. from blue,
19
+ * through cyan, green, and yellow, to red)
20
+ * @param startColor The color at the line's start
21
+ * @param endColor The color at the line's end
22
+ * @return The color at a fraction (from 0 to 1) of the way along the line
23
+ */
24
+ export declare function lineColorScale(startColor: string, endColor: string): (fraction: number) => string;
25
+ /**
26
+ * Where a point is in the color sweep of a colorized line: the line's color advances one step per
27
+ * point, sweeping from the start color (0) to the end color (1) over `steps` points, then back to
28
+ * the start color over the next `steps` points, and so on -- so the color never jumps
29
+ * @param pointNumber The point's overall sequence number in its series (from 0)
30
+ * @param steps The number of points (steps) a sweep from the start color to the end color takes
31
+ * @return The fraction (from 0, the start color, to 1, the end color) of the way through the sweep
32
+ */
33
+ export declare function sweepFraction(pointNumber: number, steps: number): number;
34
+ /**
35
+ * Creates the function that gives the color of a colorized line at a point: from the start color,
36
+ * one step per point, to the end color, and back (see {@link sweepFraction}), sweeping the spectrum
37
+ * in between (see {@link lineColorScale})
38
+ * @param startColor The color the sweep starts at
39
+ * @param endColor The color the sweep ends at
40
+ * @param steps The number of points (steps) a sweep from the start color to the end color takes
41
+ * @return The color at a point, given its overall sequence number in its series
42
+ */
43
+ export declare function pointColorScale(startColor: string, endColor: string, steps: number): (pointNumber: number) => string;
44
+ /**
45
+ * Strokes a line through the specified points, with the specified curve, whose color changes
46
+ * along it: each piece of the line, as the curve traces it (e.g. the segment between two points),
47
+ * gets the color of the point it's at (pieces are matched to points by their position along the
48
+ * line, since some curves trace more, or fewer, pieces than there are segments). Consecutive
49
+ * pieces of the same color are stroked together. The curve's shape is exactly the same as
50
+ * stroking the whole line at once. The context's current line width (and other stroke settings)
51
+ * are used.
52
+ * @param context The canvas 2D context to stroke onto
53
+ * @param points The points, in order
54
+ * @param x The x-coordinate (in the context's space) of a point
55
+ * @param y The y-coordinate (in the context's space) of a point
56
+ * @param curve The curve (interpolation) between the points
57
+ * @param colorOf The color of the line at the point with the specified index (in `points`)
58
+ * @template P The type of the points
59
+ */
60
+ export declare function strokeColorizedLine<P>(context: CanvasRenderingContext2D, points: Array<P>, x: (point: P) => number, y: (point: P) => number, curve: CurveFactory, colorOf: (index: number) => string): void;
61
+ //# sourceMappingURL=colorizedLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorizedLine.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/plots/colorizedLine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,IAAI,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAAY,CAAA;AACjD;;GAEG;AACH,eAAO,MAAM,sBAAsB,YAAY,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAA;AAiE5C;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAEjG;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAGpH;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACjC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAChB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,EACvB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,EACvB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACnC,IAAI,CAuCN"}
@@ -0,0 +1,157 @@
1
+ import * as d3 from "d3";
2
+ /**
3
+ * The default color of a colorized line's start (its oldest point): a blue
4
+ */
5
+ export const DEFAULT_LINE_START_COLOR = '#2f6cf6';
6
+ /**
7
+ * The default color of a colorized line's end (its newest point): a red
8
+ */
9
+ export const DEFAULT_LINE_END_COLOR = '#e8423f';
10
+ /**
11
+ * The default number of points it takes a colorized line's color to sweep from its start color to
12
+ * its end color (see `sweepFraction`)
13
+ */
14
+ export const DEFAULT_LINE_COLOR_STEPS = 1000;
15
+ /**
16
+ * Records the pieces of the line that d3's line generator traces (one per drawing command:
17
+ * `lineTo`, `bezierCurveTo`, ...), rather than drawing them, so that each piece can be stroked in
18
+ * its own color while keeping the curve's exact shape
19
+ */
20
+ class LineRecorder {
21
+ constructor() {
22
+ this.pieces = [];
23
+ this.current = [0, 0];
24
+ this.subpathStart = [0, 0];
25
+ }
26
+ moveTo(x, y) {
27
+ this.current = [x, y];
28
+ this.subpathStart = [x, y];
29
+ }
30
+ lineTo(x, y) {
31
+ this.add([x, y], context => context.lineTo(x, y));
32
+ }
33
+ bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {
34
+ this.add([x, y], context => context.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y));
35
+ }
36
+ quadraticCurveTo(cpx, cpy, x, y) {
37
+ this.add([x, y], context => context.quadraticCurveTo(cpx, cpy, x, y));
38
+ }
39
+ arcTo(x1, y1, x2, y2, radius) {
40
+ this.add([x2, y2], context => context.arcTo(x1, y1, x2, y2, radius));
41
+ }
42
+ arc(x, y, radius, startAngle, endAngle, counterclockwise) {
43
+ const end = [x + radius * Math.cos(endAngle), y + radius * Math.sin(endAngle)];
44
+ this.add(end, context => context.arc(x, y, radius, startAngle, endAngle, counterclockwise));
45
+ }
46
+ closePath() {
47
+ const [x, y] = this.subpathStart;
48
+ this.add([x, y], context => context.lineTo(x, y));
49
+ }
50
+ rect(x, y, width, height) {
51
+ this.moveTo(x, y);
52
+ this.lineTo(x + width, y);
53
+ this.lineTo(x + width, y + height);
54
+ this.lineTo(x, y + height);
55
+ this.closePath();
56
+ }
57
+ add(end, draw) {
58
+ this.pieces.push({ start: this.current, end, draw });
59
+ this.current = end;
60
+ }
61
+ }
62
+ /**
63
+ * Creates the function that gives the color at a fraction of the way along a colorized line:
64
+ * from the start color (at 0) to the end color (at 1), sweeping the long way around the hue
65
+ * circle, so that the line passes through the colors of the spectrum in between (e.g. from blue,
66
+ * through cyan, green, and yellow, to red)
67
+ * @param startColor The color at the line's start
68
+ * @param endColor The color at the line's end
69
+ * @return The color at a fraction (from 0 to 1) of the way along the line
70
+ */
71
+ export function lineColorScale(startColor, endColor) {
72
+ return d3.interpolateHslLong(startColor, endColor);
73
+ }
74
+ /**
75
+ * Where a point is in the color sweep of a colorized line: the line's color advances one step per
76
+ * point, sweeping from the start color (0) to the end color (1) over `steps` points, then back to
77
+ * the start color over the next `steps` points, and so on -- so the color never jumps
78
+ * @param pointNumber The point's overall sequence number in its series (from 0)
79
+ * @param steps The number of points (steps) a sweep from the start color to the end color takes
80
+ * @return The fraction (from 0, the start color, to 1, the end color) of the way through the sweep
81
+ */
82
+ export function sweepFraction(pointNumber, steps) {
83
+ const span = Math.max(1, steps);
84
+ const phase = (Math.max(0, pointNumber) / span) % 2;
85
+ return phase <= 1 ? phase : 2 - phase;
86
+ }
87
+ /**
88
+ * Creates the function that gives the color of a colorized line at a point: from the start color,
89
+ * one step per point, to the end color, and back (see {@link sweepFraction}), sweeping the spectrum
90
+ * in between (see {@link lineColorScale})
91
+ * @param startColor The color the sweep starts at
92
+ * @param endColor The color the sweep ends at
93
+ * @param steps The number of points (steps) a sweep from the start color to the end color takes
94
+ * @return The color at a point, given its overall sequence number in its series
95
+ */
96
+ export function pointColorScale(startColor, endColor, steps) {
97
+ const colorAt = lineColorScale(startColor, endColor);
98
+ return pointNumber => colorAt(sweepFraction(pointNumber, steps));
99
+ }
100
+ /**
101
+ * Strokes a line through the specified points, with the specified curve, whose color changes
102
+ * along it: each piece of the line, as the curve traces it (e.g. the segment between two points),
103
+ * gets the color of the point it's at (pieces are matched to points by their position along the
104
+ * line, since some curves trace more, or fewer, pieces than there are segments). Consecutive
105
+ * pieces of the same color are stroked together. The curve's shape is exactly the same as
106
+ * stroking the whole line at once. The context's current line width (and other stroke settings)
107
+ * are used.
108
+ * @param context The canvas 2D context to stroke onto
109
+ * @param points The points, in order
110
+ * @param x The x-coordinate (in the context's space) of a point
111
+ * @param y The y-coordinate (in the context's space) of a point
112
+ * @param curve The curve (interpolation) between the points
113
+ * @param colorOf The color of the line at the point with the specified index (in `points`)
114
+ * @template P The type of the points
115
+ */
116
+ export function strokeColorizedLine(context, points, x, y, curve, colorOf) {
117
+ // (with a single point, there's no line to draw -- d3 would close the path back on itself)
118
+ if (points.length < 2)
119
+ return;
120
+ const recorder = new LineRecorder();
121
+ d3.line().x(x).y(y).curve(curve).context(recorder)(points);
122
+ const { pieces } = recorder;
123
+ if (pieces.length === 0)
124
+ return;
125
+ // the index of the point a piece is at (for e.g. a linear curve, a segment's starting point)
126
+ const pointIndexOf = (pieceIndex) => pieces.length === 1 ?
127
+ 0 :
128
+ Math.round(pieceIndex / (pieces.length - 1) * (points.length - 2));
129
+ const sameSpot = (a, b) => a[0] === b[0] && a[1] === b[1];
130
+ context.save();
131
+ // (round joins and caps, so that consecutive runs of different colors meet without a notch)
132
+ context.lineJoin = 'round';
133
+ context.lineCap = 'round';
134
+ let color = undefined;
135
+ let previousEnd = undefined;
136
+ pieces.forEach((piece, index) => {
137
+ const pieceColor = colorOf(pointIndexOf(index));
138
+ if (pieceColor !== color) {
139
+ // a new color: stroke the run so far, and start a new one at this piece
140
+ if (color !== undefined)
141
+ context.stroke();
142
+ color = pieceColor;
143
+ context.strokeStyle = color;
144
+ context.beginPath();
145
+ context.moveTo(piece.start[0], piece.start[1]);
146
+ }
147
+ else if (previousEnd === undefined || !sameSpot(previousEnd, piece.start)) {
148
+ // (a gap in the line, e.g. a new subpath)
149
+ context.moveTo(piece.start[0], piece.start[1]);
150
+ }
151
+ piece.draw(context);
152
+ previousEnd = piece.end;
153
+ });
154
+ context.stroke();
155
+ context.restore();
156
+ }
157
+ //# sourceMappingURL=colorizedLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorizedLine.js","sourceRoot":"","sources":["../../../../src/app/charts/plots/colorizedLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAA;AACjD;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAA;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAA;AAU5C;;;;GAIG;AACH,MAAM,YAAY;IAAlB;QACa,WAAM,GAAqB,EAAE,CAAA;QAC9B,YAAO,GAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACxC,iBAAY,GAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IA6CzD,CAAC;IA3CG,MAAM,CAAC,CAAS,EAAE,CAAS;QACvB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACvB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACpF,CAAC;IAED,gBAAgB,CAAC,GAAW,EAAE,GAAW,EAAE,CAAS,EAAE,CAAS;QAC3D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,MAAc;QAChE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,MAAc,EAAE,UAAkB,EAAE,QAAgB,EAAE,gBAA0B;QACtG,MAAM,GAAG,GAAqB,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QAChG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED,SAAS;QACL,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAA;QAChC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACpD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,GAAG,CAAC,GAA2B,EAAE,IAAmC;QACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;IACtB,CAAC;CACJ;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,QAAgB;IAC/D,OAAO,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB,EAAE,KAAa;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IAC/B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IACnD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,QAAgB,EAAE,KAAa;IAC/E,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACpD,OAAO,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;AACpE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAC/B,OAAiC,EACjC,MAAgB,EAChB,CAAuB,EACvB,CAAuB,EACvB,KAAmB,EACnB,OAAkC;IAElC,2FAA2F;IAC3F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAM;IAE7B,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;IACnC,EAAE,CAAC,IAAI,EAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAA+C,CAAC,CAAC,MAAM,CAAC,CAAA;IACpG,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,CAAA;IACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE/B,6FAA6F;IAC7F,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE7F,OAAO,CAAC,IAAI,EAAE,CAAA;IACd,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAA;IAC1B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;IACzB,IAAI,KAAK,GAAuB,SAAS,CAAA;IACzC,IAAI,WAAW,GAAiC,SAAS,CAAA;IACzD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/C,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACvB,wEAAwE;YACxE,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,MAAM,EAAE,CAAA;YACzC,KAAK,GAAG,UAAU,CAAA;YAClB,OAAO,CAAC,WAAW,GAAG,KAAK,CAAA;YAC3B,OAAO,CAAC,SAAS,EAAE,CAAA;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,CAAC;aAAM,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,0CAA0C;YAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnB,WAAW,GAAG,KAAK,CAAC,GAAG,CAAA;IAC3B,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,EAAE,CAAA;IAChB,OAAO,CAAC,OAAO,EAAE,CAAA;AACrB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { CurveFactory } from "d3";
2
+ import type { BarChartElementId } from "./BarPlot";
3
+ export declare const NoCurveFactory: CurveFactory;
4
+ export declare const STREAM_CHARTS_BAR_CHART_ID = "stream-charts-bar-chart";
5
+ export declare const TOOLTIP_PROVIDER_ID: string;
6
+ export declare const BAR_CHART_TOOLTIP_PROVIDER_IDS: BarChartElementId;
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/plots/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,IAAI,CAAC;AACrC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAEjD,eAAO,MAAM,cAAc,EAAE,YAAmD,CAAC;AAEjF,eAAO,MAAM,0BAA0B,4BAA4B,CAAA;AACnE,eAAO,MAAM,mBAAmB,QAAmD,CAAA;AACnF,eAAO,MAAM,8BAA8B,EAAE,iBAM5C,CAAA"}
@@ -0,0 +1,11 @@
1
+ export const NoCurveFactory = undefined; // constants identifying the bar-chart elements for which mouse-over/mouse-leave events are defined
2
+ export const STREAM_CHARTS_BAR_CHART_ID = 'stream-charts-bar-chart';
3
+ export const TOOLTIP_PROVIDER_ID = STREAM_CHARTS_BAR_CHART_ID + '-tooltip-provider';
4
+ export const BAR_CHART_TOOLTIP_PROVIDER_IDS = {
5
+ currentValue: TOOLTIP_PROVIDER_ID + '-current-value',
6
+ meanValue: TOOLTIP_PROVIDER_ID + '-mean-value',
7
+ minMax: TOOLTIP_PROVIDER_ID + '-min-max',
8
+ windowedMeanValue: TOOLTIP_PROVIDER_ID + '-windowed-min-max',
9
+ windowedMinMax: TOOLTIP_PROVIDER_ID + '-windowed-mean'
10
+ };
11
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/app/charts/plots/constants.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,cAAc,GAAiB,SAAoC,CAAC,CAAC,mGAAmG;AAErL,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,CAAA;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,GAAG,mBAAmB,CAAA;AACnF,MAAM,CAAC,MAAM,8BAA8B,GAAsB;IAC7D,YAAY,EAAE,mBAAmB,GAAG,gBAAgB;IACpD,SAAS,EAAE,mBAAmB,GAAG,aAAa;IAC9C,MAAM,EAAE,mBAAmB,GAAG,UAAU;IACxC,iBAAiB,EAAE,mBAAmB,GAAG,mBAAmB;IAC5D,cAAc,EAAE,mBAAmB,GAAG,gBAAgB;CACzD,CAAA"}
@@ -0,0 +1,88 @@
1
+ /** A single (x, y) point in canvas drawing coordinates (i.e. already includes the plot's margin offset). */
2
+ export type Point = [x: number, y: number];
3
+ /** An axis-aligned rectangle, in canvas coordinates. */
4
+ export interface Rect {
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ }
10
+ /**
11
+ * The screen-space geometry for one series, as last drawn, used for hit-testing on `mousemove`.
12
+ * Points/segments/rects are in the same canvas coordinate space the series was drawn in
13
+ * (margin-offset already applied).
14
+ */
15
+ export interface SeriesGeometry {
16
+ /** the points that make up the series, in drawing order (ignored when `segments`/`rects` is set) */
17
+ points: Array<Point>;
18
+ /**
19
+ * When set, `points` is hit-tested as a single *connected* polyline (mouse must be within
20
+ * `hitRadius` pixels of a line segment between consecutive points). When unset and
21
+ * `segments`/`rects` is also unset, `points` are hit-tested individually as circles of radius
22
+ * `hitRadius` (e.g. for marker/bar-style plots where there's no connecting line).
23
+ */
24
+ asLine?: boolean;
25
+ /**
26
+ * A set of *disjoint* line segments (e.g. one per raster spike) that are hit-tested
27
+ * independently -- unlike `asLine`, consecutive entries are NOT assumed to connect to each
28
+ * other. Takes precedence over `points`/`asLine` when set.
29
+ */
30
+ segments?: Array<[Point, Point]>;
31
+ /**
32
+ * A set of axis-aligned rectangles (e.g. bar-chart bars), hit-tested as filled regions (exact
33
+ * containment, not a `hitRadius` proximity test). Takes precedence over `segments`/`points`.
34
+ */
35
+ rects?: Array<Rect>;
36
+ /** how close (in pixels) the mouse must be to register a hit (ignored when `rects` is set) */
37
+ hitRadius: number;
38
+ }
39
+ /**
40
+ * The result of a hit-test: which series was hit, and the index of the specific point (for
41
+ * point/polyline geometry) or segment (for disjoint-segment geometry) that matched -- so callers
42
+ * can look up the specific datum involved (e.g. for a tooltip) rather than just the series name.
43
+ */
44
+ export interface SeriesHit {
45
+ /** the name of the series that was hit */
46
+ name: string;
47
+ /**
48
+ * the index of the point (for point or polyline geometry -- for a polyline, whichever end of
49
+ * the hit segment is nearer the mouse), segment, or rect that was hit
50
+ */
51
+ index: number;
52
+ }
53
+ /**
54
+ * Finds the series (and specific point/segment within it) hit by the given mouse position.
55
+ * Entries are checked in *reverse* insertion order -- i.e. most-recently-added first -- and the
56
+ * first entry with any qualifying match wins, matching normal DOM/SVG hit-testing (the topmost
57
+ * element captures the pointer) rather than picking whichever entry happens to report the smallest
58
+ * geometric distance across all entries.
59
+ *
60
+ * This distinction matters whenever two entries visually overlap: e.g. a bar-chart's value-line
61
+ * segment is drawn on top of (and can extend slightly beyond) its min/max bar's rect. A rect is a
62
+ * containment test -- any point inside it is unambiguously "hit," with no notion of "how close" --
63
+ * so comparing it against a segment's proximity-based distance would let the rect win everywhere
64
+ * the two overlap, even dead-center on the line, since 0 distance beats any nonzero one. Since
65
+ * plots insert geometry in the same order they draw it, checking entries topmost-first resolves
66
+ * this the way it looks on screen: whichever shape is drawn last (visually on top) claims the
67
+ * pointer first, and only falls through to earlier (lower) entries where it doesn't match at all.
68
+ *
69
+ * Within a single entry (e.g. Scatter's many polyline segments, or Raster's many disjoint spikes)
70
+ * the closest qualifying point/segment still wins, since there's no z-order to speak of among
71
+ * pieces of the same drawn shape.
72
+ * @param mouseX The mouse's x-coordinate, in the same canvas coordinate space the geometry was recorded in
73
+ * @param mouseY The mouse's y-coordinate, in the same canvas coordinate space the geometry was recorded in
74
+ * @param geometry A `map(series_name -> SeriesGeometry)` as last drawn, in draw order
75
+ * @return The hit series and matched index, or `undefined` if the mouse isn't over any series
76
+ */
77
+ export declare function seriesAt(mouseX: number, mouseY: number, geometry: Map<string, SeriesGeometry>): SeriesHit | undefined;
78
+ /**
79
+ * Converts a `MouseEvent` (as received by a `canvas.addEventListener('mousemove', ...)` handler)
80
+ * into canvas-local coordinates, accounting for the canvas's on-page position and any CSS scaling
81
+ * between the canvas's backing-store size and its displayed size.
82
+ * @param event The mouse event
83
+ * @param canvas The canvas element the event was dispatched to
84
+ * @return The `[x, y]` position of the event, in the canvas's own CSS-pixel coordinate space
85
+ * (i.e. the same space `ctx` drawing calls use once the devicePixelRatio transform is applied)
86
+ */
87
+ export declare function canvasLocalPoint(event: MouseEvent, canvas: HTMLCanvasElement): Point;
88
+ //# sourceMappingURL=hitTesting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hitTesting.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/plots/hitTesting.ts"],"names":[],"mappings":"AAMA,4GAA4G;AAC5G,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;AAE1C,wDAAwD;AACxD,MAAM,WAAW,IAAI;IACjB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,oGAAoG;IACpG,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACnB,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAA;CACpB;AA+BD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,GAAG,SAAS,CA+DrH;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,GAAG,KAAK,CAQpF"}