@mui/x-charts 7.22.3 → 8.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +15 -0
  2. package/BarChart/AnimatedBarElement.js +21 -0
  3. package/BarChart/BarChart.d.ts +11 -16
  4. package/BarChart/BarChart.js +9 -59
  5. package/BarChart/BarElement.d.ts +6 -1343
  6. package/BarChart/BarElement.js +10 -20
  7. package/BarChart/BarLabel/BarLabelItem.d.ts +1 -1
  8. package/BarChart/BarPlot.js +24 -6
  9. package/BarChart/extremums.js +3 -3
  10. package/BarChart/useBarChartProps.d.ts +2 -4
  11. package/BarChart/useBarChartProps.js +4 -11
  12. package/CHANGELOG.md +348 -12
  13. package/ChartContainer/ChartContainer.d.ts +4 -38
  14. package/ChartContainer/ChartContainer.js +15 -44
  15. package/ChartContainer/ResizableContainer.d.ts +22 -0
  16. package/ChartContainer/ResizableContainer.js +60 -0
  17. package/ChartContainer/useChartContainerProps.d.ts +8 -92
  18. package/ChartContainer/useChartContainerProps.js +29 -59
  19. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -17
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  21. package/ChartsAxisHighlight/ChartsAxisHighlight.types.d.ts +5 -0
  22. package/ChartsAxisHighlight/ChartsAxisHighlightPath.d.ts +6 -0
  23. package/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  24. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +10 -0
  25. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  26. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +10 -0
  27. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  28. package/ChartsAxisHighlight/chartsAxisHighlightClasses.d.ts +7 -0
  29. package/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  30. package/ChartsAxisHighlight/index.d.ts +3 -0
  31. package/ChartsAxisHighlight/index.js +4 -1
  32. package/ChartsGrid/ChartsGrid.js +1 -1
  33. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  34. package/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  35. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  36. package/ChartsGrid/ChartsVerticalGrid.js +3 -3
  37. package/ChartsLegend/ChartsLegend.js +0 -3
  38. package/ChartsLegend/DefaultChartsLegend.d.ts +0 -5
  39. package/ChartsLegend/DefaultChartsLegend.js +1 -12
  40. package/ChartsLegend/LegendPerItem.d.ts +3 -3
  41. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  42. package/ChartsOverlay/ChartsOverlay.d.ts +1 -1
  43. package/ChartsSurface/ChartsSurface.d.ts +0 -15
  44. package/ChartsSurface/ChartsSurface.js +35 -34
  45. package/ChartsTooltip/ChartTooltip.types.d.ts +15 -0
  46. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +7 -39
  47. package/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  48. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -28
  49. package/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  50. package/ChartsTooltip/ChartsTooltip.d.ts +3 -69
  51. package/ChartsTooltip/ChartsTooltip.js +162 -107
  52. package/ChartsTooltip/ChartsTooltipContainer.d.ts +33 -0
  53. package/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  54. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -0
  55. package/ChartsTooltip/chartsTooltipClasses.js +18 -2
  56. package/ChartsTooltip/index.d.ts +3 -3
  57. package/ChartsTooltip/index.js +2 -3
  58. package/ChartsTooltip/useAxisTooltip.d.ts +2 -2
  59. package/ChartsTooltip/useAxisTooltip.js +21 -21
  60. package/ChartsTooltip/useItemTooltip.d.ts +1 -1
  61. package/ChartsTooltip/useItemTooltip.js +8 -7
  62. package/ChartsTooltip/utils.d.ts +5 -16
  63. package/ChartsTooltip/utils.js +45 -50
  64. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +50 -39
  65. package/Gauge/Gauge.d.ts +1 -1
  66. package/Gauge/Gauge.js +0 -6
  67. package/Gauge/GaugeContainer.d.ts +3 -3
  68. package/Gauge/GaugeContainer.js +60 -61
  69. package/LineChart/AnimatedArea.d.ts +0 -1333
  70. package/LineChart/AnimatedArea.js +9 -18
  71. package/LineChart/AnimatedLine.d.ts +0 -1333
  72. package/LineChart/AnimatedLine.js +9 -20
  73. package/LineChart/AreaElement.d.ts +1 -1
  74. package/LineChart/AreaPlot.js +14 -8
  75. package/LineChart/CircleMarkElement.js +6 -5
  76. package/LineChart/LineChart.d.ts +11 -17
  77. package/LineChart/LineChart.js +9 -60
  78. package/LineChart/LineElement.d.ts +1 -1
  79. package/LineChart/LineHighlightPlot.d.ts +1 -1
  80. package/LineChart/LineHighlightPlot.js +8 -11
  81. package/LineChart/LinePlot.js +14 -8
  82. package/LineChart/MarkElement.js +6 -5
  83. package/LineChart/MarkPlot.js +2 -6
  84. package/LineChart/extremums.js +10 -6
  85. package/LineChart/useLineChartProps.d.ts +2 -4
  86. package/LineChart/useLineChartProps.js +4 -11
  87. package/PieChart/PieArc.d.ts +0 -5
  88. package/PieChart/PieArc.js +1 -10
  89. package/PieChart/PieArcPlot.js +0 -5
  90. package/PieChart/PieChart.d.ts +10 -39
  91. package/PieChart/PieChart.js +20 -137
  92. package/PieChart/PiePlot.js +2 -2
  93. package/PieChart/getPieCoordinates.d.ts +2 -2
  94. package/README.md +4 -4
  95. package/ScatterChart/Scatter.js +6 -5
  96. package/ScatterChart/ScatterChart.d.ts +11 -17
  97. package/ScatterChart/ScatterChart.js +11 -60
  98. package/ScatterChart/ScatterPlot.js +3 -6
  99. package/ScatterChart/extremums.js +6 -6
  100. package/ScatterChart/useScatterChartProps.d.ts +2 -4
  101. package/ScatterChart/useScatterChartProps.js +3 -12
  102. package/SparkLineChart/SparkLineChart.d.ts +7 -8
  103. package/SparkLineChart/SparkLineChart.js +6 -33
  104. package/context/CartesianProvider/defaultizeAxis.d.ts +1 -1
  105. package/context/ChartDataProvider/ChartDataProvider.d.ts +31 -0
  106. package/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  107. package/context/ChartDataProvider/index.d.ts +1 -0
  108. package/context/ChartDataProvider/index.js +1 -0
  109. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +94 -0
  110. package/context/ChartDataProvider/useChartDataProviderProps.js +66 -0
  111. package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.d.ts +12 -12
  112. package/{modern/ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  113. package/context/{DrawingProvider.d.ts → DrawingAreaProvider/DrawingArea.types.d.ts} +3 -14
  114. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +8 -0
  115. package/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  116. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +3 -0
  117. package/{modern/context/DrawingProvider.js → context/DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  118. package/context/DrawingAreaProvider/index.d.ts +3 -0
  119. package/context/DrawingAreaProvider/index.js +3 -0
  120. package/context/HighlightedProvider/HighlightedContext.d.ts +0 -8
  121. package/context/HighlightedProvider/HighlightedProvider.js +1 -16
  122. package/context/InteractionProvider.d.ts +5 -48
  123. package/context/InteractionProvider.js +8 -64
  124. package/context/InteractionSelectors.d.ts +359 -0
  125. package/context/InteractionSelectors.js +12 -0
  126. package/context/PluginProvider/ExtremumGetter.types.d.ts +2 -2
  127. package/context/SizeProvider/Size.types.d.ts +30 -0
  128. package/context/SizeProvider/SizeContext.d.ts +4 -0
  129. package/context/SizeProvider/SizeContext.js +13 -0
  130. package/context/SizeProvider/SizeProvider.d.ts +11 -0
  131. package/context/SizeProvider/SizeProvider.js +26 -0
  132. package/context/SizeProvider/index.d.ts +4 -0
  133. package/context/SizeProvider/index.js +4 -0
  134. package/context/SizeProvider/useChartContainerDimensions.d.ts +9 -0
  135. package/{modern/ResponsiveChartContainer → context/SizeProvider}/useChartContainerDimensions.js +15 -7
  136. package/context/SizeProvider/useSize.d.ts +5 -0
  137. package/context/SizeProvider/useSize.js +13 -0
  138. package/context/SvgRefProvider/SvgRef.types.d.ts +8 -0
  139. package/context/SvgRefProvider/SvgRef.types.js +1 -0
  140. package/context/SvgRefProvider/SvgRefContext.d.ts +4 -0
  141. package/context/SvgRefProvider/SvgRefContext.js +17 -0
  142. package/context/SvgRefProvider/SvgRefProvider.d.ts +3 -0
  143. package/context/SvgRefProvider/SvgRefProvider.js +24 -0
  144. package/context/SvgRefProvider/index.d.ts +4 -0
  145. package/context/SvgRefProvider/index.js +4 -0
  146. package/context/SvgRefProvider/useSurfaceRef.d.ts +2 -0
  147. package/context/SvgRefProvider/useSurfaceRef.js +14 -0
  148. package/context/ZAxisContextProvider.d.ts +1 -1
  149. package/context/index.d.ts +2 -0
  150. package/context/index.js +2 -1
  151. package/hooks/useAxisEvents.js +32 -19
  152. package/hooks/useChartId.js +2 -2
  153. package/hooks/useDrawingArea.d.ts +2 -2
  154. package/hooks/useDrawingArea.js +2 -2
  155. package/hooks/useInteractionItemProps.js +19 -12
  156. package/hooks/useSvgRef.js +3 -3
  157. package/index.d.ts +1 -2
  158. package/index.js +2 -3
  159. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +1 -1
  160. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  161. package/internals/computeAxisValue.d.ts +2 -2
  162. package/internals/defaultizeColor.d.ts +1 -8
  163. package/internals/getSymbol.js +19 -3
  164. package/internals/index.d.ts +7 -6
  165. package/internals/index.js +7 -6
  166. package/internals/plugins/models/index.d.ts +35 -0
  167. package/internals/plugins/models/index.js +1 -0
  168. package/internals/plugins/utils/ChartStore.d.ts +12 -0
  169. package/internals/plugins/utils/ChartStore.js +26 -0
  170. package/internals/plugins/utils/ChartsStore.d.ts +12 -0
  171. package/internals/plugins/utils/ChartsStore.js +26 -0
  172. package/internals/plugins/utils/selectors.d.ts +9 -0
  173. package/internals/plugins/utils/selectors.js +37 -0
  174. package/internals/useCharts.d.ts +6 -0
  175. package/internals/useCharts.js +29 -0
  176. package/internals/useSelector.d.ts +4 -0
  177. package/internals/useSelector.js +6 -0
  178. package/internals/useStore.d.ts +2 -0
  179. package/internals/useStore.js +17 -0
  180. package/internals/useStringInterpolator.js +1 -0
  181. package/models/seriesType/bar.d.ts +1 -1
  182. package/models/seriesType/common.d.ts +0 -10
  183. package/models/seriesType/config.d.ts +1 -1
  184. package/models/seriesType/line.d.ts +1 -1
  185. package/models/seriesType/pie.d.ts +1 -1
  186. package/models/seriesType/scatter.d.ts +1 -6
  187. package/modern/BarChart/AnimatedBarElement.js +21 -0
  188. package/modern/BarChart/BarChart.js +9 -59
  189. package/modern/BarChart/BarElement.js +10 -20
  190. package/modern/BarChart/BarPlot.js +24 -6
  191. package/modern/BarChart/extremums.js +3 -3
  192. package/modern/BarChart/useBarChartProps.js +4 -11
  193. package/modern/ChartContainer/ChartContainer.js +15 -44
  194. package/modern/ChartContainer/ResizableContainer.js +60 -0
  195. package/modern/ChartContainer/useChartContainerProps.js +29 -59
  196. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  197. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  198. package/modern/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  199. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  200. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  201. package/modern/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  202. package/modern/ChartsAxisHighlight/index.js +4 -1
  203. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  204. package/modern/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  205. package/modern/ChartsGrid/ChartsVerticalGrid.js +3 -3
  206. package/modern/ChartsLegend/ChartsLegend.js +0 -3
  207. package/modern/ChartsLegend/DefaultChartsLegend.js +1 -12
  208. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  209. package/modern/ChartsSurface/ChartsSurface.js +35 -34
  210. package/modern/ChartsTooltip/ChartTooltip.types.js +1 -0
  211. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  212. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  213. package/modern/ChartsTooltip/ChartsTooltip.js +162 -107
  214. package/modern/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  215. package/modern/ChartsTooltip/chartsTooltipClasses.js +18 -2
  216. package/modern/ChartsTooltip/index.js +2 -3
  217. package/modern/ChartsTooltip/useAxisTooltip.js +21 -21
  218. package/modern/ChartsTooltip/useItemTooltip.js +8 -7
  219. package/modern/ChartsTooltip/utils.js +45 -50
  220. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +50 -39
  221. package/modern/Gauge/Gauge.js +0 -6
  222. package/modern/Gauge/GaugeContainer.js +60 -61
  223. package/modern/LineChart/AnimatedArea.js +9 -18
  224. package/modern/LineChart/AnimatedLine.js +9 -20
  225. package/modern/LineChart/AreaPlot.js +14 -8
  226. package/modern/LineChart/CircleMarkElement.js +6 -5
  227. package/modern/LineChart/LineChart.js +9 -60
  228. package/modern/LineChart/LineHighlightPlot.js +8 -11
  229. package/modern/LineChart/LinePlot.js +14 -8
  230. package/modern/LineChart/MarkElement.js +6 -5
  231. package/modern/LineChart/MarkPlot.js +2 -6
  232. package/modern/LineChart/extremums.js +10 -6
  233. package/modern/LineChart/useLineChartProps.js +4 -11
  234. package/modern/PieChart/PieArc.js +1 -10
  235. package/modern/PieChart/PieArcPlot.js +0 -5
  236. package/modern/PieChart/PieChart.js +20 -137
  237. package/modern/PieChart/PiePlot.js +2 -2
  238. package/modern/ScatterChart/Scatter.js +6 -5
  239. package/modern/ScatterChart/ScatterChart.js +11 -60
  240. package/modern/ScatterChart/ScatterPlot.js +3 -6
  241. package/modern/ScatterChart/extremums.js +6 -6
  242. package/modern/ScatterChart/useScatterChartProps.js +3 -12
  243. package/modern/SparkLineChart/SparkLineChart.js +6 -33
  244. package/modern/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  245. package/modern/context/ChartDataProvider/index.js +1 -0
  246. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +66 -0
  247. package/{ChartContainer → modern/context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  248. package/modern/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  249. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  250. package/{context/DrawingProvider.js → modern/context/DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  251. package/modern/context/DrawingAreaProvider/index.js +3 -0
  252. package/modern/context/HighlightedProvider/HighlightedProvider.js +1 -16
  253. package/modern/context/InteractionProvider.js +8 -64
  254. package/modern/context/InteractionSelectors.js +12 -0
  255. package/modern/context/SizeProvider/Size.types.js +1 -0
  256. package/modern/context/SizeProvider/SizeContext.js +13 -0
  257. package/modern/context/SizeProvider/SizeProvider.js +26 -0
  258. package/modern/context/SizeProvider/index.js +4 -0
  259. package/{ResponsiveChartContainer → modern/context/SizeProvider}/useChartContainerDimensions.js +15 -7
  260. package/modern/context/SizeProvider/useSize.js +13 -0
  261. package/modern/context/SvgRefProvider/SvgRef.types.js +1 -0
  262. package/modern/context/SvgRefProvider/SvgRefContext.js +17 -0
  263. package/modern/context/SvgRefProvider/SvgRefProvider.js +24 -0
  264. package/modern/context/SvgRefProvider/index.js +4 -0
  265. package/modern/context/SvgRefProvider/useSurfaceRef.js +14 -0
  266. package/modern/context/index.js +2 -1
  267. package/modern/hooks/useAxisEvents.js +32 -19
  268. package/modern/hooks/useChartId.js +2 -2
  269. package/modern/hooks/useDrawingArea.js +2 -2
  270. package/modern/hooks/useInteractionItemProps.js +19 -12
  271. package/modern/hooks/useSvgRef.js +3 -3
  272. package/modern/index.js +2 -3
  273. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  274. package/modern/internals/getSymbol.js +19 -3
  275. package/modern/internals/index.js +7 -6
  276. package/modern/internals/plugins/models/index.js +1 -0
  277. package/modern/internals/plugins/utils/ChartStore.js +26 -0
  278. package/modern/internals/plugins/utils/ChartsStore.js +26 -0
  279. package/modern/internals/plugins/utils/selectors.js +37 -0
  280. package/modern/internals/useCharts.js +29 -0
  281. package/modern/internals/useSelector.js +6 -0
  282. package/modern/internals/useStore.js +17 -0
  283. package/modern/internals/useStringInterpolator.js +1 -0
  284. package/node/BarChart/AnimatedBarElement.js +28 -0
  285. package/node/BarChart/BarChart.js +9 -59
  286. package/node/BarChart/BarElement.js +11 -21
  287. package/node/BarChart/BarPlot.js +22 -4
  288. package/node/BarChart/extremums.js +3 -3
  289. package/node/BarChart/useBarChartProps.js +4 -11
  290. package/node/ChartContainer/ChartContainer.js +14 -43
  291. package/node/ChartContainer/ResizableContainer.js +68 -0
  292. package/node/ChartContainer/useChartContainerProps.js +29 -60
  293. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +12 -100
  294. package/node/ChartsAxisHighlight/ChartsAxisHighlightPath.js +40 -0
  295. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +57 -0
  296. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +57 -0
  297. package/node/ChartsAxisHighlight/chartsAxisHighlightClasses.js +14 -0
  298. package/node/ChartsAxisHighlight/index.js +33 -0
  299. package/node/ChartsGrid/ChartsGrid.js +2 -2
  300. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -4
  301. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -4
  302. package/node/ChartsLegend/ChartsLegend.js +0 -3
  303. package/node/ChartsLegend/DefaultChartsLegend.js +1 -12
  304. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  305. package/node/ChartsSurface/ChartsSurface.js +35 -34
  306. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +83 -73
  307. package/node/ChartsTooltip/ChartsItemTooltipContent.js +54 -45
  308. package/node/ChartsTooltip/ChartsTooltip.js +161 -106
  309. package/node/ChartsTooltip/ChartsTooltipContainer.js +304 -0
  310. package/node/ChartsTooltip/chartsTooltipClasses.js +22 -3
  311. package/node/ChartsTooltip/index.js +19 -28
  312. package/node/ChartsTooltip/useAxisTooltip.js +21 -21
  313. package/node/ChartsTooltip/useItemTooltip.js +8 -7
  314. package/node/ChartsTooltip/utils.js +46 -53
  315. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +51 -40
  316. package/node/Gauge/Gauge.js +0 -6
  317. package/node/Gauge/GaugeContainer.js +60 -61
  318. package/node/LineChart/AnimatedArea.js +9 -19
  319. package/node/LineChart/AnimatedLine.js +9 -21
  320. package/node/LineChart/AreaPlot.js +13 -7
  321. package/node/LineChart/CircleMarkElement.js +6 -5
  322. package/node/LineChart/LineChart.js +9 -60
  323. package/node/LineChart/LineHighlightPlot.js +8 -11
  324. package/node/LineChart/LinePlot.js +13 -7
  325. package/node/LineChart/MarkElement.js +6 -5
  326. package/node/LineChart/MarkPlot.js +2 -6
  327. package/node/LineChart/extremums.js +10 -6
  328. package/node/LineChart/useLineChartProps.js +4 -11
  329. package/node/PieChart/PieArc.js +1 -10
  330. package/node/PieChart/PieArcPlot.js +0 -5
  331. package/node/PieChart/PieChart.js +20 -137
  332. package/node/PieChart/PiePlot.js +2 -2
  333. package/node/ScatterChart/Scatter.js +6 -5
  334. package/node/ScatterChart/ScatterChart.js +11 -60
  335. package/node/ScatterChart/ScatterPlot.js +3 -6
  336. package/node/ScatterChart/extremums.js +6 -6
  337. package/node/ScatterChart/useScatterChartProps.js +3 -12
  338. package/node/SparkLineChart/SparkLineChart.js +6 -33
  339. package/node/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  340. package/node/context/ChartDataProvider/index.js +16 -0
  341. package/node/context/ChartDataProvider/useChartDataProviderProps.js +72 -0
  342. package/node/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  343. package/node/context/DrawingAreaProvider/DrawingArea.types.js +5 -0
  344. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +22 -0
  345. package/node/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +12 -44
  346. package/node/context/DrawingAreaProvider/index.js +38 -0
  347. package/node/context/HighlightedProvider/HighlightedProvider.js +1 -16
  348. package/node/context/InteractionProvider.js +9 -66
  349. package/node/context/InteractionSelectors.js +18 -0
  350. package/node/context/SizeProvider/Size.types.js +5 -0
  351. package/node/context/SizeProvider/SizeContext.js +20 -0
  352. package/node/context/SizeProvider/SizeProvider.js +29 -0
  353. package/node/context/SizeProvider/index.js +49 -0
  354. package/node/{ResponsiveChartContainer → context/SizeProvider}/useChartContainerDimensions.js +15 -7
  355. package/node/context/SizeProvider/useSize.js +20 -0
  356. package/node/context/SvgRefProvider/SvgRef.types.js +5 -0
  357. package/node/context/SvgRefProvider/SvgRefContext.js +23 -0
  358. package/node/context/SvgRefProvider/SvgRefProvider.js +31 -0
  359. package/node/context/SvgRefProvider/index.js +49 -0
  360. package/node/context/SvgRefProvider/useSurfaceRef.js +20 -0
  361. package/node/context/index.js +10 -2
  362. package/node/hooks/useAxisEvents.js +33 -19
  363. package/node/hooks/useChartId.js +2 -2
  364. package/node/hooks/useDrawingArea.js +2 -2
  365. package/node/hooks/useInteractionItemProps.js +20 -13
  366. package/node/hooks/useSvgRef.js +3 -3
  367. package/node/index.js +5 -16
  368. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  369. package/node/internals/getSymbol.js +19 -3
  370. package/node/internals/index.js +64 -44
  371. package/node/internals/plugins/models/index.js +5 -0
  372. package/node/internals/plugins/utils/ChartStore.js +33 -0
  373. package/node/internals/plugins/utils/ChartsStore.js +33 -0
  374. package/node/internals/plugins/utils/selectors.js +44 -0
  375. package/node/internals/useCharts.js +36 -0
  376. package/node/internals/useSelector.js +13 -0
  377. package/node/internals/useStore.js +24 -0
  378. package/node/internals/useStringInterpolator.js +2 -0
  379. package/package.json +8 -6
  380. package/themeAugmentation/props.d.ts +1 -2
  381. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +0 -7
  382. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  383. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +0 -8
  384. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  385. package/ResponsiveChartContainer/ResizableContainer.d.ts +0 -9
  386. package/ResponsiveChartContainer/ResizableContainer.js +0 -26
  387. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -24
  388. package/ResponsiveChartContainer/index.d.ts +0 -1
  389. package/ResponsiveChartContainer/index.js +0 -1
  390. package/ResponsiveChartContainer/package.json +0 -6
  391. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +0 -6
  392. package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +0 -19
  393. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
  394. package/internals/SlotComponentPropsFromProps.d.ts +0 -1
  395. package/models/helpers.d.ts +0 -3
  396. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  397. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  398. package/modern/ResponsiveChartContainer/ResizableContainer.js +0 -26
  399. package/modern/ResponsiveChartContainer/index.js +0 -1
  400. package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
  401. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -129
  402. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -98
  403. package/node/ResponsiveChartContainer/ResizableContainer.js +0 -32
  404. package/node/ResponsiveChartContainer/index.js +0 -16
  405. package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -77
  406. /package/{internals/SlotComponentPropsFromProps.js → ChartsAxisHighlight/ChartsAxisHighlight.types.js} +0 -0
  407. /package/ChartsGrid/{styledCommonents.d.ts → styledComponents.d.ts} +0 -0
  408. /package/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  409. /package/{models/helpers.js → ChartsTooltip/ChartTooltip.types.js} +0 -0
  410. /package/{modern/internals/SlotComponentPropsFromProps.js → context/DrawingAreaProvider/DrawingArea.types.js} +0 -0
  411. /package/{modern/models/helpers.js → context/SizeProvider/Size.types.js} +0 -0
  412. /package/modern/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  413. /package/node/{internals/SlotComponentPropsFromProps.js → ChartsAxisHighlight/ChartsAxisHighlight.types.js} +0 -0
  414. /package/node/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  415. /package/node/{models/helpers.js → ChartsTooltip/ChartTooltip.types.js} +0 -0
@@ -2,17 +2,19 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.useAxisEvents = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
11
  var React = _interopRequireWildcard(require("react"));
10
- var _InteractionProvider = require("../context/InteractionProvider");
11
12
  var _CartesianProvider = require("../context/CartesianProvider");
12
13
  var _isBandScale = require("../internals/isBandScale");
13
14
  var _getSVGPoint = require("../internals/getSVGPoint");
14
15
  var _useSvgRef = require("./useSvgRef");
15
16
  var _useDrawingArea = require("./useDrawingArea");
17
+ var _useStore = require("../internals/useStore");
16
18
  function getAsANumber(value) {
17
19
  return value instanceof Date ? value.getTime() : value;
18
20
  }
@@ -25,9 +27,7 @@ const useAxisEvents = disableAxisListener => {
25
27
  xAxisIds,
26
28
  yAxisIds
27
29
  } = (0, _CartesianProvider.useCartesianContext)();
28
- const {
29
- dispatch
30
- } = React.useContext(_InteractionProvider.InteractionContext);
30
+ const store = (0, _useStore.useStore)(disableAxisListener);
31
31
  const usedXAxis = xAxisIds[0];
32
32
  const usedYAxis = yAxisIds[0];
33
33
 
@@ -39,7 +39,7 @@ const useAxisEvents = disableAxisListener => {
39
39
  });
40
40
  React.useEffect(() => {
41
41
  const element = svgRef.current;
42
- if (element === null || disableAxisListener) {
42
+ if (element === null || disableAxisListener || !store) {
43
43
  return () => {};
44
44
  }
45
45
  function getNewAxisState(axisConfig, mouseValue) {
@@ -98,9 +98,15 @@ const useAxisEvents = disableAxisListener => {
98
98
  x: -1,
99
99
  y: -1
100
100
  };
101
- dispatch({
102
- type: 'exitChart'
103
- });
101
+ store.update(prev => (0, _extends2.default)({}, prev, {
102
+ interaction: {
103
+ item: null,
104
+ axis: {
105
+ x: null,
106
+ y: null
107
+ }
108
+ }
109
+ }));
104
110
  };
105
111
  const handleMove = event => {
106
112
  const target = 'targetTouches' in event ? event.targetTouches[0] : event;
@@ -111,9 +117,15 @@ const useAxisEvents = disableAxisListener => {
111
117
  targetElement: event.target
112
118
  })) {
113
119
  if (mousePosition.current.isInChart) {
114
- dispatch({
115
- type: 'exitChart'
116
- });
120
+ store.update(prev => (0, _extends2.default)({}, prev, {
121
+ interaction: {
122
+ item: null,
123
+ axis: {
124
+ x: null,
125
+ y: null
126
+ }
127
+ }
128
+ }));
117
129
  mousePosition.current.isInChart = false;
118
130
  }
119
131
  return;
@@ -121,13 +133,15 @@ const useAxisEvents = disableAxisListener => {
121
133
  mousePosition.current.isInChart = true;
122
134
  const newStateX = getNewAxisState(xAxis[usedXAxis], svgPoint.x);
123
135
  const newStateY = getNewAxisState(yAxis[usedYAxis], svgPoint.y);
124
- dispatch({
125
- type: 'updateAxis',
126
- data: {
127
- x: newStateX,
128
- y: newStateY
129
- }
130
- });
136
+ store.update(prev => (0, _extends2.default)({}, prev, {
137
+ interaction: (0, _extends2.default)({}, prev.interaction, {
138
+ axis: (0, _extends2.default)({}, prev.interaction.axis, prev.interaction.axis.x?.index !== newStateX?.index || prev.interaction.axis.x?.value !== newStateX?.value ? {
139
+ x: newStateX
140
+ } : {}, prev.interaction.axis.y?.index !== newStateY?.index || prev.interaction.axis.y?.value !== newStateY?.value ? {
141
+ y: newStateY
142
+ } : {})
143
+ })
144
+ }));
131
145
  };
132
146
  const handleDown = event => {
133
147
  const target = event.currentTarget;
@@ -150,6 +164,6 @@ const useAxisEvents = disableAxisListener => {
150
164
  element.removeEventListener('pointercancel', handleOut);
151
165
  element.removeEventListener('pointerleave', handleOut);
152
166
  };
153
- }, [svgRef, dispatch, usedYAxis, yAxis, usedXAxis, xAxis, disableAxisListener, drawingArea]);
167
+ }, [svgRef, store, usedYAxis, yAxis, usedXAxis, xAxis, disableAxisListener, drawingArea]);
154
168
  };
155
169
  exports.useAxisEvents = useAxisEvents;
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.useChartId = useChartId;
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _DrawingProvider = require("../context/DrawingProvider");
10
+ var _DrawingAreaProvider = require("../context/DrawingAreaProvider");
11
11
  function useChartId() {
12
12
  const {
13
13
  chartId
14
- } = React.useContext(_DrawingProvider.DrawingContext);
14
+ } = React.useContext(_DrawingAreaProvider.DrawingAreaContext);
15
15
  return React.useMemo(() => chartId, [chartId]);
16
16
  }
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.useDrawingArea = useDrawingArea;
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _DrawingProvider = require("../context/DrawingProvider");
10
+ var _DrawingAreaProvider = require("../context/DrawingAreaProvider");
11
11
  function useDrawingArea() {
12
12
  const {
13
13
  left,
@@ -17,7 +17,7 @@ function useDrawingArea() {
17
17
  bottom,
18
18
  right,
19
19
  isPointInside
20
- } = React.useContext(_DrawingProvider.DrawingContext);
20
+ } = React.useContext(_DrawingAreaProvider.DrawingAreaContext);
21
21
  return React.useMemo(() => ({
22
22
  left,
23
23
  top,
@@ -1,18 +1,16 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.useInteractionItemProps = void 0;
9
- var React = _interopRequireWildcard(require("react"));
10
- var _InteractionProvider = require("../context/InteractionProvider");
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _context = require("../context");
11
+ var _useStore = require("../internals/useStore");
12
12
  const useInteractionItemProps = skip => {
13
- const {
14
- dispatch: dispatchInteraction
15
- } = React.useContext(_InteractionProvider.InteractionContext);
13
+ const store = (0, _useStore.useStore)();
16
14
  const {
17
15
  setHighlighted,
18
16
  clearHighlighted
@@ -27,10 +25,11 @@ const useInteractionItemProps = skip => {
27
25
  }
28
26
  };
29
27
  const onPointerEnter = () => {
30
- dispatchInteraction({
31
- type: 'enterItem',
32
- data
33
- });
28
+ store.update(prev => (0, _extends2.default)({}, prev, {
29
+ interaction: (0, _extends2.default)({}, prev.interaction, {
30
+ item: data
31
+ })
32
+ }));
34
33
  setHighlighted({
35
34
  seriesId: data.seriesId,
36
35
  dataIndex: data.dataIndex
@@ -38,9 +37,17 @@ const useInteractionItemProps = skip => {
38
37
  };
39
38
  const onPointerLeave = event => {
40
39
  event.currentTarget.releasePointerCapture(event.pointerId);
41
- dispatchInteraction({
42
- type: 'leaveItem',
43
- data
40
+ store.update(prev => {
41
+ const prevItem = prev.interaction.item;
42
+ if (prevItem === null || Object.keys(data).some(key => data[key] !== prevItem[key])) {
43
+ // The item is already something else, no need to clean it.
44
+ return prev;
45
+ }
46
+ return (0, _extends2.default)({}, prev, {
47
+ interaction: (0, _extends2.default)({}, prev.interaction, {
48
+ item: null
49
+ })
50
+ });
44
51
  });
45
52
  clearHighlighted();
46
53
  };
@@ -7,14 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.useSvgRef = useSvgRef;
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _DrawingProvider = require("../context/DrawingProvider");
10
+ var _SvgRefProvider = require("../context/SvgRefProvider");
11
11
  function useSvgRef() {
12
12
  const {
13
13
  isInitialized,
14
14
  data
15
- } = React.useContext(_DrawingProvider.SvgContext);
15
+ } = React.useContext(_SvgRefProvider.SvgRefContext);
16
16
  if (!isInitialized) {
17
17
  throw new Error(['MUI X: Could not find the svg ref context.', 'It looks like you rendered your component outside of a ChartsContainer parent component.'].join('\n'));
18
18
  }
19
- return data;
19
+ return data.svgRef;
20
20
  }
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v7.22.3
2
+ * @mui/x-charts v8.0.0-alpha.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -263,17 +263,6 @@ Object.keys(_Gauge).forEach(function (key) {
263
263
  }
264
264
  });
265
265
  });
266
- var _ChartContainer = require("./ChartContainer");
267
- Object.keys(_ChartContainer).forEach(function (key) {
268
- if (key === "default" || key === "__esModule") return;
269
- if (key in exports && exports[key] === _ChartContainer[key]) return;
270
- Object.defineProperty(exports, key, {
271
- enumerable: true,
272
- get: function () {
273
- return _ChartContainer[key];
274
- }
275
- });
276
- });
277
266
  var _ChartsSurface = require("./ChartsSurface");
278
267
  Object.keys(_ChartsSurface).forEach(function (key) {
279
268
  if (key === "default" || key === "__esModule") return;
@@ -285,14 +274,14 @@ Object.keys(_ChartsSurface).forEach(function (key) {
285
274
  }
286
275
  });
287
276
  });
288
- var _ResponsiveChartContainer = require("./ResponsiveChartContainer");
289
- Object.keys(_ResponsiveChartContainer).forEach(function (key) {
277
+ var _ChartContainer = require("./ChartContainer");
278
+ Object.keys(_ChartContainer).forEach(function (key) {
290
279
  if (key === "default" || key === "__esModule") return;
291
- if (key in exports && exports[key] === _ResponsiveChartContainer[key]) return;
280
+ if (key in exports && exports[key] === _ChartContainer[key]) return;
292
281
  Object.defineProperty(exports, key, {
293
282
  enumerable: true,
294
283
  get: function () {
295
- return _ResponsiveChartContainer[key];
284
+ return _ChartContainer[key];
296
285
  }
297
286
  });
298
287
  });
@@ -9,7 +9,7 @@ exports.ChartsAxesGradients = ChartsAxesGradients;
9
9
  exports.useChartGradient = useChartGradient;
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _CartesianProvider = require("../../../context/CartesianProvider");
12
- var _DrawingProvider = require("../../../context/DrawingProvider");
12
+ var _DrawingAreaProvider = require("../../../context/DrawingAreaProvider");
13
13
  var _hooks = require("../../../hooks");
14
14
  var _ChartsPiecewiseGradient = _interopRequireDefault(require("./ChartsPiecewiseGradient"));
15
15
  var _ChartsContinuousGradient = _interopRequireDefault(require("./ChartsContinuousGradient"));
@@ -17,7 +17,7 @@ var _jsxRuntime = require("react/jsx-runtime");
17
17
  function useChartGradient() {
18
18
  const {
19
19
  chartId
20
- } = React.useContext(_DrawingProvider.DrawingContext);
20
+ } = React.useContext(_DrawingAreaProvider.DrawingAreaContext);
21
21
  return React.useCallback((axisId, direction) => `${chartId}-gradient-${direction}-${axisId}`, [chartId]);
22
22
  }
23
23
  function ChartsAxesGradients() {
@@ -38,8 +38,13 @@ function ChartsAxesGradients() {
38
38
  yAxisIds,
39
39
  yAxis
40
40
  } = (0, _CartesianProvider.useCartesianContext)();
41
+ const filteredYAxisIds = yAxisIds.filter(axisId => yAxis[axisId].colorMap !== undefined);
42
+ const filteredXAxisIds = xAxisIds.filter(axisId => xAxis[axisId].colorMap !== undefined);
43
+ if (filteredYAxisIds.length === 0 && filteredXAxisIds.length === 0) {
44
+ return null;
45
+ }
41
46
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("defs", {
42
- children: [yAxisIds.filter(axisId => yAxis[axisId].colorMap !== undefined).map(axisId => {
47
+ children: [filteredYAxisIds.map(axisId => {
43
48
  const gradientId = getGradientId(axisId, 'y');
44
49
  const {
45
50
  colorMap,
@@ -69,7 +74,7 @@ function ChartsAxesGradients() {
69
74
  }, gradientId);
70
75
  }
71
76
  return null;
72
- }), xAxisIds.filter(axisId => xAxis[axisId].colorMap !== undefined).map(axisId => {
77
+ }), filteredXAxisIds.map(axisId => {
73
78
  const gradientId = getGradientId(axisId, 'x');
74
79
  const {
75
80
  colorMap,
@@ -4,8 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getSymbol = getSymbol;
7
- // Returns the index of a defined shape
8
7
  function getSymbol(shape) {
9
- const symbolNames = 'circle cross diamond square star triangle wye'.split(/ /);
10
- return symbolNames.indexOf(shape) || 0;
8
+ // prettier-ignore
9
+ switch (shape) {
10
+ case 'circle':
11
+ return 0;
12
+ case 'cross':
13
+ return 1;
14
+ case 'diamond':
15
+ return 2;
16
+ case 'square':
17
+ return 3;
18
+ case 'star':
19
+ return 4;
20
+ case 'triangle':
21
+ return 5;
22
+ case 'wye':
23
+ return 6;
24
+ default:
25
+ return 0;
26
+ }
11
27
  }
@@ -10,8 +10,6 @@ var _exportNames = {
10
10
  useScatterChartProps: true,
11
11
  useLineChartProps: true,
12
12
  useBarChartProps: true,
13
- useResponsiveChartContainerProps: true,
14
- useChartContainerProps: true,
15
13
  unstable_cleanupDOM: true,
16
14
  getAxisExtremum: true
17
15
  };
@@ -33,12 +31,6 @@ Object.defineProperty(exports, "useBarChartProps", {
33
31
  return _useBarChartProps.useBarChartProps;
34
32
  }
35
33
  });
36
- Object.defineProperty(exports, "useChartContainerProps", {
37
- enumerable: true,
38
- get: function () {
39
- return _useChartContainerProps.useChartContainerProps;
40
- }
41
- });
42
34
  Object.defineProperty(exports, "useDrawingArea", {
43
35
  enumerable: true,
44
36
  get: function () {
@@ -57,12 +49,6 @@ Object.defineProperty(exports, "useLineChartProps", {
57
49
  return _useLineChartProps.useLineChartProps;
58
50
  }
59
51
  });
60
- Object.defineProperty(exports, "useResponsiveChartContainerProps", {
61
- enumerable: true,
62
- get: function () {
63
- return _useResponsiveChartContainerProps.useResponsiveChartContainerProps;
64
- }
65
- });
66
52
  Object.defineProperty(exports, "useScatterChartProps", {
67
53
  enumerable: true,
68
54
  get: function () {
@@ -87,19 +73,7 @@ Object.keys(_ChartsAxesGradients).forEach(function (key) {
87
73
  }
88
74
  });
89
75
  });
90
- var _useChartContainerDimensions = require("../ResponsiveChartContainer/useChartContainerDimensions");
91
- Object.keys(_useChartContainerDimensions).forEach(function (key) {
92
- if (key === "default" || key === "__esModule") return;
93
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
94
- if (key in exports && exports[key] === _useChartContainerDimensions[key]) return;
95
- Object.defineProperty(exports, key, {
96
- enumerable: true,
97
- get: function () {
98
- return _useChartContainerDimensions[key];
99
- }
100
- });
101
- });
102
- var _ResizableContainer = require("../ResponsiveChartContainer/ResizableContainer");
76
+ var _ResizableContainer = require("../ChartContainer/ResizableContainer");
103
77
  Object.keys(_ResizableContainer).forEach(function (key) {
104
78
  if (key === "default" || key === "__esModule") return;
105
79
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -117,8 +91,30 @@ var _useDrawingArea = require("../hooks/useDrawingArea");
117
91
  var _useScatterChartProps = require("../ScatterChart/useScatterChartProps");
118
92
  var _useLineChartProps = require("../LineChart/useLineChartProps");
119
93
  var _useBarChartProps = require("../BarChart/useBarChartProps");
120
- var _useResponsiveChartContainerProps = require("../ResponsiveChartContainer/useResponsiveChartContainerProps");
121
94
  var _useChartContainerProps = require("../ChartContainer/useChartContainerProps");
95
+ Object.keys(_useChartContainerProps).forEach(function (key) {
96
+ if (key === "default" || key === "__esModule") return;
97
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
98
+ if (key in exports && exports[key] === _useChartContainerProps[key]) return;
99
+ Object.defineProperty(exports, key, {
100
+ enumerable: true,
101
+ get: function () {
102
+ return _useChartContainerProps[key];
103
+ }
104
+ });
105
+ });
106
+ var _useChartDataProviderProps = require("../context/ChartDataProvider/useChartDataProviderProps");
107
+ Object.keys(_useChartDataProviderProps).forEach(function (key) {
108
+ if (key === "default" || key === "__esModule") return;
109
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
110
+ if (key in exports && exports[key] === _useChartDataProviderProps[key]) return;
111
+ Object.defineProperty(exports, key, {
112
+ enumerable: true,
113
+ get: function () {
114
+ return _useChartDataProviderProps[key];
115
+ }
116
+ });
117
+ });
122
118
  var _defaultizeValueFormatter = require("./defaultizeValueFormatter");
123
119
  Object.keys(_defaultizeValueFormatter).forEach(function (key) {
124
120
  if (key === "default" || key === "__esModule") return;
@@ -216,15 +212,15 @@ Object.keys(_CartesianProvider).forEach(function (key) {
216
212
  }
217
213
  });
218
214
  });
219
- var _DrawingProvider = require("../context/DrawingProvider");
220
- Object.keys(_DrawingProvider).forEach(function (key) {
215
+ var _DrawingAreaProvider = require("../context/DrawingAreaProvider");
216
+ Object.keys(_DrawingAreaProvider).forEach(function (key) {
221
217
  if (key === "default" || key === "__esModule") return;
222
218
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
223
- if (key in exports && exports[key] === _DrawingProvider[key]) return;
219
+ if (key in exports && exports[key] === _DrawingAreaProvider[key]) return;
224
220
  Object.defineProperty(exports, key, {
225
221
  enumerable: true,
226
222
  get: function () {
227
- return _DrawingProvider[key];
223
+ return _DrawingAreaProvider[key];
228
224
  }
229
225
  });
230
226
  });
@@ -289,39 +285,63 @@ Object.keys(_AnimationProvider).forEach(function (key) {
289
285
  });
290
286
  });
291
287
  var _getAxisExtremum = require("../context/CartesianProvider/getAxisExtremum");
292
- var _config = require("../models/seriesType/config");
293
- Object.keys(_config).forEach(function (key) {
288
+ var _ChartDataProvider = require("../context/ChartDataProvider");
289
+ Object.keys(_ChartDataProvider).forEach(function (key) {
294
290
  if (key === "default" || key === "__esModule") return;
295
291
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
296
- if (key in exports && exports[key] === _config[key]) return;
292
+ if (key in exports && exports[key] === _ChartDataProvider[key]) return;
297
293
  Object.defineProperty(exports, key, {
298
294
  enumerable: true,
299
295
  get: function () {
300
- return _config[key];
296
+ return _ChartDataProvider[key];
301
297
  }
302
298
  });
303
299
  });
304
- var _common = require("../models/seriesType/common");
305
- Object.keys(_common).forEach(function (key) {
300
+ var _SizeProvider = require("../context/SizeProvider");
301
+ Object.keys(_SizeProvider).forEach(function (key) {
306
302
  if (key === "default" || key === "__esModule") return;
307
303
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
308
- if (key in exports && exports[key] === _common[key]) return;
304
+ if (key in exports && exports[key] === _SizeProvider[key]) return;
309
305
  Object.defineProperty(exports, key, {
310
306
  enumerable: true,
311
307
  get: function () {
312
- return _common[key];
308
+ return _SizeProvider[key];
309
+ }
310
+ });
311
+ });
312
+ var _SvgRefProvider = require("../context/SvgRefProvider");
313
+ Object.keys(_SvgRefProvider).forEach(function (key) {
314
+ if (key === "default" || key === "__esModule") return;
315
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
316
+ if (key in exports && exports[key] === _SvgRefProvider[key]) return;
317
+ Object.defineProperty(exports, key, {
318
+ enumerable: true,
319
+ get: function () {
320
+ return _SvgRefProvider[key];
313
321
  }
314
322
  });
315
323
  });
316
- var _helpers = require("../models/helpers");
317
- Object.keys(_helpers).forEach(function (key) {
324
+ var _config = require("../models/seriesType/config");
325
+ Object.keys(_config).forEach(function (key) {
326
+ if (key === "default" || key === "__esModule") return;
327
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
328
+ if (key in exports && exports[key] === _config[key]) return;
329
+ Object.defineProperty(exports, key, {
330
+ enumerable: true,
331
+ get: function () {
332
+ return _config[key];
333
+ }
334
+ });
335
+ });
336
+ var _common = require("../models/seriesType/common");
337
+ Object.keys(_common).forEach(function (key) {
318
338
  if (key === "default" || key === "__esModule") return;
319
339
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
320
- if (key in exports && exports[key] === _helpers[key]) return;
340
+ if (key in exports && exports[key] === _common[key]) return;
321
341
  Object.defineProperty(exports, key, {
322
342
  enumerable: true,
323
343
  get: function () {
324
- return _helpers[key];
344
+ return _common[key];
325
345
  }
326
346
  });
327
347
  });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChartStore = void 0;
7
+ // For now this is fixed. Will need to support generic if we add plugins
8
+
9
+ class ChartStore {
10
+ constructor(value) {
11
+ this.value = void 0;
12
+ this.listeners = void 0;
13
+ this.subscribe = fn => {
14
+ this.listeners.add(fn);
15
+ return () => {
16
+ this.listeners.delete(fn);
17
+ };
18
+ };
19
+ this.getSnapshot = () => {
20
+ return this.value;
21
+ };
22
+ this.update = updater => {
23
+ const newState = updater(this.value);
24
+ if (newState !== this.value) {
25
+ this.value = newState;
26
+ this.listeners.forEach(l => l(newState));
27
+ }
28
+ };
29
+ this.value = value;
30
+ this.listeners = new Set();
31
+ }
32
+ }
33
+ exports.ChartStore = ChartStore;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChartsStore = void 0;
7
+ // For now this is fixed. Will need to support generic if we add plugins
8
+
9
+ class ChartsStore {
10
+ constructor(value) {
11
+ this.value = void 0;
12
+ this.listeners = void 0;
13
+ this.subscribe = fn => {
14
+ this.listeners.add(fn);
15
+ return () => {
16
+ this.listeners.delete(fn);
17
+ };
18
+ };
19
+ this.getSnapshot = () => {
20
+ return this.value;
21
+ };
22
+ this.update = updater => {
23
+ const newState = updater(this.value);
24
+ if (newState !== this.value) {
25
+ this.value = newState;
26
+ this.listeners.forEach(l => l(newState));
27
+ }
28
+ };
29
+ this.value = value;
30
+ this.listeners = new Set();
31
+ }
32
+ }
33
+ exports.ChartsStore = ChartsStore;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSelector = void 0;
7
+ var _reselect = require("reselect");
8
+ const reselectCreateSelector = (0, _reselect.createSelectorCreator)({
9
+ memoize: _reselect.lruMemoize,
10
+ memoizeOptions: {
11
+ maxSize: 1,
12
+ equalityCheck: Object.is
13
+ }
14
+ });
15
+ const cache = new WeakMap();
16
+ /**
17
+ * Method wrapping reselect's createSelector to provide caching for chart instances.
18
+ *
19
+ */
20
+ const createSelector = (...createSelectorArgs) => {
21
+ const selector = (state, selectorArgs) => {
22
+ const cacheKey = state.cacheKey;
23
+
24
+ // If there is no cache for the current chart instance, create one.
25
+ let cacheForCurrentChartInstance = cache.get(cacheKey);
26
+ if (!cacheForCurrentChartInstance) {
27
+ cacheForCurrentChartInstance = new Map();
28
+ cache.set(cacheKey, cacheForCurrentChartInstance);
29
+ }
30
+
31
+ // If there is a cached selector, execute it.
32
+ const cachedSelector = cacheForCurrentChartInstance.get(createSelectorArgs);
33
+ if (cachedSelector) {
34
+ return cachedSelector(state, selectorArgs);
35
+ }
36
+
37
+ // Otherwise, create a new selector and cache it and execute it.
38
+ const fn = reselectCreateSelector(...createSelectorArgs);
39
+ cacheForCurrentChartInstance.set(createSelectorArgs, fn);
40
+ return fn(state, selectorArgs);
41
+ };
42
+ return selector;
43
+ };
44
+ exports.createSelector = createSelector;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useCharts = useCharts;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _ChartStore = require("./plugins/utils/ChartStore");
10
+ let globalId = 0;
11
+ function useCharts() {
12
+ const storeRef = React.useRef(null);
13
+ if (storeRef.current == null) {
14
+ // eslint-disable-next-line react-compiler/react-compiler
15
+ globalId += 1;
16
+ const initialState = {
17
+ interaction: {
18
+ item: null,
19
+ axis: {
20
+ x: null,
21
+ y: null
22
+ }
23
+ },
24
+ cacheKey: {
25
+ id: globalId
26
+ }
27
+ };
28
+ storeRef.current = new _ChartStore.ChartStore(initialState);
29
+ }
30
+ const contextValue = React.useMemo(() => ({
31
+ store: storeRef.current
32
+ }), []);
33
+ return {
34
+ contextValue
35
+ };
36
+ }