@mui/x-charts 8.0.0-alpha.0 → 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 (335) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +15 -0
  2. package/BarChart/AnimatedBarElement.js +21 -0
  3. package/BarChart/BarChart.d.ts +4 -9
  4. package/BarChart/BarChart.js +3 -31
  5. package/BarChart/BarElement.d.ts +5 -1342
  6. package/BarChart/BarElement.js +10 -20
  7. package/BarChart/BarPlot.js +12 -2
  8. package/BarChart/useBarChartProps.d.ts +0 -2
  9. package/BarChart/useBarChartProps.js +2 -8
  10. package/CHANGELOG.md +429 -5
  11. package/ChartContainer/ChartContainer.d.ts +2 -19
  12. package/ChartContainer/ChartContainer.js +10 -20
  13. package/ChartContainer/ResizableContainer.d.ts +17 -4
  14. package/ChartContainer/ResizableContainer.js +36 -2
  15. package/ChartContainer/useChartContainerProps.d.ts +6 -7
  16. package/ChartContainer/useChartContainerProps.js +14 -28
  17. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -17
  18. package/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  19. package/ChartsAxisHighlight/ChartsAxisHighlight.types.d.ts +5 -0
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  21. package/ChartsAxisHighlight/ChartsAxisHighlightPath.d.ts +6 -0
  22. package/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  23. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +10 -0
  24. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  25. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +10 -0
  26. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  27. package/ChartsAxisHighlight/chartsAxisHighlightClasses.d.ts +7 -0
  28. package/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  29. package/ChartsAxisHighlight/index.d.ts +3 -0
  30. package/ChartsAxisHighlight/index.js +4 -1
  31. package/ChartsGrid/ChartsGrid.js +1 -1
  32. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  33. package/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  34. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  35. package/ChartsGrid/ChartsVerticalGrid.js +3 -3
  36. package/ChartsLegend/LegendPerItem.d.ts +2 -2
  37. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  38. package/ChartsSurface/ChartsSurface.d.ts +0 -15
  39. package/ChartsSurface/ChartsSurface.js +35 -34
  40. package/ChartsTooltip/ChartTooltip.types.d.ts +15 -0
  41. package/ChartsTooltip/ChartTooltip.types.js +1 -0
  42. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +7 -39
  43. package/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  44. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -28
  45. package/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  46. package/ChartsTooltip/ChartsTooltip.d.ts +3 -69
  47. package/ChartsTooltip/ChartsTooltip.js +161 -145
  48. package/ChartsTooltip/ChartsTooltipContainer.d.ts +33 -0
  49. package/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  50. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -0
  51. package/ChartsTooltip/chartsTooltipClasses.js +18 -2
  52. package/ChartsTooltip/index.d.ts +3 -3
  53. package/ChartsTooltip/index.js +2 -3
  54. package/ChartsTooltip/useAxisTooltip.d.ts +2 -2
  55. package/ChartsTooltip/useAxisTooltip.js +19 -19
  56. package/ChartsTooltip/useItemTooltip.d.ts +1 -1
  57. package/ChartsTooltip/useItemTooltip.js +5 -4
  58. package/ChartsTooltip/utils.d.ts +0 -3
  59. package/ChartsTooltip/utils.js +0 -8
  60. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +47 -34
  61. package/Gauge/Gauge.d.ts +1 -1
  62. package/Gauge/Gauge.js +0 -6
  63. package/Gauge/GaugeContainer.d.ts +3 -3
  64. package/Gauge/GaugeContainer.js +60 -61
  65. package/LineChart/AnimatedArea.d.ts +0 -1333
  66. package/LineChart/AnimatedArea.js +9 -18
  67. package/LineChart/AnimatedLine.d.ts +0 -1333
  68. package/LineChart/AnimatedLine.js +9 -20
  69. package/LineChart/AreaPlot.js +12 -2
  70. package/LineChart/CircleMarkElement.js +6 -5
  71. package/LineChart/LineChart.d.ts +4 -10
  72. package/LineChart/LineChart.js +3 -32
  73. package/LineChart/LineHighlightPlot.js +6 -5
  74. package/LineChart/LinePlot.js +12 -2
  75. package/LineChart/MarkElement.js +6 -5
  76. package/LineChart/useLineChartProps.d.ts +0 -2
  77. package/LineChart/useLineChartProps.js +2 -8
  78. package/PieChart/PieChart.d.ts +3 -9
  79. package/PieChart/PieChart.js +5 -37
  80. package/PieChart/PiePlot.js +2 -2
  81. package/PieChart/getPieCoordinates.d.ts +2 -2
  82. package/README.md +2 -2
  83. package/ScatterChart/Scatter.js +6 -5
  84. package/ScatterChart/ScatterChart.d.ts +4 -10
  85. package/ScatterChart/ScatterChart.js +5 -32
  86. package/ScatterChart/useScatterChartProps.d.ts +0 -2
  87. package/ScatterChart/useScatterChartProps.js +1 -9
  88. package/SparkLineChart/SparkLineChart.d.ts +3 -4
  89. package/SparkLineChart/SparkLineChart.js +4 -31
  90. package/context/ChartDataProvider/ChartDataProvider.d.ts +9 -19
  91. package/context/ChartDataProvider/ChartDataProvider.js +30 -43
  92. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +7 -10
  93. package/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  94. package/context/{DrawingProvider.d.ts → DrawingAreaProvider/DrawingArea.types.d.ts} +3 -14
  95. package/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  96. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +8 -0
  97. package/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  98. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +3 -0
  99. package/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  100. package/context/DrawingAreaProvider/index.d.ts +3 -0
  101. package/context/DrawingAreaProvider/index.js +3 -0
  102. package/context/InteractionProvider.d.ts +5 -48
  103. package/context/InteractionProvider.js +8 -64
  104. package/context/InteractionSelectors.d.ts +359 -0
  105. package/context/InteractionSelectors.js +12 -0
  106. package/context/SizeProvider/Size.types.d.ts +30 -0
  107. package/context/SizeProvider/Size.types.js +1 -0
  108. package/context/SizeProvider/SizeContext.d.ts +4 -0
  109. package/context/SizeProvider/SizeContext.js +13 -0
  110. package/context/SizeProvider/SizeProvider.d.ts +11 -0
  111. package/context/SizeProvider/SizeProvider.js +26 -0
  112. package/context/SizeProvider/index.d.ts +4 -0
  113. package/context/SizeProvider/index.js +4 -0
  114. package/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.d.ts +4 -1
  115. package/{modern/ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +11 -5
  116. package/context/SizeProvider/useSize.d.ts +5 -0
  117. package/context/SizeProvider/useSize.js +13 -0
  118. package/context/SvgRefProvider/SvgRef.types.d.ts +8 -0
  119. package/context/SvgRefProvider/SvgRef.types.js +1 -0
  120. package/context/SvgRefProvider/SvgRefContext.d.ts +4 -0
  121. package/context/SvgRefProvider/SvgRefContext.js +17 -0
  122. package/context/SvgRefProvider/SvgRefProvider.d.ts +3 -0
  123. package/context/SvgRefProvider/SvgRefProvider.js +24 -0
  124. package/context/SvgRefProvider/index.d.ts +4 -0
  125. package/context/SvgRefProvider/index.js +4 -0
  126. package/context/SvgRefProvider/useSurfaceRef.d.ts +2 -0
  127. package/context/SvgRefProvider/useSurfaceRef.js +14 -0
  128. package/context/index.d.ts +2 -0
  129. package/context/index.js +2 -1
  130. package/hooks/useAxisEvents.js +32 -19
  131. package/hooks/useChartId.js +2 -2
  132. package/hooks/useDrawingArea.d.ts +2 -2
  133. package/hooks/useDrawingArea.js +2 -2
  134. package/hooks/useInteractionItemProps.js +19 -12
  135. package/hooks/useSvgRef.js +3 -3
  136. package/index.js +1 -1
  137. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +1 -1
  138. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  139. package/internals/computeAxisValue.d.ts +2 -2
  140. package/internals/index.d.ts +3 -2
  141. package/internals/index.js +3 -2
  142. package/internals/plugins/models/index.d.ts +35 -0
  143. package/internals/plugins/models/index.js +1 -0
  144. package/internals/plugins/utils/ChartStore.d.ts +12 -0
  145. package/internals/plugins/utils/ChartStore.js +26 -0
  146. package/internals/plugins/utils/ChartsStore.d.ts +12 -0
  147. package/internals/plugins/utils/ChartsStore.js +26 -0
  148. package/internals/plugins/utils/selectors.d.ts +9 -0
  149. package/internals/plugins/utils/selectors.js +37 -0
  150. package/internals/useCharts.d.ts +6 -0
  151. package/internals/useCharts.js +29 -0
  152. package/internals/useSelector.d.ts +4 -0
  153. package/internals/useSelector.js +6 -0
  154. package/internals/useStore.d.ts +2 -0
  155. package/internals/useStore.js +17 -0
  156. package/modern/BarChart/AnimatedBarElement.js +21 -0
  157. package/modern/BarChart/BarChart.js +3 -31
  158. package/modern/BarChart/BarElement.js +10 -20
  159. package/modern/BarChart/BarPlot.js +12 -2
  160. package/modern/BarChart/useBarChartProps.js +2 -8
  161. package/modern/ChartContainer/ChartContainer.js +10 -20
  162. package/modern/ChartContainer/ResizableContainer.js +36 -2
  163. package/modern/ChartContainer/useChartContainerProps.js +14 -28
  164. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  165. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  166. package/modern/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  167. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  168. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  169. package/modern/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  170. package/modern/ChartsAxisHighlight/index.js +4 -1
  171. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  172. package/modern/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  173. package/modern/ChartsGrid/ChartsVerticalGrid.js +3 -3
  174. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  175. package/modern/ChartsSurface/ChartsSurface.js +35 -34
  176. package/modern/ChartsTooltip/ChartTooltip.types.js +1 -0
  177. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  178. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  179. package/modern/ChartsTooltip/ChartsTooltip.js +161 -145
  180. package/modern/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  181. package/modern/ChartsTooltip/chartsTooltipClasses.js +18 -2
  182. package/modern/ChartsTooltip/index.js +2 -3
  183. package/modern/ChartsTooltip/useAxisTooltip.js +19 -19
  184. package/modern/ChartsTooltip/useItemTooltip.js +5 -4
  185. package/modern/ChartsTooltip/utils.js +0 -8
  186. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +47 -34
  187. package/modern/Gauge/Gauge.js +0 -6
  188. package/modern/Gauge/GaugeContainer.js +60 -61
  189. package/modern/LineChart/AnimatedArea.js +9 -18
  190. package/modern/LineChart/AnimatedLine.js +9 -20
  191. package/modern/LineChart/AreaPlot.js +12 -2
  192. package/modern/LineChart/CircleMarkElement.js +6 -5
  193. package/modern/LineChart/LineChart.js +3 -32
  194. package/modern/LineChart/LineHighlightPlot.js +6 -5
  195. package/modern/LineChart/LinePlot.js +12 -2
  196. package/modern/LineChart/MarkElement.js +6 -5
  197. package/modern/LineChart/useLineChartProps.js +2 -8
  198. package/modern/PieChart/PieChart.js +5 -37
  199. package/modern/PieChart/PiePlot.js +2 -2
  200. package/modern/ScatterChart/Scatter.js +6 -5
  201. package/modern/ScatterChart/ScatterChart.js +5 -32
  202. package/modern/ScatterChart/useScatterChartProps.js +1 -9
  203. package/modern/SparkLineChart/SparkLineChart.js +4 -31
  204. package/modern/context/ChartDataProvider/ChartDataProvider.js +30 -43
  205. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  206. package/modern/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  207. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  208. package/modern/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  209. package/modern/context/DrawingAreaProvider/index.js +3 -0
  210. package/modern/context/InteractionProvider.js +8 -64
  211. package/modern/context/InteractionSelectors.js +12 -0
  212. package/modern/context/SizeProvider/Size.types.js +1 -0
  213. package/modern/context/SizeProvider/SizeContext.js +13 -0
  214. package/modern/context/SizeProvider/SizeProvider.js +26 -0
  215. package/modern/context/SizeProvider/index.js +4 -0
  216. package/{ChartContainer → modern/context/SizeProvider}/useChartContainerDimensions.js +11 -5
  217. package/modern/context/SizeProvider/useSize.js +13 -0
  218. package/modern/context/SvgRefProvider/SvgRef.types.js +1 -0
  219. package/modern/context/SvgRefProvider/SvgRefContext.js +17 -0
  220. package/modern/context/SvgRefProvider/SvgRefProvider.js +24 -0
  221. package/modern/context/SvgRefProvider/index.js +4 -0
  222. package/modern/context/SvgRefProvider/useSurfaceRef.js +14 -0
  223. package/modern/context/index.js +2 -1
  224. package/modern/hooks/useAxisEvents.js +32 -19
  225. package/modern/hooks/useChartId.js +2 -2
  226. package/modern/hooks/useDrawingArea.js +2 -2
  227. package/modern/hooks/useInteractionItemProps.js +19 -12
  228. package/modern/hooks/useSvgRef.js +3 -3
  229. package/modern/index.js +1 -1
  230. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  231. package/modern/internals/index.js +3 -2
  232. package/modern/internals/plugins/models/index.js +1 -0
  233. package/modern/internals/plugins/utils/ChartStore.js +26 -0
  234. package/modern/internals/plugins/utils/ChartsStore.js +26 -0
  235. package/modern/internals/plugins/utils/selectors.js +37 -0
  236. package/modern/internals/useCharts.js +29 -0
  237. package/modern/internals/useSelector.js +6 -0
  238. package/modern/internals/useStore.js +17 -0
  239. package/node/BarChart/AnimatedBarElement.js +28 -0
  240. package/node/BarChart/BarChart.js +3 -31
  241. package/node/BarChart/BarElement.js +11 -21
  242. package/node/BarChart/BarPlot.js +11 -1
  243. package/node/BarChart/useBarChartProps.js +2 -8
  244. package/node/ChartContainer/ChartContainer.js +10 -20
  245. package/node/ChartContainer/ResizableContainer.js +39 -3
  246. package/node/ChartContainer/useChartContainerProps.js +14 -28
  247. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +12 -100
  248. package/node/ChartsAxisHighlight/ChartsAxisHighlight.types.js +5 -0
  249. package/node/ChartsAxisHighlight/ChartsAxisHighlightPath.js +40 -0
  250. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +57 -0
  251. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +57 -0
  252. package/node/ChartsAxisHighlight/chartsAxisHighlightClasses.js +14 -0
  253. package/node/ChartsAxisHighlight/index.js +33 -0
  254. package/node/ChartsGrid/ChartsGrid.js +2 -2
  255. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -4
  256. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -4
  257. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  258. package/node/ChartsSurface/ChartsSurface.js +35 -34
  259. package/node/ChartsTooltip/ChartTooltip.types.js +5 -0
  260. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +83 -73
  261. package/node/ChartsTooltip/ChartsItemTooltipContent.js +54 -45
  262. package/node/ChartsTooltip/ChartsTooltip.js +160 -144
  263. package/node/ChartsTooltip/ChartsTooltipContainer.js +304 -0
  264. package/node/ChartsTooltip/chartsTooltipClasses.js +22 -3
  265. package/node/ChartsTooltip/index.js +19 -28
  266. package/node/ChartsTooltip/useAxisTooltip.js +19 -19
  267. package/node/ChartsTooltip/useItemTooltip.js +5 -4
  268. package/node/ChartsTooltip/utils.js +0 -9
  269. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +48 -35
  270. package/node/Gauge/Gauge.js +0 -6
  271. package/node/Gauge/GaugeContainer.js +60 -61
  272. package/node/LineChart/AnimatedArea.js +9 -19
  273. package/node/LineChart/AnimatedLine.js +9 -21
  274. package/node/LineChart/AreaPlot.js +11 -1
  275. package/node/LineChart/CircleMarkElement.js +6 -5
  276. package/node/LineChart/LineChart.js +3 -32
  277. package/node/LineChart/LineHighlightPlot.js +6 -5
  278. package/node/LineChart/LinePlot.js +11 -1
  279. package/node/LineChart/MarkElement.js +6 -5
  280. package/node/LineChart/useLineChartProps.js +2 -8
  281. package/node/PieChart/PieChart.js +5 -37
  282. package/node/PieChart/PiePlot.js +2 -2
  283. package/node/ScatterChart/Scatter.js +6 -5
  284. package/node/ScatterChart/ScatterChart.js +5 -32
  285. package/node/ScatterChart/useScatterChartProps.js +1 -9
  286. package/node/SparkLineChart/SparkLineChart.js +4 -31
  287. package/node/context/ChartDataProvider/ChartDataProvider.js +30 -43
  288. package/node/context/ChartDataProvider/useChartDataProviderProps.js +22 -44
  289. package/node/context/DrawingAreaProvider/DrawingArea.types.js +5 -0
  290. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +22 -0
  291. package/node/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +12 -44
  292. package/node/context/DrawingAreaProvider/index.js +38 -0
  293. package/node/context/InteractionProvider.js +9 -66
  294. package/node/context/InteractionSelectors.js +18 -0
  295. package/node/context/SizeProvider/Size.types.js +5 -0
  296. package/node/context/SizeProvider/SizeContext.js +20 -0
  297. package/node/context/SizeProvider/SizeProvider.js +29 -0
  298. package/node/context/SizeProvider/index.js +49 -0
  299. package/node/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +11 -5
  300. package/node/context/SizeProvider/useSize.js +20 -0
  301. package/node/context/SvgRefProvider/SvgRef.types.js +5 -0
  302. package/node/context/SvgRefProvider/SvgRefContext.js +23 -0
  303. package/node/context/SvgRefProvider/SvgRefProvider.js +31 -0
  304. package/node/context/SvgRefProvider/index.js +49 -0
  305. package/node/context/SvgRefProvider/useSurfaceRef.js +20 -0
  306. package/node/context/index.js +10 -2
  307. package/node/hooks/useAxisEvents.js +33 -19
  308. package/node/hooks/useChartId.js +2 -2
  309. package/node/hooks/useDrawingArea.js +2 -2
  310. package/node/hooks/useInteractionItemProps.js +20 -13
  311. package/node/hooks/useSvgRef.js +3 -3
  312. package/node/index.js +1 -1
  313. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  314. package/node/internals/index.js +28 -16
  315. package/node/internals/plugins/models/index.js +5 -0
  316. package/node/internals/plugins/utils/ChartStore.js +33 -0
  317. package/node/internals/plugins/utils/ChartsStore.js +33 -0
  318. package/node/internals/plugins/utils/selectors.js +44 -0
  319. package/node/internals/useCharts.js +36 -0
  320. package/node/internals/useSelector.js +13 -0
  321. package/node/internals/useStore.js +24 -0
  322. package/package.json +7 -5
  323. package/themeAugmentation/props.d.ts +1 -2
  324. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +0 -7
  325. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  326. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +0 -8
  327. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  328. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  329. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  330. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -129
  331. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -98
  332. /package/ChartsGrid/{styledCommonents.d.ts → styledComponents.d.ts} +0 -0
  333. /package/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  334. /package/modern/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  335. /package/node/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
@@ -1,57 +1,19 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import * as React from 'react';
5
4
  import PropTypes from 'prop-types';
6
5
  import composeClasses from '@mui/utils/composeClasses';
7
- import generateUtilityClass from '@mui/utils/generateUtilityClass';
8
- import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
9
- import { styled } from '@mui/material/styles';
10
- import { InteractionContext } from "../context/InteractionProvider.js";
11
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
12
- import { getValueToPositionMapper } from "../hooks/useScale.js";
13
- import { isBandScale } from "../internals/isBandScale.js";
6
+ import { getAxisHighlightUtilityClass } from "./chartsAxisHighlightClasses.js";
7
+ import ChartsYHighlight from "./ChartsYAxisHighlight.js";
8
+ import ChartsXHighlight from "./ChartsXAxisHighlight.js";
14
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
- export function getAxisHighlightUtilityClass(slot) {
16
- return generateUtilityClass('MuiChartsAxisHighlight', slot);
17
- }
18
- export const chartsAxisHighlightClasses = generateUtilityClasses('MuiChartsAxisHighlight', ['root']);
19
10
  const useUtilityClasses = () => {
20
11
  const slots = {
21
12
  root: ['root']
22
13
  };
23
14
  return composeClasses(slots, getAxisHighlightUtilityClass);
24
15
  };
25
- export const ChartsAxisHighlightPath = styled('path', {
26
- name: 'MuiChartsAxisHighlight',
27
- slot: 'Root',
28
- overridesResolver: (_, styles) => styles.root
29
- })(({
30
- theme
31
- }) => ({
32
- pointerEvents: 'none',
33
- variants: [{
34
- props: {
35
- axisHighlight: 'band'
36
- },
37
- style: _extends({
38
- fill: 'white',
39
- fillOpacity: 0.1
40
- }, theme.applyStyles('light', {
41
- fill: 'gray'
42
- }))
43
- }, {
44
- props: {
45
- axisHighlight: 'line'
46
- },
47
- style: _extends({
48
- strokeDasharray: '5 2',
49
- stroke: '#ffffff'
50
- }, theme.applyStyles('light', {
51
- stroke: '#000000'
52
- }))
53
- }]
54
- }));
16
+
55
17
  /**
56
18
  * Demos:
57
19
  *
@@ -66,62 +28,14 @@ function ChartsAxisHighlight(props) {
66
28
  x: xAxisHighlight,
67
29
  y: yAxisHighlight
68
30
  } = props;
69
- const {
70
- xAxisIds,
71
- xAxis,
72
- yAxisIds,
73
- yAxis
74
- } = useCartesianContext();
75
31
  const classes = useUtilityClasses();
76
- const USED_X_AXIS_ID = xAxisIds[0];
77
- const USED_Y_AXIS_ID = yAxisIds[0];
78
- const xScale = xAxis[USED_X_AXIS_ID].scale;
79
- const yScale = yAxis[USED_Y_AXIS_ID].scale;
80
- const {
81
- axis
82
- } = React.useContext(InteractionContext);
83
- const getXPosition = getValueToPositionMapper(xScale);
84
- const getYPosition = getValueToPositionMapper(yScale);
85
- const axisX = axis.x;
86
- const axisY = axis.y;
87
- const isBandScaleX = xAxisHighlight === 'band' && axisX !== null && isBandScale(xScale);
88
- const isBandScaleY = yAxisHighlight === 'band' && axisY !== null && isBandScale(yScale);
89
- if (process.env.NODE_ENV !== 'production') {
90
- const isXError = isBandScaleX && xScale(axisX.value) === undefined;
91
- const isYError = isBandScaleY && yScale(axisY.value) === undefined;
92
- if (isXError || isYError) {
93
- console.error([`MUI X: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
94
- }
95
- }
96
32
  return /*#__PURE__*/_jsxs(React.Fragment, {
97
- children: [isBandScaleX && xScale(axisX.value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath
98
- // @ts-expect-error, xScale value is checked in the statement above
99
- , {
100
- d: `M ${xScale(axisX.value) - (xScale.step() - xScale.bandwidth()) / 2} ${yScale.range()[0]} l ${xScale.step()} 0 l 0 ${yScale.range()[1] - yScale.range()[0]} l ${-xScale.step()} 0 Z`,
101
- className: classes.root,
102
- ownerState: {
103
- axisHighlight: 'band'
104
- }
105
- }), isBandScaleY && yScale(axisY.value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
106
- d: `M ${xScale.range()[0]} ${
107
- // @ts-expect-error, yScale value is checked in the statement above
108
- yScale(axisY.value) - (yScale.step() - yScale.bandwidth()) / 2} l 0 ${yScale.step()} l ${xScale.range()[1] - xScale.range()[0]} 0 l 0 ${-yScale.step()} Z`,
109
- className: classes.root,
110
- ownerState: {
111
- axisHighlight: 'band'
112
- }
113
- }), xAxisHighlight === 'line' && axis.x !== null && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
114
- d: `M ${getXPosition(axis.x.value)} ${yScale.range()[0]} L ${getXPosition(axis.x.value)} ${yScale.range()[1]}`,
115
- className: classes.root,
116
- ownerState: {
117
- axisHighlight: 'line'
118
- }
119
- }), yAxisHighlight === 'line' && axis.y !== null && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
120
- d: `M ${xScale.range()[0]} ${getYPosition(axis.y.value)} L ${xScale.range()[1]} ${getYPosition(axis.y.value)}`,
121
- className: classes.root,
122
- ownerState: {
123
- axisHighlight: 'line'
124
- }
33
+ children: [xAxisHighlight && /*#__PURE__*/_jsx(ChartsXHighlight, {
34
+ type: xAxisHighlight,
35
+ classes: classes
36
+ }), yAxisHighlight && /*#__PURE__*/_jsx(ChartsYHighlight, {
37
+ type: yAxisHighlight,
38
+ classes: classes
125
39
  })]
126
40
  });
