@mui/x-charts 8.0.0-beta.1 → 8.0.0-beta.3

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 (450) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +38 -8
  2. package/BarChart/AnimatedBarElement.js +5 -5
  3. package/BarChart/BarChart.js +2 -0
  4. package/BarChart/BarClipPath.d.ts +19 -1
  5. package/BarChart/BarClipPath.js +84 -17
  6. package/BarChart/BarElement.d.ts +9 -20
  7. package/BarChart/BarElement.js +29 -26
  8. package/BarChart/BarLabel/BarLabel.d.ts +27 -854
  9. package/BarChart/BarLabel/BarLabel.js +32 -5
  10. package/BarChart/BarLabel/BarLabel.types.d.ts +2 -0
  11. package/BarChart/BarLabel/BarLabelItem.d.ts +24 -0
  12. package/BarChart/BarLabel/BarLabelItem.js +18 -6
  13. package/BarChart/BarLabel/BarLabelPlot.js +16 -46
  14. package/BarChart/BarLabel/barLabelClasses.d.ts +3 -1
  15. package/BarChart/BarLabel/barLabelClasses.js +4 -3
  16. package/BarChart/BarPlot.js +37 -61
  17. package/BarChart/barElementClasses.d.ts +21 -0
  18. package/BarChart/barElementClasses.js +29 -0
  19. package/BarChart/getRadius.d.ts +1 -1
  20. package/BarChart/index.d.ts +2 -1
  21. package/BarChart/index.js +11 -0
  22. package/BarChart/seriesConfig/index.js +3 -1
  23. package/BarChart/seriesConfig/tooltip.d.ts +2 -1
  24. package/BarChart/seriesConfig/tooltip.js +14 -1
  25. package/BarChart/types.d.ts +2 -2
  26. package/BarChart/useBarChartProps.d.ts +2 -1
  27. package/BarChart/useBarChartProps.js +20 -13
  28. package/CHANGELOG.md +235 -0
  29. package/ChartContainer/ChartContainer.js +4 -0
  30. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +8 -8
  31. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +8 -8
  32. package/ChartsLabel/ChartsLabelMark.js +0 -4
  33. package/ChartsLabel/index.d.ts +1 -0
  34. package/ChartsLabel/index.js +7 -0
  35. package/ChartsLegend/continuousColorLegendClasses.d.ts +1 -1
  36. package/ChartsOverlay/ChartsLoadingOverlay.js +1 -1
  37. package/ChartsOverlay/ChartsNoDataOverlay.js +1 -1
  38. package/ChartsTooltip/ChartsAxisTooltipContent.js +47 -55
  39. package/ChartsTooltip/ChartsItemTooltipContent.js +11 -9
  40. package/ChartsTooltip/ChartsTooltip.js +2 -2
  41. package/ChartsTooltip/ChartsTooltipContainer.js +4 -8
  42. package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -1
  43. package/ChartsTooltip/ChartsTooltipTable.js +24 -9
  44. package/ChartsTooltip/chartsTooltipClasses.d.ts +4 -4
  45. package/ChartsTooltip/chartsTooltipClasses.js +2 -2
  46. package/ChartsTooltip/index.d.ts +1 -0
  47. package/ChartsTooltip/index.js +12 -0
  48. package/ChartsTooltip/useAxesTooltip.d.ts +7 -0
  49. package/ChartsTooltip/useAxesTooltip.js +18 -0
  50. package/ChartsTooltip/useAxisTooltip.d.ts +24 -3
  51. package/ChartsTooltip/useAxisTooltip.js +72 -38
  52. package/ChartsTooltip/useItemTooltip.js +4 -1
  53. package/ChartsXAxis/ChartsXAxis.js +5 -2
  54. package/ChartsYAxis/ChartsYAxis.js +69 -17
  55. package/LineChart/AnimatedArea.js +5 -22
  56. package/LineChart/AnimatedLine.d.ts +1 -4
  57. package/LineChart/AnimatedLine.js +10 -25
  58. package/LineChart/AppearingMask.d.ts +5 -0
  59. package/LineChart/AppearingMask.js +25 -18
  60. package/LineChart/CircleMarkElement.js +17 -23
  61. package/LineChart/LineChart.js +2 -0
  62. package/LineChart/LineHighlightPlot.js +3 -4
  63. package/LineChart/MarkElement.js +16 -27
  64. package/LineChart/MarkPlot.js +0 -1
  65. package/LineChart/markElementClasses.d.ts +3 -0
  66. package/LineChart/markElementClasses.js +4 -3
  67. package/LineChart/seriesConfig/index.js +3 -1
  68. package/LineChart/seriesConfig/tooltip.d.ts +2 -1
  69. package/LineChart/seriesConfig/tooltip.js +8 -1
  70. package/LineChart/useLineChartProps.d.ts +2 -1
  71. package/LineChart/useLineChartProps.js +7 -4
  72. package/PieChart/PieArc.d.ts +19 -11
  73. package/PieChart/PieArc.js +37 -24
  74. package/PieChart/PieArcLabel.d.ts +22 -13
  75. package/PieChart/PieArcLabel.js +52 -48
  76. package/PieChart/PieArcLabelPlot.js +16 -34
  77. package/PieChart/PieArcPlot.js +21 -34
  78. package/PieChart/seriesConfig/tooltip.js +3 -0
  79. package/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +9 -5
  80. package/RadarChart/RadarGrid/RadarGrid.d.ts +1 -1
  81. package/RadarChart/RadarGrid/RadarGrid.js +5 -1
  82. package/RadarChart/RadarGrid/useRadarGridData.d.ts +1 -1
  83. package/RadarChart/RadarGrid/useRadarGridData.js +3 -0
  84. package/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +2 -2
  85. package/ScatterChart/ScatterChart.js +2 -0
  86. package/ScatterChart/useScatterChartProps.d.ts +2 -1
  87. package/ScatterChart/useScatterChartProps.js +6 -3
  88. package/SparkLineChart/SparkLineChart.js +2 -0
  89. package/colorPalettes/colorPalettes.js +2 -2
  90. package/constants/index.d.ts +1 -1
  91. package/constants/index.js +1 -1
  92. package/context/AnimationProvider/AnimationProvider.js +4 -6
  93. package/esm/BarChart/AnimatedBarElement.d.ts +38 -8
  94. package/esm/BarChart/AnimatedBarElement.js +5 -5
  95. package/esm/BarChart/BarChart.js +2 -0
  96. package/esm/BarChart/BarClipPath.d.ts +19 -1
  97. package/esm/BarChart/BarClipPath.js +84 -17
  98. package/esm/BarChart/BarElement.d.ts +9 -20
  99. package/esm/BarChart/BarElement.js +28 -23
  100. package/esm/BarChart/BarLabel/BarLabel.d.ts +27 -854
  101. package/esm/BarChart/BarLabel/BarLabel.js +32 -5
  102. package/esm/BarChart/BarLabel/BarLabel.types.d.ts +2 -0
  103. package/esm/BarChart/BarLabel/BarLabelItem.d.ts +24 -0
  104. package/esm/BarChart/BarLabel/BarLabelItem.js +18 -6
  105. package/esm/BarChart/BarLabel/BarLabelPlot.js +16 -46
  106. package/esm/BarChart/BarLabel/barLabelClasses.d.ts +3 -1
  107. package/esm/BarChart/BarLabel/barLabelClasses.js +4 -3
  108. package/esm/BarChart/BarPlot.js +37 -61
  109. package/esm/BarChart/barElementClasses.d.ts +21 -0
  110. package/esm/BarChart/barElementClasses.js +19 -0
  111. package/esm/BarChart/getRadius.d.ts +1 -1
  112. package/esm/BarChart/index.d.ts +2 -1
  113. package/esm/BarChart/index.js +2 -1
  114. package/esm/BarChart/seriesConfig/index.js +2 -1
  115. package/esm/BarChart/seriesConfig/tooltip.d.ts +2 -1
  116. package/esm/BarChart/seriesConfig/tooltip.js +12 -0
  117. package/esm/BarChart/types.d.ts +2 -2
  118. package/esm/BarChart/useBarChartProps.d.ts +2 -1
  119. package/esm/BarChart/useBarChartProps.js +19 -13
  120. package/esm/ChartContainer/ChartContainer.js +4 -0
  121. package/esm/ChartsAxisHighlight/ChartsXAxisHighlight.js +8 -8
  122. package/esm/ChartsAxisHighlight/ChartsYAxisHighlight.js +8 -8
  123. package/esm/ChartsLabel/ChartsLabelMark.js +0 -4
  124. package/esm/ChartsLabel/index.d.ts +1 -0
  125. package/esm/ChartsLabel/index.js +1 -0
  126. package/esm/ChartsLegend/continuousColorLegendClasses.d.ts +1 -1
  127. package/esm/ChartsOverlay/ChartsLoadingOverlay.js +1 -1
  128. package/esm/ChartsOverlay/ChartsNoDataOverlay.js +1 -1
  129. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +47 -55
  130. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +11 -9
  131. package/esm/ChartsTooltip/ChartsTooltip.js +2 -2
  132. package/esm/ChartsTooltip/ChartsTooltipContainer.js +5 -9
  133. package/esm/ChartsTooltip/ChartsTooltipTable.d.ts +3 -1
  134. package/esm/ChartsTooltip/ChartsTooltipTable.js +23 -9
  135. package/esm/ChartsTooltip/chartsTooltipClasses.d.ts +4 -4
  136. package/esm/ChartsTooltip/chartsTooltipClasses.js +2 -2
  137. package/esm/ChartsTooltip/index.d.ts +1 -0
  138. package/esm/ChartsTooltip/index.js +1 -0
  139. package/esm/ChartsTooltip/useAxesTooltip.d.ts +7 -0
  140. package/esm/ChartsTooltip/useAxesTooltip.js +12 -0
  141. package/esm/ChartsTooltip/useAxisTooltip.d.ts +24 -3
  142. package/esm/ChartsTooltip/useAxisTooltip.js +72 -38
  143. package/esm/ChartsTooltip/useItemTooltip.js +4 -1
  144. package/esm/ChartsXAxis/ChartsXAxis.js +5 -2
  145. package/esm/ChartsYAxis/ChartsYAxis.js +69 -17
  146. package/esm/LineChart/AnimatedArea.js +5 -22
  147. package/esm/LineChart/AnimatedLine.d.ts +1 -4
  148. package/esm/LineChart/AnimatedLine.js +9 -24
  149. package/esm/LineChart/AppearingMask.d.ts +5 -0
  150. package/esm/LineChart/AppearingMask.js +23 -18
  151. package/esm/LineChart/CircleMarkElement.js +19 -25
  152. package/esm/LineChart/LineChart.js +2 -0
  153. package/esm/LineChart/LineHighlightPlot.js +3 -4
  154. package/esm/LineChart/MarkElement.js +17 -28
  155. package/esm/LineChart/MarkPlot.js +0 -1
  156. package/esm/LineChart/markElementClasses.d.ts +3 -0
  157. package/esm/LineChart/markElementClasses.js +4 -3
  158. package/esm/LineChart/seriesConfig/index.js +2 -1
  159. package/esm/LineChart/seriesConfig/tooltip.d.ts +2 -1
  160. package/esm/LineChart/seriesConfig/tooltip.js +6 -0
  161. package/esm/LineChart/useLineChartProps.d.ts +2 -1
  162. package/esm/LineChart/useLineChartProps.js +6 -4
  163. package/esm/PieChart/PieArc.d.ts +19 -11
  164. package/esm/PieChart/PieArc.js +36 -23
  165. package/esm/PieChart/PieArcLabel.d.ts +22 -13
  166. package/esm/PieChart/PieArcLabel.js +51 -47
  167. package/esm/PieChart/PieArcLabelPlot.js +16 -34
  168. package/esm/PieChart/PieArcPlot.js +21 -34
  169. package/esm/PieChart/seriesConfig/tooltip.js +3 -0
  170. package/esm/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +9 -5
  171. package/esm/RadarChart/RadarGrid/RadarGrid.d.ts +1 -1
  172. package/esm/RadarChart/RadarGrid/RadarGrid.js +5 -1
  173. package/esm/RadarChart/RadarGrid/useRadarGridData.d.ts +1 -1
  174. package/esm/RadarChart/RadarGrid/useRadarGridData.js +3 -0
  175. package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +2 -2
  176. package/esm/ScatterChart/ScatterChart.js +2 -0
  177. package/esm/ScatterChart/useScatterChartProps.d.ts +2 -1
  178. package/esm/ScatterChart/useScatterChartProps.js +5 -3
  179. package/esm/SparkLineChart/SparkLineChart.js +2 -0
  180. package/esm/colorPalettes/colorPalettes.js +2 -2
  181. package/esm/constants/index.d.ts +1 -1
  182. package/esm/constants/index.js +1 -1
  183. package/esm/context/AnimationProvider/AnimationProvider.js +3 -6
  184. package/esm/hooks/animation/index.d.ts +6 -0
  185. package/esm/hooks/animation/index.js +6 -0
  186. package/esm/hooks/animation/useAnimateArea.d.ts +15 -0
  187. package/esm/hooks/animation/useAnimateArea.js +27 -0
  188. package/esm/hooks/animation/useAnimateBar.d.ts +17 -0
  189. package/esm/hooks/animation/useAnimateBar.js +56 -0
  190. package/esm/hooks/animation/useAnimateBarLabel.d.ts +19 -0
  191. package/esm/hooks/animation/useAnimateBarLabel.js +59 -0
  192. package/esm/hooks/animation/useAnimateLine.d.ts +14 -0
  193. package/esm/hooks/animation/useAnimateLine.js +26 -0
  194. package/esm/hooks/animation/useAnimatePieArc.d.ts +15 -0
  195. package/esm/hooks/animation/useAnimatePieArc.js +70 -0
  196. package/esm/hooks/animation/useAnimatePieArcLabel.d.ts +15 -0
  197. package/esm/hooks/animation/useAnimatePieArcLabel.js +72 -0
  198. package/esm/hooks/index.d.ts +2 -1
  199. package/esm/hooks/index.js +2 -1
  200. package/esm/hooks/useAxis.d.ts +5 -5
  201. package/esm/hooks/useInteractionItemProps.js +11 -0
  202. package/esm/hooks/useScale.d.ts +2 -2
  203. package/esm/hooks/useScale.js +2 -2
  204. package/esm/index.js +1 -1
  205. package/esm/internals/animation/Transition.d.ts +37 -0
  206. package/esm/internals/animation/Transition.js +83 -0
  207. package/esm/internals/animation/animation.d.ts +4 -0
  208. package/esm/internals/animation/animation.js +4 -0
  209. package/esm/internals/animation/useAnimate.d.ts +19 -0
  210. package/esm/internals/animation/useAnimate.js +74 -0
  211. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +1 -1
  212. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +9 -3
  213. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisTriggerTooltip.d.ts +5 -0
  214. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisTriggerTooltip.js +21 -0
  215. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.d.ts +8 -6
  216. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.js +28 -22
  217. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -0
  218. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -0
  219. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +9 -42
  220. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +8 -32
  221. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +9 -0
  222. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +75 -0
  223. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +7 -20
  224. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +36 -242
  225. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +4 -10
  226. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +9 -15
  227. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.d.ts +12 -0
  228. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.js +8 -0
  229. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.d.ts +6 -4
  230. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.js +18 -13
  231. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +16 -32
  232. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +3669 -0
  233. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js +22 -0
  234. package/esm/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +3 -1
  235. package/esm/internals/plugins/models/seriesConfig/tooltipGetter.types.d.ts +10 -4
  236. package/esm/internals/shallowEqual.d.ts +8 -0
  237. package/esm/internals/shallowEqual.js +31 -0
  238. package/esm/models/axis.d.ts +8 -0
  239. package/esm/themeAugmentation/overrides.d.ts +1 -1
  240. package/hooks/animation/index.d.ts +6 -0
  241. package/hooks/animation/index.js +71 -0
  242. package/hooks/animation/useAnimateArea.d.ts +15 -0
  243. package/hooks/animation/useAnimateArea.js +34 -0
  244. package/hooks/animation/useAnimateBar.d.ts +17 -0
  245. package/hooks/animation/useAnimateBar.js +62 -0
  246. package/hooks/animation/useAnimateBarLabel.d.ts +19 -0
  247. package/hooks/animation/useAnimateBarLabel.js +65 -0
  248. package/hooks/animation/useAnimateLine.d.ts +14 -0
  249. package/hooks/animation/useAnimateLine.js +33 -0
  250. package/hooks/animation/useAnimatePieArc.d.ts +15 -0
  251. package/hooks/animation/useAnimatePieArc.js +77 -0
  252. package/hooks/animation/useAnimatePieArcLabel.d.ts +15 -0
  253. package/hooks/animation/useAnimatePieArcLabel.js +79 -0
  254. package/hooks/index.d.ts +2 -1
  255. package/hooks/index.js +13 -1
  256. package/hooks/useAxis.d.ts +5 -5
  257. package/hooks/useInteractionItemProps.js +11 -0
  258. package/hooks/useScale.d.ts +2 -2
  259. package/hooks/useScale.js +2 -2
  260. package/index.js +1 -1
  261. package/internals/animation/Transition.d.ts +37 -0
  262. package/internals/animation/Transition.js +89 -0
  263. package/internals/animation/animation.d.ts +4 -0
  264. package/internals/animation/animation.js +11 -0
  265. package/internals/animation/useAnimate.d.ts +19 -0
  266. package/internals/animation/useAnimate.js +80 -0
  267. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +1 -1
  268. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +9 -3
  269. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisTriggerTooltip.d.ts +5 -0
  270. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisTriggerTooltip.js +28 -0
  271. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.d.ts +8 -6
  272. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.js +29 -22
  273. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -0
  274. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +12 -0
  275. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +7 -40
  276. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +8 -32
  277. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +9 -0
  278. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +81 -0
  279. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +7 -20
  280. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +36 -242
  281. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +5 -11
  282. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +9 -15
  283. package/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.d.ts +12 -0
  284. package/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.js +17 -0
  285. package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.d.ts +6 -4
  286. package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.js +19 -13
  287. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +16 -32
  288. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +3669 -0
  289. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js +28 -0
  290. package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +3 -1
  291. package/internals/plugins/models/seriesConfig/tooltipGetter.types.d.ts +10 -4
  292. package/internals/shallowEqual.d.ts +8 -0
  293. package/internals/shallowEqual.js +37 -0
  294. package/models/axis.d.ts +8 -0
  295. package/modern/BarChart/AnimatedBarElement.d.ts +38 -8
  296. package/modern/BarChart/AnimatedBarElement.js +5 -5
  297. package/modern/BarChart/BarChart.js +2 -0
  298. package/modern/BarChart/BarClipPath.d.ts +19 -1
  299. package/modern/BarChart/BarClipPath.js +84 -17
  300. package/modern/BarChart/BarElement.d.ts +9 -20
  301. package/modern/BarChart/BarElement.js +28 -23
  302. package/modern/BarChart/BarLabel/BarLabel.d.ts +27 -854
  303. package/modern/BarChart/BarLabel/BarLabel.js +32 -5
  304. package/modern/BarChart/BarLabel/BarLabel.types.d.ts +2 -0
  305. package/modern/BarChart/BarLabel/BarLabelItem.d.ts +24 -0
  306. package/modern/BarChart/BarLabel/BarLabelItem.js +18 -6
  307. package/modern/BarChart/BarLabel/BarLabelPlot.js +16 -46
  308. package/modern/BarChart/BarLabel/barLabelClasses.d.ts +3 -1
  309. package/modern/BarChart/BarLabel/barLabelClasses.js +4 -3
  310. package/modern/BarChart/BarPlot.js +37 -61
  311. package/modern/BarChart/barElementClasses.d.ts +21 -0
  312. package/modern/BarChart/barElementClasses.js +19 -0
  313. package/modern/BarChart/getRadius.d.ts +1 -1
  314. package/modern/BarChart/index.d.ts +2 -1
  315. package/modern/BarChart/index.js +2 -1
  316. package/modern/BarChart/seriesConfig/index.js +2 -1
  317. package/modern/BarChart/seriesConfig/tooltip.d.ts +2 -1
  318. package/modern/BarChart/seriesConfig/tooltip.js +12 -0
  319. package/modern/BarChart/types.d.ts +2 -2
  320. package/modern/BarChart/useBarChartProps.d.ts +2 -1
  321. package/modern/BarChart/useBarChartProps.js +19 -13
  322. package/modern/ChartContainer/ChartContainer.js +4 -0
  323. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +8 -8
  324. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +8 -8
  325. package/modern/ChartsLabel/ChartsLabelMark.js +0 -4
  326. package/modern/ChartsLabel/index.d.ts +1 -0
  327. package/modern/ChartsLabel/index.js +1 -0
  328. package/modern/ChartsLegend/continuousColorLegendClasses.d.ts +1 -1
  329. package/modern/ChartsOverlay/ChartsLoadingOverlay.js +1 -1
  330. package/modern/ChartsOverlay/ChartsNoDataOverlay.js +1 -1
  331. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +47 -55
  332. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +11 -9
  333. package/modern/ChartsTooltip/ChartsTooltip.js +2 -2
  334. package/modern/ChartsTooltip/ChartsTooltipContainer.js +5 -9
  335. package/modern/ChartsTooltip/ChartsTooltipTable.d.ts +3 -1
  336. package/modern/ChartsTooltip/ChartsTooltipTable.js +23 -9
  337. package/modern/ChartsTooltip/chartsTooltipClasses.d.ts +4 -4
  338. package/modern/ChartsTooltip/chartsTooltipClasses.js +2 -2
  339. package/modern/ChartsTooltip/index.d.ts +1 -0
  340. package/modern/ChartsTooltip/index.js +1 -0
  341. package/modern/ChartsTooltip/useAxesTooltip.d.ts +7 -0
  342. package/modern/ChartsTooltip/useAxesTooltip.js +12 -0
  343. package/modern/ChartsTooltip/useAxisTooltip.d.ts +24 -3
  344. package/modern/ChartsTooltip/useAxisTooltip.js +72 -38
  345. package/modern/ChartsTooltip/useItemTooltip.js +4 -1
  346. package/modern/ChartsXAxis/ChartsXAxis.js +5 -2
  347. package/modern/ChartsYAxis/ChartsYAxis.js +69 -17
  348. package/modern/LineChart/AnimatedArea.js +5 -22
  349. package/modern/LineChart/AnimatedLine.d.ts +1 -4
  350. package/modern/LineChart/AnimatedLine.js +9 -24
  351. package/modern/LineChart/AppearingMask.d.ts +5 -0
  352. package/modern/LineChart/AppearingMask.js +23 -18
  353. package/modern/LineChart/CircleMarkElement.js +19 -25
  354. package/modern/LineChart/LineChart.js +2 -0
  355. package/modern/LineChart/LineHighlightPlot.js +3 -4
  356. package/modern/LineChart/MarkElement.js +17 -28
  357. package/modern/LineChart/MarkPlot.js +0 -1
  358. package/modern/LineChart/markElementClasses.d.ts +3 -0
  359. package/modern/LineChart/markElementClasses.js +4 -3
  360. package/modern/LineChart/seriesConfig/index.js +2 -1
  361. package/modern/LineChart/seriesConfig/tooltip.d.ts +2 -1
  362. package/modern/LineChart/seriesConfig/tooltip.js +6 -0
  363. package/modern/LineChart/useLineChartProps.d.ts +2 -1
  364. package/modern/LineChart/useLineChartProps.js +6 -4
  365. package/modern/PieChart/PieArc.d.ts +19 -11
  366. package/modern/PieChart/PieArc.js +36 -23
  367. package/modern/PieChart/PieArcLabel.d.ts +22 -13
  368. package/modern/PieChart/PieArcLabel.js +51 -47
  369. package/modern/PieChart/PieArcLabelPlot.js +16 -34
  370. package/modern/PieChart/PieArcPlot.js +21 -34
  371. package/modern/PieChart/seriesConfig/tooltip.js +3 -0
  372. package/modern/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +9 -5
  373. package/modern/RadarChart/RadarGrid/RadarGrid.d.ts +1 -1
  374. package/modern/RadarChart/RadarGrid/RadarGrid.js +5 -1
  375. package/modern/RadarChart/RadarGrid/useRadarGridData.d.ts +1 -1
  376. package/modern/RadarChart/RadarGrid/useRadarGridData.js +3 -0
  377. package/modern/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +2 -2
  378. package/modern/ScatterChart/ScatterChart.js +2 -0
  379. package/modern/ScatterChart/useScatterChartProps.d.ts +2 -1
  380. package/modern/ScatterChart/useScatterChartProps.js +5 -3
  381. package/modern/SparkLineChart/SparkLineChart.js +2 -0
  382. package/modern/colorPalettes/colorPalettes.js +2 -2
  383. package/modern/constants/index.d.ts +1 -1
  384. package/modern/constants/index.js +1 -1
  385. package/modern/context/AnimationProvider/AnimationProvider.js +3 -6
  386. package/modern/hooks/animation/index.d.ts +6 -0
  387. package/modern/hooks/animation/index.js +6 -0
  388. package/modern/hooks/animation/useAnimateArea.d.ts +15 -0
  389. package/modern/hooks/animation/useAnimateArea.js +27 -0
  390. package/modern/hooks/animation/useAnimateBar.d.ts +17 -0
  391. package/modern/hooks/animation/useAnimateBar.js +56 -0
  392. package/modern/hooks/animation/useAnimateBarLabel.d.ts +19 -0
  393. package/modern/hooks/animation/useAnimateBarLabel.js +59 -0
  394. package/modern/hooks/animation/useAnimateLine.d.ts +14 -0
  395. package/modern/hooks/animation/useAnimateLine.js +26 -0
  396. package/modern/hooks/animation/useAnimatePieArc.d.ts +15 -0
  397. package/modern/hooks/animation/useAnimatePieArc.js +70 -0
  398. package/modern/hooks/animation/useAnimatePieArcLabel.d.ts +15 -0
  399. package/modern/hooks/animation/useAnimatePieArcLabel.js +72 -0
  400. package/modern/hooks/index.d.ts +2 -1
  401. package/modern/hooks/index.js +2 -1
  402. package/modern/hooks/useAxis.d.ts +5 -5
  403. package/modern/hooks/useInteractionItemProps.js +11 -0
  404. package/modern/hooks/useScale.d.ts +2 -2
  405. package/modern/hooks/useScale.js +2 -2
  406. package/modern/index.js +1 -1
  407. package/modern/internals/animation/Transition.d.ts +37 -0
  408. package/modern/internals/animation/Transition.js +83 -0
  409. package/modern/internals/animation/animation.d.ts +4 -0
  410. package/modern/internals/animation/animation.js +4 -0
  411. package/modern/internals/animation/useAnimate.d.ts +19 -0
  412. package/modern/internals/animation/useAnimate.js +74 -0
  413. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +1 -1
  414. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +9 -3
  415. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisTriggerTooltip.d.ts +5 -0
  416. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisTriggerTooltip.js +21 -0
  417. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.d.ts +8 -6
  418. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.js +28 -22
  419. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -0
  420. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -0
  421. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +9 -42
  422. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +8 -32
  423. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +9 -0
  424. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +75 -0
  425. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +7 -20
  426. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +36 -242
  427. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +4 -10
  428. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +9 -15
  429. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.d.ts +12 -0
  430. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.js +8 -0
  431. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.d.ts +6 -4
  432. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.js +18 -13
  433. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +16 -32
  434. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +3669 -0
  435. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js +22 -0
  436. package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +3 -1
  437. package/modern/internals/plugins/models/seriesConfig/tooltipGetter.types.d.ts +10 -4
  438. package/modern/internals/shallowEqual.d.ts +8 -0
  439. package/modern/internals/shallowEqual.js +31 -0
  440. package/modern/models/axis.d.ts +8 -0
  441. package/modern/themeAugmentation/overrides.d.ts +1 -1
  442. package/package.json +8 -9
  443. package/themeAugmentation/overrides.d.ts +1 -1
  444. package/tsconfig.build.tsbuildinfo +1 -1
  445. package/PieChart/dataTransform/transition.d.ts +0 -4
  446. package/PieChart/dataTransform/transition.js +0 -145
  447. package/esm/PieChart/dataTransform/transition.d.ts +0 -4
  448. package/esm/PieChart/dataTransform/transition.js +0 -137
  449. package/modern/PieChart/dataTransform/transition.d.ts +0 -4
  450. package/modern/PieChart/dataTransform/transition.js +0 -137
