@mui/x-charts 8.0.0-alpha.7 → 8.0.0-alpha.9

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 (600) hide show
  1. package/BarChart/BarChart.d.ts +1 -1
  2. package/BarChart/BarChart.js +10 -2
  3. package/BarChart/BarLabel/BarLabelPlot.js +1 -1
  4. package/BarChart/BarPlot.js +8 -9
  5. package/BarChart/extremums.d.ts +3 -3
  6. package/BarChart/formatter.d.ts +2 -2
  7. package/BarChart/formatter.js +2 -1
  8. package/BarChart/getColor.d.ts +1 -1
  9. package/BarChart/legend.d.ts +1 -1
  10. package/BarChart/legend.js +1 -1
  11. package/BarChart/plugin.d.ts +2 -2
  12. package/BarChart/plugin.js +3 -2
  13. package/BarChart/useBarChartProps.d.ts +1 -1
  14. package/CHANGELOG.md +551 -3
  15. package/ChartContainer/ChartContainer.d.ts +8 -4
  16. package/ChartContainer/ChartContainer.js +15 -9
  17. package/ChartContainer/useChartContainerProps.d.ts +6 -4
  18. package/ChartContainer/useChartContainerProps.js +7 -5
  19. package/ChartDataProvider/ChartDataProvider.d.ts +42 -0
  20. package/ChartDataProvider/ChartDataProvider.js +108 -0
  21. package/ChartDataProvider/package.json +6 -0
  22. package/ChartDataProvider/useChartDataProviderProps.d.ts +13 -0
  23. package/ChartDataProvider/useChartDataProviderProps.js +52 -0
  24. package/ChartsAxis/ChartsAxis.js +5 -3
  25. package/ChartsGrid/ChartsGrid.js +9 -5
  26. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  27. package/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  28. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  29. package/ChartsGrid/ChartsVerticalGrid.js +4 -3
  30. package/ChartsLabel/ChartsLabelGradient.js +11 -12
  31. package/ChartsLegend/ContinuousColorLegend.js +3 -3
  32. package/ChartsLegend/useAxis.js +7 -5
  33. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  34. package/ChartsSurface/ChartsSurface.d.ts +1 -1
  35. package/ChartsSurface/ChartsSurface.js +17 -27
  36. package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  37. package/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  38. package/ChartsTooltip/ChartsTooltipTable.d.ts +0 -6
  39. package/ChartsTooltip/ChartsTooltipTable.js +0 -20
  40. package/ChartsTooltip/useAxisTooltip.d.ts +3 -1
  41. package/ChartsTooltip/useAxisTooltip.js +13 -9
  42. package/ChartsTooltip/useItemTooltip.d.ts +3 -1
  43. package/ChartsTooltip/useItemTooltip.js +14 -10
  44. package/ChartsTooltip/utils.js +2 -0
  45. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  46. package/ChartsXAxis/ChartsXAxis.js +11 -8
  47. package/ChartsYAxis/ChartsYAxis.js +8 -5
  48. package/Gauge/Gauge.js +5 -1
  49. package/Gauge/GaugeContainer.d.ts +3 -10
  50. package/Gauge/GaugeContainer.js +38 -38
  51. package/Gauge/GaugeProvider.js +2 -0
  52. package/LineChart/AnimatedArea.js +1 -1
  53. package/LineChart/AnimatedLine.js +1 -1
  54. package/LineChart/AppearingMask.js +1 -1
  55. package/LineChart/AreaPlot.js +59 -25
  56. package/LineChart/CircleMarkElement.d.ts +0 -4
  57. package/LineChart/CircleMarkElement.js +2 -7
  58. package/LineChart/LineChart.d.ts +0 -4
  59. package/LineChart/LineChart.js +10 -6
  60. package/LineChart/LineHighlightElement.d.ts +5 -1
  61. package/LineChart/LineHighlightElement.js +29 -9
  62. package/LineChart/LineHighlightPlot.js +18 -13
  63. package/LineChart/LinePlot.js +59 -24
  64. package/LineChart/MarkPlot.d.ts +0 -6
  65. package/LineChart/MarkPlot.js +20 -23
  66. package/LineChart/extremums.d.ts +3 -3
  67. package/LineChart/formatter.d.ts +2 -2
  68. package/LineChart/formatter.js +3 -1
  69. package/LineChart/getColor.d.ts +1 -1
  70. package/LineChart/legend.d.ts +1 -1
  71. package/LineChart/legend.js +1 -1
  72. package/LineChart/plugin.d.ts +2 -2
  73. package/LineChart/plugin.js +3 -2
  74. package/LineChart/useLineChartProps.d.ts +1 -1
  75. package/LineChart/useLineChartProps.js +3 -5
  76. package/PieChart/PieArcLabelPlot.js +2 -2
  77. package/PieChart/PieArcPlot.js +2 -2
  78. package/PieChart/PieChart.js +10 -2
  79. package/PieChart/dataTransform/transition.d.ts +2 -2
  80. package/PieChart/dataTransform/transition.js +6 -6
  81. package/PieChart/formatter.d.ts +2 -2
  82. package/PieChart/formatter.js +4 -1
  83. package/PieChart/getColor.d.ts +1 -1
  84. package/PieChart/getPieCoordinates.d.ts +2 -2
  85. package/PieChart/legend.d.ts +1 -1
  86. package/PieChart/legend.js +1 -1
  87. package/PieChart/plugin.d.ts +2 -2
  88. package/PieChart/plugin.js +3 -2
  89. package/ScatterChart/Scatter.js +6 -4
  90. package/ScatterChart/ScatterChart.d.ts +1 -2
  91. package/ScatterChart/ScatterChart.js +17 -13
  92. package/ScatterChart/ScatterPlot.js +11 -10
  93. package/ScatterChart/extremums.d.ts +3 -3
  94. package/ScatterChart/extremums.js +3 -1
  95. package/ScatterChart/formatter.d.ts +2 -2
  96. package/ScatterChart/formatter.js +3 -1
  97. package/ScatterChart/getColor.d.ts +1 -1
  98. package/ScatterChart/legend.d.ts +1 -1
  99. package/ScatterChart/legend.js +1 -1
  100. package/ScatterChart/plugin.d.ts +2 -2
  101. package/ScatterChart/plugin.js +3 -2
  102. package/ScatterChart/useScatterChartProps.d.ts +1 -3
  103. package/ScatterChart/useScatterChartProps.js +1 -4
  104. package/SparkLineChart/SparkLineChart.d.ts +2 -2
  105. package/SparkLineChart/SparkLineChart.js +11 -2
  106. package/context/AnimationProvider/AnimationProvider.js +1 -1
  107. package/context/ChartProvider/ChartProvider.d.ts +5 -1
  108. package/context/ChartProvider/ChartProvider.js +22 -2
  109. package/context/ChartProvider/ChartProvider.types.d.ts +17 -2
  110. package/context/InteractionSelectors.d.ts +22 -22
  111. package/context/PolarProvider/PolarProvider.d.ts +0 -4
  112. package/context/PolarProvider/PolarProvider.js +59 -47
  113. package/context/PolarProvider/getAxisExtremum.d.ts +0 -4
  114. package/context/PolarProvider/getAxisExtremum.js +48 -20
  115. package/context/PolarProvider/usePolarContext.d.ts +0 -2
  116. package/context/PolarProvider/usePolarContext.js +9 -8
  117. package/context/index.d.ts +0 -4
  118. package/context/index.js +1 -3
  119. package/hooks/index.d.ts +2 -0
  120. package/hooks/index.js +3 -1
  121. package/hooks/useAxis.d.ts +9 -1
  122. package/hooks/useAxis.js +32 -6
  123. package/hooks/useAxisEvents.js +12 -8
  124. package/hooks/useChartGradientId.d.ts +31 -0
  125. package/hooks/useChartGradientId.js +47 -0
  126. package/hooks/useColorScale.js +5 -5
  127. package/hooks/useDrawingArea.d.ts +16 -2
  128. package/hooks/useDrawingArea.js +5 -20
  129. package/hooks/useLegend.js +8 -13
  130. package/hooks/useSeries.d.ts +11 -6
  131. package/hooks/useSeries.js +5 -10
  132. package/hooks/useZAxis.d.ts +3 -2
  133. package/hooks/useZAxis.js +25 -6
  134. package/index.d.ts +1 -0
  135. package/index.js +3 -2
  136. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +0 -3
  137. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
  138. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +1 -1
  139. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  140. package/internals/defaultizeColor.d.ts +24 -22
  141. package/internals/index.d.ts +14 -10
  142. package/internals/index.js +17 -11
  143. package/internals/plugins/allPlugins.d.ts +12 -1
  144. package/internals/plugins/allPlugins.js +5 -2
  145. package/internals/plugins/corePlugins/corePlugins.d.ts +1 -1
  146. package/internals/plugins/corePlugins/corePlugins.js +3 -1
  147. package/internals/plugins/corePlugins/useChartDimensions/index.d.ts +3 -0
  148. package/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  149. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +3 -0
  150. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  151. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +264 -0
  152. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  153. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +99 -0
  154. package/internals/plugins/corePlugins/useChartId/index.d.ts +1 -0
  155. package/internals/plugins/corePlugins/useChartId/index.js +2 -1
  156. package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  157. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +1 -1
  158. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +1 -1
  159. package/internals/plugins/corePlugins/useChartSeries/index.d.ts +3 -0
  160. package/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  161. package/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +18 -0
  162. package/{modern/context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  163. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.d.ts +3 -0
  164. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  165. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +61 -0
  166. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  167. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +51 -0
  168. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.d.ts +10 -0
  169. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  170. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +29 -0
  171. package/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  172. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +18 -0
  173. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  174. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +39 -0
  175. package/{modern/context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  176. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.d.ts +6 -0
  177. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  178. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +6 -0
  179. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +5 -0
  180. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.d.ts +4 -0
  181. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  182. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts +1336 -0
  183. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +89 -0
  184. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +75 -0
  185. package/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +18 -0
  186. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +11 -11
  187. package/internals/plugins/featurePlugins/useChartZAxis/index.d.ts +3 -0
  188. package/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  189. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.d.ts +3 -0
  190. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  191. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +45 -0
  192. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  193. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +39 -0
  194. package/internals/plugins/featurePlugins/useChartZAxis/utils.d.ts +0 -0
  195. package/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  196. package/internals/plugins/models/index.d.ts +1 -0
  197. package/internals/plugins/models/index.js +2 -1
  198. package/internals/plugins/models/plugin.d.ts +32 -2
  199. package/internals/plugins/models/seriesConfig/colorProcessor.types.d.ts +5 -0
  200. package/internals/plugins/models/seriesConfig/extremumGetter.types.d.ts +22 -0
  201. package/internals/plugins/models/seriesConfig/index.d.ts +4 -0
  202. package/internals/plugins/models/seriesConfig/index.js +4 -0
  203. package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +15 -0
  204. package/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +18 -0
  205. package/internals/store/extractPluginParamsFromProps.d.ts +7 -0
  206. package/internals/store/extractPluginParamsFromProps.js +28 -0
  207. package/internals/store/useChartModels.d.ts +7 -0
  208. package/internals/store/useChartModels.js +64 -0
  209. package/internals/store/useCharts.d.ts +4 -2
  210. package/internals/store/useCharts.js +14 -9
  211. package/internals/store/useCharts.types.d.ts +1 -1
  212. package/internals/store/useStore.d.ts +5 -1
  213. package/internals/store/useStore.js +1 -9
  214. package/models/layout.d.ts +2 -1
  215. package/models/seriesType/line.d.ts +11 -0
  216. package/modern/BarChart/BarChart.js +10 -2
  217. package/modern/BarChart/BarLabel/BarLabelPlot.js +1 -1
  218. package/modern/BarChart/BarPlot.js +8 -9
  219. package/modern/BarChart/formatter.js +2 -1
  220. package/modern/BarChart/legend.js +1 -1
  221. package/modern/BarChart/plugin.js +3 -2
  222. package/modern/ChartContainer/ChartContainer.js +15 -9
  223. package/modern/ChartContainer/useChartContainerProps.js +7 -5
  224. package/modern/ChartDataProvider/ChartDataProvider.js +108 -0
  225. package/modern/ChartDataProvider/useChartDataProviderProps.js +52 -0
  226. package/modern/ChartsAxis/ChartsAxis.js +5 -3
  227. package/modern/ChartsGrid/ChartsGrid.js +9 -5
  228. package/modern/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  229. package/modern/ChartsGrid/ChartsVerticalGrid.js +4 -3
  230. package/modern/ChartsLabel/ChartsLabelGradient.js +11 -12
  231. package/modern/ChartsLegend/ContinuousColorLegend.js +3 -3
  232. package/modern/ChartsLegend/useAxis.js +7 -5
  233. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  234. package/modern/ChartsSurface/ChartsSurface.js +17 -27
  235. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  236. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  237. package/modern/ChartsTooltip/ChartsTooltipTable.js +0 -20
  238. package/modern/ChartsTooltip/useAxisTooltip.js +13 -9
  239. package/modern/ChartsTooltip/useItemTooltip.js +14 -10
  240. package/modern/ChartsTooltip/utils.js +2 -0
  241. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  242. package/modern/ChartsXAxis/ChartsXAxis.js +11 -8
  243. package/modern/ChartsYAxis/ChartsYAxis.js +8 -5
  244. package/modern/Gauge/Gauge.js +5 -1
  245. package/modern/Gauge/GaugeContainer.js +38 -38
  246. package/modern/Gauge/GaugeProvider.js +2 -0
  247. package/modern/LineChart/AnimatedArea.js +1 -1
  248. package/modern/LineChart/AnimatedLine.js +1 -1
  249. package/modern/LineChart/AppearingMask.js +1 -1
  250. package/modern/LineChart/AreaPlot.js +59 -25
  251. package/modern/LineChart/CircleMarkElement.js +2 -7
  252. package/modern/LineChart/LineChart.js +10 -6
  253. package/modern/LineChart/LineHighlightElement.js +29 -9
  254. package/modern/LineChart/LineHighlightPlot.js +18 -13
  255. package/modern/LineChart/LinePlot.js +59 -24
  256. package/modern/LineChart/MarkPlot.js +20 -23
  257. package/modern/LineChart/formatter.js +3 -1
  258. package/modern/LineChart/legend.js +1 -1
  259. package/modern/LineChart/plugin.js +3 -2
  260. package/modern/LineChart/useLineChartProps.js +3 -5
  261. package/modern/PieChart/PieArcLabelPlot.js +2 -2
  262. package/modern/PieChart/PieArcPlot.js +2 -2
  263. package/modern/PieChart/PieChart.js +10 -2
  264. package/modern/PieChart/dataTransform/transition.js +6 -6
  265. package/modern/PieChart/formatter.js +4 -1
  266. package/modern/PieChart/legend.js +1 -1
  267. package/modern/PieChart/plugin.js +3 -2
  268. package/modern/ScatterChart/Scatter.js +6 -4
  269. package/modern/ScatterChart/ScatterChart.js +17 -13
  270. package/modern/ScatterChart/ScatterPlot.js +11 -10
  271. package/modern/ScatterChart/extremums.js +3 -1
  272. package/modern/ScatterChart/formatter.js +3 -1
  273. package/modern/ScatterChart/legend.js +1 -1
  274. package/modern/ScatterChart/plugin.js +3 -2
  275. package/modern/ScatterChart/useScatterChartProps.js +1 -4
  276. package/modern/SparkLineChart/SparkLineChart.js +11 -2
  277. package/modern/context/AnimationProvider/AnimationProvider.js +1 -1
  278. package/modern/context/ChartProvider/ChartProvider.js +22 -2
  279. package/modern/context/PolarProvider/PolarProvider.js +59 -47
  280. package/modern/context/PolarProvider/getAxisExtremum.js +48 -20
  281. package/modern/context/PolarProvider/usePolarContext.js +9 -8
  282. package/modern/context/index.js +1 -3
  283. package/modern/hooks/index.js +3 -1
  284. package/modern/hooks/useAxis.js +32 -6
  285. package/modern/hooks/useAxisEvents.js +12 -8
  286. package/modern/hooks/useChartGradientId.js +47 -0
  287. package/modern/hooks/useColorScale.js +5 -5
  288. package/modern/hooks/useDrawingArea.js +5 -20
  289. package/modern/hooks/useLegend.js +8 -13
  290. package/modern/hooks/useSeries.js +5 -10
  291. package/modern/hooks/useZAxis.js +25 -6
  292. package/modern/index.js +3 -2
  293. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
  294. package/modern/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  295. package/modern/internals/index.js +17 -11
  296. package/modern/internals/plugins/allPlugins.js +5 -2
  297. package/modern/internals/plugins/corePlugins/corePlugins.js +3 -1
  298. package/modern/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  299. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  300. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  301. package/modern/internals/plugins/corePlugins/useChartId/index.js +2 -1
  302. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  303. package/modern/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  304. package/{context/SeriesProvider → modern/internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  305. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  306. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  307. package/modern/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  308. package/modern/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  309. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  310. package/{context/ChartDataProvider/useDefaultizeAxis.js → modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  311. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  312. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +5 -0
  313. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  314. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +89 -0
  315. package/modern/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  316. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  317. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  318. package/modern/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  319. package/modern/internals/plugins/models/index.js +2 -1
  320. package/modern/internals/plugins/models/seriesConfig/index.js +4 -0
  321. package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.js +1 -0
  322. package/modern/internals/plugins/models/seriesConfig/seriesProcessor.types.js +1 -0
  323. package/modern/internals/store/extractPluginParamsFromProps.js +28 -0
  324. package/modern/internals/store/useChartModels.js +64 -0
  325. package/modern/internals/store/useCharts.js +14 -9
  326. package/modern/internals/store/useStore.js +1 -9
  327. package/node/BarChart/BarChart.js +11 -3
  328. package/node/BarChart/BarLabel/BarLabelPlot.js +1 -1
  329. package/node/BarChart/BarPlot.js +6 -6
  330. package/node/BarChart/formatter.js +2 -1
  331. package/node/BarChart/legend.js +1 -1
  332. package/node/BarChart/plugin.js +3 -2
  333. package/node/ChartContainer/ChartContainer.js +15 -9
  334. package/node/ChartContainer/useChartContainerProps.js +7 -5
  335. package/node/ChartDataProvider/ChartDataProvider.js +114 -0
  336. package/node/ChartDataProvider/useChartDataProviderProps.js +59 -0
  337. package/node/ChartsAxis/ChartsAxis.js +5 -3
  338. package/node/ChartsGrid/ChartsGrid.js +9 -5
  339. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  340. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -3
  341. package/node/ChartsLabel/ChartsLabelGradient.js +11 -12
  342. package/node/ChartsLegend/ContinuousColorLegend.js +3 -3
  343. package/node/ChartsLegend/useAxis.js +6 -4
  344. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +6 -5
  345. package/node/ChartsSurface/ChartsSurface.js +18 -28
  346. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -2
  347. package/node/ChartsTooltip/ChartsItemTooltipContent.js +5 -2
  348. package/node/ChartsTooltip/ChartsTooltipTable.js +1 -21
  349. package/node/ChartsTooltip/useAxisTooltip.js +11 -7
  350. package/node/ChartsTooltip/useItemTooltip.js +13 -9
  351. package/node/ChartsTooltip/utils.js +1 -0
  352. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +19 -12
  353. package/node/ChartsXAxis/ChartsXAxis.js +11 -8
  354. package/node/ChartsYAxis/ChartsYAxis.js +8 -5
  355. package/node/Gauge/Gauge.js +5 -1
  356. package/node/Gauge/GaugeContainer.js +38 -38
  357. package/node/Gauge/GaugeProvider.js +2 -2
  358. package/node/LineChart/AnimatedArea.js +1 -1
  359. package/node/LineChart/AnimatedLine.js +1 -1
  360. package/node/LineChart/AppearingMask.js +1 -1
  361. package/node/LineChart/AreaPlot.js +59 -25
  362. package/node/LineChart/CircleMarkElement.js +2 -7
  363. package/node/LineChart/LineChart.js +11 -7
  364. package/node/LineChart/LineHighlightElement.js +29 -9
  365. package/node/LineChart/LineHighlightPlot.js +18 -13
  366. package/node/LineChart/LinePlot.js +59 -24
  367. package/node/LineChart/MarkPlot.js +20 -23
  368. package/node/LineChart/formatter.js +3 -1
  369. package/node/LineChart/legend.js +1 -1
  370. package/node/LineChart/plugin.js +3 -2
  371. package/node/LineChart/useLineChartProps.js +3 -5
  372. package/node/PieChart/PieArcLabelPlot.js +1 -1
  373. package/node/PieChart/PieArcPlot.js +1 -1
  374. package/node/PieChart/PieChart.js +11 -3
  375. package/node/PieChart/dataTransform/transition.js +9 -7
  376. package/node/PieChart/formatter.js +4 -1
  377. package/node/PieChart/legend.js +1 -1
  378. package/node/PieChart/plugin.js +3 -2
  379. package/node/ScatterChart/Scatter.js +6 -4
  380. package/node/ScatterChart/ScatterChart.js +18 -14
  381. package/node/ScatterChart/ScatterPlot.js +10 -9
  382. package/node/ScatterChart/extremums.js +3 -1
  383. package/node/ScatterChart/formatter.js +3 -1
  384. package/node/ScatterChart/legend.js +1 -1
  385. package/node/ScatterChart/plugin.js +3 -2
  386. package/node/ScatterChart/useScatterChartProps.js +1 -4
  387. package/node/SparkLineChart/SparkLineChart.js +10 -1
  388. package/node/context/AnimationProvider/AnimationProvider.js +1 -1
  389. package/node/context/ChartProvider/ChartProvider.js +23 -2
  390. package/node/context/PolarProvider/PolarProvider.js +59 -51
  391. package/node/context/PolarProvider/getAxisExtremum.js +49 -27
  392. package/node/context/PolarProvider/usePolarContext.js +9 -14
  393. package/node/context/index.js +1 -20
  394. package/node/hooks/index.js +29 -2
  395. package/node/hooks/useAxis.js +34 -6
  396. package/node/hooks/useAxisEvents.js +12 -8
  397. package/node/hooks/useChartGradientId.js +56 -0
  398. package/node/hooks/useColorScale.js +4 -4
  399. package/node/hooks/useDrawingArea.js +5 -21
  400. package/node/hooks/useLegend.js +8 -14
  401. package/node/hooks/useSeries.js +5 -9
  402. package/node/hooks/useZAxis.js +27 -9
  403. package/node/index.js +12 -1
  404. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +17 -27
  405. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  406. package/node/internals/index.js +111 -63
  407. package/node/internals/plugins/allPlugins.js +4 -2
  408. package/node/internals/plugins/corePlugins/corePlugins.js +3 -1
  409. package/node/internals/plugins/corePlugins/useChartDimensions/index.js +27 -0
  410. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +183 -0
  411. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +32 -0
  412. package/node/internals/plugins/corePlugins/useChartId/index.js +16 -1
  413. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  414. package/node/internals/plugins/corePlugins/useChartSeries/index.js +27 -0
  415. package/node/{context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  416. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +80 -0
  417. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +11 -0
  418. package/node/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +27 -0
  419. package/node/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  420. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +69 -0
  421. package/node/{context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +4 -13
  422. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +29 -0
  423. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +59 -0
  424. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +76 -0
  425. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +98 -0
  426. package/node/internals/plugins/featurePlugins/useChartZAxis/index.js +27 -0
  427. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +94 -0
  428. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +9 -0
  429. package/node/internals/plugins/featurePlugins/useChartZAxis/utils.js +1 -0
  430. package/node/internals/plugins/models/index.js +11 -0
  431. package/node/internals/plugins/models/seriesConfig/index.js +49 -0
  432. package/node/internals/plugins/models/seriesConfig/seriesProcessor.types.js +5 -0
  433. package/node/internals/store/extractPluginParamsFromProps.js +36 -0
  434. package/node/internals/store/useChartModels.js +73 -0
  435. package/node/internals/store/useCharts.js +14 -9
  436. package/node/internals/store/useStore.js +1 -9
  437. package/package.json +3 -3
  438. package/context/CartesianProvider/Cartesian.types.d.ts +0 -59
  439. package/context/CartesianProvider/CartesianContext.d.ts +0 -4
  440. package/context/CartesianProvider/CartesianContext.js +0 -13
  441. package/context/CartesianProvider/CartesianProvider.d.ts +0 -4
  442. package/context/CartesianProvider/CartesianProvider.js +0 -49
  443. package/context/CartesianProvider/defaultizeAxis.d.ts +0 -38
  444. package/context/CartesianProvider/defaultizeAxis.js +0 -13
  445. package/context/CartesianProvider/getAxisExtremum.d.ts +0 -5
  446. package/context/CartesianProvider/getAxisExtremum.js +0 -21
  447. package/context/CartesianProvider/index.d.ts +0 -4
  448. package/context/CartesianProvider/index.js +0 -4
  449. package/context/CartesianProvider/useCartesianContext.d.ts +0 -2
  450. package/context/CartesianProvider/useCartesianContext.js +0 -10
  451. package/context/ChartDataProvider/ChartDataProvider.d.ts +0 -58
  452. package/context/ChartDataProvider/ChartDataProvider.js +0 -270
  453. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +0 -90
  454. package/context/ChartDataProvider/useChartDataProviderProps.js +0 -66
  455. package/context/ChartDataProvider/useDefaultizeAxis.d.ts +0 -39
  456. package/context/DrawingAreaProvider/DrawingArea.types.d.ts +0 -51
  457. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +0 -3
  458. package/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  459. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +0 -3
  460. package/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  461. package/context/DrawingAreaProvider/index.d.ts +0 -3
  462. package/context/DrawingAreaProvider/index.js +0 -3
  463. package/context/PluginProvider/ColorProcessor.types.d.ts +0 -8
  464. package/context/PluginProvider/ExtremumGetter.types.d.ts +0 -25
  465. package/context/PluginProvider/Plugin.types.d.ts +0 -29
  466. package/context/PluginProvider/PluginContext.d.ts +0 -4
  467. package/context/PluginProvider/PluginContext.js +0 -15
  468. package/context/PluginProvider/PluginProvider.d.ts +0 -4
  469. package/context/PluginProvider/PluginProvider.js +0 -21
  470. package/context/PluginProvider/SeriesFormatter.types.d.ts +0 -21
  471. package/context/PluginProvider/index.d.ts +0 -12
  472. package/context/PluginProvider/index.js +0 -12
  473. package/context/PluginProvider/mergePlugins.d.ts +0 -46
  474. package/context/PluginProvider/mergePlugins.js +0 -40
  475. package/context/PluginProvider/useColorProcessor.d.ts +0 -4
  476. package/context/PluginProvider/useColorProcessor.js +0 -17
  477. package/context/PluginProvider/useRadiusExtremumGetter.d.ts +0 -4
  478. package/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  479. package/context/PluginProvider/useRotationExtremumGetter.d.ts +0 -4
  480. package/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  481. package/context/PluginProvider/useSeriesFormatter.d.ts +0 -4
  482. package/context/PluginProvider/useSeriesFormatter.js +0 -17
  483. package/context/PluginProvider/useXExtremumGetter.d.ts +0 -4
  484. package/context/PluginProvider/useXExtremumGetter.js +0 -15
  485. package/context/PluginProvider/useYExtremumGetter.d.ts +0 -4
  486. package/context/PluginProvider/useYExtremumGetter.js +0 -15
  487. package/context/SeriesProvider/Series.types.d.ts +0 -26
  488. package/context/SeriesProvider/SeriesContext.d.ts +0 -4
  489. package/context/SeriesProvider/SeriesContext.js +0 -8
  490. package/context/SeriesProvider/SeriesProvider.d.ts +0 -5
  491. package/context/SeriesProvider/SeriesProvider.js +0 -33
  492. package/context/SeriesProvider/index.d.ts +0 -12
  493. package/context/SeriesProvider/index.js +0 -8
  494. package/context/SeriesProvider/processSeries.d.ts +0 -18
  495. package/context/SizeProvider/Size.types.d.ts +0 -30
  496. package/context/SizeProvider/SizeContext.d.ts +0 -4
  497. package/context/SizeProvider/SizeContext.js +0 -15
  498. package/context/SizeProvider/SizeProvider.d.ts +0 -11
  499. package/context/SizeProvider/SizeProvider.js +0 -26
  500. package/context/SizeProvider/index.d.ts +0 -4
  501. package/context/SizeProvider/index.js +0 -4
  502. package/context/SizeProvider/useChartContainerDimensions.d.ts +0 -9
  503. package/context/SizeProvider/useChartContainerDimensions.js +0 -108
  504. package/context/SizeProvider/useSize.d.ts +0 -5
  505. package/context/SizeProvider/useSize.js +0 -13
  506. package/context/ZAxisContextProvider.d.ts +0 -33
  507. package/context/ZAxisContextProvider.js +0 -96
  508. package/internals/computeAxisValue.d.ts +0 -38
  509. package/modern/context/CartesianProvider/CartesianContext.js +0 -13
  510. package/modern/context/CartesianProvider/CartesianProvider.js +0 -49
  511. package/modern/context/CartesianProvider/defaultizeAxis.js +0 -13
  512. package/modern/context/CartesianProvider/getAxisExtremum.js +0 -21
  513. package/modern/context/CartesianProvider/index.js +0 -4
  514. package/modern/context/CartesianProvider/useCartesianContext.js +0 -10
  515. package/modern/context/ChartDataProvider/ChartDataProvider.js +0 -270
  516. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +0 -66
  517. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  518. package/modern/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  519. package/modern/context/DrawingAreaProvider/index.js +0 -3
  520. package/modern/context/PluginProvider/PluginContext.js +0 -15
  521. package/modern/context/PluginProvider/PluginProvider.js +0 -21
  522. package/modern/context/PluginProvider/index.js +0 -12
  523. package/modern/context/PluginProvider/mergePlugins.js +0 -40
  524. package/modern/context/PluginProvider/useColorProcessor.js +0 -17
  525. package/modern/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  526. package/modern/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  527. package/modern/context/PluginProvider/useSeriesFormatter.js +0 -17
  528. package/modern/context/PluginProvider/useXExtremumGetter.js +0 -15
  529. package/modern/context/PluginProvider/useYExtremumGetter.js +0 -15
  530. package/modern/context/SeriesProvider/SeriesContext.js +0 -8
  531. package/modern/context/SeriesProvider/SeriesProvider.js +0 -33
  532. package/modern/context/SeriesProvider/index.js +0 -8
  533. package/modern/context/SizeProvider/SizeContext.js +0 -15
  534. package/modern/context/SizeProvider/SizeProvider.js +0 -26
  535. package/modern/context/SizeProvider/index.js +0 -4
  536. package/modern/context/SizeProvider/useChartContainerDimensions.js +0 -108
  537. package/modern/context/SizeProvider/useSize.js +0 -13
  538. package/modern/context/ZAxisContextProvider.js +0 -96
  539. package/node/context/CartesianProvider/CartesianContext.js +0 -20
  540. package/node/context/CartesianProvider/CartesianProvider.js +0 -54
  541. package/node/context/CartesianProvider/defaultizeAxis.js +0 -21
  542. package/node/context/CartesianProvider/getAxisExtremum.js +0 -28
  543. package/node/context/CartesianProvider/index.js +0 -49
  544. package/node/context/CartesianProvider/useCartesianContext.js +0 -17
  545. package/node/context/ChartDataProvider/ChartDataProvider.js +0 -276
  546. package/node/context/ChartDataProvider/useChartDataProviderProps.js +0 -72
  547. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +0 -21
  548. package/node/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -55
  549. package/node/context/DrawingAreaProvider/index.js +0 -38
  550. package/node/context/PluginProvider/PluginContext.js +0 -22
  551. package/node/context/PluginProvider/PluginProvider.js +0 -26
  552. package/node/context/PluginProvider/index.js +0 -137
  553. package/node/context/PluginProvider/mergePlugins.js +0 -47
  554. package/node/context/PluginProvider/useColorProcessor.js +0 -23
  555. package/node/context/PluginProvider/useRadiusExtremumGetter.js +0 -23
  556. package/node/context/PluginProvider/useRotationExtremumGetter.js +0 -23
  557. package/node/context/PluginProvider/useSeriesFormatter.js +0 -23
  558. package/node/context/PluginProvider/useXExtremumGetter.js +0 -22
  559. package/node/context/PluginProvider/useYExtremumGetter.js +0 -22
  560. package/node/context/SeriesProvider/SeriesContext.js +0 -15
  561. package/node/context/SeriesProvider/SeriesProvider.js +0 -38
  562. package/node/context/SeriesProvider/index.js +0 -49
  563. package/node/context/SizeProvider/SizeContext.js +0 -22
  564. package/node/context/SizeProvider/SizeProvider.js +0 -29
  565. package/node/context/SizeProvider/index.js +0 -49
  566. package/node/context/SizeProvider/useChartContainerDimensions.js +0 -116
  567. package/node/context/SizeProvider/useSize.js +0 -20
  568. package/node/context/ZAxisContextProvider.js +0 -103
  569. /package/{context/ChartDataProvider → ChartDataProvider}/index.d.ts +0 -0
  570. /package/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
  571. /package/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  572. /package/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  573. /package/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  574. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.d.ts +0 -0
  575. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  576. /package/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  577. /package/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  578. /package/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  579. /package/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  580. /package/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
  581. /package/{modern/context/CartesianProvider/Cartesian.types.js → internals/plugins/models/seriesConfig/seriesProcessor.types.js} +0 -0
  582. /package/modern/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
  583. /package/modern/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  584. /package/modern/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  585. /package/modern/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  586. /package/modern/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  587. /package/modern/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  588. /package/modern/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  589. /package/modern/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  590. /package/modern/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  591. /package/node/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
  592. /package/node/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  593. /package/node/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  594. /package/node/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  595. /package/node/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  596. /package/node/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  597. /package/node/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  598. /package/node/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  599. /package/node/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  600. /package/node/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
@@ -0,0 +1,89 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { selectorChartDrawingArea } from "../../corePlugins/useChartDimensions/index.js";
3
+ import { selectorChartSeriesConfig, selectorChartSeriesProcessed } from "../../corePlugins/useChartSeries/index.js";
4
+ import { createSelector } from "../../utils/selectors.js";
5
+ import { computeAxisValue } from "./computeAxisValue.js";
6
+ import { createAxisFilterMapper, createGetAxisFilters } from "./createAxisFilterMapper.js";
7
+ export const createZoomMap = zoom => {
8
+ const zoomItemMap = new Map();
9
+ zoom.forEach(zoomItem => {
10
+ zoomItemMap.set(zoomItem.axisId, zoomItem);
11
+ });
12
+ return zoomItemMap;
13
+ };
14
+ export const selectorChartCartesianAxisState = state => state.cartesianAxis;
15
+ const selectorChartZoomState = state => state.zoom;
16
+ export const selectorChartRawXAxis = createSelector(selectorChartCartesianAxisState, axis => axis?.x);
17
+ export const selectorChartRawYAxis = createSelector(selectorChartCartesianAxisState, axis => axis?.y);
18
+
19
+ /**
20
+ * Following selectors are not exported because they exist in the MIT chart only to ba able to reuse the Zoom state from the pro.
21
+ */
22
+
23
+ const selectorChartZoomMap = createSelector(selectorChartZoomState, zoom => zoom?.zoomData && createZoomMap(zoom?.zoomData));
24
+ const selectorChartZoomOptionsLookup = createSelector(selectorChartZoomState, () => undefined);
25
+ const selectorChartXFilter = createSelector([selectorChartZoomMap, selectorChartZoomOptionsLookup, selectorChartSeriesConfig, selectorChartSeriesProcessed], (zoomMap, zoomOptions, seriesConfig, formattedSeries) => zoomMap && zoomOptions && createAxisFilterMapper({
26
+ zoomMap,
27
+ zoomOptions,
28
+ seriesConfig,
29
+ formattedSeries,
30
+ direction: 'x'
31
+ }));
32
+ const selectorChartYFilter = createSelector([selectorChartZoomMap, selectorChartZoomOptionsLookup, selectorChartSeriesConfig, selectorChartSeriesProcessed], (zoomMap, zoomOptions, seriesConfig, formattedSeries) => zoomMap && zoomOptions && createAxisFilterMapper({
33
+ zoomMap,
34
+ zoomOptions,
35
+ seriesConfig,
36
+ formattedSeries,
37
+ direction: 'y'
38
+ }));
39
+ const selectorChartZoomAxisFilters = createSelector([selectorChartXFilter, selectorChartYFilter, selectorChartRawXAxis, selectorChartRawYAxis], (xMapper, yMapper, xAxis, yAxis) => {
40
+ if (xMapper === undefined || yMapper === undefined) {
41
+ // Early return if there is no zoom.
42
+ return undefined;
43
+ }
44
+ const xFilters = xAxis.reduce((acc, axis, index) => {
45
+ // @ts-expect-error The type is defined in the pro package
46
+ const filter = xMapper(axis, index);
47
+ if (filter !== null) {
48
+ acc[axis.id] = filter;
49
+ }
50
+ return acc;
51
+ }, {});
52
+ const yFilters = yAxis.reduce((acc, axis, index) => {
53
+ // @ts-expect-error The type is defined in the pro package
54
+ const filter = yMapper(axis, index);
55
+ if (filter !== null) {
56
+ acc[axis.id] = filter;
57
+ }
58
+ return acc;
59
+ }, {});
60
+ if (Object.keys(xFilters).length === 0 && Object.keys(yFilters).length === 0) {
61
+ return undefined;
62
+ }
63
+ return createGetAxisFilters(_extends({}, xFilters, yFilters));
64
+ });
65
+
66
+ /**
67
+ * The only interesting selectors that merge axis data and zoom if provided.
68
+ */
69
+
70
+ export const selectorChartXAxis = createSelector([selectorChartRawXAxis, selectorChartDrawingArea, selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorChartZoomMap, selectorChartZoomOptionsLookup, selectorChartZoomAxisFilters], (axis, drawingArea, formattedSeries, seriesConfig, zoomMap, zoomOptions, getFilters) => computeAxisValue({
71
+ drawingArea,
72
+ formattedSeries,
73
+ axis,
74
+ seriesConfig,
75
+ axisDirection: 'x',
76
+ zoomMap,
77
+ zoomOptions,
78
+ getFilters
79
+ }));
80
+ export const selectorChartYAxis = createSelector([selectorChartRawYAxis, selectorChartDrawingArea, selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorChartZoomMap, selectorChartZoomOptionsLookup, selectorChartZoomAxisFilters], (axis, drawingArea, formattedSeries, seriesConfig, zoomMap, zoomOptions, getFilters) => computeAxisValue({
81
+ drawingArea,
82
+ formattedSeries,
83
+ axis,
84
+ seriesConfig,
85
+ axisDirection: 'y',
86
+ zoomMap,
87
+ zoomOptions,
88
+ getFilters
89
+ }));
@@ -0,0 +1,75 @@
1
+ import { MakeOptional } from '@mui/x-internals/types';
2
+ import { ChartPluginSignature } from '../../models';
3
+ import { ChartSeriesType, DatasetType } from '../../../../models/seriesType/config';
4
+ import { AxisDefaultized, ScaleName, ChartsXAxisProps, ChartsYAxisProps, AxisId, AxisConfig } from '../../../../models/axis';
5
+ import { UseChartSeriesSignature } from '../../corePlugins/useChartSeries';
6
+ import { ZoomData, ZoomOptions } from './zoom.types';
7
+ export type DefaultizedAxisConfig<AxisProps> = {
8
+ [axisId: AxisId]: AxisDefaultized<ScaleName, any, AxisProps>;
9
+ };
10
+ export type CartesianContextState = {
11
+ /**
12
+ * Mapping from x-axis key to scaling configuration.
13
+ */
14
+ xAxis: DefaultizedAxisConfig<ChartsXAxisProps>;
15
+ /**
16
+ * Mapping from y-axis key to scaling configuration.
17
+ */
18
+ yAxis: DefaultizedAxisConfig<ChartsYAxisProps>;
19
+ /**
20
+ * The x-axes IDs sorted by order they got provided.
21
+ */
22
+ xAxisIds: AxisId[];
23
+ /**
24
+ * The y-axes IDs sorted by order they got provided.
25
+ */
26
+ yAxisIds: AxisId[];
27
+ };
28
+ export interface UseChartCartesianAxisParameters {
29
+ /**
30
+ * The configuration of the x-axes.
31
+ * If not provided, a default axis config is used.
32
+ * An array of [[AxisConfig]] objects.
33
+ */
34
+ xAxis?: MakeOptional<AxisConfig<ScaleName, any, ChartsXAxisProps>, 'id'>[];
35
+ /**
36
+ * The configuration of the y-axes.
37
+ * If not provided, a default axis config is used.
38
+ * An array of [[AxisConfig]] objects.
39
+ */
40
+ yAxis?: MakeOptional<AxisConfig<ScaleName, any, ChartsYAxisProps>, 'id'>[];
41
+ dataset?: DatasetType;
42
+ }
43
+ export type UseChartCartesianAxisDefaultizedParameters = UseChartCartesianAxisParameters & {
44
+ defaultizedXAxis: AxisConfig<ScaleName, any, ChartsXAxisProps>[];
45
+ defaultizedYAxis: AxisConfig<ScaleName, any, ChartsYAxisProps>[];
46
+ };
47
+ export interface DefaultizedZoomOptions extends Required<ZoomOptions> {
48
+ axisId: AxisId;
49
+ axisDirection: 'x' | 'y';
50
+ }
51
+ export interface UseChartCartesianAxisState {
52
+ /**
53
+ * @ignore - state populated by the useChartProZoomPlugin
54
+ */
55
+ zoom?: {
56
+ isInteracting: boolean;
57
+ zoomData: ZoomData[];
58
+ };
59
+ cartesianAxis: {
60
+ x: AxisConfig<ScaleName, any, ChartsXAxisProps>[];
61
+ y: AxisConfig<ScaleName, any, ChartsYAxisProps>[];
62
+ };
63
+ }
64
+ export type ExtremumFilter = (value: {
65
+ x: number | Date | string | null;
66
+ y: number | Date | string | null;
67
+ }, dataIndex: number) => boolean;
68
+ export interface UseChartCartesianAxisInstance {
69
+ }
70
+ export type UseChartCartesianAxisSignature<SeriesType extends ChartSeriesType = ChartSeriesType> = ChartPluginSignature<{
71
+ params: UseChartCartesianAxisParameters;
72
+ defaultizedParams: UseChartCartesianAxisDefaultizedParameters;
73
+ state: UseChartCartesianAxisState;
74
+ dependencies: [UseChartSeriesSignature<SeriesType>];
75
+ }>;
@@ -0,0 +1,18 @@
1
+ import { AxisId } from '../../../../models/axis';
2
+ import type { ExtremumFilter } from './useChartCartesianAxis.types';
3
+ export type ZoomData = {
4
+ axisId: AxisId;
5
+ start: number;
6
+ end: number;
7
+ };
8
+ export type ZoomFilterMode = 'keep' | 'discard';
9
+ export interface ZoomOptions {
10
+ filterMode?: ZoomFilterMode;
11
+ }
12
+ export type ZoomAxisFilters = Record<AxisId, ExtremumFilter>;
13
+ export type GetZoomAxisFilters = (params: {
14
+ currentAxisId: AxisId | undefined;
15
+ seriesXAxisId?: AxisId;
16
+ seriesYAxisId?: AxisId;
17
+ isDefaultAxis: boolean;
18
+ }) => ExtremumFilter;
@@ -1,6 +1,6 @@
1
1
  import { ChartRootSelector } from '../../utils/selectors';
2
2
  import { UseChartInteractionSignature } from './useChartInteraction.types';
3
- export declare const selectorChartsInteractionItem: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
3
+ export declare const selectorChartsInteractionItem: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
4
4
  cacheKey: import("../../models").ChartStateCacheKey;
5
5
  }) => import("../../../..").BarItemIdentifier | import("../../../..").ScatterItemIdentifier | import("../../../..").LineItemIdentifier | import("../../../..").PieItemIdentifier | null) & {
6
6
  clearCache: () => void;
@@ -31,7 +31,7 @@ export declare const selectorChartsInteractionItem: ((state: import("../../coreP
31
31
  memoize: typeof import("reselect").weakMapMemoize;
32
32
  argsMemoize: typeof import("reselect").weakMapMemoize;
33
33
  };
34
- export declare const selectorChartsInteractionAxis: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
34
+ export declare const selectorChartsInteractionAxis: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
35
35
  cacheKey: import("../../models").ChartStateCacheKey;
36
36
  }) => import("./useChartInteraction.types").AxisInteractionData) & {
37
37
  clearCache: () => void;
@@ -62,7 +62,7 @@ export declare const selectorChartsInteractionAxis: ((state: import("../../coreP
62
62
  memoize: typeof import("reselect").weakMapMemoize;
63
63
  argsMemoize: typeof import("reselect").weakMapMemoize;
64
64
  };
65
- export declare const selectorChartsInteractionXAxis: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
65
+ export declare const selectorChartsInteractionXAxis: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
66
66
  cacheKey: import("../../models").ChartStateCacheKey;
67
67
  }) => {
68
68
  value: number | Date | string;
@@ -105,7 +105,7 @@ export declare const selectorChartsInteractionXAxis: ((state: import("../../core
105
105
  memoize: typeof import("reselect").weakMapMemoize;
106
106
  argsMemoize: typeof import("reselect").weakMapMemoize;
107
107
  };
108
- export declare const selectorChartsInteractionYAxis: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
108
+ export declare const selectorChartsInteractionYAxis: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
109
109
  cacheKey: import("../../models").ChartStateCacheKey;
110
110
  }) => {
111
111
  value: number | Date | string;
@@ -148,7 +148,7 @@ export declare const selectorChartsInteractionYAxis: ((state: import("../../core
148
148
  memoize: typeof import("reselect").weakMapMemoize;
149
149
  argsMemoize: typeof import("reselect").weakMapMemoize;
150
150
  };
151
- export declare const selectorChartsInteractionItemIsDefined: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
151
+ export declare const selectorChartsInteractionItemIsDefined: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
152
152
  cacheKey: import("../../models").ChartStateCacheKey;
153
153
  }) => boolean) & {
154
154
  clearCache: () => void;
@@ -162,7 +162,7 @@ export declare const selectorChartsInteractionItemIsDefined: ((state: import("..
162
162
  resetResultsCount: () => void;
163
163
  };
164
164
  lastResult: () => boolean;
165
- dependencies: [((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
165
+ dependencies: [((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
166
166
  cacheKey: import("../../models").ChartStateCacheKey;
167
167
  }) => import("../../../..").BarItemIdentifier | import("../../../..").ScatterItemIdentifier | import("../../../..").LineItemIdentifier | import("../../../..").PieItemIdentifier | null) & {
168
168
  clearCache: () => void;
@@ -201,7 +201,7 @@ export declare const selectorChartsInteractionItemIsDefined: ((state: import("..
201
201
  memoize: typeof import("reselect").weakMapMemoize;
202
202
  argsMemoize: typeof import("reselect").weakMapMemoize;
203
203
  };
204
- export declare const selectorChartsInteractionXAxisIsDefined: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
204
+ export declare const selectorChartsInteractionXAxisIsDefined: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
205
205
  cacheKey: import("../../models").ChartStateCacheKey;
206
206
  }) => boolean) & {
207
207
  clearCache: () => void;
@@ -221,7 +221,7 @@ export declare const selectorChartsInteractionXAxisIsDefined: ((state: import(".
221
221
  resetResultsCount: () => void;
222
222
  };
223
223
  lastResult: () => boolean;
224
- dependencies: [((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
224
+ dependencies: [((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
225
225
  cacheKey: import("../../models").ChartStateCacheKey;
226
226
  }) => {
227
227
  value: number | Date | string;
@@ -272,7 +272,7 @@ export declare const selectorChartsInteractionXAxisIsDefined: ((state: import(".
272
272
  memoize: typeof import("reselect").weakMapMemoize;
273
273
  argsMemoize: typeof import("reselect").weakMapMemoize;
274
274
  };
275
- export declare const selectorChartsInteractionYAxisIsDefined: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
275
+ export declare const selectorChartsInteractionYAxisIsDefined: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
276
276
  cacheKey: import("../../models").ChartStateCacheKey;
277
277
  }) => boolean) & {
278
278
  clearCache: () => void;
@@ -292,7 +292,7 @@ export declare const selectorChartsInteractionYAxisIsDefined: ((state: import(".
292
292
  resetResultsCount: () => void;
293
293
  };
294
294
  lastResult: () => boolean;
295
- dependencies: [((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
295
+ dependencies: [((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
296
296
  cacheKey: import("../../models").ChartStateCacheKey;
297
297
  }) => {
298
298
  value: number | Date | string;
@@ -343,7 +343,7 @@ export declare const selectorChartsInteractionYAxisIsDefined: ((state: import(".
343
343
  memoize: typeof import("reselect").weakMapMemoize;
344
344
  argsMemoize: typeof import("reselect").weakMapMemoize;
345
345
  };
346
- export declare const selectorChartsInteractionIsVoronoiEnabled: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
346
+ export declare const selectorChartsInteractionIsVoronoiEnabled: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartInteraction.types").UseChartInteractionState & Partial<{}> & {
347
347
  cacheKey: import("../../models").ChartStateCacheKey;
348
348
  }) => boolean | undefined) & {
349
349
  clearCache: () => void;
@@ -0,0 +1,3 @@
1
+ export { useChartZAxis } from './useChartZAxis';
2
+ export type * from './useChartZAxis.types';
3
+ export * from './useChartZAxis.selectors';
@@ -0,0 +1,2 @@
1
+ export { useChartZAxis } from "./useChartZAxis.js";
2
+ export * from "./useChartZAxis.selectors.js";
@@ -0,0 +1,3 @@
1
+ import { ChartPlugin } from '../../models';
2
+ import { UseChartZAxisSignature } from './useChartZAxis.types';
3
+ export declare const useChartZAxis: ChartPlugin<UseChartZAxisSignature>;
@@ -0,0 +1,86 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import * as React from 'react';
5
+ import { getColorScale, getOrdinalColorScale } from "../../../colorScale.js";
6
+ function addDefaultId(axisConfig, defaultId) {
7
+ if (axisConfig.id !== undefined) {
8
+ return axisConfig;
9
+ }
10
+ return _extends({
11
+ id: defaultId
12
+ }, axisConfig);
13
+ }
14
+ function processColorMap(axisConfig) {
15
+ if (!axisConfig.colorMap) {
16
+ return axisConfig;
17
+ }
18
+ return _extends({}, axisConfig, {
19
+ colorScale: axisConfig.colorMap.type === 'ordinal' && axisConfig.data ? getOrdinalColorScale(_extends({
20
+ values: axisConfig.data
21
+ }, axisConfig.colorMap)) : getColorScale(axisConfig.colorMap.type === 'continuous' ? _extends({
22
+ min: axisConfig.min,
23
+ max: axisConfig.max
24
+ }, axisConfig.colorMap) : axisConfig.colorMap)
25
+ });
26
+ }
27
+ function getZAxisState(zAxis, dataset) {
28
+ if (!zAxis || zAxis.length === 0) {
29
+ return {
30
+ axis: {},
31
+ axisIds: []
32
+ };
33
+ }
34
+ const zAxisLookup = {};
35
+ const axisIds = [];
36
+ zAxis.forEach((axisConfig, index) => {
37
+ const dataKey = axisConfig.dataKey;
38
+ const defaultizedId = axisConfig.id ?? `defaultized-z-axis-${index}`;
39
+ if (dataKey === undefined || axisConfig.data !== undefined) {
40
+ zAxisLookup[defaultizedId] = processColorMap(addDefaultId(axisConfig, defaultizedId));
41
+ axisIds.push(defaultizedId);
42
+ return;
43
+ }
44
+ if (dataset === undefined) {
45
+ throw new Error('MUI X: z-axis uses `dataKey` but no `dataset` is provided.');
46
+ }
47
+ zAxisLookup[defaultizedId] = processColorMap(addDefaultId(_extends({}, axisConfig, {
48
+ data: dataset.map(d => d[dataKey])
49
+ }), defaultizedId));
50
+ axisIds.push(defaultizedId);
51
+ });
52
+ return {
53
+ axis: zAxisLookup,
54
+ axisIds
55
+ };
56
+ }
57
+ export const useChartZAxis = ({
58
+ params,
59
+ store
60
+ }) => {
61
+ const {
62
+ zAxis,
63
+ dataset
64
+ } = params;
65
+
66
+ // The effect do not track any value defined synchronously during the 1st render by hooks called after `useChartZAxis`
67
+ // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one
68
+ const isFirstRender = React.useRef(true);
69
+ React.useEffect(() => {
70
+ if (isFirstRender.current) {
71
+ isFirstRender.current = false;
72
+ return;
73
+ }
74
+ store.update(prev => _extends({}, prev, {
75
+ zAxis: getZAxisState(zAxis, dataset)
76
+ }));
77
+ }, [zAxis, dataset, store]);
78
+ return {};
79
+ };
80
+ useChartZAxis.params = {
81
+ zAxis: true,
82
+ dataset: true
83
+ };
84
+ useChartZAxis.getInitialState = params => ({
85
+ zAxis: getZAxisState(params.zAxis, params.dataset)
86
+ });
@@ -0,0 +1,45 @@
1
+ import { ChartState } from '../../models/chart';
2
+ import { UseChartZAxisSignature } from './useChartZAxis.types';
3
+ export declare const selectorChartZAxis: ((state: import("../../corePlugins/useChartId/useChartId.types").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("../../..").ChartsSeriesConfig> & import("./useChartZAxis.types").UseChartZAxisState & Partial<{}> & {
4
+ cacheKey: import("../../models").ChartStateCacheKey;
5
+ }) => {
6
+ axis: {
7
+ [axisId: string]: import("../../..").ZAxisDefaultized;
8
+ };
9
+ axisIds: import("../../..").AxisId[];
10
+ }) & {
11
+ clearCache: () => void;
12
+ resultsCount: () => number;
13
+ resetResultsCount: () => void;
14
+ } & {
15
+ resultFunc: (resultFuncArgs_0: ChartState<[UseChartZAxisSignature]>) => {
16
+ axis: {
17
+ [axisId: string]: import("../../..").ZAxisDefaultized;
18
+ };
19
+ axisIds: import("../../..").AxisId[];
20
+ };
21
+ memoizedResultFunc: ((resultFuncArgs_0: ChartState<[UseChartZAxisSignature]>) => {
22
+ axis: {
23
+ [axisId: string]: import("../../..").ZAxisDefaultized;
24
+ };
25
+ axisIds: import("../../..").AxisId[];
26
+ }) & {
27
+ clearCache: () => void;
28
+ resultsCount: () => number;
29
+ resetResultsCount: () => void;
30
+ };
31
+ lastResult: () => {
32
+ axis: {
33
+ [axisId: string]: import("../../..").ZAxisDefaultized;
34
+ };
35
+ axisIds: import("../../..").AxisId[];
36
+ };
37
+ dependencies: [(state: ChartState<[UseChartZAxisSignature]>) => ChartState<[UseChartZAxisSignature]>];
38
+ recomputations: () => number;
39
+ resetRecomputations: () => void;
40
+ dependencyRecomputations: () => number;
41
+ resetDependencyRecomputations: () => void;
42
+ } & {
43
+ memoize: typeof import("reselect").weakMapMemoize;
44
+ argsMemoize: typeof import("reselect").weakMapMemoize;
45
+ };
@@ -0,0 +1,3 @@
1
+ import { createSelector } from "../../utils/selectors.js";
2
+ const selectRootState = state => state;
3
+ export const selectorChartZAxis = createSelector([selectRootState], state => state.zAxis);
@@ -0,0 +1,39 @@
1
+ import { MakeOptional } from '@mui/x-internals/types';
2
+ import { ChartPluginSignature } from '../../models';
3
+ import { DatasetType } from '../../../../models/seriesType/config';
4
+ import { AxisId } from '../../../../models/axis';
5
+ import { ZAxisConfig, ZAxisDefaultized } from '../../../../models/z-axis';
6
+ type DefaultizedZAxisConfig = {
7
+ [axisId: string]: ZAxisDefaultized;
8
+ };
9
+ export interface UseChartZAxisParameters {
10
+ /**
11
+ * The configuration of the z-axes.
12
+ */
13
+ zAxis?: MakeOptional<ZAxisConfig, 'id'>[];
14
+ /**
15
+ * An array of objects that can be used to populate series and axes data using their `dataKey` property.
16
+ */
17
+ dataset?: DatasetType;
18
+ }
19
+ export type UseChartZAxisDefaultizedParameters = UseChartZAxisParameters;
20
+ export interface UseChartZAxisState {
21
+ zAxis: {
22
+ /**
23
+ * Mapping from z-axis key to scaling configuration.
24
+ */
25
+ axis: DefaultizedZAxisConfig;
26
+ /**
27
+ * The z-axes IDs sorted by order they got provided.
28
+ */
29
+ axisIds: AxisId[];
30
+ };
31
+ }
32
+ export interface UseChartZAxisInstance {
33
+ }
34
+ export type UseChartZAxisSignature = ChartPluginSignature<{
35
+ params: UseChartZAxisParameters;
36
+ defaultizedParams: UseChartZAxisDefaultizedParameters;
37
+ state: UseChartZAxisState;
38
+ }>;
39
+ export {};
@@ -1,3 +1,4 @@
1
1
  export * from './helpers';
2
2
  export * from './plugin';
3
3
  export * from './chart';
4
+ export * from './seriesConfig';
@@ -1,3 +1,4 @@
1
1
  export * from "./helpers.js";
2
2
  export * from "./plugin.js";
3
- export * from "./chart.js";
3
+ export * from "./chart.js";
4
+ export * from "./seriesConfig/index.js";
@@ -2,13 +2,21 @@ import * as React from 'react';
2
2
  import type { MergeSignaturesProperty, OptionalIfEmpty } from './helpers';
3
3
  import type { ChartCorePluginSignatures } from '../corePlugins';
4
4
  import { ChartStore } from '../utils/ChartStore';
5
+ import { ChartSeriesConfig } from './seriesConfig';
5
6
  export interface ChartPluginOptions<TSignature extends ChartAnyPluginSignature> {
6
7
  instance: ChartUsedInstance<TSignature>;
7
8
  params: ChartUsedDefaultizedParams<TSignature>;
9
+ models: ChartUsedControlModels<TSignature>;
8
10
  store: ChartUsedStore<TSignature>;
9
11
  svgRef: React.RefObject<SVGSVGElement | null>;
10
12
  plugins: ChartPlugin<ChartAnyPluginSignature>[];
13
+ seriesConfig: ChartSeriesConfig<any>;
11
14
  }
15
+ type ChartControlModelsInitializer<TSignature extends ChartAnyPluginSignature> = {
16
+ [TControlled in keyof TSignature['models']]: {
17
+ getDefaultValue: (params: TSignature['defaultizedParams']) => Exclude<TSignature['defaultizedParams'][TControlled], undefined>;
18
+ };
19
+ };
12
20
  type ChartResponse<TSignature extends ChartAnyPluginSignature> = OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']>;
13
21
  export type ChartPluginSignature<T extends {
14
22
  params?: {};
@@ -16,6 +24,7 @@ export type ChartPluginSignature<T extends {
16
24
  instance?: {};
17
25
  publicAPI?: {};
18
26
  state?: {};
27
+ modelNames?: keyof T['defaultizedParams'];
19
28
  dependencies?: readonly ChartAnyPluginSignature[];
20
29
  optionalDependencies?: readonly ChartAnyPluginSignature[];
21
30
  }> = {
@@ -34,6 +43,12 @@ export type ChartPluginSignature<T extends {
34
43
  publicAPI: T extends {
35
44
  publicAPI: {};
36
45
  } ? T['publicAPI'] : {};
46
+ models: T extends {
47
+ defaultizedParams: {};
48
+ modelNames: keyof T['defaultizedParams'];
49
+ } ? {
50
+ [TControlled in T['modelNames']]-?: ChartControlModel<Exclude<T['defaultizedParams'][TControlled], undefined>>;
51
+ } : {};
37
52
  dependencies: T extends {
38
53
  dependencies: Array<any>;
39
54
  } ? T['dependencies'] : [];
@@ -45,6 +60,7 @@ export type ChartAnyPluginSignature = {
45
60
  state: any;
46
61
  instance: any;
47
62
  params: any;
63
+ models: any;
48
64
  defaultizedParams: any;
49
65
  dependencies: any;
50
66
  optionalDependencies: any;
@@ -55,7 +71,7 @@ type ChartRequiredPlugins<TSignature extends ChartAnyPluginSignature> = [
55
71
  ...TSignature['dependencies']
56
72
  ];
57
73
  type PluginPropertyWithDependencies<TSignature extends ChartAnyPluginSignature, TProperty extends keyof ChartAnyPluginSignature> = TSignature[TProperty] & MergeSignaturesProperty<ChartRequiredPlugins<TSignature>, TProperty> & Partial<MergeSignaturesProperty<TSignature['optionalDependencies'], TProperty>>;
58
- export type ChartUsedParams<TSignature extends ChartAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'params'>;
74
+ export type ChartUsedParams<TSignature extends ChartAnyPluginSignature> = MergeSignaturesProperty<TSignature['dependencies'], 'defaultizedParams'> & PluginPropertyWithDependencies<TSignature, 'params'>;
59
75
  type ChartUsedDefaultizedParams<TSignature extends ChartAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'defaultizedParams'>;
60
76
  export type ChartUsedInstance<TSignature extends ChartAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'instance'> & {
61
77
  /**
@@ -63,13 +79,27 @@ export type ChartUsedInstance<TSignature extends ChartAnyPluginSignature> = Plug
63
79
  */
64
80
  $$signature: TSignature;
65
81
  };
82
+ export interface ChartControlModel<TValue> {
83
+ name: string;
84
+ value: TValue;
85
+ setControlledValue: (value: TValue | ((prevValue: TValue) => TValue)) => void;
86
+ isControlled: boolean;
87
+ }
88
+ type RemoveSetValue<Models extends Record<string, ChartControlModel<any>>> = {
89
+ [K in keyof Models]: Omit<Models[K], 'setValue'>;
90
+ };
91
+ export type ChartUsedControlModels<TSignature extends ChartAnyPluginSignature> = TSignature['models'] & RemoveSetValue<MergeSignaturesProperty<ChartRequiredPlugins<TSignature>, 'models'>>;
66
92
  export type ChartUsedStore<TSignature extends ChartAnyPluginSignature> = ChartStore<[
67
93
  TSignature,
68
94
  ...TSignature['dependencies']
69
95
  ]>;
70
96
  export type ChartPlugin<TSignature extends ChartAnyPluginSignature> = {
71
97
  (options: ChartPluginOptions<TSignature>): ChartResponse<TSignature>;
72
- getInitialState?: (params: ChartUsedDefaultizedParams<TSignature>) => TSignature['state'];
98
+ getInitialState?: (params: ChartUsedDefaultizedParams<TSignature>, currentState: MergeSignaturesProperty<ChartRequiredPlugins<TSignature>, 'state'>, seriesConfig: ChartSeriesConfig<any>) => TSignature['state'];
99
+ models?: ChartControlModelsInitializer<TSignature>;
73
100
  params: Record<keyof TSignature['params'], true>;
101
+ getDefaultizedParams?: (options: {
102
+ params: ChartUsedParams<TSignature>;
103
+ }) => TSignature['defaultizedParams'];
74
104
  };
75
105
  export {};
@@ -0,0 +1,5 @@
1
+ import type { AxisDefaultized } from '../../../../models/axis';
2
+ import type { DefaultizedSeriesType } from '../../../../models/seriesType';
3
+ import type { ZAxisDefaultized } from '../../../../models/z-axis';
4
+ import type { ChartSeriesType } from '../../../../models/seriesType/config';
5
+ export type ColorProcessor<TSeriesType extends ChartSeriesType> = (series: DefaultizedSeriesType<TSeriesType>, xAxis?: AxisDefaultized, yAxis?: AxisDefaultized, zAxis?: ZAxisDefaultized) => (dataIndex: number) => string;
@@ -0,0 +1,22 @@
1
+ import type { CartesianChartSeriesType, ChartSeriesDefaultized } from '../../../../models/seriesType/config';
2
+ import type { AxisConfig, AxisId } from '../../../../models/axis';
3
+ import type { SeriesId } from '../../../../models/seriesType/common';
4
+ type CartesianExtremumGetterParams<TSeriesType extends CartesianChartSeriesType> = {
5
+ series: Record<SeriesId, ChartSeriesDefaultized<TSeriesType>>;
6
+ axis: AxisConfig;
7
+ axisIndex: number;
8
+ isDefaultAxis: boolean;
9
+ getFilters?: (params: {
10
+ currentAxisId: AxisId | undefined;
11
+ seriesXAxisId?: AxisId;
12
+ seriesYAxisId?: AxisId;
13
+ isDefaultAxis: boolean;
14
+ }) => CartesianExtremumFilter;
15
+ };
16
+ export type CartesianExtremumGetterResult = [number, number];
17
+ export type CartesianExtremumGetter<TSeriesType extends CartesianChartSeriesType> = (params: CartesianExtremumGetterParams<TSeriesType>) => CartesianExtremumGetterResult;
18
+ export type CartesianExtremumFilter = (value: {
19
+ x: number | Date | string | null;
20
+ y: number | Date | string | null;
21
+ }, dataIndex: number) => boolean;
22
+ export {};
@@ -0,0 +1,4 @@
1
+ export * from './colorProcessor.types';
2
+ export * from './extremumGetter.types';
3
+ export * from './seriesConfig.types';
4
+ export * from './seriesProcessor.types';
@@ -0,0 +1,4 @@
1
+ export * from "./colorProcessor.types.js";
2
+ export * from "./extremumGetter.types.js";
3
+ export * from "./seriesConfig.types.js";
4
+ export * from "./seriesProcessor.types.js";
@@ -0,0 +1,15 @@
1
+ import { LegendGetter, SeriesProcessor } from './seriesProcessor.types';
2
+ import { CartesianChartSeriesType, ChartSeriesType } from '../../../../models/seriesType/config';
3
+ import { ColorProcessor } from './colorProcessor.types';
4
+ import { CartesianExtremumGetter } from './extremumGetter.types';
5
+ export type ChartSeriesTypeConfig<TSeriesType extends ChartSeriesType> = {
6
+ seriesProcessor: SeriesProcessor<TSeriesType>;
7
+ colorProcessor: ColorProcessor<TSeriesType>;
8
+ legendGetter: LegendGetter<TSeriesType>;
9
+ } & (TSeriesType extends CartesianChartSeriesType ? {
10
+ xExtremumGetter: CartesianExtremumGetter<TSeriesType>;
11
+ yExtremumGetter: CartesianExtremumGetter<TSeriesType>;
12
+ } : {});
13
+ export type ChartSeriesConfig<TSeriesType extends ChartSeriesType> = {
14
+ [Key in TSeriesType]: ChartSeriesTypeConfig<Key>;
15
+ };