127
41
  }
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import { styled } from '@mui/material/styles';
5
+ export const ChartsAxisHighlightPath = styled('path', {
6
+ name: 'MuiChartsAxisHighlight',
7
+ slot: 'Root',
8
+ overridesResolver: (_, styles) => styles.root
9
+ })(({
10
+ theme
11
+ }) => ({
12
+ pointerEvents: 'none',
13
+ variants: [{
14
+ props: {
15
+ axisHighlight: 'band'
16
+ },
17
+ style: _extends({
18
+ fill: 'white',
19
+ fillOpacity: 0.1
20
+ }, theme.applyStyles('light', {
21
+ fill: 'gray'
22
+ }))
23
+ }, {
24
+ props: {
25
+ axisHighlight: 'line'
26
+ },
27
+ style: _extends({
28
+ strokeDasharray: '5 2',
29
+ stroke: '#ffffff'
30
+ }, theme.applyStyles('light', {
31
+ stroke: '#000000'
32
+ }))
33
+ }]
34
+ }));
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { getValueToPositionMapper, useXScale } from "../hooks/useScale.js";
5
+ import { isBandScale } from "../internals/isBandScale.js";
6
+ import { useSelector } from "../internals/useSelector.js";
7
+ import { useStore } from "../internals/useStore.js";
8
+ import { selectorChartsInteractionXAxis } from "../context/InteractionSelectors.js";
9
+ import { useDrawingArea } from "../hooks/index.js";
10
+ import { ChartsAxisHighlightPath } from "./ChartsAxisHighlightPath.js";
11
+
12
+ /**
13
+ * @ignore - internal component.
14
+ */
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ export default function ChartsXHighlight(props) {
17
+ const {
18
+ type,
19
+ classes
20
+ } = props;
21
+ const {
22
+ top,
23
+ height
24
+ } = useDrawingArea();
25
+ const xScale = useXScale();
26
+ const store = useStore();
27
+ const axisX = useSelector(store, selectorChartsInteractionXAxis);
28
+ const getXPosition = getValueToPositionMapper(xScale);
29
+ const isBandScaleX = type === 'band' && axisX !== null && isBandScale(xScale);
30
+ if (process.env.NODE_ENV !== 'production') {
31
+ const isError = isBandScaleX && xScale(axisX.value) === undefined;
32
+ if (isError) {
33
+ console.error([`MUI X: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
34
+ }
35
+ }
36
+ return /*#__PURE__*/_jsxs(React.Fragment, {
37
+ children: [isBandScaleX && xScale(axisX.value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath
38
+ // @ts-expect-error, xScale value is checked in the statement above
39
+ , {
40
+ d: `M ${xScale(axisX.value) - (xScale.step() - xScale.bandwidth()) / 2} ${top} l ${xScale.step()} 0 l 0 ${height} l ${-xScale.step()} 0 Z`,
41
+ className: classes.root,
42
+ ownerState: {
43
+ axisHighlight: 'band'
44
+ }
45
+ }), type === 'line' && axisX !== null && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
46
+ d: `M ${getXPosition(axisX.value)} ${top} L ${getXPosition(axisX.value)} ${top + height}`,
47
+ className: classes.root,
48
+ ownerState: {
49
+ axisHighlight: 'line'
50
+ }
51
+ })]
52
+ });
53
+ }
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { getValueToPositionMapper, useYScale } from "../hooks/useScale.js";
5
+ import { isBandScale } from "../internals/isBandScale.js";
6
+ import { useSelector } from "../internals/useSelector.js";
7
+ import { useStore } from "../internals/useStore.js";
8
+ import { selectorChartsInteractionYAxis } from "../context/InteractionSelectors.js";
9
+ import { useDrawingArea } from "../hooks/index.js";
10
+ import { ChartsAxisHighlightPath } from "./ChartsAxisHighlightPath.js";
11
+
12
+ /**
13
+ * @ignore - internal component.
14
+ */
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ export default function ChartsYHighlight(props) {
17
+ const {
18
+ type,
19
+ classes
20
+ } = props;
21
+ const {
22
+ left,
23
+ width
24
+ } = useDrawingArea();
25
+ const yScale = useYScale();
26
+ const store = useStore();
27
+ const axisY = useSelector(store, selectorChartsInteractionYAxis);
28
+ const getYPosition = getValueToPositionMapper(yScale);
29
+ const isBandScaleY = type === 'band' && axisY !== null && isBandScale(yScale);
30
+ if (process.env.NODE_ENV !== 'production') {
31
+ const isError = isBandScaleY && yScale(axisY.value) === undefined;
32
+ if (isError) {
33
+ console.error([`MUI X: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
34
+ }
35
+ }
36
+ return /*#__PURE__*/_jsxs(React.Fragment, {
37
+ children: [isBandScaleY && yScale(axisY.value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
38
+ d: `M ${left} ${
39
+ // @ts-expect-error, yScale value is checked in the statement above
40
+ yScale(axisY.value) - (yScale.step() - yScale.bandwidth()) / 2} l 0 ${yScale.step()} l ${width} 0 l 0 ${-yScale.step()} Z`,
41
+ className: classes.root,
42
+ ownerState: {
43
+ axisHighlight: 'band'
44
+ }
45
+ }), type === 'line' && axisY !== null && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
46
+ d: `M ${left} ${getYPosition(axisY.value)} L ${left + width} ${getYPosition(axisY.value)}`,
47
+ className: classes.root,
48
+ ownerState: {
49
+ axisHighlight: 'line'
50
+ }
51
+ })]
52
+ });
53
+ }
@@ -0,0 +1,6 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export function getAxisHighlightUtilityClass(slot) {
4
+ return generateUtilityClass('MuiChartsAxisHighlight', slot);
5
+ }
6
+ export const chartsAxisHighlightClasses = generateUtilityClasses('MuiChartsAxisHighlight', ['root']);
@@ -1 +1,4 @@
1
- export * from "./ChartsAxisHighlight.js";
1
+ export * from "./ChartsAxisHighlight.js";
2
+ export * from "./chartsAxisHighlightClasses.js";
3
+ export * from "./ChartsAxisHighlight.types.js";
4
+ export * from "./ChartsAxisHighlightPath.js";
@@ -10,7 +10,7 @@ import { useThemeProps } from '@mui/material/styles';
10
10
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
11
  import { getChartsGridUtilityClass } from "./chartsGridClasses.js";