@@ -0,0 +1,22 @@
1
+ import { createSelector } from "../../utils/selectors.js";
2
+ import { selectorChartsInteractionPointerX, selectorChartsInteractionPointerY } from "../useChartInteraction/useChartInteraction.selectors.js";
3
+ import { generateSvg2rotation } from "./coordinateTransformation.js";
4
+ import { getAxisIndex } from "./getAxisValue.js";
5
+ import { selectorChartPolarCenter, selectorChartRotationAxis } from "./useChartPolarAxis.selectors.js";
6
+ export const selectorChartsInteractionRotationAxisIndex = createSelector([selectorChartsInteractionPointerX, selectorChartsInteractionPointerY, selectorChartPolarCenter, selectorChartRotationAxis], (x, y, center, rotationAxis) => {
7
+ if (x === null || y === null || !rotationAxis.axis[rotationAxis.axisIds[0]]) {
8
+ return null;
9
+ }
10
+ const rotation = generateSvg2rotation(center)(x, y);
11
+ return getAxisIndex(rotationAxis.axis[rotationAxis.axisIds[0]], rotation);
12
+ });
13
+ export const selectorChartsInteractionRotationAxisValue = createSelector([selectorChartsInteractionPointerX, selectorChartsInteractionPointerY, selectorChartRotationAxis, selectorChartsInteractionRotationAxisIndex], (x, y, rotationAxis, rotationIndex) => {
14
+ if (x === null || y === null || rotationIndex === null || rotationIndex === -1) {
15
+ return null;
16
+ }
17
+ const data = rotationAxis.axis[rotationAxis.axisIds[0]]?.data;
18
+ if (!data) {
19
+ return null;
20
+ }
21
+ return data[rotationIndex];
22
+ });
@@ -3,7 +3,7 @@ import type { CartesianChartSeriesType, ChartSeriesType, PolarChartSeriesType }
3
3
  import type { ColorProcessor } from './colorProcessor.types';