12
12
  import { useDrawingArea } from "../hooks/useDrawingArea.js";
13
- import { GridRoot } from "./styledCommonents.js";
13
+ import { GridRoot } from "./styledComponents.js";
14
14
  import { ChartsGridVertical } from "./ChartsVerticalGrid.js";
15
15
  import { ChartsGridHorizontal } from "./ChartsHorizontalGrid.js";
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useTicks } from "../hooks/useTicks.js";
3
- import { GridLine } from "./styledCommonents.js";
3
+ import { GridLine } from "./styledComponents.js";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  /**
6
6
  * @ignore - internal component.
@@ -23,7 +23,7 @@ export function ChartsGridHorizontal(props) {
23
23
  });
24
24
  return /*#__PURE__*/_jsx(React.Fragment, {
25
25
  children: yTicks.map(({
26
- formattedValue,
26
+ value,
27
27
  offset
28
28
  }) => /*#__PURE__*/_jsx(GridLine, {
29
29
  y1: offset,
@@ -31,6 +31,6 @@ export function ChartsGridHorizontal(props) {
31
31
  x1: drawingArea.left,
32
32
  x2: drawingArea.left + drawingArea.width,
33
33
  className: classes.horizontalLine
34
- }, `horizontal-${formattedValue}`))
34
+ }, `horizontal-${value}`))
35
35
  });
36
36
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useTicks } from "../hooks/useTicks.js";
3
- import { GridLine } from "./styledCommonents.js";
3
+ import { GridLine } from "./styledComponents.js";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  /**
6
6
  * @ignore - internal component.
@@ -23,7 +23,7 @@ export function ChartsGridVertical(props) {
23
23
  });
24
24
  return /*#__PURE__*/_jsx(React.Fragment, {
25
25
  children: xTicks.map(({
26
- formattedValue,
26
+ value,
27
27
  offset
28
28
  }) => /*#__PURE__*/_jsx(GridLine, {
29
29
  y1: drawingArea.top,
@@ -31,6 +31,6 @@ export function ChartsGridVertical(props) {
31
31
  x1: offset,
32
32
  x2: offset,
33
33
  className: classes.verticalLine
34
- }, `vertical-${formattedValue}`))
34
+ }, `vertical-${value}`))
35
35
  });
36
36
  }
@@ -2,10 +2,10 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { InteractionContext } from "../context/InteractionProvider.js";
6
5
  import { useSeries } from "../hooks/useSeries.js";
7
6
  import { useSvgRef } from "../hooks/index.js";
8
7
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
8
+ import { useStore } from "../internals/useStore.js";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  function ChartsOnAxisClickHandler(props) {
11
11
  const {
@@ -13,9 +13,7 @@ function ChartsOnAxisClickHandler(props) {
13
13
  } = props;
14
14
  const svgRef = useSvgRef();
15
15
  const series = useSeries();
16
- const {
17
- axis
18
- } = React.useContext(InteractionContext);
16
+ const store = useStore();
19
17
  const {
20
18
  xAxisIds,
21
19
  xAxis,
@@ -29,9 +27,13 @@ function ChartsOnAxisClickHandler(props) {
29
27
  }
30
28
  const handleMouseClick = event => {
31
29
  event.preventDefault();
32
- const isXaxis = axis.x && axis.x.index !== -1;
30
+ const {
31
+ x: axisX,
32
+ y: axisY
33
+ } = store.value.interaction.axis;
34
+ const isXaxis = axisX && axisX.index !== -1;
33
35
  const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
34
- const dataIndex = isXaxis ? axis.x && axis.x.index : axis.y && axis.y.index;
36
+ const dataIndex = isXaxis ? axisX && axisX.index : axisY && axisY.index;
35
37
  if (dataIndex == null) {
36
38
  return;
37
39
  }
@@ -58,7 +60,7 @@ function ChartsOnAxisClickHandler(props) {
58
60
  return () => {
59
61
  element.removeEventListener('click', handleMouseClick);
60
62
  };
61
- }, [axis.x, axis.y, onAxisClick, series, svgRef, xAxis, xAxisIds, yAxis, yAxisIds]);
63
+ }, [onAxisClick, series, store, svgRef, xAxis, xAxisIds, yAxis, yAxisIds]);
62
64
 
63
65
  // eslint-disable-next-line react/jsx-no-useless-fragment
64
66
  return /*#__PURE__*/_jsx(React.Fragment, {});
@@ -2,13 +2,18 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className", "title", "desc"];
5
+ const _excluded = ["children", "disableAxisListener", "className", "title", "desc"];
6
6
  import { styled, useThemeProps } from '@mui/material/styles';
7
7
  import PropTypes from 'prop-types';
8
8
  import * as React from 'react';
9
+ import useForkRef from '@mui/utils/useForkRef';
9
10
  import { useAxisEvents } from "../hooks/useAxisEvents.js";
11
+ import { ChartsAxesGradients } from "../internals/components/ChartsAxesGradients/index.js";
12
+ import { useDrawingArea } from "../hooks/index.js";
13
+ import { useSurfaceRef } from "../context/SvgRefProvider/index.js";
14
+ import { useSize } from "../context/SizeProvider/index.js";
10
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- const ChartChartsSurfaceStyles = styled('svg', {
16
+ const ChartsSurfaceStyles = styled('svg', {
12
17
  name: 'MuiChartsSurface',
13
18
  slot: 'Root'
14
19
  })(() => ({
@@ -17,40 +22,50 @@ const ChartChartsSurfaceStyles = styled('svg', {
17
22
  touchAction: 'none'
18
23
  }));
19
24
  const ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(inProps, ref) {
20
- const props = useThemeProps({
25
+ const {
26
+ width,
27
+ height,
28
+ left,
29
+ right,
30
+ top,
31
+ bottom
32
+ } = useDrawingArea();
33
+ const {
34
+ hasIntrinsicSize
35
+ } = useSize();
36
+ const surfaceRef = useSurfaceRef();
37
+ const handleRef = useForkRef(surfaceRef, ref);
38
+ const themeProps = useThemeProps({
21
39
  props: inProps,
22
40
  name: 'MuiChartsSurface'
23
41
  });
24
42
  const {
25
43
  children,
26
- width,
27
- height,
28
- viewBox,
29
44
  disableAxisListener = false,
30
45
  className,
31
46
  title,
32
47
  desc
33
- } = props,
34
- other = _objectWithoutPropertiesLoose(props, _excluded);
35
- const svgView = _extends({
36
- width,
37
- height,
48
+ } = themeProps,
49
+ other = _objectWithoutPropertiesLoose(themeProps, _excluded);
50
+ const svgWidth = width + left + right;
51
+ const svgHeight = height + top + bottom;
52
+ const svgView = {
53
+ width: svgWidth,
54
+ height: svgHeight,
38
55
  x: 0,
39
56
  y: 0
40
- }, viewBox);
57
+ };
41
58
  useAxisEvents(disableAxisListener);
42
- return /*#__PURE__*/_jsxs(ChartChartsSurfaceStyles, _extends({
43
- width: width,
44
- height: height,
59
+ return /*#__PURE__*/_jsxs(ChartsSurfaceStyles, _extends({
45
60
  viewBox: `${svgView.x} ${svgView.y} ${svgView.width} ${svgView.height}`,
46
- ref: ref,
47
61
  className: className
48
62
  }, other, {
49
- children: [/*#__PURE__*/_jsx("title", {
63
+ ref: handleRef,
64
+ children: [title && /*#__PURE__*/_jsx("title", {
50
65
  children: title
51
- }), /*#__PURE__*/_jsx("desc", {
66
+ }), desc && /*#__PURE__*/_jsx("desc", {
52
67
  children: desc
53
- }), children]
68
+ }), /*#__PURE__*/_jsx(ChartsAxesGradients, {}), hasIntrinsicSize && children]
54
69
  }));
55
70
  });
56
71
  process.env.NODE_ENV !== "production" ? ChartsSurface.propTypes = {
@@ -67,21 +82,7 @@ process.env.NODE_ENV !== "production" ? ChartsSurface.propTypes = {
67
82
  * @default false
68
83
  */
69
84
  disableAxisListener: PropTypes.bool,
70
- /**
71
- * The height of the chart in px.
72
- */
73
- height: PropTypes.number.isRequired,
74
85
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
75
- title: PropTypes.string,
76
- viewBox: PropTypes.shape({
77
- height: PropTypes.number,
78
- width: PropTypes.number,
79
- x: PropTypes.number,
80
- y: PropTypes.number
81
- }),
82
- /**
83
- * The width of the chart in px.
84
- */
85
- width: PropTypes.number.isRequired
86
+ title: PropTypes.string
86
87
  } : void 0;
87
88
  export { ChartsSurface };
@@ -0,0 +1 @@
1
+ export {};