4
4
  import type { CartesianExtremumGetter } from './cartesianExtremumGetter.types';
5
5
  import type { LegendGetter } from './legendGetter.types';
6
- import type { TooltipGetter } from './tooltipGetter.types';
6
+ import type { AxisTooltipGetter, TooltipGetter } from './tooltipGetter.types';
7
7
  import { PolarExtremumGetter } from "./polarExtremumGetter.types.js";
8
8
  import { GetSeriesWithDefaultValues } from "./getSeriesWithDefaultValues.types.js";
9
9
  export type ChartSeriesTypeConfig<TSeriesType extends ChartSeriesType> = {
@@ -15,8 +15,10 @@ export type ChartSeriesTypeConfig<TSeriesType extends ChartSeriesType> = {
15
15
  } & (TSeriesType extends CartesianChartSeriesType ? {
16
16
  xExtremumGetter: CartesianExtremumGetter<TSeriesType>;
17
17
  yExtremumGetter: CartesianExtremumGetter<TSeriesType>;
18
+ axisTooltipGetter?: AxisTooltipGetter<TSeriesType, 'x' | 'y'>;
18
19
  } : {}) & (TSeriesType extends PolarChartSeriesType ? {
19
20
  rotationExtremumGetter: PolarExtremumGetter<TSeriesType>;
20
21
  radiusExtremumGetter: PolarExtremumGetter<TSeriesType>;
22
+ axisTooltipGetter?: AxisTooltipGetter<TSeriesType, 'rotation' | 'radius'>;
21
23
  } : {});
22
24
  export type ChartSeriesConfig<TSeriesType extends ChartSeriesType> = { [Key in TSeriesType]: ChartSeriesTypeConfig<Key> };
@@ -1,7 +1,13 @@
1
1
  import type { ItemTooltip } from '../../../../ChartsTooltip';
2
2
  import type { ChartItemIdentifier, ChartSeriesDefaultized, ChartSeriesType } from '../../../../models/seriesType/config';
3
- export type TooltipGetter<T extends ChartSeriesType> = (params: {
4
- series: ChartSeriesDefaultized<T>;
3
+ import { SeriesId } from "../../../../models/seriesType/common.js";
4
+ import { AxisId } from "../../../../models/axis.js";
5
+ export type TooltipGetter<TSeriesType extends ChartSeriesType> = (params: {
6
+ series: ChartSeriesDefaultized<TSeriesType>;
5
7
  getColor: (dataIndex: number) => string;
6
- identifier: ChartItemIdentifier<T> | null;
7
- }) => ItemTooltip<T> | null;
8
+ identifier: ChartItemIdentifier<TSeriesType> | null;
9
+ }) => ItemTooltip<TSeriesType> | null;
10
+ export type AxisTooltipGetter<TSeriesType extends ChartSeriesType, Directions extends 'x' | 'y' | 'rotation' | 'radius' = 'x' | 'y'> = (series: Record<SeriesId, ChartSeriesDefaultized<TSeriesType>>) => {
11
+ direction: Directions;
12
+ axisId: AxisId | undefined;
13
+ }[];
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Performs equality by iterating through keys on an object and returning false
3
+ * when any key has values which are not strictly equal between the arguments.
4
+ * Returns true when the values of all keys are strictly equal.
5
+ *
6
+ * Source: https://github.com/facebook/react/blob/c2a196174763e0b4f16ed1c512ed4442b062395e/packages/shared/shallowEqual.js#L18
7
+ */
8
+ export declare function shallowEqual(objA: unknown, objB: unknown): boolean;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Performs equality by iterating through keys on an object and returning false
3
+ * when any key has values which are not strictly equal between the arguments.
4
+ * Returns true when the values of all keys are strictly equal.
5
+ *
6
+ * Source: https://github.com/facebook/react/blob/c2a196174763e0b4f16ed1c512ed4442b062395e/packages/shared/shallowEqual.js#L18
7
+ */
8
+ export function shallowEqual(objA, objB) {
9
+ if (Object.is(objA, objB)) {
10
+ return true;
11
+ }
12
+ if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
13
+ return false;
14
+ }
15
+ const keysA = Object.keys(objA);
16
+ const keysB = Object.keys(objB);
17
+ if (keysA.length !== keysB.length) {
18
+ return false;
19
+ }
20
+
21
+ // Test for A's keys different from B.
22
+ for (let i = 0; i < keysA.length; i += 1) {
23
+ const currentKey = keysA[i];
24
+ if (!Object.prototype.hasOwnProperty.call(objB, currentKey) ||
25
+ // @ts-ignore
26
+ !Object.is(objA[currentKey], objB[currentKey])) {
27
+ return false;
28
+ }
29
+ }
30
+ return true;
31
+ }
@@ -335,6 +335,10 @@ type CommonAxisConfig<S extends ScaleName = ScaleName, V = any> = {
335
335
  min: number;
336
336
  max: number;
337
337
  });
338
+ /**
339
+ * If `true`, the axis will be ignored by the tooltip with `trigger='axis'`.
340
+ */
341
+ ignoreTooltip?: boolean;
338
342
  };
339
343
  export type PolarAxisConfig<S extends ScaleName = ScaleName, V = any, AxisProps extends ChartsAxisProps = ChartsRotationAxisProps | ChartsRadiusAxisProps> = {
340
344
  /**
@@ -361,6 +365,10 @@ export type AxisDefaultized<S extends ScaleName = ScaleName, V = any, AxisProps
361
365
  * An indication of the expected number of ticks.
362
366
  */
363
367
  tickNumber: number;
368
+ /**
369
+ * Indicate if the axis should be consider by a tooltip with `trigger='axis'`.
370
+ */
371
+ triggerTooltip?: boolean;
364
372
  } & (AxisProps extends ChartsXAxisProps ? MakeRequired<AxisSideConfig<AxisProps>, 'height'> : AxisProps extends ChartsYAxisProps ? MakeRequired<AxisSideConfig<AxisProps>, 'width'> : AxisSideConfig<AxisProps>);
365
373
  export declare function isBandScaleConfig(scaleConfig: AxisConfig<ScaleName>): scaleConfig is AxisConfig<'band'> & {
366
374
  scaleType: 'band';
@@ -1,5 +1,5 @@
1
1
  import { BarLabelClassKey } from "../BarChart/index.js";
2
- import { BarElementClassKey } from "../BarChart/BarElement.js";
2
+ import { BarElementClassKey } from "../BarChart/barElementClasses.js";
3
3
  import { ChartsAxisHighlightClassKey } from "../ChartsAxisHighlight/index.js";
4
4
  import { ChartsGridClassKey } from "../ChartsGrid/index.js";
5
5
  import { ChartsTooltipClassKey } from "../ChartsTooltip/index.js";
@@ -0,0 +1,6 @@
1
+ export * from "./useAnimateArea.js";
2
+ export * from "./useAnimateBar.js";
3
+ export * from "./useAnimateBarLabel.js";
4
+ export * from "./useAnimateLine.js";
5
+ export * from "./useAnimatePieArc.js";
6
+ export * from "./useAnimatePieArcLabel.js";
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _useAnimateArea = require("./useAnimateArea");
7
+ Object.keys(_useAnimateArea).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useAnimateArea[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _useAnimateArea[key];
14
+ }
15
+ });
16
+ });
17
+ var _useAnimateBar = require("./useAnimateBar");
18
+ Object.keys(_useAnimateBar).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _useAnimateBar[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _useAnimateBar[key];
25
+ }
26
+ });
27
+ });
28
+ var _useAnimateBarLabel = require("./useAnimateBarLabel");
29
+ Object.keys(_useAnimateBarLabel).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _useAnimateBarLabel[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _useAnimateBarLabel[key];
36
+ }
37
+ });
38
+ });
39
+ var _useAnimateLine = require("./useAnimateLine");
40
+ Object.keys(_useAnimateLine).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _useAnimateLine[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _useAnimateLine[key];
47
+ }
48
+ });
49
+ });
50
+ var _useAnimatePieArc = require("./useAnimatePieArc");
51
+ Object.keys(_useAnimatePieArc).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _useAnimatePieArc[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _useAnimatePieArc[key];
58
+ }
59
+ });
60
+ });
61
+ var _useAnimatePieArcLabel = require("./useAnimatePieArcLabel");
62
+ Object.keys(_useAnimatePieArcLabel).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _useAnimatePieArcLabel[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _useAnimatePieArcLabel[key];
69
+ }
70
+ });
71
+ });
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import type { AnimatedAreaProps } from '../../LineChart';
3
+ type UseAnimateAreaParams = Pick<AnimatedAreaProps, 'd' | 'skipAnimation'> & {
4
+ ref?: React.Ref<SVGPathElement>;
5
+ };
6
+ type UseAnimatedAreaReturn = {
7
+ ref: React.Ref<SVGPathElement>;
8
+ d: string;
9
+ };
10
+ /** Animates an area of a line chart using a `path` element.
11
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
12
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called.
13
+ */
14
+ export declare function useAnimateArea(props: UseAnimateAreaParams): UseAnimatedAreaReturn;
15
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useAnimateArea = useAnimateArea;
8
+ var _d3Interpolate = require("@mui/x-charts-vendor/d3-interpolate");
9
+ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
10
+ var _useAnimate = require("../../internals/animation/useAnimate");
11
+ /** Animates an area of a line chart using a `path` element.
12
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
13
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called.
14
+ */
15
+ function useAnimateArea(props) {
16
+ const ref = (0, _useAnimate.useAnimate)({
17
+ d: props.d
18
+ }, {
19
+ createInterpolator: (lastProps, newProps) => {
20
+ const interpolate = (0, _d3Interpolate.interpolateString)(lastProps.d, newProps.d);
21
+ return t => ({
22
+ d: interpolate(t)
23
+ });
24
+ },
25
+ applyProps: (element, {
26
+ d
27
+ }) => element.setAttribute('d', d),
28
+ skip: props.skipAnimation
29
+ });
30
+ return {
31
+ ref: (0, _useForkRef.default)(ref, props.ref),
32
+ d: props.d
33
+ };
34
+ }
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import type { BarProps } from '../../BarChart/AnimatedBarElement';
3
+ type UseAnimateBarParams = Pick<BarProps, 'x' | 'y' | 'xOrigin' | 'yOrigin' | 'width' | 'height' | 'skipAnimation' | 'layout'> & {
4
+ ref?: React.Ref<SVGRectElement>;
5
+ };
6
+ type UseAnimateBarReturnValue = {
7
+ ref: React.Ref<SVGRectElement>;
8
+ } & Pick<BarProps, 'x' | 'y' | 'width' | 'height'>;
9
+ /**
10
+ * Animates a bar from the start of the axis (x-axis for vertical layout, y-axis for horizontal layout) to its
11
+ * final position.
12
+ *
13
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
14
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called.
15
+ */
16
+ export declare function useAnimateBar(props: UseAnimateBarParams): UseAnimateBarReturnValue;
17
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAnimateBar = useAnimateBar;
7
+ var _d3Interpolate = require("@mui/x-charts-vendor/d3-interpolate");
8
+ var _useAnimate = require("../../internals/animation/useAnimate");
9
+ function barPropsInterpolator(from, to) {
10
+ const interpolateX = (0, _d3Interpolate.interpolateNumber)(from.x, to.x);
11
+ const interpolateY = (0, _d3Interpolate.interpolateNumber)(from.y, to.y);
12
+ const interpolateWidth = (0, _d3Interpolate.interpolateNumber)(from.width, to.width);
13
+ const interpolateHeight = (0, _d3Interpolate.interpolateNumber)(from.height, to.height);
14
+ return t => {
15
+ return {
16
+ x: interpolateX(t),
17
+ y: interpolateY(t),
18
+ width: interpolateWidth(t),
19
+ height: interpolateHeight(t)
20
+ };
21
+ };
22
+ }
23
+
24
+ /**
25
+ * Animates a bar from the start of the axis (x-axis for vertical layout, y-axis for horizontal layout) to its
26
+ * final position.
27
+ *
28
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
29
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called.
30
+ */
31
+ function useAnimateBar(props) {
32
+ const initialProps = {
33
+ x: props.layout === 'vertical' ? props.x : props.xOrigin,
34
+ y: props.layout === 'vertical' ? props.yOrigin : props.y,
35
+ width: props.layout === 'vertical' ? props.width : 0,
36
+ height: props.layout === 'vertical' ? 0 : props.height
37
+ };
38
+ const ref = (0, _useAnimate.useAnimate)({
39
+ x: props.x,
40
+ y: props.y,
41
+ width: props.width,
42
+ height: props.height
43
+ }, {
44
+ createInterpolator: barPropsInterpolator,
45
+ applyProps(element, animatedProps) {
46
+ element.setAttribute('x', animatedProps.x.toString());
47
+ element.setAttribute('y', animatedProps.y.toString());
48
+ element.setAttribute('width', animatedProps.width.toString());
49
+ element.setAttribute('height', animatedProps.height.toString());
50
+ },
51
+ initialProps,
52
+ skip: props.skipAnimation
53
+ });
54
+ const usedProps = props.skipAnimation ? props : initialProps;
55
+ return {
56
+ ref,
57
+ x: usedProps.x,
58
+ y: usedProps.y,
59
+ width: usedProps.width,
60
+ height: usedProps.height
61
+ };
62
+ }
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import type { BarLabelProps } from '../../BarChart';
3
+ type UseAnimateBarLabelParams = Pick<BarLabelProps, 'xOrigin' | 'yOrigin' | 'x' | 'y' | 'width' | 'height' | 'layout' | 'skipAnimation'> & {
4
+ ref?: React.Ref<SVGTextElement>;
5
+ };
6
+ type UseAnimateBarLabelReturn = {
7
+ ref: React.Ref<SVGTextElement>;
8
+ } & Pick<BarLabelProps, 'x' | 'y' | 'width' | 'height'>;
9
+ /**
10
+ * Animates a bar label from the start of the axis (x-axis for vertical layout, y-axis for horizontal layout) to the
11
+ * center of the bar it belongs to.
12
+ * The label is horizontally centered within the bar when the layout is vertical, and vertically centered for laid out
13
+ * horizontally.
14
+ *
15
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
16
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called.
17
+ */
18
+ export declare function useAnimateBarLabel(props: UseAnimateBarLabelParams): UseAnimateBarLabelReturn;
19
+ export {};
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAnimateBarLabel = useAnimateBarLabel;
7
+ var _d3Interpolate = require("@mui/x-charts-vendor/d3-interpolate");
8
+ var _useAnimate = require("../../internals/animation/useAnimate");
9
+ function barLabelPropsInterpolator(from, to) {
10
+ const interpolateX = (0, _d3Interpolate.interpolateNumber)(from.x, to.x);
11
+ const interpolateY = (0, _d3Interpolate.interpolateNumber)(from.y, to.y);
12
+ const interpolateWidth = (0, _d3Interpolate.interpolateNumber)(from.width, to.width);
13
+ const interpolateHeight = (0, _d3Interpolate.interpolateNumber)(from.height, to.height);
14
+ return t => {
15
+ return {
16
+ x: interpolateX(t),
17
+ y: interpolateY(t),
18
+ width: interpolateWidth(t),
19
+ height: interpolateHeight(t)
20
+ };
21
+ };
22
+ }
23
+
24
+ /**
25
+ * Animates a bar label from the start of the axis (x-axis for vertical layout, y-axis for horizontal layout) to the
26
+ * center of the bar it belongs to.
27
+ * The label is horizontally centered within the bar when the layout is vertical, and vertically centered for laid out
28
+ * horizontally.
29
+ *
30
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
31
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called.
32
+ */
33
+ function useAnimateBarLabel(props) {
34
+ const initialProps = {
35
+ x: props.layout === 'vertical' ? props.x + props.width / 2 : props.xOrigin,
36
+ y: props.layout === 'vertical' ? props.yOrigin : props.y + props.height / 2,
37
+ width: props.width,
38
+ height: props.height
39
+ };
40
+ const currentProps = {
41
+ x: props.x + props.width / 2,
42
+ y: props.y + props.height / 2,
43
+ width: props.width,
44
+ height: props.height
45
+ };
46
+ const ref = (0, _useAnimate.useAnimate)(currentProps, {
47
+ createInterpolator: barLabelPropsInterpolator,
48
+ applyProps(element, animatedProps) {
49
+ element.setAttribute('x', animatedProps.x.toString());
50
+ element.setAttribute('y', animatedProps.y.toString());
51
+ element.setAttribute('width', animatedProps.width.toString());
52
+ element.setAttribute('height', animatedProps.height.toString());
53
+ },
54
+ initialProps,
55
+ skip: props.skipAnimation
56
+ });
57
+ const usedProps = props.skipAnimation ? currentProps : initialProps;
58
+ return {
59
+ ref,
60
+ x: usedProps.x,
61
+ y: usedProps.y,
62
+ width: usedProps.width,
63
+ height: usedProps.height
64
+ };
65
+ }
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import type { AnimatedLineProps } from '../../LineChart';
3
+ type UseAnimateLineParams = Pick<AnimatedLineProps, 'd' | 'skipAnimation'> & {
4
+ ref?: React.Ref<SVGPathElement>;
5
+ };
6
+ type UseAnimatedReturnValue = {
7
+ ref: React.Ref<SVGPathElement>;
8
+ d: string;
9
+ };
10
+ /** Animates a line of a line chart using a `path` element.
11
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
12
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called. */
13
+ export declare function useAnimateLine(props: UseAnimateLineParams): UseAnimatedReturnValue;
14
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useAnimateLine = useAnimateLine;
8
+ var _d3Interpolate = require("@mui/x-charts-vendor/d3-interpolate");
9
+ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
10
+ var _useAnimate = require("../../internals/animation/useAnimate");
11
+ /** Animates a line of a line chart using a `path` element.
12
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
13
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called. */
14
+ function useAnimateLine(props) {
15
+ const ref = (0, _useAnimate.useAnimate)({
16
+ d: props.d
17
+ }, {
18
+ createInterpolator: (lastProps, newProps) => {
19
+ const interpolate = (0, _d3Interpolate.interpolateString)(lastProps.d, newProps.d);
20
+ return t => ({
21
+ d: interpolate(t)
22
+ });
23
+ },
24
+ applyProps: (element, {
25
+ d
26
+ }) => element.setAttribute('d', d),
27
+ skip: props.skipAnimation
28
+ });
29
+ return {
30
+ ref: (0, _useForkRef.default)(ref, props.ref),
31
+ d: props.d
32
+ };
33
+ }
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import type { PieArcProps } from '../../PieChart';
3
+ type UseAnimatePieArcParams = Pick<PieArcProps, 'startAngle' | 'endAngle' | 'cornerRadius' | 'paddingAngle' | 'innerRadius' | 'outerRadius' | 'skipAnimation'> & {
4
+ ref?: React.Ref<SVGPathElement>;
5
+ };
6
+ type UseAnimatePieArcReturnValue = {
7
+ ref: React.Ref<SVGPathElement>;
8
+ d: string;
9
+ visibility: 'hidden' | 'visible';
10
+ };
11
+ /** Animates a slice of a pie chart by increasing the start and end angles from the middle angle to their final values.
12
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
13
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called. */
14
+ export declare function useAnimatePieArc(props: UseAnimatePieArcParams): UseAnimatePieArcReturnValue;
15
+ export {};
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useAnimatePieArc = useAnimatePieArc;
8
+ var _d3Shape = require("@mui/x-charts-vendor/d3-shape");
9
+ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
10
+ var _d3Interpolate = require("@mui/x-charts-vendor/d3-interpolate");
11
+ var _useAnimate = require("../../internals/animation/useAnimate");
12
+ function pieArcPropsInterpolator(from, to) {
13
+ const interpolateStartAngle = (0, _d3Interpolate.interpolateNumber)(from.startAngle, to.startAngle);
14
+ const interpolateEndAngle = (0, _d3Interpolate.interpolateNumber)(from.endAngle, to.endAngle);
15
+ const interpolateInnerRadius = (0, _d3Interpolate.interpolateNumber)(from.innerRadius, to.innerRadius);
16
+ const interpolateOuterRadius = (0, _d3Interpolate.interpolateNumber)(from.outerRadius, to.outerRadius);
17
+ const interpolatePaddingAngle = (0, _d3Interpolate.interpolateNumber)(from.paddingAngle, to.paddingAngle);
18
+ const interpolateCornerRadius = (0, _d3Interpolate.interpolateNumber)(from.cornerRadius, to.cornerRadius);
19
+ return t => {
20
+ return {
21
+ startAngle: interpolateStartAngle(t),
22
+ endAngle: interpolateEndAngle(t),
23
+ innerRadius: interpolateInnerRadius(t),
24
+ outerRadius: interpolateOuterRadius(t),
25
+ paddingAngle: interpolatePaddingAngle(t),
26
+ cornerRadius: interpolateCornerRadius(t)
27
+ };
28
+ };
29
+ }
30
+
31
+ /** Animates a slice of a pie chart by increasing the start and end angles from the middle angle to their final values.
32
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
33
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called. */
34
+ function useAnimatePieArc(props) {
35
+ const initialProps = {
36
+ startAngle: (props.startAngle + props.endAngle) / 2,
37
+ endAngle: (props.startAngle + props.endAngle) / 2,
38
+ innerRadius: props.innerRadius,
39
+ outerRadius: props.outerRadius,
40
+ paddingAngle: props.paddingAngle,
41
+ cornerRadius: props.cornerRadius
42
+ };
43
+ const ref = (0, _useAnimate.useAnimate)({
44
+ startAngle: props.startAngle,
45
+ endAngle: props.endAngle,
46
+ innerRadius: props.innerRadius,
47
+ outerRadius: props.outerRadius,
48
+ paddingAngle: props.paddingAngle,
49
+ cornerRadius: props.cornerRadius
50
+ }, {
51
+ createInterpolator: pieArcPropsInterpolator,
52
+ applyProps(element, animatedProps) {
53
+ element.setAttribute('d', (0, _d3Shape.arc)().cornerRadius(animatedProps.cornerRadius)({
54
+ padAngle: animatedProps.paddingAngle,
55
+ innerRadius: animatedProps.innerRadius,
56
+ outerRadius: animatedProps.outerRadius,
57
+ startAngle: animatedProps.startAngle,
58
+ endAngle: animatedProps.endAngle
59
+ }).toString());
60
+ element.setAttribute('visibility', animatedProps.startAngle === animatedProps.endAngle ? 'hidden' : 'visible');
61
+ },
62
+ initialProps,
63
+ skip: props.skipAnimation
64
+ });
65
+ const usedProps = props.skipAnimation ? props : initialProps;
66
+ return {
67
+ ref: (0, _useForkRef.default)(ref, props.ref),
68
+ d: (0, _d3Shape.arc)().cornerRadius(usedProps.cornerRadius)({
69
+ padAngle: usedProps.paddingAngle,
70
+ innerRadius: usedProps.innerRadius,
71
+ outerRadius: usedProps.outerRadius,
72
+ startAngle: usedProps.startAngle,
73
+ endAngle: usedProps.endAngle
74
+ }),
75
+ visibility: usedProps.startAngle === usedProps.endAngle ? 'hidden' : 'visible'
76
+ };
77
+ }
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import type { PieArcLabelProps } from '../../PieChart';
3
+ type UseAnimatePieArcLabelParams = Pick<PieArcLabelProps, 'startAngle' | 'endAngle' | 'cornerRadius' | 'paddingAngle' | 'innerRadius' | 'outerRadius' | 'skipAnimation'> & {
4
+ ref?: React.Ref<SVGTextElement>;
5
+ };
6
+ type UseAnimatePieArcLabelReturn = {
7
+ ref: React.Ref<SVGTextElement>;
8
+ x: number;
9
+ y: number;
10
+ };
11
+ /** Animates the label of pie slice from its middle point to the centroid of the slice.
12
+ * The props object also accepts a `ref` which will be merged with the ref returned from this hook. This means you can
13
+ * pass the ref returned by this hook to the `path` element and the `ref` provided as argument will also be called. */
14
+ export declare function useAnimatePieArcLabel(props: UseAnimatePieArcLabelParams): UseAnimatePieArcLabelReturn;
15
+ export {};